82 SF_LOG_ERROR(
"bg.battleground",
"Killed a Captain twice, please report this bug, if you haven't done \".respawn\"");
90 for (
uint8 i = 0; i <= 9; i++)
101 SF_LOG_ERROR(
"bg.battleground",
"Killed a Captain twice, please report this bug, if you haven't done \".respawn\"");
109 for (
uint8 i = 0; i <= 9; i++)
128 SF_LOG_DEBUG(
"bg.battleground",
"BG_AV Quest %i completed", questid);
138 SF_LOG_DEBUG(
"bg.battleground",
"BG_AV Quest %i completed starting with unit upgrading..", questid);
153 SF_LOG_DEBUG(
"bg.battleground",
"BG_AV Quest %i completed (need to implement some events here", questid);
160 SF_LOG_DEBUG(
"bg.battleground",
"BG_AV Quest %i completed (need to implement some events here", questid);
167 SF_LOG_DEBUG(
"bg.battleground",
"BG_AV Quest %i completed (need to implement some events here", questid);
176 SF_LOG_DEBUG(
"bg.battleground",
"BG_AV Quest %i completed (need to implement some events here", questid);
183 SF_LOG_DEBUG(
"bg.battleground",
"BG_AV Quest %i completed (need to implement some events here", questid);
185 SF_LOG_DEBUG(
"bg.battleground",
"BG_AV Quest %i completed (need to implement some events here - ground assault ready", questid);
193 SF_LOG_DEBUG(
"bg.battleground",
"BG_AV Quest %i completed (need to implement some events here", questid);
195 SF_LOG_DEBUG(
"bg.battleground",
"BG_AV Quest %i completed (need to implement some events here - ground assault ready", questid);
203 SF_LOG_DEBUG(
"bg.battleground",
"BG_AV Quest %i completed (need to implement some events here", questid);
205 SF_LOG_DEBUG(
"bg.battleground",
"BG_AV Quest %i completed (need to implement some events here - rider assault ready", questid);
213 SF_LOG_DEBUG(
"bg.battleground",
"BG_AV Quest %i completed (need to implement some events here", questid);
215 SF_LOG_DEBUG(
"bg.battleground",
"BG_AV Quest %i completed (need to implement some events here - rider assault ready", questid);
219 SF_LOG_DEBUG(
"bg.battleground",
"BG_AV Quest %i completed but is not interesting at all", questid);
310 uint32 triggerSpawnID = 0;
332 if (triggerSpawnID && newFaction)
342 trigger->setFaction(newFaction);
354 for (
uint8 i = 0; i <= 1; i++)
381 for (
uint8 mine = 0; mine < 2; mine++)
420 SF_LOG_DEBUG(
"bg.battleground",
"BG_AV: start spawning mine stuff");
452 uint8 kills[2] = { 0, 0 };
453 uint8 rep[2] = { 0, 0 };
492 SF_LOG_ERROR(
"bg.battleground",
"bg_AV no player at remove");
577 SF_LOG_DEBUG(
"bg.battleground",
"bg_av: player destroyed point node %i object %i", node,
object);
594 for (
uint8 i = 0; i <= 9; i++)
615 for (
uint8 i = 0; i < 4; i++)
652 SF_LOG_DEBUG(
"bg.battleground",
"bg_av depopulating mine %i (0=north, 1=south)", mine);
663 SF_LOG_DEBUG(
"bg.battleground",
"bg_av populating mine %i (0=north, 1=south)", mine);
670 else if (team ==
HORDE)
680 else if (team ==
HORDE)
688 else if (team ==
HORDE)
756 SF_LOG_ERROR(
"bg.battleground",
"AV: couldn't spawn spiritguide at node %i", node);
758 for (
uint8 i = 0; i < 4; i++)
792 for (
uint8 i = 0; i < 4; i++)
806 SF_LOG_DEBUG(
"bg.battleground",
"bg_AV getnodethroughobject %i",
object);
821 SF_LOG_ERROR(
"bg.battleground",
"BattlegroundAV: ERROR! GetPlace got a wrong object :(");
828 SF_LOG_DEBUG(
"bg.battleground",
"bg_AV GetObjectThroughNode %i", node);
859 SF_LOG_ERROR(
"bg.battleground",
"BattlegroundAV: Error! GetPlaceNode couldn't resolve node %i", node);
871 SF_LOG_DEBUG(
"bg.battleground",
"BG_AV using gameobject %i with type %i", target_obj->
GetEntry(),
object);
910 SF_LOG_DEBUG(
"bg.battleground",
"player defends point object: %i node: %i",
object, node);
911 if (
m_Nodes[node].PrevOwner != team)
913 SF_LOG_ERROR(
"bg.battleground",
"BG_AV: player defends point which doesn't belong to his team %i", node);
945 for (
uint8 i = 0; i < 4; i++)
973 SF_LOG_DEBUG(
"bg.battleground",
"bg_av: player assaults point object %i node %i",
object, node);
974 if (owner == team || team ==
m_Nodes[node].TotalOwner)
1012 for (
uint8 i = 0; i < 4; i++)
1067 for (
uint8 j = 1; j <= 3; j += 2)
1069 stateok = (
m_Nodes[i].State == j);
1078 for (
uint8 j = 1; j <= 3; j += 2)
1126 SF_LOG_ERROR(
"bg.battleground",
"BG_AV: should update a strange worldstate state:%i team:%i", state, team);
1146 uint8 owner, prevowner, mine2;
1162 if (prevowner != owner)
1176 minDist = (pGraveyard->
x - x) * (pGraveyard->
x - x) + (pGraveyard->
y - y) * (pGraveyard->
y - y);
1184 float dist = (entry->
x - x) * (entry->
x - x) + (entry->
y - y) * (entry->
y - y);
1208 SF_LOG_ERROR(
"sql.sql",
"BatteGroundAV: Failed to spawn some object Battleground not created!1");
1240 SF_LOG_ERROR(
"bg.battleground",
"BatteGroundAV: Failed to spawn some object Battleground not created!2");
1267 SF_LOG_ERROR(
"bg.battleground",
"BatteGroundAV: Failed to spawn some object Battleground not created!3");
1292 SF_LOG_ERROR(
"bg.battleground",
"BatteGroundAV: Failed to spawn some object Battleground not created!4");
1296 for (
uint8 j = 0; j <= 9; j++)
1310 SF_LOG_ERROR(
"bg.battleground",
"BatteGroundAV: Failed to spawn some object Battleground not created!5.%i", i);
1316 for (
uint8 i = 0; i < 2; i++)
1318 for (
uint8 j = 0; j <= 9; j++)
1334 SF_LOG_ERROR(
"bg.battleground",
"BatteGroundAV: Failed to spawn some object Battleground not created!6.%i", i);
1352 SF_LOG_ERROR(
"bg.battleground",
"BatteGroundAV: Failed to spawn some object Battleground not created!7.%i", i);
1372 SF_LOG_ERROR(
"bg.battleground",
"BatteGroundAV: Failed to spawn some mine supplies Battleground not created!7.5.%i", i);
1390 SF_LOG_ERROR(
"bg.battleground",
"BatteGroundAV: Failed to spawn some mine supplies Battleground not created!7.6.%i", i);
1407 SF_LOG_ERROR(
"bg.battleground",
"BatteGroundAV: Failed to spawn some object Battleground not created!8");
1410 for (
uint8 i = 0; i < 4; i++)
1425 SF_LOG_ERROR(
"bg.battleground",
"BatteGroundAV: Failed to spawn some object Battleground not created!9.%i", i);
1431 SF_LOG_DEBUG(
"bg.battleground",
"Alterac Valley: entering state STATUS_WAIT_JOIN ...");
1471 SF_LOG_DEBUG(
"bg.battleground",
"BG_AV start poputlating nodes");
1478 SF_LOG_DEBUG(
"bg.battleground",
"BG_AV: start spawning static creatures");
1482 SF_LOG_DEBUG(
"bg.battleground",
"BG_AV: start spawning spiritguides creatures");
1486 SF_LOG_DEBUG(
"bg.battleground",
"BG_AV: start spawning marshal creatures");
1513 SF_LOG_ERROR(
"bg.battleground",
"tried to get name for node %u", node);
1522 if (
m_Nodes[node].TotalOwner == team)
1524 SF_LOG_FATAL(
"bg.battleground",
"Assaulting team is TotalOwner of node");
1527 if (
m_Nodes[node].Owner == team)
1529 SF_LOG_FATAL(
"bg.battleground",
"Assaulting team is owner of node");
1534 SF_LOG_FATAL(
"bg.battleground",
"Destroyed node is being assaulted");
1539 SF_LOG_FATAL(
"bg.battleground",
"Assault on an not assaulted node with total owner");
1563 m_Nodes[node].TotalOwner = team;
1589 for (
uint8 i = 0; i < 2; i++)
1591 for (
uint8 j = 0; j < 9; j++)
1623 for (
uint8 mine = 0; mine < 2; mine++)
1652 else if (team ==
HORDE)
1685 if (allianceScore > hordeScore)
1687 else if (hordeScore > allianceScore)
@ BG_CRITERIA_CHECK_AV_PERFECTION
@ BG_CRITERIA_CHECK_EVERYTHING_COUNTS
@ SPELL_HONORABLE_DEFENDER_25Y
@ SCORE_GRAVEYARDS_ASSAULTED
@ SCORE_SECONDARY_OBJECTIVES
@ SCORE_GRAVEYARDS_DEFENDED
@ BG_STARTING_EVENT_THIRD
@ BG_STARTING_EVENT_SECOND
@ BG_STARTING_EVENT_FIRST
@ BG_STARTING_EVENT_FOURTH
const float BG_AV_DoorPositons[2][4]
@ AV_SOUND_ALLIANCE_ASSAULTS
@ AV_SOUND_BOTH_TOWER_DEFEND
@ AV_SOUND_HORDE_ASSAULTS
@ BG_AV_OBJECTID_BANNER_H
@ BG_AV_OBJECTID_BANNER_CONT_A
@ BG_AV_OBJECTID_BANNER_H_B
@ BG_AV_OBJECTID_BANNER_A_B
@ BG_AV_OBJECTID_SNOWFALL_CANDY_A
@ BG_AV_OBJECTID_BANNER_SNOWFALL_N
@ BG_AV_OBJECTID_SNOWFALL_CANDY_PH
@ BG_AV_OBJECTID_BANNER_A
@ BG_AV_OBJECTID_TOWER_BANNER_PA
@ BG_AV_OBJECTID_TOWER_BANNER_H
@ BG_AV_OBJECTID_SNOWFALL_CANDY_H
@ BG_AV_OBJECTID_SNOWFALL_CANDY_PA
@ BG_AV_OBJECTID_TOWER_BANNER_PH
@ BG_AV_OBJECTID_BANNER_CONT_H
@ BG_AV_OBJECTID_BANNER_CONT_H_B
@ BG_AV_OBJECTID_BANNER_CONT_A_B
@ BG_AV_OBJECTID_TOWER_BANNER_A
#define LANG_BG_AV_H_CAPTAIN_BUFF
@ BG_AV_NODES_ICEWING_BUNKER
@ BG_AV_NODES_TOWER_POINT
@ BG_AV_NODES_SNOWFALL_GRAVE
@ BG_AV_NODES_FIRSTAID_STATION
@ BG_AV_NODES_FROSTWOLF_GRAVE
@ BG_AV_NODES_STORMPIKE_GRAVE
@ BG_AV_NODES_STONEHEART_GRAVE
@ BG_AV_NODES_ICEBLOOD_TOWER
@ BG_AV_NODES_DUNBALDAR_NORTH
@ BG_AV_NODES_STONEHEART_BUNKER
@ BG_AV_NODES_FROSTWOLF_WTOWER
@ BG_AV_NODES_FROSTWOLF_ETOWER
@ BG_AV_NODES_DUNBALDAR_SOUTH
@ BG_AV_NODES_FROSTWOLF_HUT
@ BG_AV_NODES_ICEBLOOD_GRAVE
#define BG_AV_RES_CAPTAIN
const uint32 BG_AV_CreatureInfo[AV_NPC_INFO_MAX][4]
const float BG_AV_ObjectPos[AV_OPLACE_MAX][4]
#define BG_AV_KILL_SURVIVING_TOWER
const float BG_AV_CreaturePos[AV_CPLACE_MAX][4]
#define LANG_BG_AV_A_CAPTAIN_BUFF
const uint32 BG_AV_MineWorldStates[2][3]
#define BG_AV_EVENT_START_BATTLE
@ AV_OPLACE_BURN_DUNBALDAR_SOUTH
@ AV_OPLACE_MINE_SUPPLY_N_MIN
@ AV_OPLACE_MINE_SUPPLY_S_MIN
@ AV_OPLACE_BURN_BUILDING_A
@ BG_AV_OBJECT_MINE_SUPPLY_N_MIN
@ BG_AV_OBJECT_MINE_SUPPLY_N_MAX
@ BG_AV_OBJECT_MINE_SUPPLY_S_MIN
@ BG_AV_OBJECT_FLAG_H_FROSTWOLF_HUT
@ BG_AV_OBJECT_MINE_SUPPLY_S_MAX
@ BG_AV_OBJECT_AURA_N_FIRSTAID_STATION
@ BG_AV_OBJECT_BURN_BUILDING_HORDE
@ BG_AV_OBJECT_BURN_DUNBALDAR_SOUTH
@ BG_AV_OBJECT_FLAG_H_FROSTWOLF_WTOWER
@ BG_AV_OBJECT_FLAG_A_FIRSTAID_STATION
@ BG_AV_OBJECT_FLAG_H_ICEBLOOD_GRAVE
@ BG_AV_OBJECT_FLAG_C_H_SNOWFALL_GRAVE
@ BG_AV_OBJECT_AURA_A_FIRSTAID_STATION
@ BG_AV_OBJECT_FLAG_C_A_FROSTWOLF_HUT
@ BG_AV_OBJECT_FLAG_C_H_STONEHEART_BUNKER
@ BG_AV_OBJECT_TFLAG_H_ICEBLOOD_TOWER
@ BG_AV_OBJECT_BURN_BUILDING_ALLIANCE
@ BG_AV_OBJECT_FLAG_C_A_SNOWFALL_GRAVE
@ BG_AV_OBJECT_SNOW_EYECANDY_A
@ BG_AV_OBJECT_TFLAG_A_STONEHEART_BUNKER
@ BG_AV_OBJECT_AURA_H_FIRSTAID_STATION
@ BG_AV_OBJECT_TAURA_H_DUNBALDAR_SOUTH
@ BG_AV_OBJECT_TFLAG_H_FROSTWOLF_WTOWER
@ BG_AV_OBJECT_FLAG_A_DUNBALDAR_SOUTH
@ BG_AV_OBJECT_FLAG_N_SNOWFALL_GRAVE
@ BG_AV_OBJECT_FLAG_A_STONEHEART_BUNKER
@ BG_AV_OBJECT_AURA_N_SNOWFALL_GRAVE
@ BG_AV_OBJECT_SNOW_EYECANDY_PH
@ BG_AV_OBJECT_SNOW_EYECANDY_H
@ BG_AV_OBJECT_TFLAG_A_DUNBALDAR_SOUTH
@ BG_AV_OBJECT_TAURA_A_DUNBALDAR_SOUTH
@ BG_AV_OBJECT_FLAG_C_A_FROSTWOLF_WTOWER
@ BG_AV_OBJECT_TFLAG_H_DUNBALDAR_SOUTH
@ BG_AV_OBJECT_SNOW_EYECANDY_PA
@ BG_AV_OBJECT_FLAG_A_STONEHEART_GRAVE
#define BG_AV_REP_SURVIVING_CAPTAIN
@ AV_OBJECTIVE_DEFEND_GRAVEYARD
@ AV_OBJECTIVE_ASSAULT_GRAVEYARD
@ AV_OBJECTIVE_ASSAULT_TOWER
@ AV_OBJECTIVE_DEFEND_TOWER
const float BG_AV_StaticCreaturePos[AV_STATICCPLACE_MAX][5]
const uint32 BG_AV_GraveyardIds[9]
#define BG_AV_SNOWFALL_FIRSTCAP
const uint32 BG_AV_NodeWorldStates[16][4]
#define LANG_BG_AV_S_MINE_BOSS_CLAIMS
@ AV_NPC_H_MARSHAL_WTOWER
#define BG_AV_KILL_CAPTAIN
#define BG_AV_REP_SURVIVING_TOWER
const uint32 BG_AV_StaticCreatureInfo[51][4]
@ AV_CPLACE_A_MARSHAL_SOUTH
@ AV_CPLACE_DEFENSE_STORM_AID
#define BG_AV_SCORE_INITIAL_POINTS
#define SEND_MSG_NEAR_LOSE
#define BG_AV_KILL_SURVIVING_CAPTAIN
#define BG_AV_REP_CAPTAIN
@ ACHIEVEMENT_TIMED_TYPE_EVENT
@ ACHIEVEMENT_CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE
DBCStorage< WorldSafeLocsEntry > sWorldSafeLocsStore(WorldSafeLocsEntryfmt)
@ LANG_BG_AV_NODE_GRAVE_SNOW
@ LANG_BG_AV_H_CAPTAIN_DEAD
@ LANG_BG_AV_GRAVE_ASSAULTED
@ LANG_BG_AV_NODE_GRAVE_FROST
@ LANG_BG_AV_NODE_TOWER_STONE
@ LANG_BG_AV_START_TWO_MINUTES
@ LANG_BG_AV_NODE_TOWER_FROST_E
@ LANG_BG_AV_START_ONE_MINUTE
@ LANG_BG_AV_NODE_GRAVE_STORMPIKE
@ LANG_BG_AV_NODE_GRAVE_ICE
@ LANG_BG_AV_NODE_TOWER_ICE
@ LANG_BG_AV_NODE_TOWER_POINT
@ LANG_BG_AV_START_HALF_MINUTE
@ LANG_BG_AV_TOWER_ASSAULTED
@ LANG_BG_AV_NODE_TOWER_ICEWING
@ LANG_BG_AV_NODE_TOWER_DUN_S
@ LANG_BG_AV_NODE_GRAVE_STORM_AID
@ LANG_BG_AV_A_CAPTAIN_DEAD
@ LANG_BG_AV_NODE_TOWER_DUN_N
@ LANG_BG_AV_NODE_GRAVE_FROST_HUT
@ LANG_BG_AV_GRAVE_DEFENDED
@ LANG_BG_AV_TOWER_DEFENDED
@ LANG_BG_AV_NODE_GRAVE_STONE
@ LANG_BG_AV_NODE_TOWER_FROST_W
#define SF_LOG_DEBUG(filterType__,...)
#define SF_LOG_FATAL(filterType__,...)
#define SF_LOG_ERROR(filterType__,...)
bool isStatic(MovementGenerator *mv)
@ CHAT_MSG_BG_SYSTEM_ALLIANCE
@ CHAT_MSG_BG_SYSTEM_HORDE
void EventPlayerClickedOnFlag(Player *source, GameObject *target_obj) OVERRIDE
void AddPlayer(Player *player) OVERRIDE
void HandleKillUnit(Creature *unit, Player *killer) OVERRIDE
void ResetBGSubclass() OVERRIDE
void PopulateNode(BG_AV_Nodes node)
bool CheckAchievementCriteriaMeet(uint32 criteriaId, Player const *source, Unit const *target=NULL, uint32 miscvalue1=0) OVERRIDE
void HandleAreaTrigger(Player *player, uint32 trigger) OVERRIDE
BG_AV_NodeInfo m_Nodes[BG_AV_NODES_MAX]
bool CanActivateGO(int32 GOId, uint32 team) const OVERRIDE
uint32 GetPrematureWinner() OVERRIDE
void ChangeMineOwner(uint8 mine, uint32 team, bool initial=false)
void InitNode(BG_AV_Nodes node, uint16 team, bool tower)
void EventPlayerAssaultsPoint(Player *player, uint32 object)
void FillInitialWorldStates(WorldStateBuilder &builder) OVERRIDE
bool m_IsInformedNearVictory[2]
uint32 GetObjectThroughNode(BG_AV_Nodes node)
void EndBattleground(uint32 winner)
void HandleQuestComplete(uint32 questid, Player *player) OVERRIDE
void DePopulateNode(BG_AV_Nodes node)
void StartingEventCloseDoors() OVERRIDE
BG_AV_Nodes GetNodeThroughObject(uint32 object)
void PostUpdateImpl(uint32 diff) OVERRIDE
Post-update hook.
char const * GetNodeName(BG_AV_Nodes node)
void StartingEventOpenDoors() OVERRIDE
uint32 m_CaptainBuffTimer[2]
void UpdatePlayerScore(Player *player, uint32 type, uint32 value, bool doAddHonor=true) OVERRIDE
void EventPlayerDestroyedPoint(BG_AV_Nodes node)
void RemovePlayer(Player *player, uint64 guid, uint32 team) OVERRIDE
void HandleKillPlayer(Player *player, Player *killer) OVERRIDE
Creature * AddAVCreature(uint16 cinfoid, uint16 type)
uint16 GetBonusHonor(uint8 kills)
uint8 GetWorldStateType(uint8 state, uint16 team)
void SendMineWorldStates(uint32 mine)
void DefendNode(BG_AV_Nodes node, uint16 team)
void UpdateScore(uint16 team, int16 points)
void AssaultNode(BG_AV_Nodes node, uint16 team)
void UpdateNodeWorldState(BG_AV_Nodes node)
uint32 m_Mine_Reclaim_Timer[2]
uint32 m_Team_QuestStatus[2][9]
bool SetupBattleground() OVERRIDE
bool IsTower(BG_AV_Nodes node) const
WorldSafeLocsEntry const * GetClosestGraveYard(Player *player) OVERRIDE
void DestroyNode(BG_AV_Nodes node)
void EventPlayerDefendsPoint(Player *player, uint32 object)
uint32 m_Mine_PrevOwner[2]
virtual void AddPlayer(Player *player)
void EndBattleground(uint32 winner)
void CastSpellOnTeam(uint32 SpellID, uint32 TeamID)
virtual void HandleKillPlayer(Player *player, Player *killer)
static TeamId GetTeamIndexByTeamId(uint32 Team)
void DoorOpen(uint32 type)
bool DelCreature(uint32 type)
void SpawnBGObject(uint32 type, uint32 respawntime)
void YellToAll(Creature *creature, const char *text, Language language)
void PlaySoundToAll(uint32 SoundID)
void DoorClose(uint32 type)
void RelocateDeadPlayers(uint64 queueIndex)
Relocate all players in ReviveQueue to the closest graveyard.
int32 GetObjectType(uint64 guid)
void UpdateWorldState(uint32 Field, uint32 Value)
const char * GetSkyFireString(int32 entry)
BattlegroundScoreMap PlayerScores
void RewardHonorToTeam(uint32 Honor, uint32 TeamID)
bool AddSpiritGuide(uint32 type, float x, float y, float z, float o, uint32 team)
BattlegroundStatus GetStatus() const
virtual bool CheckAchievementCriteriaMeet(uint32, Player const *, Unit const *=NULL, uint32=0)
virtual void HandleAreaTrigger(Player *, uint32)
void StartTimedAchievement(AchievementCriteriaTimedTypes type, uint32 entry)
void RewardReputationToTeam(uint32 faction_id, uint32 Reputation, uint32 TeamID)
virtual void UpdatePlayerScore(Player *player, uint32 type, uint32 value, bool doAddHonor=true)
Creature * AddCreature(uint32 entry, uint32 type, uint32 teamval, float x, float y, float z, float o, uint32 respawntime=0)
void SendMessageToAll(int32 entry, ChatMsg type, Player const *source=NULL)
Creature * GetBGCreature(uint32 type)
bool AddObject(uint32 type, uint32 entry, float x, float y, float z, float o, float rotation0, float rotation1, float rotation2, float rotation3, uint32 respawnTime=0)
virtual uint32 GetPrematureWinner()
uint32 StartMessageIds[BG_STARTING_EVENT_COUNT]
void Respawn(bool force=false)
uint32 GetDBTableGUIDLow() const
void SetRespawnDelay(uint32 delay)
void setDeathState(DeathState s) OVERRIDE
void LeaveBattleground(bool teleportToEntryPoint=true)
WorldSession * GetSession() const
void UpdateAchievementCriteria(AchievementCriteriaTypes type, uint64 miscValue1=0, uint64 miscValue2=0, uint64 miscValue3=0, Unit *unit=NULL)
void setFaction(uint32 faction)
void CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
void RemoveAurasDueToSpell(uint32 spellId, uint64 casterGUID=0, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
MotionMaster * GetMotionMaster()
void SendNotification(const char *format,...) ATTR_PRINTF(2
void AppendState(uint32 worldstate, uint32 value)
uint32 hk_honor_at_level(uint8 level, float multiplier=1.0f)
void GetPosition(float &x, float &y) const