X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fcommon%2FSpell.h;h=e9befa900184ce499ba8135aea6a7e940a0a3bb6;hb=6a954cc1f6324d61282e21ec0d7dee6e6265f44f;hp=d32de4689e780044b14092628f06040b498ce750;hpb=70641f2eb3f9fce8c89dcbf345e202050609a142;p=l2e.git diff --git a/src/common/Spell.h b/src/common/Spell.h index d32de46..e9befa9 100644 --- a/src/common/Spell.h +++ b/src/common/Spell.h @@ -15,6 +15,9 @@ namespace common { class Spell { +public: + static const int TYPE_ID = 304; + public: Spell(); @@ -23,8 +26,8 @@ public: Uint16 Value() const { return value; } Uint8 Cost() const { return cost; } - bool CanUseOnStatusScreen() const { return usability & USABILITY_STATUS; } - bool CanUseInBattle() const { return usability & USABILITY_BATTLE; } + bool CanUseOnStatusScreen() const { return status; } + bool CanUseInBattle() const { return battle; } TargetingMode &GetTargetingMode() { return targetingMode; } const TargetingMode &GetTargetingMode() const { return targetingMode; } @@ -32,34 +35,29 @@ public: HeroGroup &UsableBy() { return usableBy; } const HeroGroup &UsableBy() const { return usableBy; } + static bool Less(const Spell *, const Spell *); + // temporary setters public: void SetName(const char *n) { name = n; } void SetCost(Uint8 c) { cost = c; } - void SetUsableInBattle() { usability |= USABILITY_BATTLE; } + void SetUsableInBattle() { battle = true; } -private: - enum Usability { - // USABILITY_UNUSED = 1, - // USABILITY_UNUSED = 2, - // USABILITY_UNUSED = 4, - // USABILITY_UNUSED = 8, - // USABILITY_UNUSED = 16, - // USABILITY_UNUSED = 32, - USABILITY_STATUS = 64, - USABILITY_BATTLE = 128, - }; + static void CreateTypeDescription(); + static void Construct(void *); private: const char *name; - Uint16 value; + int value; - Uint8 cost; - Uint8 usability; + int cost; TargetingMode targetingMode; HeroGroup usableBy; + bool status; + bool battle; + }; }