Expand tutorial on equipmenthandler
This commit is contained in:
parent
9c45feaf10
commit
805fbd5edb
423 changed files with 689 additions and 3613 deletions
|
|
@ -32,22 +32,18 @@ class EvAdventureMixin:
|
|||
self.helmet = create.create_object(
|
||||
EvAdventureHelmet,
|
||||
key="helmet",
|
||||
attributes=[("inventory_use_slot", enums.WieldLocation.HEAD), ("armor", 1)],
|
||||
)
|
||||
self.shield = create.create_object(
|
||||
EvAdventureShield,
|
||||
key="shield",
|
||||
attributes=[("inventory_use_slot", enums.WieldLocation.SHIELD_HAND), ("armor", 1)],
|
||||
)
|
||||
self.armor = create.create_object(
|
||||
EvAdventureArmor,
|
||||
key="armor",
|
||||
attributes=[("inventory_use_slot", enums.WieldLocation.BODY), ("armor", 11)],
|
||||
)
|
||||
self.weapon = create.create_object(
|
||||
EvAdventureWeapon,
|
||||
key="weapon",
|
||||
attributes=[("inventory_use_slot", enums.WieldLocation.WEAPON_HAND)],
|
||||
)
|
||||
self.big_weapon = create.create_object(
|
||||
EvAdventureWeapon,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,58 @@
|
|||
"""
|
||||
Test the EvAdventure equipment handler.
|
||||
|
||||
"""
|
||||
|
||||
|
||||
from evennia.utils.test_resources import BaseEvenniaTest
|
||||
|
||||
from ..enums import Ability, WieldLocation
|
||||
from ..equipment import EquipmentError
|
||||
from .mixins import EvAdventureMixin
|
||||
|
||||
|
||||
class TestEquipment(EvAdventureMixin, BaseEvenniaTest):
|
||||
def test_count_slots(self):
|
||||
self.assertEqual(self.character.equipment.count_slots(), 0)
|
||||
|
||||
def test_max_slots(self):
|
||||
self.assertEqual(self.character.equipment.max_slots, 11)
|
||||
setattr(self.character, Ability.CON.value, 3)
|
||||
self.assertEqual(self.character.equipment.max_slots, 13)
|
||||
|
||||
def test_validate_slot_usage(self):
|
||||
helmet = self.helmet
|
||||
self.assertTrue(self.character.equipment.validate_slot_usage(helmet))
|
||||
helmet.size = 20 # a very large helmet
|
||||
with self.assertRaises(EquipmentError):
|
||||
self.assertFalse(self.character.equipment.validate_slot_usage(helmet))
|
||||
|
||||
def test_add__remove(self):
|
||||
self.character.equipment.add(self.helmet)
|
||||
self.assertEqual(self.character.equipment.slots[WieldLocation.BACKPACK], [self.helmet])
|
||||
self.character.equipment.remove(self.helmet)
|
||||
self.assertEqual(self.character.equipment.slots[WieldLocation.BACKPACK], [])
|
||||
|
||||
def test_move__get_current_slot(self):
|
||||
self.character.equipment.add(self.helmet)
|
||||
self.assertEqual(
|
||||
self.character.equipment.get_current_slot(self.helmet), WieldLocation.BACKPACK
|
||||
)
|
||||
self.character.equipment.move(self.helmet)
|
||||
self.assertEqual(self.character.equipment.get_current_slot(self.helmet), WieldLocation.HEAD)
|
||||
|
||||
def test_get_wearable_or_wieldable_objects_from_backpack(self):
|
||||
self.character.equipment.add(self.helmet)
|
||||
self.character.equipment.add(self.weapon)
|
||||
|
||||
self.assertEqual(
|
||||
self.character.equipment.get_wieldable_objects_from_backpack(), [self.weapon]
|
||||
)
|
||||
self.assertEqual(
|
||||
self.character.equipment.get_wearable_objects_from_backpack(), [self.helmet]
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
self.character.equipment.get_all(),
|
||||
[(self.helmet, WieldLocation.BACKPACK), (self.weapon, WieldLocation.BACKPACK)],
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue