12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #pragma once
- #include "Reader.h"
- #include <JSON.h>
- #include <ReferenceCounter.h>
- class ItemType;
- class ItemSkill;
- class Block;
- class Entity;
- class Dimension;
- class ItemSkillLevelUpRule : public virtual Framework::ReferenceCounter
- {
- public:
- virtual void applyOn( ItemSkill* zSkill ) = 0;
- };
- class ItemSkill : public virtual Framework::ReferenceCounter
- {
- public:
- virtual void use( Entity* zActor, Block* zTarget, Dimension* zDimension ) = 0;
- virtual void use( Entity* zActor, Entity* zTarget, Dimension* zDimension ) = 0;
- };
- class BasicItemSkill : public ItemSkill
- {
- protected:
- int level;
- float xp;
- float maxXP;
- float durabilityModifier;
- float speedModifier;
- float luckModifier;
- float staminaModifier;
- float hungerModifier;
- BasicItemSkill( float maxXp = 100.f, float durabilityModifier = 1.f, float speedModifier = 1.f, float luckModifier = 1.f, float staminaModifier = 1.f, float hungerModifier = 1.f, float xpIncrease = 1.1f );
- public:
- virtual void use( Entity* zActor, Block* zTarget, Dimension* zDimension ) override;
- virtual void use( Entity* zActor, Entity* zTarget, Dimension* zDimension ) override;
- friend ItemType;
- };
|