feat(backend): Integrate Derived Stats into combat, loot, and crafting mechanics

This commit is contained in:
Joan
2026-02-25 10:05:14 +01:00
parent 185781d168
commit fd94387d54
10 changed files with 727 additions and 101 deletions

View File

@@ -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