#pragma once #include "ItemType.h" #include "ItemSkill.h" class PlayerHandItemType : public ItemType { REGISTRABLE( PlayerHandItemType ) protected: void loadSuperItemSkill( ItemSkill* zSkill, Framework::StreamReader* zReader ) const override; void saveSuperItemSkill( const ItemSkill* zSkill, Framework::StreamWriter* zWriter ) const override; public: PlayerHandItemType(); Item* createItem() const override; ItemSkill* createDefaultItemSkill() const override; }; REGISTER( PlayerHandItemType, ItemType ) class PlayerHandLevelUpRule : public ItemSkillLevelUpRule { public: PlayerHandLevelUpRule(); void applyOn( ItemSkill* zSkill ) override; }; class PlayerHandSkill : public ItemSkill { public: PlayerHandSkill(); void use( Entity* zActor, Item* zUsedItem, Block* zTarget ) override; void use( Entity* zActor, Item* zUsedItem, Entity* zTarget ) override; };