> cat /wizhelp/wizadvanced4
> _
======================================================================== Advanced: Item Properties ======================================================================== Understanding actual item properties in PKWAR. BASIC ITEM PROPERTIES: ```python item = Weapon( name="battle sword", description="A sturdy battle sword.", damage=45, # Base damage weight=10, # Affects carrying capacity value=500, # Shop price weapon_type="sword" # For identification ) # Standard flags item.takeable = True # Can be picked up item.sellable = True # Can be sold to shops item.droppable = True # Can be dropped item.kept = False # Protected from sell all ``` COMBINABLE ITEMS: Certain items automatically combine when picked up: ```python # Heals combine charges heal = Heal( name="Heal [100]", heal_amount=100, charges=5, # Will combine with other heals can_combine=True ) # Wands combine if same type wand = Wand( name="Wand [10]", damage=30, sp_cost=10, charges=10, # Combines with matching wands can_combine=True ) # Poison combines applications poison = PoisonGlob( charges=3, # Combines with other poison can_combine=True ) ``` SPECIAL ITEMS: Blood (Kamikaze only): ```python blood = Blood( victim_name="enemy", sellable=False, # Cannot be sold takeable=False # Cannot be dropped/given ) # Usage: lick blood - full heal for kamikaze ``` Teleporter: ```python teleporter = Teleporter( charges=2, destinations={ 'arena': 'backbone_arena', 'shop': 'backbone_shop', 'entrance': 'backbone_1' } ) # Usage: tele <destination> ``` Poison Glob: ```python poison = PoisonGlob( charges=3, # 3 weapon applications value=5000, # 5k per charge command_name="glob" ) # Usage: glob <weapon> - poisons weapon ``` CONSUMABLE PROPERTIES: ```python class SpecialPotion(Consumable): def __init__(self): super().__init__( name="Special Potion", description="A glowing potion.", heal_hp=200, # Heals HP heal_sp=100, # Restores SP charges=1, value=500 ) def use(self, player, target=None): player.heal(self.heal_hp) player.current_sp += self.heal_sp self.charges -= 1 return True, "You feel refreshed!" ``` CONTAINER ITEMS: Bags that hold other items: ```python bag = Container( name="large bag", max_weight=100, # Weight capacity max_items=20 # Item limit ) ``` WAND MECHANICS: ```python wand = Wand( name="Wand [20]", # Shows charges damage=40, # Damage per zap sp_cost=15, # SP cost to use charges=20, # Uses remaining object_type='wand' ) # Usage: use wand <target> # Auto-targets in combat ``` ITEM STACKING: Items that auto-stack: - Coins (always combine) - Heals (same heal amount) - Wands (same damage/sp cost) - Poison globs - Teleporters ========================================================================
> _