feat(backend): Integrate Derived Stats into combat, loot, and crafting mechanics
This commit is contained in:
@@ -31,6 +31,8 @@ class Item:
|
||||
tier: int = 1 # Item tier (1-5)
|
||||
encumbrance: int = 0 # Encumbrance penalty when equipped
|
||||
weapon_effects: Dict[str, Any] = None # Weapon effects: bleeding, stun, etc.
|
||||
weapon_type: str = None # e.g. 'two_handed', 'one_handed', 'dagger', 'bow'
|
||||
equip_requirements: Dict[str, int] = None # e.g. {'level': 15, 'strength': 20}
|
||||
# Repair system
|
||||
repairable: bool = False # Can this item be repaired?
|
||||
repair_materials: list = None # Materials needed for repair
|
||||
@@ -72,6 +74,8 @@ class Item:
|
||||
self.uncraft_tools = []
|
||||
if self.combat_effects is None:
|
||||
self.combat_effects = {}
|
||||
if self.equip_requirements is None:
|
||||
self.equip_requirements = {}
|
||||
|
||||
|
||||
class ItemsManager:
|
||||
@@ -139,7 +143,9 @@ class ItemsManager:
|
||||
uncraft_tools=item_data.get('uncraft_tools', []),
|
||||
combat_usable=item_data.get('combat_usable', is_consumable), # Default: consumables are combat usable
|
||||
combat_only=item_data.get('combat_only', False),
|
||||
combat_effects=item_data.get('combat_effects', {})
|
||||
combat_effects=item_data.get('combat_effects', {}),
|
||||
weapon_type=item_data.get('weapon_type'),
|
||||
equip_requirements=item_data.get('equip_requirements', {})
|
||||
)
|
||||
self.items[item_id] = item
|
||||
|
||||
|
||||
Reference in New Issue
Block a user