StendhalRefactoring
Items
We have the next items structure:
- Shields
- Wooden shield
- Studded shield
- Plate shield
- Copper shield
- Swords
- knife
- Sword
- Long sword
- Broadsword
- Armors
- Leather armor
- Studded armor
- Plater armor
- Copper armor
- Boots
- Sandals
- Leather
- Helmet
- Leather helmet
- Studded helmet
- Chain helmet
- Viking helmet
- Legs
- Leather legs
- Studded legs
- Chain legs
- Corpse
- Money
- Book
- Food
- Meat
- Cheese
- Bread
Creatures
Actions
- Move
- Stop
- Chat
- Tell
- Outfit
- Attack
- Use
- Equip
- Drop
- Own ( a sheep )
Events
Creatures can recieve the next list of events:
- boolean onAttack(target, weapon)
called when attacking a target with the given weapon. - boolean onAttacked(attacker, weapon)
called when attacked by someone with a given weapon. - void onStopAttack(target)
called when we stop attacking target - void onStopAttacked(target)
called when target stops attacking us - boolean onDamage(type, amount)
called when entity is damaged with the damage type (physical, fire, poison, magical, ... ) and the amount of damage done. - boolean onKilled(attacker, weapon)
called when attacked killed us with the given weapon - boolean onKill(target)
called when entity kills target - boolean onMove(x,y)
called when entity moves to x,y ( before moving in fact ) - boolean onCollide(x,y)
called when entity collide at position x,y - boolean onCollideWith(target)
called when entity collide with another entity - boolean onEquip(item, slot)
called when entity equips item on the given slot - boolean onEquipped(source, slot)
called when entity is equipped on the source entity and in the given slot - boolean onDrop(item, slot)
called when entity drops item from the given slot to floor - boolean onDropped(source, x, y)
called when entity is dropped by source to floor at position x,y - void onChat(source, text)
called when someone speaks near entity or write to entity - boolean onUse(item)
called when entity use item - boolean onUseWith(base, item)
called when entity use item on base item - boolean onUsed(source)
called when entity is used by source - boolean onUsedWith(source, base)
called when entity is used by source on base item - boolean onStop()
called when entity stops moving, attacking, etc...