123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #pragma once
- #include "BasicTool.h"
- #include "ItemSkill.h"
- #include "ItemType.h"
- class AxeToolItemType : public BasicToolItemType
- {
- protected:
- void loadSuperItemSkill(
- ItemSkill* zSkill, Framework::StreamReader* zReader) const override;
- void saveSuperItemSkill(const ItemSkill* zSkill,
- Framework::StreamWriter* zWriter) const override;
- public:
- AxeToolItemType();
- Item* createItem() const override;
- ItemSkill* createDefaultItemSkill() const override;
- };
- class AxeToolLevelUpRule : public ItemSkillLevelUpRule
- {
- public:
- AxeToolLevelUpRule();
- void applyOn(ItemSkill* zSkill) override;
- };
- class AxeToolSkill : public ItemSkill
- {
- private:
- int level;
- float xp;
- float maxXP;
- public:
- AxeToolSkill();
- void use(Entity* zActor, Item* zUsedItem, Block* zTarget) override;
- void use(Entity* zActor, Item* zUsedItem, Entity* zTarget) override;
- friend AxeToolItemType;
- friend AxeToolLevelUpRule;
- };
|