refactor(Core): Improve struct alignment and codestyle (#12335)

refactor(Core): improve struct alignment and codestyle
This commit is contained in:
Maelthyr
2022-07-10 20:19:11 +02:00
committed by GitHub
parent 12a07ff91f
commit 2c7b274bc5
18 changed files with 661 additions and 663 deletions

View File

@@ -43,39 +43,39 @@ struct CriteriaProgress
enum AchievementCriteriaDataType
{
// value1 value2 comment
ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE = 0, // 0 0
ACHIEVEMENT_CRITERIA_DATA_TYPE_T_CREATURE = 1, // creature_id 0
ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_CLASS_RACE = 2, // class_id race_id
ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE = 0, // 0 0
ACHIEVEMENT_CRITERIA_DATA_TYPE_T_CREATURE = 1, // creature_id 0
ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_CLASS_RACE = 2, // class_id race_id
ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_LESS_HEALTH = 3, // health_percent 0
ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_DEAD = 4, // own_team 0 not corpse (not released body), own_team == false if enemy team expected
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA = 5, // spell_id effect_idx
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AREA = 6, // area id 0
ACHIEVEMENT_CRITERIA_DATA_TYPE_T_AURA = 7, // spell_id effect_idx
ACHIEVEMENT_CRITERIA_DATA_TYPE_VALUE = 8, // minvalue value provided with achievement update must be not less that limit
ACHIEVEMENT_CRITERIA_DATA_TYPE_T_LEVEL = 9, // minlevel minlevel of target
ACHIEVEMENT_CRITERIA_DATA_TYPE_T_GENDER = 10, // gender 0=male; 1=female
ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT = 11, // scripted requirement
ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY = 12, // difficulty normal/heroic difficulty for current event map
ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT = 13, // count "with less than %u people in the zone"
ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM = 14, // team HORDE(67), ALLIANCE(469)
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_DRUNK = 15, // drunken_state 0 (enum DrunkenState) of player
ACHIEVEMENT_CRITERIA_DATA_TYPE_HOLIDAY = 16, // holiday_id 0 event in holiday time
ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_LOSS_TEAM_SCORE = 17, // min_score max_score player's team win bg and opposition team have team score in range
ACHIEVEMENT_CRITERIA_DATA_TYPE_INSTANCE_SCRIPT = 18, // 0 0 maker instance script call for check current criteria requirements fit
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_EQUIPED_ITEM = 19, // item_level item_quality for equipped item in slot to check item level and quality
ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_ID = 20, // map_id 0 player must be on map with id in map_id
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_PLAYER_CLASS_RACE = 21, // class_id race_id
ACHIEVEMENT_CRITERIA_DATA_TYPE_NTH_BIRTHDAY = 22, // N login on day of N-th Birthday
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_KNOWN_TITLE = 23, // title_id known (pvp) title, values from dbc
ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_TEAMS_SCORES = 24, // winner_score loser score player's team win bg and their teams have exact scores
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_ITEM_QUALITY = 25 // item_quality
ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_DEAD = 4, // own_team 0 not corpse (not released body), own_team == false if enemy team expected
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA = 5, // spell_id effect_idx
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AREA = 6, // area id 0
ACHIEVEMENT_CRITERIA_DATA_TYPE_T_AURA = 7, // spell_id effect_idx
ACHIEVEMENT_CRITERIA_DATA_TYPE_VALUE = 8, // minvalue value provided with achievement update must be not less that limit
ACHIEVEMENT_CRITERIA_DATA_TYPE_T_LEVEL = 9, // minlevel minlevel of target
ACHIEVEMENT_CRITERIA_DATA_TYPE_T_GENDER = 10, // gender 0=male; 1=female
ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT = 11, // scripted requirement
ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY = 12, // difficulty normal/heroic difficulty for current event map
ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT = 13, // count "with less than %u people in the zone"
ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM = 14, // team HORDE(67), ALLIANCE(469)
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_DRUNK = 15, // drunken_state 0 (enum DrunkenState) of player
ACHIEVEMENT_CRITERIA_DATA_TYPE_HOLIDAY = 16, // holiday_id 0 event in holiday time
ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_LOSS_TEAM_SCORE = 17, // min_score max_score player's team win bg and opposition team have team score in range
ACHIEVEMENT_CRITERIA_DATA_TYPE_INSTANCE_SCRIPT = 18, // 0 0 maker instance script call for check current criteria requirements fit
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_EQUIPED_ITEM = 19, // item_level item_quality for equipped item in slot to check item level and quality
ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_ID = 20, // map_id 0 player must be on map with id in map_id
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_PLAYER_CLASS_RACE = 21, // class_id race_id
ACHIEVEMENT_CRITERIA_DATA_TYPE_NTH_BIRTHDAY = 22, // N login on day of N-th Birthday
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_KNOWN_TITLE = 23, // title_id known (pvp) title, values from dbc
ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_TEAMS_SCORES = 24, // winner_score loser score player's team win bg and their teams have exact scores
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_ITEM_QUALITY = 25 // item_quality
};
#define MAX_ACHIEVEMENT_CRITERIA_DATA_TYPE 26 // maximum value in AchievementCriteriaDataType enum
enum AchievementCommonCategories
{
ACHIEVEMENT_CATEOGRY_GENERAL = -1,
ACHIEVEMENT_CATEGORY_STATISTICS = 1
ACHIEVEMENT_CATEOGRY_GENERAL = -1,
ACHIEVEMENT_CATEGORY_STATISTICS = 1
};
class Player;
@@ -86,118 +86,118 @@ struct AchievementCriteriaData
AchievementCriteriaDataType dataType{ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE};
union
{
// ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE = 0 (no data)
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_CREATURE = 1
// ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE = 0 (no data)
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_CREATURE = 1
struct
{
uint32 id;
} creature;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_CLASS_RACE = 2
// ACHIEVEMENT_CRITERIA_DATA_TYPE_S_PLAYER_CLASS_RACE = 21
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_CLASS_RACE = 2
// ACHIEVEMENT_CRITERIA_DATA_TYPE_S_PLAYER_CLASS_RACE = 21
struct
{
uint32 class_id;
uint32 race_id;
} classRace;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_LESS_HEALTH = 3
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_LESS_HEALTH = 3
struct
{
uint32 percent;
} health;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_DEAD = 4
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_DEAD = 4
struct
{
uint32 own_team_flag;
} player_dead;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA = 5
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_AURA = 7
// ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA = 5
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_AURA = 7
struct
{
uint32 spell_id;
uint32 effect_idx;
} aura;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AREA = 6
// ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AREA = 6
struct
{
uint32 id;
} area;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_VALUE = 8
// ACHIEVEMENT_CRITERIA_DATA_TYPE_VALUE = 8
struct
{
uint32 value;
uint32 compType;
} value;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_LEVEL = 9
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_LEVEL = 9
struct
{
uint32 minlevel;
} level;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_GENDER = 10
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_GENDER = 10
struct
{
uint32 gender;
} gender;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT = 11 (no data)
// ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY = 12
// ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT = 11 (no data)
// ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY = 12
struct
{
uint32 difficulty;
} difficulty;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT = 13
// ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT = 13
struct
{
uint32 maxcount;
} map_players;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM = 14
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM = 14
struct
{
uint32 team;
} team;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_S_DRUNK = 15
// ACHIEVEMENT_CRITERIA_DATA_TYPE_S_DRUNK = 15
struct
{
uint32 state;
} drunk;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_HOLIDAY = 16
// ACHIEVEMENT_CRITERIA_DATA_TYPE_HOLIDAY = 16
struct
{
uint32 id;
} holiday;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_LOSS_TEAM_SCORE= 17
// ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_LOSS_TEAM_SCORE = 17
struct
{
uint32 min_score;
uint32 max_score;
} bg_loss_team_score;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_INSTANCE_SCRIPT = 18 (no data)
// ACHIEVEMENT_CRITERIA_DATA_TYPE_S_EQUIPED_ITEM = 19
// ACHIEVEMENT_CRITERIA_DATA_TYPE_INSTANCE_SCRIPT = 18 (no data)
// ACHIEVEMENT_CRITERIA_DATA_TYPE_S_EQUIPED_ITEM = 19
struct
{
uint32 item_level;
uint32 item_quality;
} equipped_item;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_ID = 20
// ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_ID = 20
struct
{
uint32 mapId;
} map_id;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_NTH_BIRTHDAY = 22
// ACHIEVEMENT_CRITERIA_DATA_TYPE_NTH_BIRTHDAY = 22
struct
{
uint32 nth_birthday;
} birthday_login;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_KNOWN_TITLE = 23
// ACHIEVEMENT_CRITERIA_DATA_TYPE_KNOWN_TITLE = 23
struct
{
uint32 title_id;
} known_title;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_TEAMS_SCORES = 24
// ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_TEAMS_SCORES = 24
struct
{
uint32 winner_score;
uint32 loser_score;
} teams_scores;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_S_ITEM_QUALITY = 25
// ACHIEVEMENT_CRITERIA_DATA_TYPE_S_ITEM_QUALITY = 25
struct
{
uint32 item_quality;

View File

@@ -56,23 +56,23 @@ enum BattlegroundDesertionType
enum BattlegroundMaps
{
MAP_BG_ALTERAC_VALLEY = 30,
MAP_BG_WARSONG_GULCH = 489,
MAP_BG_ARATHI_BASIN = 529,
MAP_BG_EYE_OF_THE_STORM = 566,
MAP_BG_STRAND_OF_THE_ANCIENTS = 607,
MAP_BG_ISLE_OF_CONQUEST = 628
MAP_BG_ALTERAC_VALLEY = 30,
MAP_BG_WARSONG_GULCH = 489,
MAP_BG_ARATHI_BASIN = 529,
MAP_BG_EYE_OF_THE_STORM = 566,
MAP_BG_STRAND_OF_THE_ANCIENTS = 607,
MAP_BG_ISLE_OF_CONQUEST = 628
};
enum BattlegroundBroadcastTexts
{
BG_TEXT_ALLIANCE_WINS = 10633,
BG_TEXT_HORDE_WINS = 10634,
BG_TEXT_ALLIANCE_WINS = 10633,
BG_TEXT_HORDE_WINS = 10634,
BG_TEXT_START_TWO_MINUTES = 18193,
BG_TEXT_START_ONE_MINUTE = 18194,
BG_TEXT_START_HALF_MINUTE = 18195,
BG_TEXT_BATTLE_HAS_BEGUN = 18196,
BG_TEXT_START_TWO_MINUTES = 18193,
BG_TEXT_START_ONE_MINUTE = 18194,
BG_TEXT_START_HALF_MINUTE = 18195,
BG_TEXT_BATTLE_HAS_BEGUN = 18196,
};
enum BattlegroundSounds
@@ -122,8 +122,8 @@ enum BattlegroundMarksCount
enum BattlegroundCreatures
{
BG_CREATURE_ENTRY_A_SPIRITGUIDE = 13116, // alliance
BG_CREATURE_ENTRY_H_SPIRITGUIDE = 13117, // horde
BG_CREATURE_ENTRY_A_SPIRITGUIDE = 13116, // alliance
BG_CREATURE_ENTRY_H_SPIRITGUIDE = 13117, // horde
};
enum BattlegroundSpells
@@ -143,18 +143,18 @@ enum BattlegroundSpells
enum BattlegroundReputations
{
BG_REP_AV_HORDE = 729,
BG_REP_AV_ALLIANCE = 730,
BG_REP_AB_HORDE = 510,
BG_REP_AB_ALLIANCE = 509,
BG_REP_WS_HORDE = 889,
BG_REP_WS_ALLIANCE = 890,
BG_REP_AV_HORDE = 729,
BG_REP_AV_ALLIANCE = 730,
BG_REP_AB_HORDE = 510,
BG_REP_AB_ALLIANCE = 509,
BG_REP_WS_HORDE = 889,
BG_REP_WS_ALLIANCE = 890,
};
enum BattlegroundTimeIntervals
{
CHECK_PLAYER_POSITION_INVERVAL = 9000, // ms
//REMIND_INTERVAL = 10000, // ms
//REMIND_INTERVAL = 10000, // ms
INVITATION_REMIND_TIME = 20000, // ms
INVITE_ACCEPT_WAIT_TIME = 60000, // ms
TIME_TO_AUTOREMOVE = 120000, // ms
@@ -190,11 +190,11 @@ const uint32 Buff_Entries[3] = { BG_OBJECTID_SPEEDBUFF_ENTRY, BG_OBJECTID_REGENB
enum BattlegroundStatus
{
STATUS_NONE = 0, // first status, should mean bg is not instance
STATUS_WAIT_QUEUE = 1, // means bg is empty and waiting for queue
STATUS_WAIT_JOIN = 2, // this means, that BG has already started and it is waiting for more players
STATUS_IN_PROGRESS = 3, // means bg is running
STATUS_WAIT_LEAVE = 4 // means some faction has won BG and it is ending
STATUS_NONE = 0, // first status, should mean bg is not instance
STATUS_WAIT_QUEUE = 1, // means bg is empty and waiting for queue
STATUS_WAIT_JOIN = 2, // this means, that BG has already started and it is waiting for more players
STATUS_IN_PROGRESS = 3, // means bg is running
STATUS_WAIT_LEAVE = 4 // means some faction has won BG and it is ending
};
struct BattlegroundObjectInfo
@@ -208,32 +208,32 @@ struct BattlegroundObjectInfo
enum ArenaType : uint8
{
ARENA_TYPE_2v2 = 2,
ARENA_TYPE_3v3 = 3,
ARENA_TYPE_5v5 = 5
ARENA_TYPE_2v2 = 2,
ARENA_TYPE_3v3 = 3,
ARENA_TYPE_5v5 = 5
};
enum BattlegroundType
{
TYPE_BATTLEGROUND = 3,
TYPE_ARENA = 4
TYPE_BATTLEGROUND = 3,
TYPE_ARENA = 4
};
enum BattlegroundStartingEvents
{
BG_STARTING_EVENT_NONE = 0x00,
BG_STARTING_EVENT_1 = 0x01,
BG_STARTING_EVENT_2 = 0x02,
BG_STARTING_EVENT_3 = 0x04,
BG_STARTING_EVENT_4 = 0x08
BG_STARTING_EVENT_NONE = 0x00,
BG_STARTING_EVENT_1 = 0x01,
BG_STARTING_EVENT_2 = 0x02,
BG_STARTING_EVENT_3 = 0x04,
BG_STARTING_EVENT_4 = 0x08
};
enum BattlegroundStartingEventsIds
{
BG_STARTING_EVENT_FIRST = 0,
BG_STARTING_EVENT_SECOND = 1,
BG_STARTING_EVENT_THIRD = 2,
BG_STARTING_EVENT_FOURTH = 3
BG_STARTING_EVENT_FIRST = 0,
BG_STARTING_EVENT_SECOND = 1,
BG_STARTING_EVENT_THIRD = 2,
BG_STARTING_EVENT_FOURTH = 3
};
constexpr auto BG_STARTING_EVENT_COUNT = 4;

View File

@@ -31,63 +31,63 @@ struct Condition;
enum ConditionTypes
{
// value1 value2 value3
CONDITION_NONE = 0, // 0 0 0 always true
CONDITION_AURA = 1, // spell_id effindex use target? true if player (or target, if value3) has aura of spell_id with effect effindex
CONDITION_ITEM = 2, // item_id count bank true if has #count of item_ids (if 'bank' is set it searches in bank slots too)
CONDITION_ITEM_EQUIPPED = 3, // item_id 0 0 true if has item_id equipped
CONDITION_ZONEID = 4, // zone_id 0 0 true if in zone_id
CONDITION_REPUTATION_RANK = 5, // faction_id rankMask 0 true if has min_rank for faction_id
CONDITION_TEAM = 6, // player_team 0, 0 469 - Alliance, 67 - Horde)
CONDITION_SKILL = 7, // skill_id skill_value 0 true if has skill_value for skill_id
CONDITION_QUESTREWARDED = 8, // quest_id 0 0 true if quest_id was rewarded before
CONDITION_QUESTTAKEN = 9, // quest_id 0, 0 true while quest active
CONDITION_DRUNKENSTATE = 10, // DrunkenState 0, 0 true if player is drunk enough
CONDITION_WORLD_STATE = 11, // index value 0 true if world has the value for the index
CONDITION_ACTIVE_EVENT = 12, // event_id 0 0 true if event is active
CONDITION_INSTANCE_INFO = 13, // entry data type true if the instance info defined by type (enum InstanceInfo) equals data.
CONDITION_QUEST_NONE = 14, // quest_id 0 0 true if doesn't have quest saved
CONDITION_CLASS = 15, // class 0 0 true if player's class is equal to class
CONDITION_RACE = 16, // race 0 0 true if player's race is equal to race
CONDITION_ACHIEVEMENT = 17, // achievement_id 0 0 true if achievement is complete
CONDITION_TITLE = 18, // title id 0 0 true if player has title
CONDITION_SPAWNMASK = 19, // spawnMask 0 0 true if in spawnMask
CONDITION_GENDER = 20, // gender 0 0 true if player's gender is equal to gender
CONDITION_UNIT_STATE = 21, // unitState 0 0 true if unit has unitState
CONDITION_MAPID = 22, // map_id 0 0 true if in map_id
CONDITION_AREAID = 23, // area_id 0 0 true if in area_id
CONDITION_CREATURE_TYPE = 24, // cinfo.type 0 0 true if creature_template.type = value1
CONDITION_SPELL = 25, // spell_id 0 0 true if player has learned spell
CONDITION_PHASEMASK = 26, // phasemask 0 0 true if object is in phasemask
CONDITION_LEVEL = 27, // level ComparisonType 0 true if unit's level is equal to param1 (param2 can modify the statement)
CONDITION_QUEST_COMPLETE = 28, // quest_id 0 0 true if player has quest_id with all objectives complete, but not yet rewarded
CONDITION_NEAR_CREATURE = 29, // creature entry distance dead true if there is a creature of entry in range
CONDITION_NEAR_GAMEOBJECT = 30, // gameobject entry distance 0 true if there is a gameobject of entry in range
CONDITION_OBJECT_ENTRY_GUID = 31, // TypeID entry guid/Attackable true if object is type TypeID and the entry is 0 or matches entry of the object or matches guid of the object
CONDITION_TYPE_MASK = 32, // TypeMask 0 0 true if object is type object's TypeMask matches provided TypeMask
CONDITION_RELATION_TO = 33, // ConditionTarget RelationType 0 true if object is in given relation with object specified by ConditionTarget
CONDITION_REACTION_TO = 34, // ConditionTarget rankMask 0 true if object's reaction matches rankMask object specified by ConditionTarget
CONDITION_DISTANCE_TO = 35, // ConditionTarget distance ComparisonType true if object and ConditionTarget are within distance given by parameters
CONDITION_ALIVE = 36, // 0 0 0 true if unit is alive
CONDITION_HP_VAL = 37, // hpVal ComparisonType 0 true if unit's hp matches given value
CONDITION_HP_PCT = 38, // hpPct ComparisonType 0 true if unit's hp matches given pct
CONDITION_REALM_ACHIEVEMENT = 39, // achievement_id 0 0 true if realm achievement is complete
CONDITION_IN_WATER = 40, // 0 0 0 true if unit in water
CONDITION_TERRAIN_SWAP = 41, // don't use on 3.3.5a
CONDITION_STAND_STATE = 42, // stateType state 0 true if unit matches specified sitstate (0,x: has exactly state x; 1,0: any standing state; 1,1: any sitting state;)
CONDITION_DAILY_QUEST_DONE = 43, // quest id 0 0 true if daily quest has been completed for the day
CONDITION_CHARMED = 44, // 0 0 0 true if unit is currently charmed
CONDITION_PET_TYPE = 45, // mask 0 0 true if player has a pet of given type(s)
CONDITION_TAXI = 46, // 0 0 0 true if player is on taxi
CONDITION_QUESTSTATE = 47, // quest_id state_mask 0 true if player is in any of the provided quest states for the quest (1 = not taken, 2 = completed, 8 = in progress, 32 = failed, 64 = rewarded)
CONDITION_QUEST_OBJECTIVE_PROGRESS = 48, // quest_id objectiveIndex objectiveCount true if player has reached the specified objectiveCount quest progress for the objectiveIndex for the specified quest
CONDITION_DIFFICULTY_ID = 49, // Difficulty 0 0 true is map has difficulty id
CONDITION_TC_END = 50, // placeholder
// value1 value2 value3
CONDITION_NONE = 0, // 0 0 0 always true
CONDITION_AURA = 1, // spell_id effindex use target? true if player (or target, if value3) has aura of spell_id with effect effindex
CONDITION_ITEM = 2, // item_id count bank true if has #count of item_ids (if 'bank' is set it searches in bank slots too)
CONDITION_ITEM_EQUIPPED = 3, // item_id 0 0 true if has item_id equipped
CONDITION_ZONEID = 4, // zone_id 0 0 true if in zone_id
CONDITION_REPUTATION_RANK = 5, // faction_id rankMask 0 true if has min_rank for faction_id
CONDITION_TEAM = 6, // player_team 0, 0 469 - Alliance, 67 - Horde)
CONDITION_SKILL = 7, // skill_id skill_value 0 true if has skill_value for skill_id
CONDITION_QUESTREWARDED = 8, // quest_id 0 0 true if quest_id was rewarded before
CONDITION_QUESTTAKEN = 9, // quest_id 0, 0 true while quest active
CONDITION_DRUNKENSTATE = 10, // DrunkenState 0, 0 true if player is drunk enough
CONDITION_WORLD_STATE = 11, // index value 0 true if world has the value for the index
CONDITION_ACTIVE_EVENT = 12, // event_id 0 0 true if event is active
CONDITION_INSTANCE_INFO = 13, // entry data type true if the instance info defined by type (enum InstanceInfo) equals data.
CONDITION_QUEST_NONE = 14, // quest_id 0 0 true if doesn't have quest saved
CONDITION_CLASS = 15, // class 0 0 true if player's class is equal to class
CONDITION_RACE = 16, // race 0 0 true if player's race is equal to race
CONDITION_ACHIEVEMENT = 17, // achievement_id 0 0 true if achievement is complete
CONDITION_TITLE = 18, // title id 0 0 true if player has title
CONDITION_SPAWNMASK = 19, // spawnMask 0 0 true if in spawnMask
CONDITION_GENDER = 20, // gender 0 0 true if player's gender is equal to gender
CONDITION_UNIT_STATE = 21, // unitState 0 0 true if unit has unitState
CONDITION_MAPID = 22, // map_id 0 0 true if in map_id
CONDITION_AREAID = 23, // area_id 0 0 true if in area_id
CONDITION_CREATURE_TYPE = 24, // cinfo.type 0 0 true if creature_template.type = value1
CONDITION_SPELL = 25, // spell_id 0 0 true if player has learned spell
CONDITION_PHASEMASK = 26, // phasemask 0 0 true if object is in phasemask
CONDITION_LEVEL = 27, // level ComparisonType 0 true if unit's level is equal to param1 (param2 can modify the statement)
CONDITION_QUEST_COMPLETE = 28, // quest_id 0 0 true if player has quest_id with all objectives complete, but not yet rewarded
CONDITION_NEAR_CREATURE = 29, // creature entry distance dead true if there is a creature of entry in range
CONDITION_NEAR_GAMEOBJECT = 30, // gameobject entry distance 0 true if there is a gameobject of entry in range
CONDITION_OBJECT_ENTRY_GUID = 31, // TypeID entry guid/Attackable true if object is type TypeID and the entry is 0 or matches entry of the object or matches guid of the object
CONDITION_TYPE_MASK = 32, // TypeMask 0 0 true if object is type object's TypeMask matches provided TypeMask
CONDITION_RELATION_TO = 33, // ConditionTarget RelationType 0 true if object is in given relation with object specified by ConditionTarget
CONDITION_REACTION_TO = 34, // ConditionTarget rankMask 0 true if object's reaction matches rankMask object specified by ConditionTarget
CONDITION_DISTANCE_TO = 35, // ConditionTarget distance ComparisonType true if object and ConditionTarget are within distance given by parameters
CONDITION_ALIVE = 36, // 0 0 0 true if unit is alive
CONDITION_HP_VAL = 37, // hpVal ComparisonType 0 true if unit's hp matches given value
CONDITION_HP_PCT = 38, // hpPct ComparisonType 0 true if unit's hp matches given pct
CONDITION_REALM_ACHIEVEMENT = 39, // achievement_id 0 0 true if realm achievement is complete
CONDITION_IN_WATER = 40, // 0 0 0 true if unit in water
CONDITION_TERRAIN_SWAP = 41, // don't use on 3.3.5a
CONDITION_STAND_STATE = 42, // stateType state 0 true if unit matches specified sitstate (0,x: has exactly state x; 1,0: any standing state; 1,1: any sitting state;)
CONDITION_DAILY_QUEST_DONE = 43, // quest id 0 0 true if daily quest has been completed for the day
CONDITION_CHARMED = 44, // 0 0 0 true if unit is currently charmed
CONDITION_PET_TYPE = 45, // mask 0 0 true if player has a pet of given type(s)
CONDITION_TAXI = 46, // 0 0 0 true if player is on taxi
CONDITION_QUESTSTATE = 47, // quest_id state_mask 0 true if player is in any of the provided quest states for the quest (1 = not taken, 2 = completed, 8 = in progress, 32 = failed, 64 = rewarded)
CONDITION_QUEST_OBJECTIVE_PROGRESS = 48, // quest_id objectiveIndex objectiveCount true if player has reached the specified objectiveCount quest progress for the objectiveIndex for the specified quest
CONDITION_DIFFICULTY_ID = 49, // Difficulty 0 0 true is map has difficulty id
CONDITION_TC_END = 50, // placeholder
CONDITION_AC_START = 100,
CONDITION_QUEST_SATISFY_EXCLUSIVE = 101, // quest_id 0 0 true if satisfied exclusive group
CONDITION_HAS_AURA_TYPE = 102, // aura_type 0 0 true if has aura type
CONDITION_AC_END = 103 // placeholder
CONDITION_QUEST_SATISFY_EXCLUSIVE = 101, // quest_id 0 0 true if satisfied exclusive group
CONDITION_HAS_AURA_TYPE = 102, // aura_type 0 0 true if has aura type
CONDITION_AC_END = 103 // placeholder
};
/*! Documentation on implementing a new ConditionSourceType:

View File

@@ -73,7 +73,7 @@ struct M2Header
uint32 ofsTransLookup; // Everything needs its lookup. Here are the transparencies.
uint32 nUVAnimLookup;
uint32 ofsUVAnimLookup;
G3D::AABox BoundingBox; // min/max( [1].z, 2.0277779f ) - 0.16f seems to be the maximum camera height
G3D::AABox BoundingBox; // min/max( [1].z, 2.0277779f ) - 0.16f seems to be the maximum camera height
float BoundingSphereRadius;
G3D::AABox CollisionBox;
float CollisionSphereRadius;
@@ -118,15 +118,15 @@ struct M2Track
struct M2Camera
{
uint32_t type; // 0: portrait, 1: characterinfo; -1: else (flyby etc.); referenced backwards in the lookup table.
float fov; // No radians, no degrees. Multiply by 35 to get degrees.
uint32_t type; // 0: portrait, 1: characterinfo; -1: else (flyby etc.); referenced backwards in the lookup table.
float fov; // No radians, no degrees. Multiply by 35 to get degrees.
float far_clip;
float near_clip;
M2Track positions; // How the camera's position moves. Should be 3*3 floats.
M2Track positions; // How the camera's position moves. Should be 3*3 floats.
G3D::Vector3 position_base;
M2Track target_positions; // How the target moves. Should be 3*3 floats.
M2Track target_positions; // How the target moves. Should be 3*3 floats.
G3D::Vector3 target_position_base;
M2Track rolldata; // The camera can have some roll-effect. Its 0 to 2*Pi.
M2Track rolldata; // The camera can have some roll-effect. Its 0 to 2*Pi.
};
#pragma pack(pop)

View File

@@ -62,15 +62,15 @@ namespace lfg
private:
// General
LfgState m_State; ///< State if group in LFG
LfgState m_OldState; ///< Old State
ObjectGuid m_Leader; ///< Leader GUID
LfgGuidSet m_Players; ///< Players in group
LfgState m_State; ///< State if group in LFG
LfgState m_OldState; ///< Old State
ObjectGuid m_Leader; ///< Leader GUID
LfgGuidSet m_Players; ///< Players in group
// Dungeon
uint32 m_Dungeon; ///< Dungeon entry
uint32 m_Dungeon; ///< Dungeon entry
bool _isLFGGroup;
// Vote Kick
uint8 m_KicksLeft; ///< Number of kicks left
uint8 m_KicksLeft; ///< Number of kicks left
};
} // namespace lfg

View File

@@ -38,9 +38,9 @@ namespace lfg
enum LfgOptions
{
LFG_OPTION_ENABLE_DUNGEON_FINDER = 0x01,
LFG_OPTION_ENABLE_RAID_BROWSER = 0x02,
LFG_OPTION_ENABLE_SEASONAL_BOSSES = 0x04
LFG_OPTION_ENABLE_DUNGEON_FINDER = 0x01,
LFG_OPTION_ENABLE_RAID_BROWSER = 0x02,
LFG_OPTION_ENABLE_SEASONAL_BOSSES = 0x04
};
enum LFGMgrEnum
@@ -330,7 +330,7 @@ namespace lfg
Quest const* quest;
};
/// Reward info
// Reward info
struct LfgReward
{
LfgReward(uint32 _maxLevel = 0, uint32 _firstQuest = 0, uint32 _otherQuest = 0):
@@ -341,35 +341,35 @@ namespace lfg
uint32 otherQuest;
};
/// Stores player data related to proposal to join
// Stores player data related to proposal to join
struct LfgProposalPlayer
{
LfgProposalPlayer() = default;
uint8 role{0}; ///< Proposed role
LfgAnswer accept{LFG_ANSWER_PENDING}; ///< Accept status (-1 not answer | 0 Not agree | 1 agree)
uint8 role{0}; ///< Proposed role
LfgAnswer accept{LFG_ANSWER_PENDING}; ///< Accept status (-1 not answer | 0 Not agree | 1 agree)
ObjectGuid group; ///< Original group guid. 0 if no original group
};
/// Stores group data related to proposal to join
// Stores group data related to proposal to join
struct LfgProposal
{
LfgProposal(uint32 dungeon = 0): dungeonId(dungeon)
{ }
uint32 id{0}; ///< Proposal Id
uint32 id{0}; ///< Proposal Id
uint32 dungeonId; ///< Dungeon to join
LfgProposalState state{LFG_PROPOSAL_INITIATING}; ///< State of the proposal
LfgProposalState state{LFG_PROPOSAL_INITIATING}; ///< State of the proposal
ObjectGuid group; ///< Proposal group (0 if new)
ObjectGuid leader; ///< Leader guid.
time_t cancelTime{0}; ///< Time when we will cancel this proposal
uint32 encounters{0}; ///< Dungeon Encounters
bool isNew{true}; ///< Determines if it's new group or not
time_t cancelTime{0}; ///< Time when we will cancel this proposal
uint32 encounters{0}; ///< Dungeon Encounters
bool isNew{true}; ///< Determines if it's new group or not
Lfg5Guids queues; ///< Queue Ids to remove/readd
LfgGuidList showorder; ///< Show order in update window
LfgProposalPlayerContainer players; ///< Players data
};
/// Stores all rolecheck info of a group that wants to join
// Stores all rolecheck info of a group that wants to join
struct LfgRoleCheck
{
time_t cancelTime; ///< Time when the rolecheck will fail
@@ -380,7 +380,7 @@ namespace lfg
ObjectGuid leader; ///< Leader of the group
};
/// Stores information of a current vote to kick someone from a group
// Stores information of a current vote to kick someone from a group
struct LfgPlayerBoot
{
time_t cancelTime; ///< Time left to vote

View File

@@ -24,7 +24,6 @@
namespace lfg
{
enum LfgCompatibility
{
LFG_COMPATIBILITY_PENDING,
@@ -38,7 +37,7 @@ namespace lfg
LFG_COMPATIBLES_MATCH // Must be the last one
};
/// Stores player or group queue info
// Stores player or group queue info
struct LfgQueueData
{
LfgQueueData();
@@ -48,21 +47,21 @@ namespace lfg
dps(LFG_DPS_NEEDED), dungeons(std::move(_dungeons)), roles(std::move(_roles))
{ }
time_t joinTime; ///< Player queue join time (to calculate wait times)
time_t lastRefreshTime; ///< pussywizard
uint8 tanks{LFG_TANKS_NEEDED}; ///< Tanks needed
uint8 healers{LFG_HEALERS_NEEDED}; ///< Healers needed
uint8 dps{LFG_DPS_NEEDED}; ///< Dps needed
LfgDungeonSet dungeons; ///< Selected Player/Group Dungeon/s
LfgRolesMap roles; ///< Selected Player Role/s
Lfg5Guids bestCompatible; ///< Best compatible combination of people queued
time_t joinTime; // Player queue join time (to calculate wait times)
time_t lastRefreshTime; // pussywizard
uint8 tanks{LFG_TANKS_NEEDED}; // Tanks needed
uint8 healers{LFG_HEALERS_NEEDED}; // Healers needed
uint8 dps{LFG_DPS_NEEDED}; // Dps needed
LfgDungeonSet dungeons; // Selected Player/Group Dungeon/s
LfgRolesMap roles; // Selected Player Role/s
Lfg5Guids bestCompatible; // Best compatible combination of people queued
};
struct LfgWaitTime
{
LfgWaitTime() = default;
int32 time{-1}; ///< Wait time
uint32 number{0}; ///< Number of people used to get that wait time
int32 time{-1}; // Wait time
uint32 number{0}; // Number of people used to get that wait time
};
typedef std::map<uint32, LfgWaitTime> LfgWaitTimesContainer;
@@ -110,19 +109,18 @@ namespace lfg
LfgCompatibility CheckCompatibility(Lfg5Guids const& checkWith, const ObjectGuid& newGuid, uint64& foundMask, uint32& foundCount, const std::set<Lfg5Guids>& currentCompatibles);
// Queue
uint32 m_QueueStatusTimer; ///< used to check interval of sending queue status
LfgQueueDataContainer QueueDataStore; ///< Queued groups
LfgCompatibleContainer CompatibleList; ///< Compatible dungeons
LfgCompatibleContainer CompatibleTempList; ///< new compatibles are added to this container while main one is being iterated
uint32 m_QueueStatusTimer; // used to check interval of sending queue status
LfgQueueDataContainer QueueDataStore; // Queued groups
LfgCompatibleContainer CompatibleList; // Compatible dungeons
LfgCompatibleContainer CompatibleTempList; // new compatibles are added to this container while main one is being iterated
LfgWaitTimesContainer waitTimesAvgStore; ///< Average wait time to find a group queuing as multiple roles
LfgWaitTimesContainer waitTimesTankStore; ///< Average wait time to find a group queuing as tank
LfgWaitTimesContainer waitTimesHealerStore; ///< Average wait time to find a group queuing as healer
LfgWaitTimesContainer waitTimesDpsStore; ///< Average wait time to find a group queuing as dps
LfgGuidList newToQueueStore; ///< New groups to add to queue
LfgWaitTimesContainer waitTimesAvgStore; // Average wait time to find a group queuing as multiple roles
LfgWaitTimesContainer waitTimesTankStore; // Average wait time to find a group queuing as tank
LfgWaitTimesContainer waitTimesHealerStore; // Average wait time to find a group queuing as healer
LfgWaitTimesContainer waitTimesDpsStore; // Average wait time to find a group queuing as dps
LfgGuidList newToQueueStore; // New groups to add to queue
LfgGuidList restoredAfterProposal;
};
} // namespace lfg
}
#endif

View File

@@ -60,9 +60,9 @@ enum ItemModType
ITEM_MOD_EXPERTISE_RATING = 37,
ITEM_MOD_ATTACK_POWER = 38,
ITEM_MOD_RANGED_ATTACK_POWER = 39,
//ITEM_MOD_FERAL_ATTACK_POWER = 40, not in 3.3
ITEM_MOD_SPELL_HEALING_DONE = 41, // deprecated
ITEM_MOD_SPELL_DAMAGE_DONE = 42, // deprecated
//ITEM_MOD_FERAL_ATTACK_POWER = 40, not in 3.3
ITEM_MOD_SPELL_HEALING_DONE = 41, // deprecated
ITEM_MOD_SPELL_DAMAGE_DONE = 42, // deprecated
ITEM_MOD_MANA_REGENERATION = 43,
ITEM_MOD_ARMOR_PENETRATION_RATING = 44,
ITEM_MOD_SPELL_POWER = 45,
@@ -75,7 +75,7 @@ enum ItemModType
enum ItemSpelltriggerType
{
ITEM_SPELLTRIGGER_ON_USE = 0, // use after equip cooldown
ITEM_SPELLTRIGGER_ON_USE = 0, // use after equip cooldown
ITEM_SPELLTRIGGER_ON_EQUIP = 1,
ITEM_SPELLTRIGGER_CHANCE_ON_HIT = 2,
ITEM_SPELLTRIGGER_SOULSTONE = 4,
@@ -85,20 +85,20 @@ enum ItemSpelltriggerType
* other hand the item is destroyed if the aura is removed ("removed on
* death" of spell 57348 makes me think so)
*/
ITEM_SPELLTRIGGER_ON_NO_DELAY_USE = 5, // no equip cooldown
ITEM_SPELLTRIGGER_LEARN_SPELL_ID = 6 // used in item_template.spell_2 with spell_id with SPELL_GENERIC_LEARN in spell_1
ITEM_SPELLTRIGGER_ON_NO_DELAY_USE = 5, // no equip cooldown
ITEM_SPELLTRIGGER_LEARN_SPELL_ID = 6 // used in item_template.spell_2 with spell_id with SPELL_GENERIC_LEARN in spell_1
};
#define MAX_ITEM_SPELLTRIGGER 7
enum ItemBondingType
{
NO_BIND = 0,
BIND_WHEN_PICKED_UP = 1,
BIND_WHEN_EQUIPED = 2,
BIND_WHEN_USE = 3,
BIND_QUEST_ITEM = 4,
BIND_QUEST_ITEM1 = 5 // not used in game
NO_BIND = 0,
BIND_WHEN_PICKED_UP = 1,
BIND_WHEN_EQUIPED = 2,
BIND_WHEN_USE = 3,
BIND_QUEST_ITEM = 4,
BIND_QUEST_ITEM1 = 5 // not used in game
};
#define MAX_BIND_TYPE 6
@@ -597,7 +597,7 @@ struct _ItemStat
};
struct _Spell
{
int32 SpellId; // id from Spell.dbc
int32 SpellId; // id from Spell.dbc
uint32 SpellTrigger;
int32 SpellCharges;
float SpellPPMRate;
@@ -701,7 +701,7 @@ struct ItemTemplate
uint32 MinMoneyLoot;
uint32 MaxMoneyLoot;
uint32 FlagsCu;
WorldPacket queryData; // pussywizard
WorldPacket queryData; // pussywizard
// helpers
[[nodiscard]] bool HasSignature() const

View File

@@ -67,8 +67,8 @@ enum NotifyFlags
enum GOSummonType
{
GO_SUMMON_TIMED_OR_CORPSE_DESPAWN = 0, // despawns after a specified time OR when the summoner dies
GO_SUMMON_TIMED_DESPAWN = 1 // despawns after a specified time
GO_SUMMON_TIMED_OR_CORPSE_DESPAWN = 0, // despawns after a specified time OR when the summoner dies
GO_SUMMON_TIMED_DESPAWN = 1 // despawns after a specified time
};
class WorldPacket;

View File

@@ -23,31 +23,31 @@
#define CONTACT_DISTANCE 0.5f
#define INTERACTION_DISTANCE 5.5f
#define ATTACK_DISTANCE 5.0f
#define VISIBILITY_COMPENSATION 15.0f // increase searchers
#define VISIBILITY_COMPENSATION 15.0f // increase searchers
#define INSPECT_DISTANCE 28.0f
#define VISIBILITY_INC_FOR_GOBJECTS 30.0f // pussywizard
#define SPELL_SEARCHER_COMPENSATION 30.0f // increase searchers size in case we have large npc near cell border
#define VISIBILITY_INC_FOR_GOBJECTS 30.0f // pussywizard
#define SPELL_SEARCHER_COMPENSATION 30.0f // increase searchers size in case we have large npc near cell border
#define TRADE_DISTANCE 11.11f
#define MAX_VISIBILITY_DISTANCE 250.0f // max distance for visible objects, experimental
#define MAX_VISIBILITY_DISTANCE 250.0f // max distance for visible objects, experimental
#define SIGHT_RANGE_UNIT 50.0f
#define MAX_SEARCHER_DISTANCE 150.0f // pussywizard: replace the use of MAX_VISIBILITY_DISTANCE in searchers, because MAX_VISIBILITY_DISTANCE is quite too big for this purpose
#define MAX_SEARCHER_DISTANCE 150.0f // pussywizard: replace the use of MAX_VISIBILITY_DISTANCE in searchers, because MAX_VISIBILITY_DISTANCE is quite too big for this purpose
#define VISIBILITY_DISTANCE_INFINITE 533.0f
#define VISIBILITY_DISTANCE_GIGANTIC 400.0f
#define VISIBILITY_DISTANCE_LARGE 200.0f
#define VISIBILITY_DISTANCE_NORMAL 100.0f
#define VISIBILITY_DISTANCE_SMALL 50.0f
#define VISIBILITY_DISTANCE_TINY 25.0f
#define DEFAULT_VISIBILITY_DISTANCE 100.0f // default visible distance, 100 yards on continents
#define DEFAULT_VISIBILITY_INSTANCE 170.0f // default visible distance in instances, 170 yards
#define DEFAULT_VISIBILITY_DISTANCE 100.0f // default visible distance, 100 yards on continents
#define DEFAULT_VISIBILITY_INSTANCE 170.0f // default visible distance in instances, 170 yards
#define VISIBILITY_DIST_WINTERGRASP 175.0f
#define DEFAULT_VISIBILITY_BGARENAS 533.0f // default visible distance in BG/Arenas, roughly 533 yards
#define DEFAULT_VISIBILITY_BGARENAS 533.0f // default visible distance in BG/Arenas, roughly 533 yards
#define DEFAULT_WORLD_OBJECT_SIZE 0.388999998569489f // player size, also currently used (correctly?) for any non Unit world objects
#define DEFAULT_COMBAT_REACH 1.5f
#define MIN_MELEE_REACH 2.0f
#define NOMINAL_MELEE_RANGE 5.0f
#define MELEE_RANGE (NOMINAL_MELEE_RANGE - MIN_MELEE_REACH * 2) //center to center for players
#define DEFAULT_COLLISION_HEIGHT 2.03128f // Most common value in dbc
#define DEFAULT_COLLISION_HEIGHT 2.03128f // Most common value in dbc
// used for creating values for respawn for example
inline uint32 PAIR64_HIPART(uint64 x);

View File

@@ -47,8 +47,8 @@ enum TypeMask
{
TYPEMASK_OBJECT = 0x0001,
TYPEMASK_ITEM = 0x0002,
TYPEMASK_CONTAINER = 0x0006, // TYPEMASK_ITEM | 0x0004
TYPEMASK_UNIT = 0x0008, // creature
TYPEMASK_CONTAINER = 0x0006, // TYPEMASK_ITEM | 0x0004
TYPEMASK_UNIT = 0x0008, // creature
TYPEMASK_PLAYER = 0x0010,
TYPEMASK_GAMEOBJECT = 0x0020,
TYPEMASK_DYNAMICOBJECT = 0x0040,

View File

@@ -42,7 +42,7 @@ struct ObjectPosSelector
float dist; // dist to central point (including central point size)
};
typedef std::multimap<float, UsedPos> UsedPosList; // std::abs(angle)->Node
typedef std::multimap<float, UsedPos> UsedPosList; // std::abs(angle)->Node
ObjectPosSelector(float x, float y, float size, float dist);
@@ -60,7 +60,7 @@ struct ObjectPosSelector
float angle_step2 = GetAngle(nextUsedPos.second);
float next_angle = nextUsedPos.first;
if (nextUsedPos.second.sign * sign < 0) // last node from diff. list (-pi+alpha)
if (nextUsedPos.second.sign * sign < 0) // last node from diff. list (-pi+alpha)
next_angle = 2 * M_PI - next_angle; // move to positive
return std::fabs(angle) + angle_step2 <= next_angle;

View File

@@ -28,9 +28,9 @@ enum ReactStates : uint8;
enum PetType : uint8
{
SUMMON_PET = 0,
HUNTER_PET = 1,
MAX_PET_TYPE = 4
SUMMON_PET = 0,
HUNTER_PET = 1,
MAX_PET_TYPE = 4
};
constexpr auto MAX_PET_STABLES = 4;
@@ -38,54 +38,54 @@ constexpr auto MAX_PET_STABLES = 4;
// stored in character_pet.slot
enum PetSaveMode : int8
{
PET_SAVE_AS_DELETED = -1, // not saved in fact
PET_SAVE_AS_CURRENT = 0, // in current slot (with player)
PET_SAVE_FIRST_STABLE_SLOT = 1,
PET_SAVE_LAST_STABLE_SLOT = MAX_PET_STABLES, // last in DB stable slot index (including), all higher have same meaning as PET_SAVE_NOT_IN_SLOT
PET_SAVE_NOT_IN_SLOT = 100 // for avoid conflict with stable size grow will use 100
PET_SAVE_AS_DELETED = -1, // not saved in fact
PET_SAVE_AS_CURRENT = 0, // in current slot (with player)
PET_SAVE_FIRST_STABLE_SLOT = 1,
PET_SAVE_LAST_STABLE_SLOT = MAX_PET_STABLES, // last in DB stable slot index (including), all higher have same meaning as PET_SAVE_NOT_IN_SLOT
PET_SAVE_NOT_IN_SLOT = 100 // for avoid conflict with stable size grow will use 100
};
enum HappinessState
{
UNHAPPY = 1,
CONTENT = 2,
HAPPY = 3
UNHAPPY = 1,
CONTENT = 2,
HAPPY = 3
};
enum PetSpellState
{
PETSPELL_UNCHANGED = 0,
PETSPELL_CHANGED = 1,
PETSPELL_NEW = 2,
PETSPELL_REMOVED = 3
PETSPELL_UNCHANGED = 0,
PETSPELL_CHANGED = 1,
PETSPELL_NEW = 2,
PETSPELL_REMOVED = 3
};
enum PetSpellType
{
PETSPELL_NORMAL = 0,
PETSPELL_FAMILY = 1,
PETSPELL_TALENT = 2
PETSPELL_NORMAL = 0,
PETSPELL_FAMILY = 1,
PETSPELL_TALENT = 2
};
enum ActionFeedback
{
FEEDBACK_NONE = 0,
FEEDBACK_PET_DEAD = 1,
FEEDBACK_NOTHING_TO_ATT = 2,
FEEDBACK_CANT_ATT_TARGET = 3
FEEDBACK_NONE = 0,
FEEDBACK_PET_DEAD = 1,
FEEDBACK_NOTHING_TO_ATT = 2,
FEEDBACK_CANT_ATT_TARGET = 3
};
enum PetTalk
{
PET_TALK_SPECIAL_SPELL = 0,
PET_TALK_ATTACK = 1
PET_TALK_SPECIAL_SPELL = 0,
PET_TALK_ATTACK = 1
};
enum PetLoadState
{
PET_LOAD_OK = 0,
PET_LOAD_NO_RESULT = 1,
PET_LOAD_ERROR = 2
PET_LOAD_OK = 0,
PET_LOAD_NO_RESULT = 1,
PET_LOAD_ERROR = 2
};
enum NPCEntries

View File

@@ -50,11 +50,11 @@ enum VehicleFlags
enum VehicleSpells
{
VEHICLE_SPELL_RIDE_HARDCODED = 46598,
VEHICLE_SPELL_PARACHUTE = 45472,
VEHICLE_SPELL_RIDE_HARDCODED = 46598,
VEHICLE_SPELL_PARACHUTE = 45472,
VEHICLE_SPELL_GEIST_CONTROL_END = 58119,
VEHICLE_SPELL_SHADE_CONTROL_END = 58664
VEHICLE_SPELL_GEIST_CONTROL_END = 58119,
VEHICLE_SPELL_SHADE_CONTROL_END = 58664
};
enum VehicleNPCs

View File

@@ -24,16 +24,16 @@
#include <map>
#include <unordered_map>
#define max_ge_check_delay DAY // 1 day in seconds
#define max_ge_check_delay DAY // 1 day in seconds
enum GameEventState
{
GAMEEVENT_NORMAL = 0, // standard game events
GAMEEVENT_WORLD_INACTIVE = 1, // not yet started
GAMEEVENT_WORLD_CONDITIONS = 2, // condition matching phase
GAMEEVENT_WORLD_NEXTPHASE = 3, // conditions are met, now 'length' timer to start next event
GAMEEVENT_WORLD_FINISHED = 4, // next events are started, unapply this one
GAMEEVENT_INTERNAL = 5, // never handled in update
GAMEEVENT_NORMAL = 0, // standard game events
GAMEEVENT_WORLD_INACTIVE = 1, // not yet started
GAMEEVENT_WORLD_CONDITIONS = 2, // condition matching phase
GAMEEVENT_WORLD_NEXTPHASE = 3, // conditions are met, now 'length' timer to start next event
GAMEEVENT_WORLD_FINISHED = 4, // next events are started, unapply this one
GAMEEVENT_INTERNAL = 5, // never handled in update
};
struct GameEventFinishCondition
@@ -83,10 +83,10 @@ struct ModelEquip
struct NPCVendorEntry
{
uint32 entry; // creature entry
uint32 item; // item id
int32 maxcount; // 0 for infinite
uint32 incrtime; // time for restore items amount if maxcount != 0
uint32 entry; // creature entry
uint32 item; // item id
int32 maxcount; // 0 for infinite
uint32 incrtime; // time for restore items amount if maxcount != 0
uint32 ExtendedCost;
};

View File

@@ -31,22 +31,22 @@
enum RollType
{
ROLL_PASS = 0,
ROLL_NEED = 1,
ROLL_GREED = 2,
ROLL_DISENCHANT = 3,
MAX_ROLL_TYPE = 4
ROLL_PASS = 0,
ROLL_NEED = 1,
ROLL_GREED = 2,
ROLL_DISENCHANT = 3,
MAX_ROLL_TYPE = 4
};
enum RollMask
{
ROLL_FLAG_TYPE_PASS = 0x01,
ROLL_FLAG_TYPE_NEED = 0x02,
ROLL_FLAG_TYPE_GREED = 0x04,
ROLL_FLAG_TYPE_DISENCHANT = 0x08,
ROLL_FLAG_TYPE_PASS = 0x01,
ROLL_FLAG_TYPE_NEED = 0x02,
ROLL_FLAG_TYPE_GREED = 0x04,
ROLL_FLAG_TYPE_DISENCHANT = 0x08,
ROLL_ALL_TYPE_NO_DISENCHANT = 0x07,
ROLL_ALL_TYPE_MASK = 0x0F
ROLL_ALL_TYPE_NO_DISENCHANT = 0x07,
ROLL_ALL_TYPE_MASK = 0x0F
};
#define MAX_NR_LOOT_ITEMS 18
@@ -56,40 +56,40 @@ enum RollMask
enum LootMethod
{
FREE_FOR_ALL = 0,
ROUND_ROBIN = 1,
MASTER_LOOT = 2,
GROUP_LOOT = 3,
NEED_BEFORE_GREED = 4
FREE_FOR_ALL = 0,
ROUND_ROBIN = 1,
MASTER_LOOT = 2,
GROUP_LOOT = 3,
NEED_BEFORE_GREED = 4
};
enum PermissionTypes
{
ALL_PERMISSION = 0,
GROUP_PERMISSION = 1,
MASTER_PERMISSION = 2,
RESTRICTED_PERMISSION = 3,
ROUND_ROBIN_PERMISSION = 4,
OWNER_PERMISSION = 5,
NONE_PERMISSION = 6
ALL_PERMISSION = 0,
GROUP_PERMISSION = 1,
MASTER_PERMISSION = 2,
RESTRICTED_PERMISSION = 3,
ROUND_ROBIN_PERMISSION = 4,
OWNER_PERMISSION = 5,
NONE_PERMISSION = 6
};
enum LootType
{
LOOT_NONE = 0,
LOOT_NONE = 0,
LOOT_CORPSE = 1,
LOOT_PICKPOCKETING = 2,
LOOT_FISHING = 3,
LOOT_DISENCHANTING = 4,
LOOT_CORPSE = 1,
LOOT_PICKPOCKETING = 2,
LOOT_FISHING = 3,
LOOT_DISENCHANTING = 4,
// ignored always by client
LOOT_SKINNING = 6,
LOOT_PROSPECTING = 7,
LOOT_MILLING = 8,
LOOT_SKINNING = 6,
LOOT_PROSPECTING = 7,
LOOT_MILLING = 8,
LOOT_FISHINGHOLE = 20, // unsupported by client, sending LOOT_FISHING instead
LOOT_INSIGNIA = 21, // unsupported by client, sending LOOT_CORPSE instead
LOOT_FISHING_JUNK = 22 // unsupported by client, sending LOOT_FISHING instead
LOOT_FISHINGHOLE = 20, // unsupported by client, sending LOOT_FISHING instead
LOOT_INSIGNIA = 21, // unsupported by client, sending LOOT_CORPSE instead
LOOT_FISHING_JUNK = 22 // unsupported by client, sending LOOT_FISHING instead
};
enum LootError
@@ -112,11 +112,11 @@ enum LootError
// type of Loot Item in Loot View
enum LootSlotType
{
LOOT_SLOT_TYPE_ALLOW_LOOT = 0, // player can loot the item.
LOOT_SLOT_TYPE_ROLL_ONGOING = 1, // roll is ongoing. player cannot loot.
LOOT_SLOT_TYPE_MASTER = 2, // item can only be distributed by group loot master.
LOOT_SLOT_TYPE_LOCKED = 3, // item is shown in red. player cannot loot.
LOOT_SLOT_TYPE_OWNER = 4, // ignore binding confirmation and etc, for single player looting
LOOT_SLOT_TYPE_ALLOW_LOOT = 0, // player can loot the item.
LOOT_SLOT_TYPE_ROLL_ONGOING = 1, // roll is ongoing. player cannot loot.
LOOT_SLOT_TYPE_MASTER = 2, // item can only be distributed by group loot master.
LOOT_SLOT_TYPE_LOCKED = 3, // item is shown in red. player cannot loot.
LOOT_SLOT_TYPE_OWNER = 4, // ignore binding confirmation and etc, for single player looting
};
class Player;
@@ -127,15 +127,15 @@ struct Loot;
struct LootStoreItem
{
uint32 itemid; // id of the item
int32 reference; // referenced TemplateleId
float chance; // chance to drop for both quest and non-quest items, chance to be used for refs
bool needs_quest : 1; // quest drop (quest is required for item to drop)
uint32 itemid; // id of the item
int32 reference; // referenced TemplateleId
float chance; // chance to drop for both quest and non-quest items, chance to be used for refs
bool needs_quest : 1; // quest drop (quest is required for item to drop)
uint16 lootmode;
uint8 groupid : 7;
uint8 mincount; // mincount for drop items
uint8 maxcount; // max drop count for the item mincount or Ref multiplicator
ConditionList conditions; // additional loot condition
uint8 mincount; // mincount for drop items
uint8 maxcount; // max drop count for the item mincount or Ref multiplicator
ConditionList conditions; // additional loot condition
// Constructor
// displayid is filled in IsValid() which must be called after
@@ -144,7 +144,7 @@ struct LootStoreItem
lootmode(_lootmode), groupid(_groupid), mincount(_mincount), maxcount(_maxcount)
{}
bool Roll(bool rate, Player const* player, Loot& loot, LootStore const& store) const; // Checks if the entry takes it's chance (at loot generation)
bool Roll(bool rate, Player const* player, Loot& loot, LootStore const& store) const; // Checks if the entry takes it's chance (at loot generation)
[[nodiscard]] bool IsValid(LootStore const& store, uint32 entry) const;
// Checks correctness of values
};

View File

@@ -38,13 +38,13 @@ enum AURA_FLAGS
enum AuraEffectHandleModes
{
AURA_EFFECT_HANDLE_DEFAULT = 0x0,
AURA_EFFECT_HANDLE_REAL = 0x01, // handler applies/removes effect from unit
AURA_EFFECT_HANDLE_SEND_FOR_CLIENT = 0x02, // handler sends apply/remove packet to unit
AURA_EFFECT_HANDLE_CHANGE_AMOUNT = 0x04, // handler updates effect on target after effect amount change
AURA_EFFECT_HANDLE_REAPPLY = 0x08, // handler updates effect on target after aura is reapplied on target
AURA_EFFECT_HANDLE_STAT = 0x10, // handler updates effect on target when stat removal/apply is needed for calculations by core
AURA_EFFECT_HANDLE_SKILL = 0x20, // handler updates effect on target when skill removal/apply is needed for calculations by core
AURA_EFFECT_HANDLE_DEFAULT = 0x0,
AURA_EFFECT_HANDLE_REAL = 0x01, // handler applies/removes effect from unit
AURA_EFFECT_HANDLE_SEND_FOR_CLIENT = 0x02, // handler sends apply/remove packet to unit
AURA_EFFECT_HANDLE_CHANGE_AMOUNT = 0x04, // handler updates effect on target after effect amount change
AURA_EFFECT_HANDLE_REAPPLY = 0x08, // handler updates effect on target after aura is reapplied on target
AURA_EFFECT_HANDLE_STAT = 0x10, // handler updates effect on target when stat removal/apply is needed for calculations by core
AURA_EFFECT_HANDLE_SKILL = 0x20, // handler updates effect on target when skill removal/apply is needed for calculations by core
AURA_EFFECT_HANDLE_SEND_FOR_CLIENT_MASK = (AURA_EFFECT_HANDLE_SEND_FOR_CLIENT | AURA_EFFECT_HANDLE_REAL), // any case handler need to send packet
AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK = (AURA_EFFECT_HANDLE_CHANGE_AMOUNT | AURA_EFFECT_HANDLE_REAL), // any case handler applies effect depending on amount
AURA_EFFECT_HANDLE_CHANGE_AMOUNT_SEND_FOR_CLIENT_MASK = (AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK | AURA_EFFECT_HANDLE_SEND_FOR_CLIENT_MASK),
@@ -54,330 +54,330 @@ enum AuraEffectHandleModes
//m_schoolAbsorb
enum DAMAGE_ABSORB_TYPE
{
ALL_DAMAGE_ABSORB = -2,
ONLY_MAGIC_ABSORB = -1,
ALL_DAMAGE_ABSORB = -2,
ONLY_MAGIC_ABSORB = -1,
};
enum AuraType
{
SPELL_AURA_NONE = 0,
SPELL_AURA_BIND_SIGHT = 1,
SPELL_AURA_MOD_POSSESS = 2,
SPELL_AURA_PERIODIC_DAMAGE = 3,
SPELL_AURA_DUMMY = 4,
SPELL_AURA_MOD_CONFUSE = 5,
SPELL_AURA_MOD_CHARM = 6,
SPELL_AURA_MOD_FEAR = 7,
SPELL_AURA_PERIODIC_HEAL = 8,
SPELL_AURA_MOD_ATTACKSPEED = 9,
SPELL_AURA_MOD_THREAT = 10,
SPELL_AURA_MOD_TAUNT = 11,
SPELL_AURA_MOD_STUN = 12,
SPELL_AURA_MOD_DAMAGE_DONE = 13,
SPELL_AURA_MOD_DAMAGE_TAKEN = 14,
SPELL_AURA_DAMAGE_SHIELD = 15,
SPELL_AURA_MOD_STEALTH = 16,
SPELL_AURA_MOD_STEALTH_DETECT = 17,
SPELL_AURA_MOD_INVISIBILITY = 18,
SPELL_AURA_MOD_INVISIBILITY_DETECT = 19,
SPELL_AURA_OBS_MOD_HEALTH = 20, //20, 21 unofficial
SPELL_AURA_OBS_MOD_POWER = 21,
SPELL_AURA_MOD_RESISTANCE = 22,
SPELL_AURA_PERIODIC_TRIGGER_SPELL = 23,
SPELL_AURA_PERIODIC_ENERGIZE = 24,
SPELL_AURA_MOD_PACIFY = 25,
SPELL_AURA_MOD_ROOT = 26,
SPELL_AURA_MOD_SILENCE = 27,
SPELL_AURA_REFLECT_SPELLS = 28,
SPELL_AURA_MOD_STAT = 29,
SPELL_AURA_MOD_SKILL = 30,
SPELL_AURA_MOD_INCREASE_SPEED = 31,
SPELL_AURA_MOD_INCREASE_MOUNTED_SPEED = 32,
SPELL_AURA_MOD_DECREASE_SPEED = 33,
SPELL_AURA_MOD_INCREASE_HEALTH = 34,
SPELL_AURA_MOD_INCREASE_ENERGY = 35,
SPELL_AURA_MOD_SHAPESHIFT = 36,
SPELL_AURA_EFFECT_IMMUNITY = 37,
SPELL_AURA_STATE_IMMUNITY = 38,
SPELL_AURA_SCHOOL_IMMUNITY = 39,
SPELL_AURA_DAMAGE_IMMUNITY = 40,
SPELL_AURA_DISPEL_IMMUNITY = 41,
SPELL_AURA_PROC_TRIGGER_SPELL = 42,
SPELL_AURA_PROC_TRIGGER_DAMAGE = 43,
SPELL_AURA_TRACK_CREATURES = 44,
SPELL_AURA_TRACK_RESOURCES = 45,
SPELL_AURA_46 = 46, // Ignore all Gear test spells
SPELL_AURA_MOD_PARRY_PERCENT = 47,
SPELL_AURA_PERIODIC_TRIGGER_SPELL_FROM_CLIENT = 48, // One periodic spell
SPELL_AURA_MOD_DODGE_PERCENT = 49,
SPELL_AURA_MOD_CRITICAL_HEALING_AMOUNT = 50,
SPELL_AURA_MOD_BLOCK_PERCENT = 51,
SPELL_AURA_MOD_WEAPON_CRIT_PERCENT = 52,
SPELL_AURA_PERIODIC_LEECH = 53,
SPELL_AURA_MOD_HIT_CHANCE = 54,
SPELL_AURA_MOD_SPELL_HIT_CHANCE = 55,
SPELL_AURA_TRANSFORM = 56,
SPELL_AURA_MOD_SPELL_CRIT_CHANCE = 57,
SPELL_AURA_MOD_INCREASE_SWIM_SPEED = 58,
SPELL_AURA_MOD_DAMAGE_DONE_CREATURE = 59,
SPELL_AURA_MOD_PACIFY_SILENCE = 60,
SPELL_AURA_MOD_SCALE = 61,
SPELL_AURA_PERIODIC_HEALTH_FUNNEL = 62,
SPELL_AURA_63 = 63, // old SPELL_AURA_PERIODIC_MANA_FUNNEL
SPELL_AURA_PERIODIC_MANA_LEECH = 64,
SPELL_AURA_MOD_CASTING_SPEED_NOT_STACK = 65,
SPELL_AURA_FEIGN_DEATH = 66,
SPELL_AURA_MOD_DISARM = 67,
SPELL_AURA_MOD_STALKED = 68,
SPELL_AURA_SCHOOL_ABSORB = 69,
SPELL_AURA_EXTRA_ATTACKS = 70,
SPELL_AURA_MOD_SPELL_CRIT_CHANCE_SCHOOL = 71,
SPELL_AURA_MOD_POWER_COST_SCHOOL_PCT = 72,
SPELL_AURA_MOD_POWER_COST_SCHOOL = 73,
SPELL_AURA_REFLECT_SPELLS_SCHOOL = 74,
SPELL_AURA_MOD_LANGUAGE = 75,
SPELL_AURA_FAR_SIGHT = 76,
SPELL_AURA_MECHANIC_IMMUNITY = 77,
SPELL_AURA_MOUNTED = 78,
SPELL_AURA_MOD_DAMAGE_PERCENT_DONE = 79,
SPELL_AURA_MOD_PERCENT_STAT = 80,
SPELL_AURA_SPLIT_DAMAGE_PCT = 81,
SPELL_AURA_WATER_BREATHING = 82,
SPELL_AURA_MOD_BASE_RESISTANCE = 83,
SPELL_AURA_MOD_REGEN = 84,
SPELL_AURA_MOD_POWER_REGEN = 85,
SPELL_AURA_CHANNEL_DEATH_ITEM = 86,
SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN = 87,
SPELL_AURA_MOD_HEALTH_REGEN_PERCENT = 88,
SPELL_AURA_PERIODIC_DAMAGE_PERCENT = 89,
SPELL_AURA_90 = 90, // old SPELL_AURA_MOD_RESIST_CHANCE
SPELL_AURA_MOD_DETECT_RANGE = 91,
SPELL_AURA_PREVENTS_FLEEING = 92,
SPELL_AURA_MOD_UNATTACKABLE = 93,
SPELL_AURA_INTERRUPT_REGEN = 94,
SPELL_AURA_GHOST = 95,
SPELL_AURA_SPELL_MAGNET = 96,
SPELL_AURA_MANA_SHIELD = 97,
SPELL_AURA_MOD_SKILL_TALENT = 98,
SPELL_AURA_MOD_ATTACK_POWER = 99,
SPELL_AURA_AURAS_VISIBLE = 100,
SPELL_AURA_MOD_RESISTANCE_PCT = 101,
SPELL_AURA_MOD_MELEE_ATTACK_POWER_VERSUS = 102,
SPELL_AURA_MOD_TOTAL_THREAT = 103,
SPELL_AURA_WATER_WALK = 104,
SPELL_AURA_FEATHER_FALL = 105,
SPELL_AURA_HOVER = 106,
SPELL_AURA_ADD_FLAT_MODIFIER = 107,
SPELL_AURA_ADD_PCT_MODIFIER = 108,
SPELL_AURA_ADD_TARGET_TRIGGER = 109,
SPELL_AURA_MOD_POWER_REGEN_PERCENT = 110,
SPELL_AURA_ADD_CASTER_HIT_TRIGGER = 111,
SPELL_AURA_OVERRIDE_CLASS_SCRIPTS = 112,
SPELL_AURA_MOD_RANGED_DAMAGE_TAKEN = 113,
SPELL_AURA_MOD_RANGED_DAMAGE_TAKEN_PCT = 114,
SPELL_AURA_MOD_HEALING = 115,
SPELL_AURA_MOD_REGEN_DURING_COMBAT = 116,
SPELL_AURA_MOD_MECHANIC_RESISTANCE = 117,
SPELL_AURA_MOD_HEALING_PCT = 118,
SPELL_AURA_119 = 119, // old SPELL_AURA_SHARE_PET_TRACKING
SPELL_AURA_UNTRACKABLE = 120,
SPELL_AURA_EMPATHY = 121,
SPELL_AURA_MOD_OFFHAND_DAMAGE_PCT = 122,
SPELL_AURA_MOD_TARGET_RESISTANCE = 123,
SPELL_AURA_MOD_RANGED_ATTACK_POWER = 124,
SPELL_AURA_MOD_MELEE_DAMAGE_TAKEN = 125,
SPELL_AURA_MOD_MELEE_DAMAGE_TAKEN_PCT = 126,
SPELL_AURA_RANGED_ATTACK_POWER_ATTACKER_BONUS = 127,
SPELL_AURA_MOD_POSSESS_PET = 128,
SPELL_AURA_MOD_SPEED_ALWAYS = 129,
SPELL_AURA_MOD_MOUNTED_SPEED_ALWAYS = 130,
SPELL_AURA_MOD_RANGED_ATTACK_POWER_VERSUS = 131,
SPELL_AURA_MOD_INCREASE_ENERGY_PERCENT = 132,
SPELL_AURA_MOD_INCREASE_HEALTH_PERCENT = 133,
SPELL_AURA_MOD_MANA_REGEN_INTERRUPT = 134,
SPELL_AURA_MOD_HEALING_DONE = 135,
SPELL_AURA_MOD_HEALING_DONE_PERCENT = 136,
SPELL_AURA_MOD_TOTAL_STAT_PERCENTAGE = 137,
SPELL_AURA_MOD_MELEE_HASTE = 138,
SPELL_AURA_FORCE_REACTION = 139,
SPELL_AURA_MOD_RANGED_HASTE = 140,
SPELL_AURA_MOD_RANGED_AMMO_HASTE = 141,
SPELL_AURA_MOD_BASE_RESISTANCE_PCT = 142,
SPELL_AURA_MOD_RESISTANCE_EXCLUSIVE = 143,
SPELL_AURA_SAFE_FALL = 144,
SPELL_AURA_MOD_PET_TALENT_POINTS = 145,
SPELL_AURA_ALLOW_TAME_PET_TYPE = 146,
SPELL_AURA_MECHANIC_IMMUNITY_MASK = 147,
SPELL_AURA_RETAIN_COMBO_POINTS = 148,
SPELL_AURA_REDUCE_PUSHBACK = 149, // Reduce Pushback
SPELL_AURA_MOD_SHIELD_BLOCKVALUE_PCT = 150,
SPELL_AURA_TRACK_STEALTHED = 151, // Track Stealthed
SPELL_AURA_MOD_DETECTED_RANGE = 152, // Mod Detected Range
SPELL_AURA_SPLIT_DAMAGE_FLAT = 153, // Split Damage Flat
SPELL_AURA_MOD_STEALTH_LEVEL = 154, // Stealth Level Modifier
SPELL_AURA_MOD_WATER_BREATHING = 155, // Mod Water Breathing
SPELL_AURA_MOD_REPUTATION_GAIN = 156, // Mod Reputation Gain
SPELL_AURA_PET_DAMAGE_MULTI = 157, // Mod Pet Damage
SPELL_AURA_MOD_SHIELD_BLOCKVALUE = 158,
SPELL_AURA_NO_PVP_CREDIT = 159,
SPELL_AURA_MOD_AOE_AVOIDANCE = 160,
SPELL_AURA_MOD_HEALTH_REGEN_IN_COMBAT = 161,
SPELL_AURA_POWER_BURN = 162,
SPELL_AURA_MOD_CRIT_DAMAGE_BONUS = 163,
SPELL_AURA_164 = 164,
SPELL_AURA_MELEE_ATTACK_POWER_ATTACKER_BONUS = 165,
SPELL_AURA_MOD_ATTACK_POWER_PCT = 166,
SPELL_AURA_MOD_RANGED_ATTACK_POWER_PCT = 167,
SPELL_AURA_MOD_DAMAGE_DONE_VERSUS = 168,
SPELL_AURA_MOD_CRIT_PERCENT_VERSUS = 169,
SPELL_AURA_DETECT_AMORE = 170,
SPELL_AURA_MOD_SPEED_NOT_STACK = 171,
SPELL_AURA_MOD_MOUNTED_SPEED_NOT_STACK = 172,
SPELL_AURA_173 = 173, // old SPELL_AURA_ALLOW_CHAMPION_SPELLS
SPELL_AURA_MOD_SPELL_DAMAGE_OF_STAT_PERCENT = 174, // by defeult intelect, dependent from SPELL_AURA_MOD_SPELL_HEALING_OF_STAT_PERCENT
SPELL_AURA_MOD_SPELL_HEALING_OF_STAT_PERCENT = 175,
SPELL_AURA_SPIRIT_OF_REDEMPTION = 176,
SPELL_AURA_AOE_CHARM = 177,
SPELL_AURA_MOD_DEBUFF_RESISTANCE = 178,
SPELL_AURA_MOD_ATTACKER_SPELL_CRIT_CHANCE = 179,
SPELL_AURA_MOD_FLAT_SPELL_DAMAGE_VERSUS = 180,
SPELL_AURA_181 = 181, // old SPELL_AURA_MOD_FLAT_SPELL_CRIT_DAMAGE_VERSUS - possible flat spell crit damage versus
SPELL_AURA_MOD_RESISTANCE_OF_STAT_PERCENT = 182,
SPELL_AURA_MOD_CRITICAL_THREAT = 183,
SPELL_AURA_MOD_ATTACKER_MELEE_HIT_CHANCE = 184,
SPELL_AURA_MOD_ATTACKER_RANGED_HIT_CHANCE = 185,
SPELL_AURA_MOD_ATTACKER_SPELL_HIT_CHANCE = 186,
SPELL_AURA_MOD_ATTACKER_MELEE_CRIT_CHANCE = 187,
SPELL_AURA_MOD_ATTACKER_RANGED_CRIT_CHANCE = 188,
SPELL_AURA_MOD_RATING = 189,
SPELL_AURA_MOD_FACTION_REPUTATION_GAIN = 190,
SPELL_AURA_USE_NORMAL_MOVEMENT_SPEED = 191,
SPELL_AURA_MOD_MELEE_RANGED_HASTE = 192,
SPELL_AURA_MELEE_SLOW = 193,
SPELL_AURA_MOD_TARGET_ABSORB_SCHOOL = 194,
SPELL_AURA_MOD_TARGET_ABILITY_ABSORB_SCHOOL = 195,
SPELL_AURA_MOD_COOLDOWN = 196, // only 24818 Noxious Breath
SPELL_AURA_MOD_ATTACKER_SPELL_AND_WEAPON_CRIT_CHANCE = 197,
SPELL_AURA_198 = 198, // old SPELL_AURA_MOD_ALL_WEAPON_SKILLS
SPELL_AURA_MOD_INCREASES_SPELL_PCT_TO_HIT = 199,
SPELL_AURA_MOD_XP_PCT = 200,
SPELL_AURA_FLY = 201,
SPELL_AURA_IGNORE_COMBAT_RESULT = 202,
SPELL_AURA_MOD_ATTACKER_MELEE_CRIT_DAMAGE = 203,
SPELL_AURA_MOD_ATTACKER_RANGED_CRIT_DAMAGE = 204,
SPELL_AURA_MOD_SCHOOL_CRIT_DMG_TAKEN = 205,
SPELL_AURA_MOD_INCREASE_VEHICLE_FLIGHT_SPEED = 206,
SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED = 207,
SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED = 208,
SPELL_AURA_MOD_MOUNTED_FLIGHT_SPEED_ALWAYS = 209,
SPELL_AURA_MOD_VEHICLE_SPEED_ALWAYS = 210,
SPELL_AURA_MOD_FLIGHT_SPEED_NOT_STACK = 211,
SPELL_AURA_MOD_RANGED_ATTACK_POWER_OF_STAT_PERCENT = 212,
SPELL_AURA_MOD_RAGE_FROM_DAMAGE_DEALT = 213,
SPELL_AURA_214 = 214,
SPELL_AURA_ARENA_PREPARATION = 215,
SPELL_AURA_HASTE_SPELLS = 216,
SPELL_AURA_MOD_MELEE_HASTE_2 = 217, // NYI
SPELL_AURA_HASTE_RANGED = 218,
SPELL_AURA_MOD_MANA_REGEN_FROM_STAT = 219,
SPELL_AURA_MOD_RATING_FROM_STAT = 220,
SPELL_AURA_IGNORED = 221,
SPELL_AURA_222 = 222,
SPELL_AURA_RAID_PROC_FROM_CHARGE = 223,
SPELL_AURA_224 = 224,
SPELL_AURA_RAID_PROC_FROM_CHARGE_WITH_VALUE = 225,
SPELL_AURA_PERIODIC_DUMMY = 226,
SPELL_AURA_PERIODIC_TRIGGER_SPELL_WITH_VALUE = 227,
SPELL_AURA_DETECT_STEALTH = 228,
SPELL_AURA_MOD_AOE_DAMAGE_AVOIDANCE = 229,
SPELL_AURA_230 = 230,
SPELL_AURA_PROC_TRIGGER_SPELL_WITH_VALUE = 231,
SPELL_AURA_MECHANIC_DURATION_MOD = 232,
SPELL_AURA_CHANGE_MODEL_FOR_ALL_HUMANOIDS = 233, // client-side only
SPELL_AURA_MECHANIC_DURATION_MOD_NOT_STACK = 234,
SPELL_AURA_MOD_DISPEL_RESIST = 235,
SPELL_AURA_CONTROL_VEHICLE = 236,
SPELL_AURA_MOD_SPELL_DAMAGE_OF_ATTACK_POWER = 237,
SPELL_AURA_MOD_SPELL_HEALING_OF_ATTACK_POWER = 238,
SPELL_AURA_MOD_SCALE_2 = 239,
SPELL_AURA_MOD_EXPERTISE = 240,
SPELL_AURA_FORCE_MOVE_FORWARD = 241,
SPELL_AURA_MOD_SPELL_DAMAGE_FROM_HEALING = 242,
SPELL_AURA_MOD_FACTION = 243,
SPELL_AURA_COMPREHEND_LANGUAGE = 244,
SPELL_AURA_MOD_AURA_DURATION_BY_DISPEL = 245,
SPELL_AURA_MOD_AURA_DURATION_BY_DISPEL_NOT_STACK = 246,
SPELL_AURA_CLONE_CASTER = 247,
SPELL_AURA_MOD_COMBAT_RESULT_CHANCE = 248,
SPELL_AURA_CONVERT_RUNE = 249,
SPELL_AURA_MOD_INCREASE_HEALTH_2 = 250,
SPELL_AURA_MOD_ENEMY_DODGE = 251,
SPELL_AURA_MOD_SPEED_SLOW_ALL = 252,
SPELL_AURA_MOD_BLOCK_CRIT_CHANCE = 253,
SPELL_AURA_MOD_DISARM_OFFHAND = 254,
SPELL_AURA_MOD_MECHANIC_DAMAGE_TAKEN_PERCENT = 255,
SPELL_AURA_NO_REAGENT_USE = 256,
SPELL_AURA_MOD_TARGET_RESIST_BY_SPELL_CLASS = 257,
SPELL_AURA_258 = 258,
SPELL_AURA_MOD_HOT_PCT = 259,
SPELL_AURA_SCREEN_EFFECT = 260,
SPELL_AURA_PHASE = 261,
SPELL_AURA_ABILITY_IGNORE_AURASTATE = 262,
SPELL_AURA_ALLOW_ONLY_ABILITY = 263,
SPELL_AURA_264 = 264,
SPELL_AURA_265 = 265,
SPELL_AURA_266 = 266,
SPELL_AURA_MOD_IMMUNE_AURA_APPLY_SCHOOL = 267,
SPELL_AURA_MOD_ATTACK_POWER_OF_STAT_PERCENT = 268,
SPELL_AURA_MOD_IGNORE_TARGET_RESIST = 269,
SPELL_AURA_MOD_ABILITY_IGNORE_TARGET_RESIST = 270, // Possibly need swap vs 195 aura used only in 1 spell Chaos Bolt Passive
SPELL_AURA_MOD_DAMAGE_FROM_CASTER = 271,
SPELL_AURA_IGNORE_MELEE_RESET = 272,
SPELL_AURA_X_RAY = 273,
SPELL_AURA_ABILITY_CONSUME_NO_AMMO = 274,
SPELL_AURA_MOD_IGNORE_SHAPESHIFT = 275,
SPELL_AURA_MOD_DAMAGE_DONE_FOR_MECHANIC = 276, // NYI
SPELL_AURA_MOD_MAX_AFFECTED_TARGETS = 277,
SPELL_AURA_MOD_DISARM_RANGED = 278,
SPELL_AURA_INITIALIZE_IMAGES = 279,
SPELL_AURA_MOD_ARMOR_PENETRATION_PCT = 280,
SPELL_AURA_MOD_HONOR_GAIN_PCT = 281,
SPELL_AURA_MOD_BASE_HEALTH_PCT = 282,
SPELL_AURA_MOD_HEALING_RECEIVED = 283, // Possibly only for some spell family class spells
SPELL_AURA_LINKED = 284,
SPELL_AURA_MOD_ATTACK_POWER_OF_ARMOR = 285,
SPELL_AURA_ABILITY_PERIODIC_CRIT = 286,
SPELL_AURA_DEFLECT_SPELLS = 287,
SPELL_AURA_IGNORE_HIT_DIRECTION = 288,
SPELL_AURA_PREVENT_DURABILITY_LOSS = 289,
SPELL_AURA_MOD_CRIT_PCT = 290,
SPELL_AURA_MOD_XP_QUEST_PCT = 291,
SPELL_AURA_OPEN_STABLE = 292,
SPELL_AURA_OVERRIDE_SPELLS = 293,
SPELL_AURA_PREVENT_REGENERATE_POWER = 294,
SPELL_AURA_295 = 295,
SPELL_AURA_SET_VEHICLE_ID = 296,
SPELL_AURA_BLOCK_SPELL_FAMILY = 297,
SPELL_AURA_STRANGULATE = 298,
SPELL_AURA_299 = 299,
SPELL_AURA_SHARE_DAMAGE_PCT = 300,
SPELL_AURA_SCHOOL_HEAL_ABSORB = 301,
SPELL_AURA_302 = 302,
SPELL_AURA_MOD_DAMAGE_DONE_VERSUS_AURASTATE = 303,
SPELL_AURA_MOD_FAKE_INEBRIATE = 304,
SPELL_AURA_MOD_MINIMUM_SPEED = 305,
SPELL_AURA_306 = 306,
SPELL_AURA_HEAL_ABSORB_TEST = 307,
SPELL_AURA_MOD_CRIT_CHANCE_FOR_CASTER = 308,
SPELL_AURA_309 = 309,
SPELL_AURA_MOD_CREATURE_AOE_DAMAGE_AVOIDANCE = 310,
SPELL_AURA_311 = 311,
SPELL_AURA_312 = 312,
SPELL_AURA_313 = 313,
SPELL_AURA_PREVENT_RESURRECTION = 314,
SPELL_AURA_UNDERWATER_WALKING = 315,
SPELL_AURA_PERIODIC_HASTE = 316,
TOTAL_AURAS = 317
SPELL_AURA_NONE = 0,
SPELL_AURA_BIND_SIGHT = 1,
SPELL_AURA_MOD_POSSESS = 2,
SPELL_AURA_PERIODIC_DAMAGE = 3,
SPELL_AURA_DUMMY = 4,
SPELL_AURA_MOD_CONFUSE = 5,
SPELL_AURA_MOD_CHARM = 6,
SPELL_AURA_MOD_FEAR = 7,
SPELL_AURA_PERIODIC_HEAL = 8,
SPELL_AURA_MOD_ATTACKSPEED = 9,
SPELL_AURA_MOD_THREAT = 10,
SPELL_AURA_MOD_TAUNT = 11,
SPELL_AURA_MOD_STUN = 12,
SPELL_AURA_MOD_DAMAGE_DONE = 13,
SPELL_AURA_MOD_DAMAGE_TAKEN = 14,
SPELL_AURA_DAMAGE_SHIELD = 15,
SPELL_AURA_MOD_STEALTH = 16,
SPELL_AURA_MOD_STEALTH_DETECT = 17,
SPELL_AURA_MOD_INVISIBILITY = 18,
SPELL_AURA_MOD_INVISIBILITY_DETECT = 19,
SPELL_AURA_OBS_MOD_HEALTH = 20, // unofficial
SPELL_AURA_OBS_MOD_POWER = 21, // unofficial
SPELL_AURA_MOD_RESISTANCE = 22,
SPELL_AURA_PERIODIC_TRIGGER_SPELL = 23,
SPELL_AURA_PERIODIC_ENERGIZE = 24,
SPELL_AURA_MOD_PACIFY = 25,
SPELL_AURA_MOD_ROOT = 26,
SPELL_AURA_MOD_SILENCE = 27,
SPELL_AURA_REFLECT_SPELLS = 28,
SPELL_AURA_MOD_STAT = 29,
SPELL_AURA_MOD_SKILL = 30,
SPELL_AURA_MOD_INCREASE_SPEED = 31,
SPELL_AURA_MOD_INCREASE_MOUNTED_SPEED = 32,
SPELL_AURA_MOD_DECREASE_SPEED = 33,
SPELL_AURA_MOD_INCREASE_HEALTH = 34,
SPELL_AURA_MOD_INCREASE_ENERGY = 35,
SPELL_AURA_MOD_SHAPESHIFT = 36,
SPELL_AURA_EFFECT_IMMUNITY = 37,
SPELL_AURA_STATE_IMMUNITY = 38,
SPELL_AURA_SCHOOL_IMMUNITY = 39,
SPELL_AURA_DAMAGE_IMMUNITY = 40,
SPELL_AURA_DISPEL_IMMUNITY = 41,
SPELL_AURA_PROC_TRIGGER_SPELL = 42,
SPELL_AURA_PROC_TRIGGER_DAMAGE = 43,
SPELL_AURA_TRACK_CREATURES = 44,
SPELL_AURA_TRACK_RESOURCES = 45,
SPELL_AURA_46 = 46, // Ignore all Gear test spells
SPELL_AURA_MOD_PARRY_PERCENT = 47,
SPELL_AURA_PERIODIC_TRIGGER_SPELL_FROM_CLIENT = 48, // One periodic spell
SPELL_AURA_MOD_DODGE_PERCENT = 49,
SPELL_AURA_MOD_CRITICAL_HEALING_AMOUNT = 50,
SPELL_AURA_MOD_BLOCK_PERCENT = 51,
SPELL_AURA_MOD_WEAPON_CRIT_PERCENT = 52,
SPELL_AURA_PERIODIC_LEECH = 53,
SPELL_AURA_MOD_HIT_CHANCE = 54,
SPELL_AURA_MOD_SPELL_HIT_CHANCE = 55,
SPELL_AURA_TRANSFORM = 56,
SPELL_AURA_MOD_SPELL_CRIT_CHANCE = 57,
SPELL_AURA_MOD_INCREASE_SWIM_SPEED = 58,
SPELL_AURA_MOD_DAMAGE_DONE_CREATURE = 59,
SPELL_AURA_MOD_PACIFY_SILENCE = 60,
SPELL_AURA_MOD_SCALE = 61,
SPELL_AURA_PERIODIC_HEALTH_FUNNEL = 62,
SPELL_AURA_63 = 63, // old SPELL_AURA_PERIODIC_MANA_FUNNEL
SPELL_AURA_PERIODIC_MANA_LEECH = 64,
SPELL_AURA_MOD_CASTING_SPEED_NOT_STACK = 65,
SPELL_AURA_FEIGN_DEATH = 66,
SPELL_AURA_MOD_DISARM = 67,
SPELL_AURA_MOD_STALKED = 68,
SPELL_AURA_SCHOOL_ABSORB = 69,
SPELL_AURA_EXTRA_ATTACKS = 70,
SPELL_AURA_MOD_SPELL_CRIT_CHANCE_SCHOOL = 71,
SPELL_AURA_MOD_POWER_COST_SCHOOL_PCT = 72,
SPELL_AURA_MOD_POWER_COST_SCHOOL = 73,
SPELL_AURA_REFLECT_SPELLS_SCHOOL = 74,
SPELL_AURA_MOD_LANGUAGE = 75,
SPELL_AURA_FAR_SIGHT = 76,
SPELL_AURA_MECHANIC_IMMUNITY = 77,
SPELL_AURA_MOUNTED = 78,
SPELL_AURA_MOD_DAMAGE_PERCENT_DONE = 79,
SPELL_AURA_MOD_PERCENT_STAT = 80,
SPELL_AURA_SPLIT_DAMAGE_PCT = 81,
SPELL_AURA_WATER_BREATHING = 82,
SPELL_AURA_MOD_BASE_RESISTANCE = 83,
SPELL_AURA_MOD_REGEN = 84,
SPELL_AURA_MOD_POWER_REGEN = 85,
SPELL_AURA_CHANNEL_DEATH_ITEM = 86,
SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN = 87,
SPELL_AURA_MOD_HEALTH_REGEN_PERCENT = 88,
SPELL_AURA_PERIODIC_DAMAGE_PERCENT = 89,
SPELL_AURA_90 = 90, // old SPELL_AURA_MOD_RESIST_CHANCE
SPELL_AURA_MOD_DETECT_RANGE = 91,
SPELL_AURA_PREVENTS_FLEEING = 92,
SPELL_AURA_MOD_UNATTACKABLE = 93,
SPELL_AURA_INTERRUPT_REGEN = 94,
SPELL_AURA_GHOST = 95,
SPELL_AURA_SPELL_MAGNET = 96,
SPELL_AURA_MANA_SHIELD = 97,
SPELL_AURA_MOD_SKILL_TALENT = 98,
SPELL_AURA_MOD_ATTACK_POWER = 99,
SPELL_AURA_AURAS_VISIBLE = 100,
SPELL_AURA_MOD_RESISTANCE_PCT = 101,
SPELL_AURA_MOD_MELEE_ATTACK_POWER_VERSUS = 102,
SPELL_AURA_MOD_TOTAL_THREAT = 103,
SPELL_AURA_WATER_WALK = 104,
SPELL_AURA_FEATHER_FALL = 105,
SPELL_AURA_HOVER = 106,
SPELL_AURA_ADD_FLAT_MODIFIER = 107,
SPELL_AURA_ADD_PCT_MODIFIER = 108,
SPELL_AURA_ADD_TARGET_TRIGGER = 109,
SPELL_AURA_MOD_POWER_REGEN_PERCENT = 110,
SPELL_AURA_ADD_CASTER_HIT_TRIGGER = 111,
SPELL_AURA_OVERRIDE_CLASS_SCRIPTS = 112,
SPELL_AURA_MOD_RANGED_DAMAGE_TAKEN = 113,
SPELL_AURA_MOD_RANGED_DAMAGE_TAKEN_PCT = 114,
SPELL_AURA_MOD_HEALING = 115,
SPELL_AURA_MOD_REGEN_DURING_COMBAT = 116,
SPELL_AURA_MOD_MECHANIC_RESISTANCE = 117,
SPELL_AURA_MOD_HEALING_PCT = 118,
SPELL_AURA_119 = 119, // old SPELL_AURA_SHARE_PET_TRACKING
SPELL_AURA_UNTRACKABLE = 120,
SPELL_AURA_EMPATHY = 121,
SPELL_AURA_MOD_OFFHAND_DAMAGE_PCT = 122,
SPELL_AURA_MOD_TARGET_RESISTANCE = 123,
SPELL_AURA_MOD_RANGED_ATTACK_POWER = 124,
SPELL_AURA_MOD_MELEE_DAMAGE_TAKEN = 125,
SPELL_AURA_MOD_MELEE_DAMAGE_TAKEN_PCT = 126,
SPELL_AURA_RANGED_ATTACK_POWER_ATTACKER_BONUS = 127,
SPELL_AURA_MOD_POSSESS_PET = 128,
SPELL_AURA_MOD_SPEED_ALWAYS = 129,
SPELL_AURA_MOD_MOUNTED_SPEED_ALWAYS = 130,
SPELL_AURA_MOD_RANGED_ATTACK_POWER_VERSUS = 131,
SPELL_AURA_MOD_INCREASE_ENERGY_PERCENT = 132,
SPELL_AURA_MOD_INCREASE_HEALTH_PERCENT = 133,
SPELL_AURA_MOD_MANA_REGEN_INTERRUPT = 134,
SPELL_AURA_MOD_HEALING_DONE = 135,
SPELL_AURA_MOD_HEALING_DONE_PERCENT = 136,
SPELL_AURA_MOD_TOTAL_STAT_PERCENTAGE = 137,
SPELL_AURA_MOD_MELEE_HASTE = 138,
SPELL_AURA_FORCE_REACTION = 139,
SPELL_AURA_MOD_RANGED_HASTE = 140,
SPELL_AURA_MOD_RANGED_AMMO_HASTE = 141,
SPELL_AURA_MOD_BASE_RESISTANCE_PCT = 142,
SPELL_AURA_MOD_RESISTANCE_EXCLUSIVE = 143,
SPELL_AURA_SAFE_FALL = 144,
SPELL_AURA_MOD_PET_TALENT_POINTS = 145,
SPELL_AURA_ALLOW_TAME_PET_TYPE = 146,
SPELL_AURA_MECHANIC_IMMUNITY_MASK = 147,
SPELL_AURA_RETAIN_COMBO_POINTS = 148,
SPELL_AURA_REDUCE_PUSHBACK = 149, // Reduce Pushback
SPELL_AURA_MOD_SHIELD_BLOCKVALUE_PCT = 150,
SPELL_AURA_TRACK_STEALTHED = 151, // Track Stealthed
SPELL_AURA_MOD_DETECTED_RANGE = 152, // Mod Detected Range
SPELL_AURA_SPLIT_DAMAGE_FLAT = 153, // Split Damage Flat
SPELL_AURA_MOD_STEALTH_LEVEL = 154, // Stealth Level Modifier
SPELL_AURA_MOD_WATER_BREATHING = 155, // Mod Water Breathing
SPELL_AURA_MOD_REPUTATION_GAIN = 156, // Mod Reputation Gain
SPELL_AURA_PET_DAMAGE_MULTI = 157, // Mod Pet Damage
SPELL_AURA_MOD_SHIELD_BLOCKVALUE = 158,
SPELL_AURA_NO_PVP_CREDIT = 159,
SPELL_AURA_MOD_AOE_AVOIDANCE = 160,
SPELL_AURA_MOD_HEALTH_REGEN_IN_COMBAT = 161,
SPELL_AURA_POWER_BURN = 162,
SPELL_AURA_MOD_CRIT_DAMAGE_BONUS = 163,
SPELL_AURA_164 = 164,
SPELL_AURA_MELEE_ATTACK_POWER_ATTACKER_BONUS = 165,
SPELL_AURA_MOD_ATTACK_POWER_PCT = 166,
SPELL_AURA_MOD_RANGED_ATTACK_POWER_PCT = 167,
SPELL_AURA_MOD_DAMAGE_DONE_VERSUS = 168,
SPELL_AURA_MOD_CRIT_PERCENT_VERSUS = 169,
SPELL_AURA_DETECT_AMORE = 170,
SPELL_AURA_MOD_SPEED_NOT_STACK = 171,
SPELL_AURA_MOD_MOUNTED_SPEED_NOT_STACK = 172,
SPELL_AURA_173 = 173, // old SPELL_AURA_ALLOW_CHAMPION_SPELLS
SPELL_AURA_MOD_SPELL_DAMAGE_OF_STAT_PERCENT = 174, // by defeult intelect, dependent from SPELL_AURA_MOD_SPELL_HEALING_OF_STAT_PERCENT
SPELL_AURA_MOD_SPELL_HEALING_OF_STAT_PERCENT = 175,
SPELL_AURA_SPIRIT_OF_REDEMPTION = 176,
SPELL_AURA_AOE_CHARM = 177,
SPELL_AURA_MOD_DEBUFF_RESISTANCE = 178,
SPELL_AURA_MOD_ATTACKER_SPELL_CRIT_CHANCE = 179,
SPELL_AURA_MOD_FLAT_SPELL_DAMAGE_VERSUS = 180,
SPELL_AURA_181 = 181, // old SPELL_AURA_MOD_FLAT_SPELL_CRIT_DAMAGE_VERSUS - possible flat spell crit damage versus
SPELL_AURA_MOD_RESISTANCE_OF_STAT_PERCENT = 182,
SPELL_AURA_MOD_CRITICAL_THREAT = 183,
SPELL_AURA_MOD_ATTACKER_MELEE_HIT_CHANCE = 184,
SPELL_AURA_MOD_ATTACKER_RANGED_HIT_CHANCE = 185,
SPELL_AURA_MOD_ATTACKER_SPELL_HIT_CHANCE = 186,
SPELL_AURA_MOD_ATTACKER_MELEE_CRIT_CHANCE = 187,
SPELL_AURA_MOD_ATTACKER_RANGED_CRIT_CHANCE = 188,
SPELL_AURA_MOD_RATING = 189,
SPELL_AURA_MOD_FACTION_REPUTATION_GAIN = 190,
SPELL_AURA_USE_NORMAL_MOVEMENT_SPEED = 191,
SPELL_AURA_MOD_MELEE_RANGED_HASTE = 192,
SPELL_AURA_MELEE_SLOW = 193,
SPELL_AURA_MOD_TARGET_ABSORB_SCHOOL = 194,
SPELL_AURA_MOD_TARGET_ABILITY_ABSORB_SCHOOL = 195,
SPELL_AURA_MOD_COOLDOWN = 196, // only 24818 Noxious Breath
SPELL_AURA_MOD_ATTACKER_SPELL_AND_WEAPON_CRIT_CHANCE = 197,
SPELL_AURA_198 = 198, // old SPELL_AURA_MOD_ALL_WEAPON_SKILLS
SPELL_AURA_MOD_INCREASES_SPELL_PCT_TO_HIT = 199,
SPELL_AURA_MOD_XP_PCT = 200,
SPELL_AURA_FLY = 201,
SPELL_AURA_IGNORE_COMBAT_RESULT = 202,
SPELL_AURA_MOD_ATTACKER_MELEE_CRIT_DAMAGE = 203,
SPELL_AURA_MOD_ATTACKER_RANGED_CRIT_DAMAGE = 204,
SPELL_AURA_MOD_SCHOOL_CRIT_DMG_TAKEN = 205,
SPELL_AURA_MOD_INCREASE_VEHICLE_FLIGHT_SPEED = 206,
SPELL_AURA_MOD_INCREASE_MOUNTED_FLIGHT_SPEED = 207,
SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED = 208,
SPELL_AURA_MOD_MOUNTED_FLIGHT_SPEED_ALWAYS = 209,
SPELL_AURA_MOD_VEHICLE_SPEED_ALWAYS = 210,
SPELL_AURA_MOD_FLIGHT_SPEED_NOT_STACK = 211,
SPELL_AURA_MOD_RANGED_ATTACK_POWER_OF_STAT_PERCENT = 212,
SPELL_AURA_MOD_RAGE_FROM_DAMAGE_DEALT = 213,
SPELL_AURA_214 = 214,
SPELL_AURA_ARENA_PREPARATION = 215,
SPELL_AURA_HASTE_SPELLS = 216,
SPELL_AURA_MOD_MELEE_HASTE_2 = 217, // NYI
SPELL_AURA_HASTE_RANGED = 218,
SPELL_AURA_MOD_MANA_REGEN_FROM_STAT = 219,
SPELL_AURA_MOD_RATING_FROM_STAT = 220,
SPELL_AURA_IGNORED = 221,
SPELL_AURA_222 = 222,
SPELL_AURA_RAID_PROC_FROM_CHARGE = 223,
SPELL_AURA_224 = 224,
SPELL_AURA_RAID_PROC_FROM_CHARGE_WITH_VALUE = 225,
SPELL_AURA_PERIODIC_DUMMY = 226,
SPELL_AURA_PERIODIC_TRIGGER_SPELL_WITH_VALUE = 227,
SPELL_AURA_DETECT_STEALTH = 228,
SPELL_AURA_MOD_AOE_DAMAGE_AVOIDANCE = 229,
SPELL_AURA_230 = 230,
SPELL_AURA_PROC_TRIGGER_SPELL_WITH_VALUE = 231,
SPELL_AURA_MECHANIC_DURATION_MOD = 232,
SPELL_AURA_CHANGE_MODEL_FOR_ALL_HUMANOIDS = 233, // client-side only
SPELL_AURA_MECHANIC_DURATION_MOD_NOT_STACK = 234,
SPELL_AURA_MOD_DISPEL_RESIST = 235,
SPELL_AURA_CONTROL_VEHICLE = 236,
SPELL_AURA_MOD_SPELL_DAMAGE_OF_ATTACK_POWER = 237,
SPELL_AURA_MOD_SPELL_HEALING_OF_ATTACK_POWER = 238,
SPELL_AURA_MOD_SCALE_2 = 239,
SPELL_AURA_MOD_EXPERTISE = 240,
SPELL_AURA_FORCE_MOVE_FORWARD = 241,
SPELL_AURA_MOD_SPELL_DAMAGE_FROM_HEALING = 242,
SPELL_AURA_MOD_FACTION = 243,
SPELL_AURA_COMPREHEND_LANGUAGE = 244,
SPELL_AURA_MOD_AURA_DURATION_BY_DISPEL = 245,
SPELL_AURA_MOD_AURA_DURATION_BY_DISPEL_NOT_STACK = 246,
SPELL_AURA_CLONE_CASTER = 247,
SPELL_AURA_MOD_COMBAT_RESULT_CHANCE = 248,
SPELL_AURA_CONVERT_RUNE = 249,
SPELL_AURA_MOD_INCREASE_HEALTH_2 = 250,
SPELL_AURA_MOD_ENEMY_DODGE = 251,
SPELL_AURA_MOD_SPEED_SLOW_ALL = 252,
SPELL_AURA_MOD_BLOCK_CRIT_CHANCE = 253,
SPELL_AURA_MOD_DISARM_OFFHAND = 254,
SPELL_AURA_MOD_MECHANIC_DAMAGE_TAKEN_PERCENT = 255,
SPELL_AURA_NO_REAGENT_USE = 256,
SPELL_AURA_MOD_TARGET_RESIST_BY_SPELL_CLASS = 257,
SPELL_AURA_258 = 258,
SPELL_AURA_MOD_HOT_PCT = 259,
SPELL_AURA_SCREEN_EFFECT = 260,
SPELL_AURA_PHASE = 261,
SPELL_AURA_ABILITY_IGNORE_AURASTATE = 262,
SPELL_AURA_ALLOW_ONLY_ABILITY = 263,
SPELL_AURA_264 = 264,
SPELL_AURA_265 = 265,
SPELL_AURA_266 = 266,
SPELL_AURA_MOD_IMMUNE_AURA_APPLY_SCHOOL = 267,
SPELL_AURA_MOD_ATTACK_POWER_OF_STAT_PERCENT = 268,
SPELL_AURA_MOD_IGNORE_TARGET_RESIST = 269,
SPELL_AURA_MOD_ABILITY_IGNORE_TARGET_RESIST = 270, // Possibly need swap vs 195 aura used only in 1 spell Chaos Bolt Passive
SPELL_AURA_MOD_DAMAGE_FROM_CASTER = 271,
SPELL_AURA_IGNORE_MELEE_RESET = 272,
SPELL_AURA_X_RAY = 273,
SPELL_AURA_ABILITY_CONSUME_NO_AMMO = 274,
SPELL_AURA_MOD_IGNORE_SHAPESHIFT = 275,
SPELL_AURA_MOD_DAMAGE_DONE_FOR_MECHANIC = 276, // NYI
SPELL_AURA_MOD_MAX_AFFECTED_TARGETS = 277,
SPELL_AURA_MOD_DISARM_RANGED = 278,
SPELL_AURA_INITIALIZE_IMAGES = 279,
SPELL_AURA_MOD_ARMOR_PENETRATION_PCT = 280,
SPELL_AURA_MOD_HONOR_GAIN_PCT = 281,
SPELL_AURA_MOD_BASE_HEALTH_PCT = 282,
SPELL_AURA_MOD_HEALING_RECEIVED = 283, // Possibly only for some spell family class spells
SPELL_AURA_LINKED = 284,
SPELL_AURA_MOD_ATTACK_POWER_OF_ARMOR = 285,
SPELL_AURA_ABILITY_PERIODIC_CRIT = 286,
SPELL_AURA_DEFLECT_SPELLS = 287,
SPELL_AURA_IGNORE_HIT_DIRECTION = 288,
SPELL_AURA_PREVENT_DURABILITY_LOSS = 289,
SPELL_AURA_MOD_CRIT_PCT = 290,
SPELL_AURA_MOD_XP_QUEST_PCT = 291,
SPELL_AURA_OPEN_STABLE = 292,
SPELL_AURA_OVERRIDE_SPELLS = 293,
SPELL_AURA_PREVENT_REGENERATE_POWER = 294,
SPELL_AURA_295 = 295,
SPELL_AURA_SET_VEHICLE_ID = 296,
SPELL_AURA_BLOCK_SPELL_FAMILY = 297,
SPELL_AURA_STRANGULATE = 298,
SPELL_AURA_299 = 299,
SPELL_AURA_SHARE_DAMAGE_PCT = 300,
SPELL_AURA_SCHOOL_HEAL_ABSORB = 301,
SPELL_AURA_302 = 302,
SPELL_AURA_MOD_DAMAGE_DONE_VERSUS_AURASTATE = 303,
SPELL_AURA_MOD_FAKE_INEBRIATE = 304,
SPELL_AURA_MOD_MINIMUM_SPEED = 305,
SPELL_AURA_306 = 306,
SPELL_AURA_HEAL_ABSORB_TEST = 307,
SPELL_AURA_MOD_CRIT_CHANCE_FOR_CASTER = 308,
SPELL_AURA_309 = 309,
SPELL_AURA_MOD_CREATURE_AOE_DAMAGE_AVOIDANCE = 310,
SPELL_AURA_311 = 311,
SPELL_AURA_312 = 312,
SPELL_AURA_313 = 313,
SPELL_AURA_PREVENT_RESURRECTION = 314,
SPELL_AURA_UNDERWATER_WALKING = 315,
SPELL_AURA_PERIODIC_HASTE = 316,
TOTAL_AURAS = 317
};
enum AuraObjectType
@@ -388,11 +388,11 @@ enum AuraObjectType
enum AuraRemoveMode
{
AURA_REMOVE_NONE = 0,
AURA_REMOVE_BY_DEFAULT = 1, // scripted remove, remove by stack with aura with different ids and sc aura remove
AURA_REMOVE_NONE = 0,
AURA_REMOVE_BY_DEFAULT = 1, // scripted remove, remove by stack with aura with different ids and sc aura remove
AURA_REMOVE_BY_CANCEL,
AURA_REMOVE_BY_ENEMY_SPELL, // dispel and absorb aura destroy
AURA_REMOVE_BY_EXPIRE, // aura duration has ended
AURA_REMOVE_BY_ENEMY_SPELL, // dispel and absorb aura destroy
AURA_REMOVE_BY_EXPIRE, // aura duration has ended
AURA_REMOVE_BY_DEATH
};

View File

@@ -27,8 +27,8 @@ class ChatHandler;
// from blizzard lua
enum GMTicketSystemStatus
{
GMTICKET_QUEUE_STATUS_DISABLED = 0,
GMTICKET_QUEUE_STATUS_ENABLED = 1
GMTICKET_QUEUE_STATUS_DISABLED = 0,
GMTICKET_QUEUE_STATUS_ENABLED = 1
};
enum GMTicketStatus
@@ -48,9 +48,9 @@ enum GMTicketResponse
};
// from Blizzard LUA:
// GMTICKET_ASSIGNEDTOGM_STATUS_NOT_ASSIGNED = 0; -- ticket is not currently assigned to a gm
// GMTICKET_ASSIGNEDTOGM_STATUS_ASSIGNED = 1; -- ticket is assigned to a normal gm
// GMTICKET_ASSIGNEDTOGM_STATUS_ESCALATED = 2; -- ticket is in the escalation queue
// GMTICKET_ASSIGNEDTOGM_STATUS_NOT_ASSIGNED = 0; -- ticket is not currently assigned to a gm
// GMTICKET_ASSIGNEDTOGM_STATUS_ASSIGNED = 1; -- ticket is assigned to a normal gm
// GMTICKET_ASSIGNEDTOGM_STATUS_ESCALATED = 2; -- ticket is in the escalation queue
// 3 is a custom value and should never actually be sent
enum GMTicketEscalationStatus
{
@@ -63,25 +63,25 @@ enum GMTicketEscalationStatus
// from blizzard lua
enum GMTicketOpenedByGMStatus
{
GMTICKET_OPENEDBYGM_STATUS_NOT_OPENED = 0, // ticket has never been opened by a gm
GMTICKET_OPENEDBYGM_STATUS_OPENED = 1 // ticket has been opened by a gm
GMTICKET_OPENEDBYGM_STATUS_NOT_OPENED = 0, // ticket has never been opened by a gm
GMTICKET_OPENEDBYGM_STATUS_OPENED = 1 // ticket has been opened by a gm
};
enum LagReportType
{
LAG_REPORT_TYPE_LOOT = 1,
LAG_REPORT_TYPE_AUCTION_HOUSE = 2,
LAG_REPORT_TYPE_MAIL = 3,
LAG_REPORT_TYPE_CHAT = 4,
LAG_REPORT_TYPE_MOVEMENT = 5,
LAG_REPORT_TYPE_SPELL = 6
LAG_REPORT_TYPE_LOOT = 1,
LAG_REPORT_TYPE_AUCTION_HOUSE = 2,
LAG_REPORT_TYPE_MAIL = 3,
LAG_REPORT_TYPE_CHAT = 4,
LAG_REPORT_TYPE_MOVEMENT = 5,
LAG_REPORT_TYPE_SPELL = 6
};
enum TicketType
{
TICKET_TYPE_OPEN = 0,
TICKET_TYPE_CLOSED = 1,
TICKET_TYPE_CHARACTER_DELETED = 2,
TICKET_TYPE_OPEN = 0,
TICKET_TYPE_CLOSED = 1,
TICKET_TYPE_CHARACTER_DELETED = 2,
};
class GmTicket