X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fcommon%2FItem.h;h=0542acc6a2dacc1c9999ce871167d1055402e4e4;hb=d872d756e64b8f1f57cba64ae19f479f8eab3927;hp=2f662074c286e75b619a8d539899637fd96ba427;hpb=57a9949304b1d938bdb795213a8f46a7e28fcf7c;p=l2e.git diff --git a/src/common/Item.h b/src/common/Item.h index 2f66207..0542acc 100644 --- a/src/common/Item.h +++ b/src/common/Item.h @@ -8,6 +8,9 @@ #ifndef COMMON_ITEM_H_ #define COMMON_ITEM_H_ +#include "HeroGroup.h" +#include "TargetingMode.h" + #include namespace graphics { class Sprite; } @@ -32,11 +35,8 @@ public: bool CanUseOnStatusScreen() const { return usability & USABILITY_STATUS; } bool CanUseInBattle() const { return usability & USABILITY_BATTLE; } - bool TargetEnemy() const { return targettingMode & TARGETTING_MODE_ENEMY; } - bool TargetAlly() const { return !TargetEnemy(); } - bool TargetAll() const { return (targettingMode & TARGETTING_MODE_COUNT_MASK) == TARGETTING_MODE_ALL; } - bool TargetMultiple() const { return (targettingMode & TARGETTING_MODE_COUNT_MASK) == TARGETTING_MODE_MULTIPLE; } - bool TargetOne() const { return (targettingMode & TARGETTING_MODE_COUNT_MASK) == TARGETTING_MODE_ONE; } + TargetingMode &GetTargetingMode() { return targettingMode; } + const TargetingMode &GetTargetingMode() const { return targettingMode; } bool HasMenuIcon() const { return menuIcon; } const graphics::Sprite *MenuIcon() const { return menuIcon; } @@ -52,16 +52,11 @@ public: bool CanEquipRing() const { return equipable & EQUIPPABLE_RING; } bool CanEquipJewel() const { return equipable & EQUIPPABLE_JEWEL; } - bool EquipableByMaxim() const { return equipableBy & EQUIPABLE_BY_MAXIM; } - bool EquipableBySelan() const { return equipableBy & EQUIPABLE_BY_SELAN; } - bool EquipableByGuy() const { return equipableBy & EQUIPABLE_BY_GUY; } - bool EquipableByArtea() const { return equipableBy & EQUIPABLE_BY_ARTEA; } - bool EquipableByTia() const { return equipableBy & EQUIPABLE_BY_TIA; } - bool EquipableByDekar() const { return equipableBy & EQUIPABLE_BY_DEKAR; } - bool EquipableByLexis() const { return equipableBy & EQUIPABLE_BY_LEXIS; } + HeroGroup &EquipableBy() { return equipableBy; } + const HeroGroup &EquipableBy() const { return equipableBy; } - bool HasItemEffectOnStatusScreen() const { return properties & PROPERTY_HAS_ITEM_EFFECT_STATUS; } - bool HasItemEffectInBattle() const { return properties & PROPERTY_HAS_ITEM_EFFECT_BATTLE; } + bool HasEffectOnStatusScreen() const { return properties & PROPERTY_HAS_EFFECT_STATUS; } + bool HasEffectInBattle() const { return properties & PROPERTY_HAS_EFFECT_BATTLE; } bool HasWeaponEffect() const { return properties & PROPERTY_HAS_WEAPON_EFFECT; } bool HasArmorEffect() const { return properties & PROPERTY_HAS_ARMOR_EFFECT; } bool IncreasesATP() const { return properties & PROPERTY_INCREASE_ATP; } @@ -91,15 +86,6 @@ private: USABILITY_STATUS = 64, USABILITY_BATTLE = 128, }; - enum TargettingMode { - TARGETTING_MODE_ALL = 0, - TARGETTING_MODE_ALLY = 0, - TARGETTING_MODE_MULTIPLE = 1, - TARGETTING_MODE_ONE = 2, - TARGETTING_MODE_COUNT_MASK = 127, - TARGETTING_MODE_ENEMY = 128, - TARGETTING_MODE_FACTION_MASK = 128, - }; enum Equipable { EQUIPPABLE_NONE = 0, EQUIPPABLE_WEAPON = 1, @@ -109,19 +95,9 @@ private: EQUIPPABLE_RING = 16, EQUIPPABLE_JEWEL = 32, }; - enum EquipableBy { - EQUIPABLE_BY_NOBODY = 0, - EQUIPABLE_BY_MAXIM = 1, - EQUIPABLE_BY_SELAN = 2, - EQUIPABLE_BY_GUY = 4, - EQUIPABLE_BY_ARTEA = 8, - EQUIPABLE_BY_TIA = 16, - EQUIPABLE_BY_DEKAR = 32, - EQUIPABLE_BY_LEXIS = 64, - }; enum Property { - PROPERTY_HAS_ITEM_EFFECT_STATUS = 1, - PROPERTY_HAS_ITEM_EFFECT_BATTLE = 2, + PROPERTY_HAS_EFFECT_STATUS = 1, + PROPERTY_HAS_EFFECT_BATTLE = 2, PROPERTY_HAS_WEAPON_EFFECT = 4, PROPERTY_HAS_ARMOR_EFFECT = 8, PROPERTY_INCREASE_ATP = 16, @@ -147,9 +123,9 @@ private: Uint16 properties; Uint8 usability; - Uint8 targettingMode; + TargetingMode targettingMode; Uint8 equipable; - Uint8 equipableBy; + HeroGroup equipableBy; };