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 enum AchievementCriteriaDataType
{ {
// value1 value2 comment // value1 value2 comment
ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE = 0, // 0 0 ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE = 0, // 0 0
ACHIEVEMENT_CRITERIA_DATA_TYPE_T_CREATURE = 1, // creature_id 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_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_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_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_AURA = 5, // spell_id effect_idx
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AREA = 6, // area id 0 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_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_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_LEVEL = 9, // minlevel minlevel of target
ACHIEVEMENT_CRITERIA_DATA_TYPE_T_GENDER = 10, // gender 0=male; 1=female ACHIEVEMENT_CRITERIA_DATA_TYPE_T_GENDER = 10, // gender 0=male; 1=female
ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT = 11, // scripted requirement 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_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_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_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_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_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_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_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_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_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_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_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_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_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_S_ITEM_QUALITY = 25 // item_quality
}; };
#define MAX_ACHIEVEMENT_CRITERIA_DATA_TYPE 26 // maximum value in AchievementCriteriaDataType enum #define MAX_ACHIEVEMENT_CRITERIA_DATA_TYPE 26 // maximum value in AchievementCriteriaDataType enum
enum AchievementCommonCategories enum AchievementCommonCategories
{ {
ACHIEVEMENT_CATEOGRY_GENERAL = -1, ACHIEVEMENT_CATEOGRY_GENERAL = -1,
ACHIEVEMENT_CATEGORY_STATISTICS = 1 ACHIEVEMENT_CATEGORY_STATISTICS = 1
}; };
class Player; class Player;
@@ -86,118 +86,118 @@ struct AchievementCriteriaData
AchievementCriteriaDataType dataType{ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE}; AchievementCriteriaDataType dataType{ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE};
union union
{ {
// ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE = 0 (no data) // ACHIEVEMENT_CRITERIA_DATA_TYPE_NONE = 0 (no data)
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_CREATURE = 1 // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_CREATURE = 1
struct struct
{ {
uint32 id; uint32 id;
} creature; } creature;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_CLASS_RACE = 2 // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_CLASS_RACE = 2
// ACHIEVEMENT_CRITERIA_DATA_TYPE_S_PLAYER_CLASS_RACE = 21 // ACHIEVEMENT_CRITERIA_DATA_TYPE_S_PLAYER_CLASS_RACE = 21
struct struct
{ {
uint32 class_id; uint32 class_id;
uint32 race_id; uint32 race_id;
} classRace; } classRace;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_LESS_HEALTH = 3 // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_LESS_HEALTH = 3
struct struct
{ {
uint32 percent; uint32 percent;
} health; } health;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_DEAD = 4 // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_DEAD = 4
struct struct
{ {
uint32 own_team_flag; uint32 own_team_flag;
} player_dead; } player_dead;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA = 5 // ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AURA = 5
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_AURA = 7 // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_AURA = 7
struct struct
{ {
uint32 spell_id; uint32 spell_id;
uint32 effect_idx; uint32 effect_idx;
} aura; } aura;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AREA = 6 // ACHIEVEMENT_CRITERIA_DATA_TYPE_S_AREA = 6
struct struct
{ {
uint32 id; uint32 id;
} area; } area;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_VALUE = 8 // ACHIEVEMENT_CRITERIA_DATA_TYPE_VALUE = 8
struct struct
{ {
uint32 value; uint32 value;
uint32 compType; uint32 compType;
} value; } value;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_LEVEL = 9 // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_LEVEL = 9
struct struct
{ {
uint32 minlevel; uint32 minlevel;
} level; } level;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_GENDER = 10 // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_GENDER = 10
struct struct
{ {
uint32 gender; uint32 gender;
} gender; } gender;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT = 11 (no data) // ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT = 11 (no data)
// ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY = 12 // ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY = 12
struct struct
{ {
uint32 difficulty; uint32 difficulty;
} difficulty; } difficulty;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT = 13 // ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_PLAYER_COUNT = 13
struct struct
{ {
uint32 maxcount; uint32 maxcount;
} map_players; } map_players;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM = 14 // ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM = 14
struct struct
{ {
uint32 team; uint32 team;
} team; } team;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_S_DRUNK = 15 // ACHIEVEMENT_CRITERIA_DATA_TYPE_S_DRUNK = 15
struct struct
{ {
uint32 state; uint32 state;
} drunk; } drunk;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_HOLIDAY = 16 // ACHIEVEMENT_CRITERIA_DATA_TYPE_HOLIDAY = 16
struct struct
{ {
uint32 id; uint32 id;
} holiday; } holiday;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_LOSS_TEAM_SCORE= 17 // ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_LOSS_TEAM_SCORE = 17
struct struct
{ {
uint32 min_score; uint32 min_score;
uint32 max_score; uint32 max_score;
} bg_loss_team_score; } bg_loss_team_score;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_INSTANCE_SCRIPT = 18 (no data) // ACHIEVEMENT_CRITERIA_DATA_TYPE_INSTANCE_SCRIPT = 18 (no data)
// ACHIEVEMENT_CRITERIA_DATA_TYPE_S_EQUIPED_ITEM = 19 // ACHIEVEMENT_CRITERIA_DATA_TYPE_S_EQUIPED_ITEM = 19
struct struct
{ {
uint32 item_level; uint32 item_level;
uint32 item_quality; uint32 item_quality;
} equipped_item; } equipped_item;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_ID = 20 // ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_ID = 20
struct struct
{ {
uint32 mapId; uint32 mapId;
} map_id; } map_id;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_NTH_BIRTHDAY = 22 // ACHIEVEMENT_CRITERIA_DATA_TYPE_NTH_BIRTHDAY = 22
struct struct
{ {
uint32 nth_birthday; uint32 nth_birthday;
} birthday_login; } birthday_login;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_KNOWN_TITLE = 23 // ACHIEVEMENT_CRITERIA_DATA_TYPE_KNOWN_TITLE = 23
struct struct
{ {
uint32 title_id; uint32 title_id;
} known_title; } known_title;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_TEAMS_SCORES = 24 // ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_TEAMS_SCORES = 24
struct struct
{ {
uint32 winner_score; uint32 winner_score;
uint32 loser_score; uint32 loser_score;
} teams_scores; } teams_scores;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_S_ITEM_QUALITY = 25 // ACHIEVEMENT_CRITERIA_DATA_TYPE_S_ITEM_QUALITY = 25
struct struct
{ {
uint32 item_quality; uint32 item_quality;

View File

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

View File

@@ -31,63 +31,63 @@ struct Condition;
enum ConditionTypes enum ConditionTypes
{ {
// value1 value2 value3 // value1 value2 value3
CONDITION_NONE = 0, // 0 0 0 always true 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_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 = 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_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_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_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_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_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_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_QUESTTAKEN = 9, // quest_id 0, 0 true while quest active
CONDITION_DRUNKENSTATE = 10, // DrunkenState 0, 0 true if player is drunk enough 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_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_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_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_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_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_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_ACHIEVEMENT = 17, // achievement_id 0 0 true if achievement is complete
CONDITION_TITLE = 18, // title id 0 0 true if player has title CONDITION_TITLE = 18, // title id 0 0 true if player has title
CONDITION_SPAWNMASK = 19, // spawnMask 0 0 true if in spawnMask 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_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_UNIT_STATE = 21, // unitState 0 0 true if unit has unitState
CONDITION_MAPID = 22, // map_id 0 0 true if in map_id 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_IN_WATER = 40, // 0 0 0 true if unit in water
CONDITION_TERRAIN_SWAP = 41, // don't use on 3.3.5a 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_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_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_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_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_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_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_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_DIFFICULTY_ID = 49, // Difficulty 0 0 true is map has difficulty id
CONDITION_TC_END = 50, // placeholder CONDITION_TC_END = 50, // placeholder
CONDITION_AC_START = 100, CONDITION_AC_START = 100,
CONDITION_QUEST_SATISFY_EXCLUSIVE = 101, // quest_id 0 0 true if satisfied exclusive group 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_HAS_AURA_TYPE = 102, // aura_type 0 0 true if has aura type
CONDITION_AC_END = 103 // placeholder CONDITION_AC_END = 103 // placeholder
}; };
/*! Documentation on implementing a new ConditionSourceType: /*! 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 ofsTransLookup; // Everything needs its lookup. Here are the transparencies.
uint32 nUVAnimLookup; uint32 nUVAnimLookup;
uint32 ofsUVAnimLookup; 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; float BoundingSphereRadius;
G3D::AABox CollisionBox; G3D::AABox CollisionBox;
float CollisionSphereRadius; float CollisionSphereRadius;
@@ -118,15 +118,15 @@ struct M2Track
struct M2Camera struct M2Camera
{ {
uint32_t type; // 0: portrait, 1: characterinfo; -1: else (flyby etc.); referenced backwards in the lookup table. 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 fov; // No radians, no degrees. Multiply by 35 to get degrees.
float far_clip; float far_clip;
float near_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; 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; 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) #pragma pack(pop)

View File

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

View File

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

View File

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

View File

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

View File

@@ -67,8 +67,8 @@ enum NotifyFlags
enum GOSummonType enum GOSummonType
{ {
GO_SUMMON_TIMED_OR_CORPSE_DESPAWN = 0, // despawns after a specified time OR when the summoner dies 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_DESPAWN = 1 // despawns after a specified time
}; };
class WorldPacket; class WorldPacket;

View File

@@ -23,31 +23,31 @@
#define CONTACT_DISTANCE 0.5f #define CONTACT_DISTANCE 0.5f
#define INTERACTION_DISTANCE 5.5f #define INTERACTION_DISTANCE 5.5f
#define ATTACK_DISTANCE 5.0f #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 INSPECT_DISTANCE 28.0f
#define VISIBILITY_INC_FOR_GOBJECTS 30.0f // pussywizard #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 SPELL_SEARCHER_COMPENSATION 30.0f // increase searchers size in case we have large npc near cell border
#define TRADE_DISTANCE 11.11f #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 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_INFINITE 533.0f
#define VISIBILITY_DISTANCE_GIGANTIC 400.0f #define VISIBILITY_DISTANCE_GIGANTIC 400.0f
#define VISIBILITY_DISTANCE_LARGE 200.0f #define VISIBILITY_DISTANCE_LARGE 200.0f
#define VISIBILITY_DISTANCE_NORMAL 100.0f #define VISIBILITY_DISTANCE_NORMAL 100.0f
#define VISIBILITY_DISTANCE_SMALL 50.0f #define VISIBILITY_DISTANCE_SMALL 50.0f
#define VISIBILITY_DISTANCE_TINY 25.0f #define VISIBILITY_DISTANCE_TINY 25.0f
#define DEFAULT_VISIBILITY_DISTANCE 100.0f // default visible distance, 100 yards on continents #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_INSTANCE 170.0f // default visible distance in instances, 170 yards
#define VISIBILITY_DIST_WINTERGRASP 175.0f #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_WORLD_OBJECT_SIZE 0.388999998569489f // player size, also currently used (correctly?) for any non Unit world objects
#define DEFAULT_COMBAT_REACH 1.5f #define DEFAULT_COMBAT_REACH 1.5f
#define MIN_MELEE_REACH 2.0f #define MIN_MELEE_REACH 2.0f
#define NOMINAL_MELEE_RANGE 5.0f #define NOMINAL_MELEE_RANGE 5.0f
#define MELEE_RANGE (NOMINAL_MELEE_RANGE - MIN_MELEE_REACH * 2) //center to center for players #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 // used for creating values for respawn for example
inline uint32 PAIR64_HIPART(uint64 x); inline uint32 PAIR64_HIPART(uint64 x);

View File

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

View File

@@ -42,7 +42,7 @@ struct ObjectPosSelector
float dist; // dist to central point (including central point size) 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); ObjectPosSelector(float x, float y, float size, float dist);
@@ -60,7 +60,7 @@ struct ObjectPosSelector
float angle_step2 = GetAngle(nextUsedPos.second); float angle_step2 = GetAngle(nextUsedPos.second);
float next_angle = nextUsedPos.first; 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 next_angle = 2 * M_PI - next_angle; // move to positive
return std::fabs(angle) + angle_step2 <= next_angle; return std::fabs(angle) + angle_step2 <= next_angle;

View File

@@ -28,9 +28,9 @@ enum ReactStates : uint8;
enum PetType : uint8 enum PetType : uint8
{ {
SUMMON_PET = 0, SUMMON_PET = 0,
HUNTER_PET = 1, HUNTER_PET = 1,
MAX_PET_TYPE = 4 MAX_PET_TYPE = 4
}; };
constexpr auto MAX_PET_STABLES = 4; constexpr auto MAX_PET_STABLES = 4;
@@ -38,54 +38,54 @@ constexpr auto MAX_PET_STABLES = 4;
// stored in character_pet.slot // stored in character_pet.slot
enum PetSaveMode : int8 enum PetSaveMode : int8
{ {
PET_SAVE_AS_DELETED = -1, // not saved in fact PET_SAVE_AS_DELETED = -1, // not saved in fact
PET_SAVE_AS_CURRENT = 0, // in current slot (with player) PET_SAVE_AS_CURRENT = 0, // in current slot (with player)
PET_SAVE_FIRST_STABLE_SLOT = 1, 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_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_NOT_IN_SLOT = 100 // for avoid conflict with stable size grow will use 100
}; };
enum HappinessState enum HappinessState
{ {
UNHAPPY = 1, UNHAPPY = 1,
CONTENT = 2, CONTENT = 2,
HAPPY = 3 HAPPY = 3
}; };
enum PetSpellState enum PetSpellState
{ {
PETSPELL_UNCHANGED = 0, PETSPELL_UNCHANGED = 0,
PETSPELL_CHANGED = 1, PETSPELL_CHANGED = 1,
PETSPELL_NEW = 2, PETSPELL_NEW = 2,
PETSPELL_REMOVED = 3 PETSPELL_REMOVED = 3
}; };
enum PetSpellType enum PetSpellType
{ {
PETSPELL_NORMAL = 0, PETSPELL_NORMAL = 0,
PETSPELL_FAMILY = 1, PETSPELL_FAMILY = 1,
PETSPELL_TALENT = 2 PETSPELL_TALENT = 2
}; };
enum ActionFeedback enum ActionFeedback
{ {
FEEDBACK_NONE = 0, FEEDBACK_NONE = 0,
FEEDBACK_PET_DEAD = 1, FEEDBACK_PET_DEAD = 1,
FEEDBACK_NOTHING_TO_ATT = 2, FEEDBACK_NOTHING_TO_ATT = 2,
FEEDBACK_CANT_ATT_TARGET = 3 FEEDBACK_CANT_ATT_TARGET = 3
}; };
enum PetTalk enum PetTalk
{ {
PET_TALK_SPECIAL_SPELL = 0, PET_TALK_SPECIAL_SPELL = 0,
PET_TALK_ATTACK = 1 PET_TALK_ATTACK = 1
}; };
enum PetLoadState enum PetLoadState
{ {
PET_LOAD_OK = 0, PET_LOAD_OK = 0,
PET_LOAD_NO_RESULT = 1, PET_LOAD_NO_RESULT = 1,
PET_LOAD_ERROR = 2 PET_LOAD_ERROR = 2
}; };
enum NPCEntries enum NPCEntries

View File

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

View File

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

View File

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

View File

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

View File

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