Core/Spells: Add new spell implicit target categories data - will be used in future patches.
This commit is contained in:
@@ -43,6 +43,64 @@ enum SpellEffectTargetTypes
|
||||
SPELL_REQUIRE_GOBJECT,
|
||||
};
|
||||
|
||||
enum SpellTargetSelectionCategories
|
||||
{
|
||||
TARGET_SELECT_CATEGORY_NYI,
|
||||
TARGET_SELECT_CATEGORY_DEFAULT,
|
||||
TARGET_SELECT_CATEGORY_CHANNEL,
|
||||
TARGET_SELECT_CATEGORY_NEARBY,
|
||||
TARGET_SELECT_CATEGORY_CONE,
|
||||
TARGET_SELECT_CATEGORY_AREA,
|
||||
};
|
||||
|
||||
enum SpellTargetReferenceTypes
|
||||
{
|
||||
TARGET_REFERENCE_TYPE_NONE,
|
||||
TARGET_REFERENCE_TYPE_CASTER,
|
||||
TARGET_REFERENCE_TYPE_TARGET,
|
||||
TARGET_REFERENCE_TYPE_LAST,
|
||||
TARGET_REFERENCE_TYPE_SRC,
|
||||
TARGET_REFERENCE_TYPE_DEST,
|
||||
};
|
||||
|
||||
enum SpellTargetObjectTypes
|
||||
{
|
||||
TARGET_OBJECT_TYPE_NONE,
|
||||
TARGET_OBJECT_TYPE_SRC,
|
||||
TARGET_OBJECT_TYPE_DEST,
|
||||
TARGET_OBJECT_TYPE_UNIT,
|
||||
TARGET_OBJECT_TYPE_GOBJ,
|
||||
TARGET_OBJECT_TYPE_GOBJ_ITEM,
|
||||
TARGET_OBJECT_TYPE_ITEM,
|
||||
TARGET_OBJECT_TYPE_CORPSE,
|
||||
};
|
||||
|
||||
enum SpellTargetSelectionCheckTypes
|
||||
{
|
||||
TARGET_SELECT_CHECK_DEFAULT,
|
||||
TARGET_SELECT_CHECK_ENTRY,
|
||||
TARGET_SELECT_CHECK_ENEMY,
|
||||
TARGET_SELECT_CHECK_ALLY,
|
||||
TARGET_SELECT_CHECK_PARTY,
|
||||
TARGET_SELECT_CHECK_RAID,
|
||||
TARGET_SELECT_CHECK_PASSENGER,
|
||||
};
|
||||
|
||||
enum SpellTargetDirectionTypes
|
||||
{
|
||||
TARGET_DIR_NONE,
|
||||
TARGET_DIR_FRONT,
|
||||
TARGET_DIR_BACK,
|
||||
TARGET_DIR_RIGHT,
|
||||
TARGET_DIR_LEFT,
|
||||
TARGET_DIR_FRONT_RIGHT,
|
||||
TARGET_DIR_BACK_RIGHT,
|
||||
TARGET_DIR_BACK_LEFT,
|
||||
TARGET_DIR_FRONT_LEFT,
|
||||
TARGET_DIR_RANDOM,
|
||||
TARGET_DIR_ENTRY,
|
||||
};
|
||||
|
||||
enum SpellSelectTargetTypes
|
||||
{
|
||||
TARGET_TYPE_DEFAULT,
|
||||
@@ -121,6 +179,12 @@ public:
|
||||
|
||||
bool IsArea() const;
|
||||
SpellSelectTargetTypes GetType() const;
|
||||
SpellTargetSelectionCategories GetSelectionCategory() const;
|
||||
SpellTargetReferenceTypes GetReferenceType() const;
|
||||
SpellTargetObjectTypes GetObjectType() const;
|
||||
SpellTargetSelectionCheckTypes GetSelectionCheckType() const;
|
||||
SpellTargetDirectionTypes GetDirectionType() const;
|
||||
float CalcDirectionAngle() const;
|
||||
|
||||
Targets GetTarget() const;
|
||||
|
||||
@@ -130,11 +194,19 @@ public:
|
||||
|
||||
private:
|
||||
static bool InitStaticData();
|
||||
static void InitAreaData();
|
||||
static void InitTypeData();
|
||||
|
||||
static bool Init;
|
||||
static bool Area[TOTAL_SPELL_TARGETS];
|
||||
|
||||
struct StaticData
|
||||
{
|
||||
SpellTargetObjectTypes ObjectType;
|
||||
SpellTargetReferenceTypes ReferenceType;
|
||||
SpellTargetSelectionCategories SelectionCategory;
|
||||
SpellTargetSelectionCheckTypes SelectionCheckType;
|
||||
SpellTargetDirectionTypes DirectionType;
|
||||
};
|
||||
static StaticData _data[TOTAL_SPELL_TARGETS];
|
||||
};
|
||||
|
||||
class SpellEffectInfo
|
||||
|
||||
Reference in New Issue
Block a user