fix(Core/Unit): -Wdeprecated-enum-enum-conversion warning (#6868)
This commit is contained in:
@@ -632,10 +632,10 @@ bool BattlegroundQueue::CheckSkirmishForSameFaction(BattlegroundBracketId bracke
|
|||||||
{
|
{
|
||||||
// update internal GroupQueueInfo data
|
// update internal GroupQueueInfo data
|
||||||
(*pitr)->teamId = wrongTeamId;
|
(*pitr)->teamId = wrongTeamId;
|
||||||
(*pitr)->_groupType = BG_QUEUE_NORMAL_ALLIANCE + wrongTeamId;
|
(*pitr)->_groupType = static_cast<uint8>(BG_QUEUE_NORMAL_ALLIANCE) + wrongTeamId;
|
||||||
|
|
||||||
// add GroupQueueInfo to new queue
|
// add GroupQueueInfo to new queue
|
||||||
m_QueuedGroups[bracket_id][BG_QUEUE_NORMAL_ALLIANCE + wrongTeamId].push_front(*pitr);
|
m_QueuedGroups[bracket_id][static_cast<uint8>(BG_QUEUE_NORMAL_ALLIANCE) + wrongTeamId].push_front(*pitr);
|
||||||
|
|
||||||
// remove GroupQueueInfo from old queue
|
// remove GroupQueueInfo from old queue
|
||||||
for (auto qitr = m_QueuedGroups[bracket_id][BG_QUEUE_NORMAL_ALLIANCE + i].begin(); qitr != m_QueuedGroups[bracket_id][BG_QUEUE_NORMAL_ALLIANCE + i].end(); ++qitr)
|
for (auto qitr = m_QueuedGroups[bracket_id][BG_QUEUE_NORMAL_ALLIANCE + i].begin(); qitr != m_QueuedGroups[bracket_id][BG_QUEUE_NORMAL_ALLIANCE + i].end(); ++qitr)
|
||||||
|
|||||||
@@ -7,11 +7,8 @@
|
|||||||
#include "Creature.h"
|
#include "Creature.h"
|
||||||
#include "GameGraveyard.h"
|
#include "GameGraveyard.h"
|
||||||
#include "Language.h"
|
#include "Language.h"
|
||||||
#include "Object.h"
|
|
||||||
#include "ObjectMgr.h"
|
|
||||||
#include "Player.h"
|
#include "Player.h"
|
||||||
#include "Util.h"
|
#include "Util.h"
|
||||||
#include "World.h"
|
|
||||||
#include "WorldPacket.h"
|
#include "WorldPacket.h"
|
||||||
#include "WorldSession.h"
|
#include "WorldSession.h"
|
||||||
|
|
||||||
@@ -125,7 +122,7 @@ void BattlegroundAB::PostUpdateImpl(uint32 diff)
|
|||||||
|
|
||||||
void BattlegroundAB::StartingEventCloseDoors()
|
void BattlegroundAB::StartingEventCloseDoors()
|
||||||
{
|
{
|
||||||
for (uint32 obj = BG_AB_OBJECT_BANNER_NEUTRAL; obj < BG_AB_DYNAMIC_NODES_COUNT * BG_AB_OBJECTS_PER_NODE; ++obj)
|
for (uint32 obj = BG_AB_OBJECT_BANNER_NEUTRAL; obj < static_cast<uint8>(BG_AB_DYNAMIC_NODES_COUNT) * BG_AB_OBJECTS_PER_NODE; ++obj)
|
||||||
SpawnBGObject(obj, RESPAWN_ONE_DAY);
|
SpawnBGObject(obj, RESPAWN_ONE_DAY);
|
||||||
for (uint32 i = 0; i < BG_AB_DYNAMIC_NODES_COUNT * 3; ++i)
|
for (uint32 i = 0; i < BG_AB_DYNAMIC_NODES_COUNT * 3; ++i)
|
||||||
SpawnBGObject(BG_AB_OBJECT_SPEEDBUFF_STABLES + i, RESPAWN_ONE_DAY);
|
SpawnBGObject(BG_AB_OBJECT_SPEEDBUFF_STABLES + i, RESPAWN_ONE_DAY);
|
||||||
@@ -304,7 +301,7 @@ void BattlegroundAB::EventPlayerClickedOnFlag(Player* player, GameObject* gameOb
|
|||||||
{
|
{
|
||||||
player->KilledMonsterCredit(BG_AB_QUEST_CREDIT_BASE + node);
|
player->KilledMonsterCredit(BG_AB_QUEST_CREDIT_BASE + node);
|
||||||
UpdatePlayerScore(player, SCORE_BASES_ASSAULTED, 1);
|
UpdatePlayerScore(player, SCORE_BASES_ASSAULTED, 1);
|
||||||
_capturePointInfo[node]._state = BG_AB_NODE_STATE_ALLY_CONTESTED + player->GetTeamId();
|
_capturePointInfo[node]._state = static_cast<uint8>(BG_AB_NODE_STATE_ALLY_CONTESTED) + player->GetTeamId();
|
||||||
_capturePointInfo[node]._ownerTeamId = TEAM_NEUTRAL;
|
_capturePointInfo[node]._ownerTeamId = TEAM_NEUTRAL;
|
||||||
_bgEvents.RescheduleEvent(BG_AB_EVENT_CAPTURE_STABLE + node, BG_AB_FLAG_CAPTURING_TIME);
|
_bgEvents.RescheduleEvent(BG_AB_EVENT_CAPTURE_STABLE + node, BG_AB_FLAG_CAPTURING_TIME);
|
||||||
sound = BG_AB_SOUND_NODE_CLAIMED;
|
sound = BG_AB_SOUND_NODE_CLAIMED;
|
||||||
@@ -317,7 +314,7 @@ void BattlegroundAB::EventPlayerClickedOnFlag(Player* player, GameObject* gameOb
|
|||||||
{
|
{
|
||||||
player->KilledMonsterCredit(BG_AB_QUEST_CREDIT_BASE + node);
|
player->KilledMonsterCredit(BG_AB_QUEST_CREDIT_BASE + node);
|
||||||
UpdatePlayerScore(player, SCORE_BASES_ASSAULTED, 1);
|
UpdatePlayerScore(player, SCORE_BASES_ASSAULTED, 1);
|
||||||
_capturePointInfo[node]._state = BG_AB_NODE_STATE_ALLY_CONTESTED + player->GetTeamId();
|
_capturePointInfo[node]._state = static_cast<uint8>(BG_AB_NODE_STATE_ALLY_CONTESTED) + player->GetTeamId();
|
||||||
_capturePointInfo[node]._ownerTeamId = TEAM_NEUTRAL;
|
_capturePointInfo[node]._ownerTeamId = TEAM_NEUTRAL;
|
||||||
_bgEvents.RescheduleEvent(BG_AB_EVENT_CAPTURE_STABLE + node, BG_AB_FLAG_CAPTURING_TIME);
|
_bgEvents.RescheduleEvent(BG_AB_EVENT_CAPTURE_STABLE + node, BG_AB_FLAG_CAPTURING_TIME);
|
||||||
message = LANG_BG_AB_NODE_ASSAULTED;
|
message = LANG_BG_AB_NODE_ASSAULTED;
|
||||||
@@ -325,7 +322,7 @@ void BattlegroundAB::EventPlayerClickedOnFlag(Player* player, GameObject* gameOb
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
UpdatePlayerScore(player, SCORE_BASES_DEFENDED, 1);
|
UpdatePlayerScore(player, SCORE_BASES_DEFENDED, 1);
|
||||||
_capturePointInfo[node]._state = BG_AB_NODE_STATE_ALLY_OCCUPIED + player->GetTeamId();
|
_capturePointInfo[node]._state = static_cast<uint8>(BG_AB_NODE_STATE_ALLY_OCCUPIED) + player->GetTeamId();
|
||||||
_capturePointInfo[node]._ownerTeamId = player->GetTeamId();
|
_capturePointInfo[node]._ownerTeamId = player->GetTeamId();
|
||||||
_bgEvents.CancelEvent(BG_AB_EVENT_CAPTURE_STABLE + node);
|
_bgEvents.CancelEvent(BG_AB_EVENT_CAPTURE_STABLE + node);
|
||||||
NodeOccupied(node); // after setting team owner
|
NodeOccupied(node); // after setting team owner
|
||||||
@@ -339,7 +336,7 @@ void BattlegroundAB::EventPlayerClickedOnFlag(Player* player, GameObject* gameOb
|
|||||||
UpdatePlayerScore(player, SCORE_BASES_ASSAULTED, 1);
|
UpdatePlayerScore(player, SCORE_BASES_ASSAULTED, 1);
|
||||||
NodeDeoccupied(node); // before setting team owner to neutral
|
NodeDeoccupied(node); // before setting team owner to neutral
|
||||||
|
|
||||||
_capturePointInfo[node]._state = BG_AB_NODE_STATE_ALLY_CONTESTED + player->GetTeamId();
|
_capturePointInfo[node]._state = static_cast<uint8>(BG_AB_NODE_STATE_ALLY_CONTESTED) + player->GetTeamId();
|
||||||
|
|
||||||
ApplyPhaseMask();
|
ApplyPhaseMask();
|
||||||
_bgEvents.RescheduleEvent(BG_AB_EVENT_CAPTURE_STABLE + node, BG_AB_FLAG_CAPTURING_TIME);
|
_bgEvents.RescheduleEvent(BG_AB_EVENT_CAPTURE_STABLE + node, BG_AB_FLAG_CAPTURING_TIME);
|
||||||
@@ -436,7 +433,7 @@ void BattlegroundAB::EndBattleground(TeamId winnerTeamId)
|
|||||||
|
|
||||||
GraveyardStruct const* BattlegroundAB::GetClosestGraveyard(Player* player)
|
GraveyardStruct const* BattlegroundAB::GetClosestGraveyard(Player* player)
|
||||||
{
|
{
|
||||||
GraveyardStruct const* entry = sGraveyard->GetGraveyard(BG_AB_GraveyardIds[BG_AB_SPIRIT_ALIANCE + player->GetTeamId()]);
|
GraveyardStruct const* entry = sGraveyard->GetGraveyard(BG_AB_GraveyardIds[static_cast<uint8>(BG_AB_SPIRIT_ALIANCE) + player->GetTeamId()]);
|
||||||
GraveyardStruct const* nearestEntry = entry;
|
GraveyardStruct const* nearestEntry = entry;
|
||||||
|
|
||||||
float pX = player->GetPositionX();
|
float pX = player->GetPositionX();
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
BattlegroundAV::BattlegroundAV()
|
BattlegroundAV::BattlegroundAV()
|
||||||
{
|
{
|
||||||
BgObjects.resize(BG_AV_OBJECT_MAX);
|
BgObjects.resize(BG_AV_OBJECT_MAX);
|
||||||
BgCreatures.resize(AV_CPLACE_MAX + AV_STATICCPLACE_MAX);
|
BgCreatures.resize(static_cast<uint16>(AV_CPLACE_MAX) + AV_STATICCPLACE_MAX);
|
||||||
|
|
||||||
for (uint8 i = 0; i < 2; i++)
|
for (uint8 i = 0; i < 2; i++)
|
||||||
{
|
{
|
||||||
@@ -268,7 +268,7 @@ Creature* BattlegroundAV::AddAVCreature(uint16 cinfoid, uint16 type)
|
|||||||
{
|
{
|
||||||
bool isStatic = false;
|
bool isStatic = false;
|
||||||
Creature* creature = nullptr;
|
Creature* creature = nullptr;
|
||||||
ASSERT(type <= AV_CPLACE_MAX + AV_STATICCPLACE_MAX);
|
ASSERT(type <= static_cast<uint16>(AV_CPLACE_MAX) + AV_STATICCPLACE_MAX);
|
||||||
if (type >= AV_CPLACE_MAX) //static
|
if (type >= AV_CPLACE_MAX) //static
|
||||||
{
|
{
|
||||||
type -= AV_CPLACE_MAX;
|
type -= AV_CPLACE_MAX;
|
||||||
@@ -597,8 +597,8 @@ void BattlegroundAV::EventPlayerDestroyedPoint(BG_AV_Nodes node)
|
|||||||
RewardReputationToTeam(ownerId == TEAM_ALLIANCE ? 730 : 729, BG_AV_REP_TOWER, ownerId);
|
RewardReputationToTeam(ownerId == TEAM_ALLIANCE ? 730 : 729, BG_AV_REP_TOWER, ownerId);
|
||||||
RewardHonorToTeam(GetBonusHonorFromKill(BG_AV_KILL_TOWER), ownerId);
|
RewardHonorToTeam(GetBonusHonorFromKill(BG_AV_KILL_TOWER), ownerId);
|
||||||
|
|
||||||
SpawnBGObject(BG_AV_OBJECT_TAURA_A_DUNBALDAR_SOUTH + ownerId + (2 * tmp), RESPAWN_ONE_DAY);
|
SpawnBGObject(static_cast<uint8>(BG_AV_OBJECT_TAURA_A_DUNBALDAR_SOUTH) + ownerId + (2 * tmp), RESPAWN_ONE_DAY);
|
||||||
SpawnBGObject(BG_AV_OBJECT_TFLAG_A_DUNBALDAR_SOUTH + ownerId + (2 * tmp), RESPAWN_ONE_DAY);
|
SpawnBGObject(static_cast<uint8>(BG_AV_OBJECT_TFLAG_A_DUNBALDAR_SOUTH) + ownerId + (2 * tmp), RESPAWN_ONE_DAY);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -607,7 +607,7 @@ void BattlegroundAV::EventPlayerDestroyedPoint(BG_AV_Nodes node)
|
|||||||
else
|
else
|
||||||
SpawnBGObject(object + 11, RESPAWN_IMMEDIATELY);
|
SpawnBGObject(object + 11, RESPAWN_IMMEDIATELY);
|
||||||
SpawnBGObject(BG_AV_OBJECT_AURA_N_FIRSTAID_STATION + 3 * node, RESPAWN_ONE_DAY);
|
SpawnBGObject(BG_AV_OBJECT_AURA_N_FIRSTAID_STATION + 3 * node, RESPAWN_ONE_DAY);
|
||||||
SpawnBGObject(BG_AV_OBJECT_AURA_A_FIRSTAID_STATION + ownerId + 3 * node, RESPAWN_IMMEDIATELY);
|
SpawnBGObject(static_cast<uint8>(BG_AV_OBJECT_AURA_A_FIRSTAID_STATION) + ownerId + 3 * node, RESPAWN_IMMEDIATELY);
|
||||||
PopulateNode(node);
|
PopulateNode(node);
|
||||||
if (node == BG_AV_NODES_SNOWFALL_GRAVE) //snowfall eyecandy
|
if (node == BG_AV_NODES_SNOWFALL_GRAVE) //snowfall eyecandy
|
||||||
{
|
{
|
||||||
@@ -917,7 +917,7 @@ void BattlegroundAV::EventPlayerDefendsPoint(Player* player, uint32 object)
|
|||||||
if (!IsTower(node))
|
if (!IsTower(node))
|
||||||
{
|
{
|
||||||
SpawnBGObject(BG_AV_OBJECT_AURA_N_FIRSTAID_STATION + 3 * node, RESPAWN_ONE_DAY);
|
SpawnBGObject(BG_AV_OBJECT_AURA_N_FIRSTAID_STATION + 3 * node, RESPAWN_ONE_DAY);
|
||||||
SpawnBGObject(BG_AV_OBJECT_AURA_A_FIRSTAID_STATION + teamId + 3 * node, RESPAWN_IMMEDIATELY);
|
SpawnBGObject(static_cast<uint8>(BG_AV_OBJECT_AURA_A_FIRSTAID_STATION) + teamId + 3 * node, RESPAWN_IMMEDIATELY);
|
||||||
}
|
}
|
||||||
// despawn old go
|
// despawn old go
|
||||||
SpawnBGObject(object, RESPAWN_ONE_DAY);
|
SpawnBGObject(object, RESPAWN_ONE_DAY);
|
||||||
@@ -1032,7 +1032,7 @@ void BattlegroundAV::EventPlayerAssaultsPoint(Player* player, uint32 object)
|
|||||||
{
|
{
|
||||||
//spawning/despawning of aura
|
//spawning/despawning of aura
|
||||||
SpawnBGObject(BG_AV_OBJECT_AURA_N_FIRSTAID_STATION + 3 * node, RESPAWN_IMMEDIATELY); //neutral aura spawn
|
SpawnBGObject(BG_AV_OBJECT_AURA_N_FIRSTAID_STATION + 3 * node, RESPAWN_IMMEDIATELY); //neutral aura spawn
|
||||||
SpawnBGObject(BG_AV_OBJECT_AURA_A_FIRSTAID_STATION + prevOwnerId + 3 * node, RESPAWN_ONE_DAY); //teeamaura despawn
|
SpawnBGObject(static_cast<uint8>(BG_AV_OBJECT_AURA_A_FIRSTAID_STATION) + prevOwnerId + 3 * node, RESPAWN_ONE_DAY); //teeamaura despawn
|
||||||
|
|
||||||
RelocateDeadPlayers(BgCreatures[node]);
|
RelocateDeadPlayers(BgCreatures[node]);
|
||||||
}
|
}
|
||||||
@@ -1520,7 +1520,7 @@ void BattlegroundAV::ResetBGSubclass()
|
|||||||
InitNode(BG_AV_NODES_SNOWFALL_GRAVE, TEAM_NEUTRAL, false); //give snowfall neutral owner
|
InitNode(BG_AV_NODES_SNOWFALL_GRAVE, TEAM_NEUTRAL, false); //give snowfall neutral owner
|
||||||
|
|
||||||
m_Mine_Timer = AV_MINE_TICK_TIMER;
|
m_Mine_Timer = AV_MINE_TICK_TIMER;
|
||||||
for (uint16 i = 0; i < AV_CPLACE_MAX + AV_STATICCPLACE_MAX; i++)
|
for (uint16 i = 0; i < static_cast<uint16>(AV_CPLACE_MAX) + AV_STATICCPLACE_MAX; i++)
|
||||||
if (BgCreatures[i])
|
if (BgCreatures[i])
|
||||||
DelCreature(i);
|
DelCreature(i);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -566,7 +566,7 @@ void BattlegroundEY::FillInitialWorldStates(WorldPacket& data)
|
|||||||
|
|
||||||
GraveyardStruct const* BattlegroundEY::GetClosestGraveyard(Player* player)
|
GraveyardStruct const* BattlegroundEY::GetClosestGraveyard(Player* player)
|
||||||
{
|
{
|
||||||
GraveyardStruct const* entry = sGraveyard->GetGraveyard(BG_EY_GRAVEYARD_MAIN_ALLIANCE + player->GetTeamId());
|
GraveyardStruct const* entry = sGraveyard->GetGraveyard(static_cast<uint16>(BG_EY_GRAVEYARD_MAIN_ALLIANCE) + player->GetTeamId());
|
||||||
GraveyardStruct const* nearestEntry = entry;
|
GraveyardStruct const* nearestEntry = entry;
|
||||||
|
|
||||||
float pX = player->GetPositionX();
|
float pX = player->GetPositionX();
|
||||||
|
|||||||
@@ -590,13 +590,13 @@ void BattlegroundIC::EventPlayerClickedOnFlag(Player* player, GameObject* gameOb
|
|||||||
nodePoint[i].timer = BANNER_STATE_CHANGE_TIME; // 1 minute for last change (real faction banner)
|
nodePoint[i].timer = BANNER_STATE_CHANGE_TIME; // 1 minute for last change (real faction banner)
|
||||||
nodePoint[i].needChange = true;
|
nodePoint[i].needChange = true;
|
||||||
|
|
||||||
RelocateDeadPlayers(BgCreatures[BG_IC_NPC_SPIRIT_GUIDE_1 + nodePoint[i].nodeType - 2]);
|
RelocateDeadPlayers(BgCreatures[static_cast<uint16>(BG_IC_NPC_SPIRIT_GUIDE_1) + nodePoint[i].nodeType - 2]);
|
||||||
|
|
||||||
// if we are here means that the point has been lost, or it is the first capture
|
// if we are here means that the point has been lost, or it is the first capture
|
||||||
|
|
||||||
if (nodePoint[i].nodeType != NODE_TYPE_REFINERY && nodePoint[i].nodeType != NODE_TYPE_QUARRY)
|
if (nodePoint[i].nodeType != NODE_TYPE_REFINERY && nodePoint[i].nodeType != NODE_TYPE_QUARRY)
|
||||||
if (BgCreatures[BG_IC_NPC_SPIRIT_GUIDE_1 + (nodePoint[i].nodeType) - 2])
|
if (BgCreatures[static_cast<uint16>(BG_IC_NPC_SPIRIT_GUIDE_1) + (nodePoint[i].nodeType) - 2])
|
||||||
DelCreature(BG_IC_NPC_SPIRIT_GUIDE_1 + (nodePoint[i].nodeType) - 2);
|
DelCreature(static_cast<uint16>(BG_IC_NPC_SPIRIT_GUIDE_1) + (nodePoint[i].nodeType) - 2);
|
||||||
|
|
||||||
UpdatePlayerScore(player, SCORE_BASES_ASSAULTED, 1);
|
UpdatePlayerScore(player, SCORE_BASES_ASSAULTED, 1);
|
||||||
|
|
||||||
@@ -724,7 +724,7 @@ void BattlegroundIC::HandleCapturedNodes(ICNodePoint* nodePoint, bool recapture)
|
|||||||
{
|
{
|
||||||
if (nodePoint->nodeType != NODE_TYPE_REFINERY && nodePoint->nodeType != NODE_TYPE_QUARRY)
|
if (nodePoint->nodeType != NODE_TYPE_REFINERY && nodePoint->nodeType != NODE_TYPE_QUARRY)
|
||||||
{
|
{
|
||||||
if (!AddSpiritGuide(BG_IC_NPC_SPIRIT_GUIDE_1 + nodePoint->nodeType - 2,
|
if (!AddSpiritGuide(static_cast<uint16>(BG_IC_NPC_SPIRIT_GUIDE_1) + nodePoint->nodeType - 2,
|
||||||
BG_IC_SpiritGuidePos[nodePoint->nodeType][0], BG_IC_SpiritGuidePos[nodePoint->nodeType][1],
|
BG_IC_SpiritGuidePos[nodePoint->nodeType][0], BG_IC_SpiritGuidePos[nodePoint->nodeType][1],
|
||||||
BG_IC_SpiritGuidePos[nodePoint->nodeType][2], BG_IC_SpiritGuidePos[nodePoint->nodeType][3],
|
BG_IC_SpiritGuidePos[nodePoint->nodeType][2], BG_IC_SpiritGuidePos[nodePoint->nodeType][3],
|
||||||
nodePoint->faction))
|
nodePoint->faction))
|
||||||
@@ -983,7 +983,7 @@ GraveyardStruct const* BattlegroundIC::GetClosestGraveyard(Player* player)
|
|||||||
}
|
}
|
||||||
// If not, place ghost on starting location
|
// If not, place ghost on starting location
|
||||||
if (!good_entry)
|
if (!good_entry)
|
||||||
good_entry = sGraveyard->GetGraveyard(BG_IC_GraveyardIds[player->GetTeamId() + MAX_NODE_TYPES]);
|
good_entry = sGraveyard->GetGraveyard(BG_IC_GraveyardIds[player->GetTeamId() + static_cast<uint16>(MAX_NODE_TYPES)]);
|
||||||
|
|
||||||
return good_entry;
|
return good_entry;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ BattlegroundSA::BattlegroundSA()
|
|||||||
StartMessageIds[BG_STARTING_EVENT_THIRD] = LANG_BG_SA_START_HALF_MINUTE;
|
StartMessageIds[BG_STARTING_EVENT_THIRD] = LANG_BG_SA_START_HALF_MINUTE;
|
||||||
StartMessageIds[BG_STARTING_EVENT_FOURTH] = LANG_BG_SA_HAS_BEGUN;
|
StartMessageIds[BG_STARTING_EVENT_FOURTH] = LANG_BG_SA_HAS_BEGUN;
|
||||||
BgObjects.resize(BG_SA_MAXOBJ);
|
BgObjects.resize(BG_SA_MAXOBJ);
|
||||||
BgCreatures.resize(BG_SA_MAXNPC + BG_SA_MAX_GY);
|
BgCreatures.resize(static_cast<uint16>(BG_SA_MAXNPC) + BG_SA_MAX_GY);
|
||||||
TimerEnabled = false;
|
TimerEnabled = false;
|
||||||
UpdateWaitTimer = 0;
|
UpdateWaitTimer = 0;
|
||||||
SignaledRoundTwo = false;
|
SignaledRoundTwo = false;
|
||||||
@@ -85,7 +85,7 @@ bool BattlegroundSA::ResetObjs()
|
|||||||
for (uint8 i = 0; i < BG_SA_MAXNPC; i++)
|
for (uint8 i = 0; i < BG_SA_MAXNPC; i++)
|
||||||
DelCreature(i);
|
DelCreature(i);
|
||||||
|
|
||||||
for (uint8 i = BG_SA_MAXNPC; i < BG_SA_MAXNPC + BG_SA_MAX_GY; i++)
|
for (uint8 i = BG_SA_MAXNPC; i < static_cast<uint16>(BG_SA_MAXNPC) + BG_SA_MAX_GY; i++)
|
||||||
DelCreature(i);
|
DelCreature(i);
|
||||||
|
|
||||||
for (uint8 i = 0; i < 6; ++i)
|
for (uint8 i = 0; i < 6; ++i)
|
||||||
@@ -893,7 +893,7 @@ void BattlegroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player* Source)
|
|||||||
|
|
||||||
GraveyardStatus[i] = Source->GetTeamId();
|
GraveyardStatus[i] = Source->GetTeamId();
|
||||||
// Those who are waiting to resurrect at this node are taken to the closest own node's graveyard
|
// Those who are waiting to resurrect at this node are taken to the closest own node's graveyard
|
||||||
GuidVector& ghost_list = m_ReviveQueue[BgCreatures[BG_SA_MAXNPC + i]];
|
GuidVector& ghost_list = m_ReviveQueue[BgCreatures[static_cast<uint16>(BG_SA_MAXNPC) + i]];
|
||||||
if (!ghost_list.empty())
|
if (!ghost_list.empty())
|
||||||
{
|
{
|
||||||
GraveyardStruct const* ClosestGrave = nullptr;
|
GraveyardStruct const* ClosestGrave = nullptr;
|
||||||
@@ -914,7 +914,7 @@ void BattlegroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player* Source)
|
|||||||
ghost_list.clear();
|
ghost_list.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
DelCreature(BG_SA_MAXNPC + i);
|
DelCreature(static_cast<uint16>(BG_SA_MAXNPC) + i);
|
||||||
|
|
||||||
GraveyardStruct const* sg = sGraveyard->GetGraveyard(BG_SA_GYEntries[i]);
|
GraveyardStruct const* sg = sGraveyard->GetGraveyard(BG_SA_GYEntries[i]);
|
||||||
if (!sg)
|
if (!sg)
|
||||||
@@ -923,7 +923,7 @@ void BattlegroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player* Source)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
AddSpiritGuide(i + BG_SA_MAXNPC, sg->x, sg->y, sg->z, BG_SA_GYOrientation[i], GraveyardStatus[i]);
|
AddSpiritGuide(i + static_cast<uint16>(BG_SA_MAXNPC), sg->x, sg->y, sg->z, BG_SA_GYOrientation[i], GraveyardStatus[i]);
|
||||||
uint32 npc = 0;
|
uint32 npc = 0;
|
||||||
uint32 flag = 0;
|
uint32 flag = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -1005,9 +1005,9 @@ namespace lfg
|
|||||||
currInternalInfoMap[sitr->first] = RBInternalInfo(guid, sitr->second.comment, !groupGuid.IsEmpty(), groupGuid, sitr->second.roles, encounterMask, instanceGuid,
|
currInternalInfoMap[sitr->first] = RBInternalInfo(guid, sitr->second.comment, !groupGuid.IsEmpty(), groupGuid, sitr->second.roles, encounterMask, instanceGuid,
|
||||||
1, p->getLevel(), p->getClass(), p->getRace(), p->GetAverageItemLevel(),
|
1, p->getLevel(), p->getClass(), p->getRace(), p->GetAverageItemLevel(),
|
||||||
talents, p->m_last_area_id, p->GetArmor(), (uint32)std::max<int32>(0, spellDamage), (uint32)std::max<int32>(0, spellHeal),
|
talents, p->m_last_area_id, p->GetArmor(), (uint32)std::max<int32>(0, spellDamage), (uint32)std::max<int32>(0, spellHeal),
|
||||||
p->GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + CR_CRIT_MELEE), p->GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + CR_CRIT_RANGED), p->GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + CR_CRIT_SPELL), std::max<float>(0.0f, mp5), std::max<float>(0.0f, mp5combat),
|
p->GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + static_cast<uint16>(CR_CRIT_MELEE)), p->GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + static_cast<uint16>(CR_CRIT_RANGED)), p->GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + static_cast<uint16>(CR_CRIT_SPELL)), std::max<float>(0.0f, mp5), std::max<float>(0.0f, mp5combat),
|
||||||
std::max<uint32>(baseAP, rangedAP), (uint32)p->GetStat(STAT_AGILITY), p->GetMaxHealth(), maxPower, p->GetDefenseSkillValue(),
|
std::max<uint32>(baseAP, rangedAP), (uint32)p->GetStat(STAT_AGILITY), p->GetMaxHealth(), maxPower, p->GetDefenseSkillValue(),
|
||||||
p->GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + CR_DODGE), p->GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + CR_BLOCK), p->GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + CR_PARRY), p->GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + CR_HASTE_SPELL), p->GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + CR_EXPERTISE));
|
p->GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + static_cast<uint16>(CR_DODGE)), p->GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + static_cast<uint16>(CR_BLOCK)), p->GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + static_cast<uint16>(CR_PARRY)), p->GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + static_cast<uint16>(CR_HASTE_SPELL)), p->GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + static_cast<uint16>(CR_EXPERTISE)));
|
||||||
|
|
||||||
if (!groupGuid)
|
if (!groupGuid)
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -2169,7 +2169,7 @@ void Player::Regenerate(Powers power)
|
|||||||
//Set the value to 0 first then set it to max to force resend of packet as for range clients keeps removing rage
|
//Set the value to 0 first then set it to max to force resend of packet as for range clients keeps removing rage
|
||||||
if (power == POWER_RAGE || power == POWER_RUNIC_POWER)
|
if (power == POWER_RAGE || power == POWER_RUNIC_POWER)
|
||||||
{
|
{
|
||||||
UpdateUInt32Value(UNIT_FIELD_POWER1 + power, 0);
|
UpdateUInt32Value(static_cast<uint16>(UNIT_FIELD_POWER1) + power, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
SetPower(power, maxValue);
|
SetPower(power, maxValue);
|
||||||
@@ -2289,7 +2289,7 @@ void Player::Regenerate(Powers power)
|
|||||||
if (m_regenTimerCount >= 2000)
|
if (m_regenTimerCount >= 2000)
|
||||||
SetPower(power, curValue);
|
SetPower(power, curValue);
|
||||||
else
|
else
|
||||||
UpdateUInt32Value(UNIT_FIELD_POWER1 + power, curValue);
|
UpdateUInt32Value(static_cast<uint16>(UNIT_FIELD_POWER1) + power, curValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::RegenerateHealth()
|
void Player::RegenerateHealth()
|
||||||
@@ -5484,7 +5484,7 @@ void Player::GetDodgeFromAgility(float& diminishing, float& nondiminishing)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
// TODO: research if talents/effects that increase total agility by x% should increase non-diminishing part
|
// TODO: research if talents/effects that increase total agility by x% should increase non-diminishing part
|
||||||
float base_agility = GetCreateStat(STAT_AGILITY) * m_auraModifiersGroup[UNIT_MOD_STAT_START + STAT_AGILITY][BASE_PCT];
|
float base_agility = GetCreateStat(STAT_AGILITY) * m_auraModifiersGroup[UNIT_MOD_STAT_START + static_cast<uint16>(STAT_AGILITY)][BASE_PCT];
|
||||||
float bonus_agility = GetStat(STAT_AGILITY) - base_agility;
|
float bonus_agility = GetStat(STAT_AGILITY) - base_agility;
|
||||||
|
|
||||||
// calculate diminishing (green in char screen) and non-diminishing (white) contribution
|
// calculate diminishing (green in char screen) and non-diminishing (white) contribution
|
||||||
@@ -5527,7 +5527,7 @@ float Player::GetRatingMultiplier(CombatRating cr) const
|
|||||||
|
|
||||||
float Player::GetRatingBonusValue(CombatRating cr) const
|
float Player::GetRatingBonusValue(CombatRating cr) const
|
||||||
{
|
{
|
||||||
return float(GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + cr)) * GetRatingMultiplier(cr);
|
return float(GetUInt32Value(static_cast<uint16>(PLAYER_FIELD_COMBAT_RATING_1) + cr)) * GetRatingMultiplier(cr);
|
||||||
}
|
}
|
||||||
|
|
||||||
float Player::GetExpertiseDodgeOrParryReduction(WeaponAttackType attType) const
|
float Player::GetExpertiseDodgeOrParryReduction(WeaponAttackType attType) const
|
||||||
@@ -5631,7 +5631,7 @@ void Player::UpdateRating(CombatRating cr)
|
|||||||
amount += int32(CalculatePct(GetStat(Stats((*i)->GetMiscValueB())), (*i)->GetAmount()));
|
amount += int32(CalculatePct(GetStat(Stats((*i)->GetMiscValueB())), (*i)->GetAmount()));
|
||||||
if (amount < 0)
|
if (amount < 0)
|
||||||
amount = 0;
|
amount = 0;
|
||||||
SetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + cr, uint32(amount));
|
SetUInt32Value(static_cast<uint16>(PLAYER_FIELD_COMBAT_RATING_1) + cr, uint32(amount));
|
||||||
|
|
||||||
bool affectStats = CanModifyStats();
|
bool affectStats = CanModifyStats();
|
||||||
|
|
||||||
|
|||||||
@@ -7779,7 +7779,7 @@ void Player::_SaveStats(CharacterDatabaseTransaction trans)
|
|||||||
stmt->setUInt32(index++, GetUInt32Value(UNIT_FIELD_ATTACK_POWER));
|
stmt->setUInt32(index++, GetUInt32Value(UNIT_FIELD_ATTACK_POWER));
|
||||||
stmt->setUInt32(index++, GetUInt32Value(UNIT_FIELD_RANGED_ATTACK_POWER));
|
stmt->setUInt32(index++, GetUInt32Value(UNIT_FIELD_RANGED_ATTACK_POWER));
|
||||||
stmt->setUInt32(index++, GetBaseSpellPowerBonus());
|
stmt->setUInt32(index++, GetBaseSpellPowerBonus());
|
||||||
stmt->setUInt32(index++, GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + CR_CRIT_TAKEN_SPELL));
|
stmt->setUInt32(index++, GetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + static_cast<uint16>(CR_CRIT_TAKEN_SPELL)));
|
||||||
|
|
||||||
trans->Append(stmt);
|
trans->Append(stmt);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -290,7 +290,7 @@ void Player::UpdateMaxHealth()
|
|||||||
|
|
||||||
void Player::UpdateMaxPower(Powers power)
|
void Player::UpdateMaxPower(Powers power)
|
||||||
{
|
{
|
||||||
UnitMods unitMod = UnitMods(UNIT_MOD_POWER_START + power);
|
UnitMods unitMod = UnitMods(static_cast<uint16>(UNIT_MOD_POWER_START) + power);
|
||||||
|
|
||||||
float bonusPower = (power == POWER_MANA && GetCreatePowers(power) > 0) ? GetManaBonusFromIntellect() : 0;
|
float bonusPower = (power == POWER_MANA && GetCreatePowers(power) > 0) ? GetManaBonusFromIntellect() : 0;
|
||||||
|
|
||||||
@@ -799,7 +799,7 @@ void Player::UpdateSpellCritChance(uint32 school)
|
|||||||
void Player::UpdateArmorPenetration(int32 amount)
|
void Player::UpdateArmorPenetration(int32 amount)
|
||||||
{
|
{
|
||||||
// Store Rating Value
|
// Store Rating Value
|
||||||
SetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + CR_ARMOR_PENETRATION, amount);
|
SetUInt32Value(PLAYER_FIELD_COMBAT_RATING_1 + static_cast<uint16>(CR_ARMOR_PENETRATION), amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::UpdateMeleeHitChances()
|
void Player::UpdateMeleeHitChances()
|
||||||
@@ -1002,7 +1002,7 @@ void Creature::UpdateMaxHealth()
|
|||||||
|
|
||||||
void Creature::UpdateMaxPower(Powers power)
|
void Creature::UpdateMaxPower(Powers power)
|
||||||
{
|
{
|
||||||
UnitMods unitMod = UnitMods(UNIT_MOD_POWER_START + power);
|
UnitMods unitMod = UnitMods(static_cast<uint16>(UNIT_MOD_POWER_START) + power);
|
||||||
|
|
||||||
float value = GetTotalAuraModValue(unitMod);
|
float value = GetTotalAuraModValue(unitMod);
|
||||||
SetMaxPower(power, uint32(value));
|
SetMaxPower(power, uint32(value));
|
||||||
@@ -1202,7 +1202,7 @@ void Guardian::UpdateMaxHealth()
|
|||||||
|
|
||||||
void Guardian::UpdateMaxPower(Powers power)
|
void Guardian::UpdateMaxPower(Powers power)
|
||||||
{
|
{
|
||||||
UnitMods unitMod = UnitMods(UNIT_MOD_POWER_START + power);
|
UnitMods unitMod = UnitMods(static_cast<uint16>(UNIT_MOD_POWER_START) + power);
|
||||||
|
|
||||||
float addValue = (power == POWER_MANA) ? std::max<float>(GetStat(STAT_INTELLECT) - GetCreateStat(STAT_INTELLECT), 0.0f) : 0.0f;
|
float addValue = (power == POWER_MANA) ? std::max<float>(GetStat(STAT_INTELLECT) - GetCreateStat(STAT_INTELLECT), 0.0f) : 0.0f;
|
||||||
float multiplicator = 15.0f;
|
float multiplicator = 15.0f;
|
||||||
|
|||||||
@@ -11414,7 +11414,7 @@ float Unit::SpellDoneCritChance(Unit const* /*victim*/, SpellInfo const* spellPr
|
|||||||
crit_chance = 0.0f;
|
crit_chance = 0.0f;
|
||||||
// For other schools
|
// For other schools
|
||||||
else if (GetTypeId() == TYPEID_PLAYER)
|
else if (GetTypeId() == TYPEID_PLAYER)
|
||||||
crit_chance = GetFloatValue(PLAYER_SPELL_CRIT_PERCENTAGE1 + GetFirstSchoolInMask(schoolMask));
|
crit_chance = GetFloatValue(static_cast<uint16>(PLAYER_SPELL_CRIT_PERCENTAGE1) + GetFirstSchoolInMask(schoolMask));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
crit_chance = (float)m_baseSpellCritChance;
|
crit_chance = (float)m_baseSpellCritChance;
|
||||||
@@ -14492,7 +14492,7 @@ float Unit::GetModifierValue(UnitMods unitMod, UnitModifierType modifierType) co
|
|||||||
|
|
||||||
float Unit::GetTotalStatValue(Stats stat, float additionalValue) const
|
float Unit::GetTotalStatValue(Stats stat, float additionalValue) const
|
||||||
{
|
{
|
||||||
UnitMods unitMod = UnitMods(UNIT_MOD_STAT_START + stat);
|
UnitMods unitMod = UnitMods(static_cast<uint16>(UNIT_MOD_STAT_START) + stat);
|
||||||
|
|
||||||
if (m_auraModifiersGroup[unitMod][TOTAL_PCT] <= 0.0f)
|
if (m_auraModifiersGroup[unitMod][TOTAL_PCT] <= 0.0f)
|
||||||
return 0.0f;
|
return 0.0f;
|
||||||
@@ -14530,7 +14530,7 @@ void Unit::ApplyStatPercentBuffMod(Stats stat, float val, bool apply)
|
|||||||
if (val == -100.0f) // prevent set var to zero
|
if (val == -100.0f) // prevent set var to zero
|
||||||
val = -99.99f;
|
val = -99.99f;
|
||||||
float var = GetStat(stat) * val / 100.0f;
|
float var = GetStat(stat) * val / 100.0f;
|
||||||
ApplyModSignedFloatValue((var > 0 ? UNIT_FIELD_POSSTAT0 + stat : UNIT_FIELD_NEGSTAT0 + stat), var, apply);
|
ApplyModSignedFloatValue((var > 0 ? static_cast<uint16>(UNIT_FIELD_POSSTAT0) + stat : static_cast<uint16>(UNIT_FIELD_NEGSTAT0) + stat), var, apply);
|
||||||
}
|
}
|
||||||
|
|
||||||
SpellSchools Unit::GetSpellSchoolByAuraGroup(UnitMods unitMod) const
|
SpellSchools Unit::GetSpellSchoolByAuraGroup(UnitMods unitMod) const
|
||||||
@@ -14754,7 +14754,7 @@ void Unit::SetPower(Powers power, uint32 val)
|
|||||||
if (maxPower < val)
|
if (maxPower < val)
|
||||||
val = maxPower;
|
val = maxPower;
|
||||||
|
|
||||||
SetStatInt32Value(UNIT_FIELD_POWER1 + power, val);
|
SetStatInt32Value(static_cast<uint16>(UNIT_FIELD_POWER1) + power, val);
|
||||||
|
|
||||||
WorldPacket data(SMSG_POWER_UPDATE);
|
WorldPacket data(SMSG_POWER_UPDATE);
|
||||||
data << GetPackGUID();
|
data << GetPackGUID();
|
||||||
@@ -14790,7 +14790,7 @@ void Unit::SetPower(Powers power, uint32 val)
|
|||||||
void Unit::SetMaxPower(Powers power, uint32 val)
|
void Unit::SetMaxPower(Powers power, uint32 val)
|
||||||
{
|
{
|
||||||
uint32 cur_power = GetPower(power);
|
uint32 cur_power = GetPower(power);
|
||||||
SetStatInt32Value(UNIT_FIELD_MAXPOWER1 + power, val);
|
SetStatInt32Value(static_cast<uint16>(UNIT_FIELD_MAXPOWER1) + power, val);
|
||||||
|
|
||||||
// group update
|
// group update
|
||||||
if (GetTypeId() == TYPEID_PLAYER)
|
if (GetTypeId() == TYPEID_PLAYER)
|
||||||
@@ -16308,12 +16308,12 @@ void Unit::ApplyAttackTimePercentMod(WeaponAttackType att, float val, bool apply
|
|||||||
if (val > 0)
|
if (val > 0)
|
||||||
{
|
{
|
||||||
ApplyPercentModFloatVar(m_modAttackSpeedPct[att], val, !apply);
|
ApplyPercentModFloatVar(m_modAttackSpeedPct[att], val, !apply);
|
||||||
ApplyPercentModFloatValue(UNIT_FIELD_BASEATTACKTIME + att, val, !apply);
|
ApplyPercentModFloatValue(static_cast<uint16>(UNIT_FIELD_BASEATTACKTIME) + att, val, !apply);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ApplyPercentModFloatVar(m_modAttackSpeedPct[att], -val, apply);
|
ApplyPercentModFloatVar(m_modAttackSpeedPct[att], -val, apply);
|
||||||
ApplyPercentModFloatValue(UNIT_FIELD_BASEATTACKTIME + att, -val, apply);
|
ApplyPercentModFloatValue(static_cast<uint16>(UNIT_FIELD_BASEATTACKTIME) + att, -val, apply);
|
||||||
}
|
}
|
||||||
m_attackTimer[att] = uint32(GetAttackTime(att) * m_modAttackSpeedPct[att] * remainingTimePct);
|
m_attackTimer[att] = uint32(GetAttackTime(att) * m_modAttackSpeedPct[att] * remainingTimePct);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1512,14 +1512,14 @@ public:
|
|||||||
[[nodiscard]] uint32 getClassMask() const { return 1 << (getClass() - 1); }
|
[[nodiscard]] uint32 getClassMask() const { return 1 << (getClass() - 1); }
|
||||||
[[nodiscard]] uint8 getGender() const { return GetByteValue(UNIT_FIELD_BYTES_0, 2); }
|
[[nodiscard]] uint8 getGender() const { return GetByteValue(UNIT_FIELD_BYTES_0, 2); }
|
||||||
|
|
||||||
[[nodiscard]] float GetStat(Stats stat) const { return float(GetUInt32Value(UNIT_FIELD_STAT0 + stat)); }
|
[[nodiscard]] float GetStat(Stats stat) const { return float(GetUInt32Value(static_cast<uint16>(UNIT_FIELD_STAT0) + stat)); }
|
||||||
void SetStat(Stats stat, int32 val) { SetStatInt32Value(UNIT_FIELD_STAT0 + stat, val); }
|
void SetStat(Stats stat, int32 val) { SetStatInt32Value(static_cast<uint16>(UNIT_FIELD_STAT0) + stat, val); }
|
||||||
[[nodiscard]] uint32 GetArmor() const { return GetResistance(SPELL_SCHOOL_NORMAL); }
|
[[nodiscard]] uint32 GetArmor() const { return GetResistance(SPELL_SCHOOL_NORMAL); }
|
||||||
void SetArmor(int32 val) { SetResistance(SPELL_SCHOOL_NORMAL, val); }
|
void SetArmor(int32 val) { SetResistance(SPELL_SCHOOL_NORMAL, val); }
|
||||||
|
|
||||||
[[nodiscard]] uint32 GetResistance(SpellSchools school) const { return GetUInt32Value(UNIT_FIELD_RESISTANCES + school); }
|
[[nodiscard]] uint32 GetResistance(SpellSchools school) const { return GetUInt32Value(static_cast<uint16>(UNIT_FIELD_RESISTANCES) + school); }
|
||||||
[[nodiscard]] uint32 GetResistance(SpellSchoolMask mask) const;
|
[[nodiscard]] uint32 GetResistance(SpellSchoolMask mask) const;
|
||||||
void SetResistance(SpellSchools school, int32 val) { SetStatInt32Value(UNIT_FIELD_RESISTANCES + school, val); }
|
void SetResistance(SpellSchools school, int32 val) { SetStatInt32Value(static_cast<uint16>(UNIT_FIELD_RESISTANCES) + school, val); }
|
||||||
static float GetEffectiveResistChance(Unit const* owner, SpellSchoolMask schoolMask, Unit const* victim, SpellInfo const* spellInfo = nullptr);
|
static float GetEffectiveResistChance(Unit const* owner, SpellSchoolMask schoolMask, Unit const* victim, SpellInfo const* spellInfo = nullptr);
|
||||||
|
|
||||||
[[nodiscard]] uint32 GetHealth() const { return GetUInt32Value(UNIT_FIELD_HEALTH); }
|
[[nodiscard]] uint32 GetHealth() const { return GetUInt32Value(UNIT_FIELD_HEALTH); }
|
||||||
@@ -1543,8 +1543,8 @@ public:
|
|||||||
|
|
||||||
[[nodiscard]] Powers getPowerType() const { return Powers(GetByteValue(UNIT_FIELD_BYTES_0, 3)); }
|
[[nodiscard]] Powers getPowerType() const { return Powers(GetByteValue(UNIT_FIELD_BYTES_0, 3)); }
|
||||||
void setPowerType(Powers power);
|
void setPowerType(Powers power);
|
||||||
[[nodiscard]] uint32 GetPower(Powers power) const { return GetUInt32Value(UNIT_FIELD_POWER1 + power); }
|
[[nodiscard]] uint32 GetPower(Powers power) const { return GetUInt32Value(static_cast<uint16>(UNIT_FIELD_POWER1) + power); }
|
||||||
[[nodiscard]] uint32 GetMaxPower(Powers power) const { return GetUInt32Value(UNIT_FIELD_MAXPOWER1 + power); }
|
[[nodiscard]] uint32 GetMaxPower(Powers power) const { return GetUInt32Value(static_cast<uint16>(UNIT_FIELD_MAXPOWER1) + power); }
|
||||||
void SetPower(Powers power, uint32 val);
|
void SetPower(Powers power, uint32 val);
|
||||||
void SetMaxPower(Powers power, uint32 val);
|
void SetMaxPower(Powers power, uint32 val);
|
||||||
// returns the change in power
|
// returns the change in power
|
||||||
@@ -1553,11 +1553,11 @@ public:
|
|||||||
|
|
||||||
[[nodiscard]] uint32 GetAttackTime(WeaponAttackType att) const
|
[[nodiscard]] uint32 GetAttackTime(WeaponAttackType att) const
|
||||||
{
|
{
|
||||||
float f_BaseAttackTime = GetFloatValue(UNIT_FIELD_BASEATTACKTIME + att) / m_modAttackSpeedPct[att];
|
float f_BaseAttackTime = GetFloatValue(static_cast<uint16>(UNIT_FIELD_BASEATTACKTIME) + att) / m_modAttackSpeedPct[att];
|
||||||
return (uint32)f_BaseAttackTime;
|
return (uint32)f_BaseAttackTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetAttackTime(WeaponAttackType att, uint32 val) { SetFloatValue(UNIT_FIELD_BASEATTACKTIME + att, val * m_modAttackSpeedPct[att]); }
|
void SetAttackTime(WeaponAttackType att, uint32 val) { SetFloatValue(static_cast<uint16>(UNIT_FIELD_BASEATTACKTIME) + att, val * m_modAttackSpeedPct[att]); }
|
||||||
void ApplyAttackTimePercentMod(WeaponAttackType att, float val, bool apply);
|
void ApplyAttackTimePercentMod(WeaponAttackType att, float val, bool apply);
|
||||||
void ApplyCastTimePercentMod(float val, bool apply);
|
void ApplyCastTimePercentMod(float val, bool apply);
|
||||||
|
|
||||||
@@ -2069,16 +2069,16 @@ public:
|
|||||||
int32 GetMaxPositiveAuraModifierByAffectMask(AuraType auratype, SpellInfo const* affectedSpell) const;
|
int32 GetMaxPositiveAuraModifierByAffectMask(AuraType auratype, SpellInfo const* affectedSpell) const;
|
||||||
int32 GetMaxNegativeAuraModifierByAffectMask(AuraType auratype, SpellInfo const* affectedSpell) const;
|
int32 GetMaxNegativeAuraModifierByAffectMask(AuraType auratype, SpellInfo const* affectedSpell) const;
|
||||||
|
|
||||||
[[nodiscard]] float GetResistanceBuffMods(SpellSchools school, bool positive) const { return GetFloatValue(positive ? UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE + school : UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE + school); }
|
[[nodiscard]] float GetResistanceBuffMods(SpellSchools school, bool positive) const { return GetFloatValue(positive ? static_cast<uint16>(UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE) + school : static_cast<uint16>(UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE) + + school); }
|
||||||
void SetResistanceBuffMods(SpellSchools school, bool positive, float val) { SetFloatValue(positive ? UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE + school : UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE + school, val); }
|
void SetResistanceBuffMods(SpellSchools school, bool positive, float val) { SetFloatValue(positive ? static_cast<uint16>(UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE) + school : static_cast<uint16>(UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE) + + school, val); }
|
||||||
void ApplyResistanceBuffModsMod(SpellSchools school, bool positive, float val, bool apply) { ApplyModSignedFloatValue(positive ? UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE + school : UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE + school, val, apply); }
|
void ApplyResistanceBuffModsMod(SpellSchools school, bool positive, float val, bool apply) { ApplyModSignedFloatValue(positive ? static_cast<uint16>(UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE) + school : static_cast<uint16>(UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE) + + school, val, apply); }
|
||||||
void ApplyResistanceBuffModsPercentMod(SpellSchools school, bool positive, float val, bool apply) { ApplyPercentModFloatValue(positive ? UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE + school : UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE + school, val, apply); }
|
void ApplyResistanceBuffModsPercentMod(SpellSchools school, bool positive, float val, bool apply) { ApplyPercentModFloatValue(positive ? static_cast<uint16>(UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE) + school : static_cast<uint16>(UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE) + + school, val, apply); }
|
||||||
void InitStatBuffMods()
|
void InitStatBuffMods()
|
||||||
{
|
{
|
||||||
for (uint8 i = STAT_STRENGTH; i < MAX_STATS; ++i) SetFloatValue(UNIT_FIELD_POSSTAT0 + i, 0);
|
for (uint8 i = STAT_STRENGTH; i < MAX_STATS; ++i) SetFloatValue(static_cast<uint16>(UNIT_FIELD_POSSTAT0) + i, 0);
|
||||||
for (uint8 i = STAT_STRENGTH; i < MAX_STATS; ++i) SetFloatValue(UNIT_FIELD_NEGSTAT0 + i, 0);
|
for (uint8 i = STAT_STRENGTH; i < MAX_STATS; ++i) SetFloatValue(static_cast<uint16>(UNIT_FIELD_NEGSTAT0) + i, 0);
|
||||||
}
|
}
|
||||||
void ApplyStatBuffMod(Stats stat, float val, bool apply) { ApplyModSignedFloatValue((val > 0 ? UNIT_FIELD_POSSTAT0 + stat : UNIT_FIELD_NEGSTAT0 + stat), val, apply); }
|
void ApplyStatBuffMod(Stats stat, float val, bool apply) { ApplyModSignedFloatValue((val > 0 ? static_cast<uint16>(UNIT_FIELD_POSSTAT0) + stat : static_cast<uint16>(UNIT_FIELD_NEGSTAT0) + stat), val, apply); }
|
||||||
void ApplyStatPercentBuffMod(Stats stat, float val, bool apply);
|
void ApplyStatPercentBuffMod(Stats stat, float val, bool apply);
|
||||||
|
|
||||||
void SetCreateStat(Stats stat, float val) { m_createStats[stat] = val; }
|
void SetCreateStat(Stats stat, float val) { m_createStats[stat] = val; }
|
||||||
@@ -2087,8 +2087,8 @@ public:
|
|||||||
void SetCreateMana(uint32 val) { SetUInt32Value(UNIT_FIELD_BASE_MANA, val); }
|
void SetCreateMana(uint32 val) { SetUInt32Value(UNIT_FIELD_BASE_MANA, val); }
|
||||||
[[nodiscard]] uint32 GetCreateMana() const { return GetUInt32Value(UNIT_FIELD_BASE_MANA); }
|
[[nodiscard]] uint32 GetCreateMana() const { return GetUInt32Value(UNIT_FIELD_BASE_MANA); }
|
||||||
[[nodiscard]] uint32 GetCreatePowers(Powers power) const;
|
[[nodiscard]] uint32 GetCreatePowers(Powers power) const;
|
||||||
[[nodiscard]] float GetPosStat(Stats stat) const { return GetFloatValue(UNIT_FIELD_POSSTAT0 + stat); }
|
[[nodiscard]] float GetPosStat(Stats stat) const { return GetFloatValue(static_cast<uint16>(UNIT_FIELD_POSSTAT0) + stat); }
|
||||||
[[nodiscard]] float GetNegStat(Stats stat) const { return GetFloatValue(UNIT_FIELD_NEGSTAT0 + stat); }
|
[[nodiscard]] float GetNegStat(Stats stat) const { return GetFloatValue(static_cast<uint16>(UNIT_FIELD_NEGSTAT0) + stat); }
|
||||||
[[nodiscard]] float GetCreateStat(Stats stat) const { return m_createStats[stat]; }
|
[[nodiscard]] float GetCreateStat(Stats stat) const { return m_createStats[stat]; }
|
||||||
|
|
||||||
void SetCurrentCastedSpell(Spell* pSpell);
|
void SetCurrentCastedSpell(Spell* pSpell);
|
||||||
|
|||||||
@@ -210,10 +210,7 @@ namespace Movement
|
|||||||
{
|
{
|
||||||
if (!(flags & MoveSplineFlag::Mask_CatmullRom) && path.size() > 2)
|
if (!(flags & MoveSplineFlag::Mask_CatmullRom) && path.size() > 2)
|
||||||
{
|
{
|
||||||
enum
|
constexpr auto MAX_OFFSET = (1 << 11) / 2;
|
||||||
{
|
|
||||||
MAX_OFFSET = (1 << 11) / 2
|
|
||||||
};
|
|
||||||
Vector3 middle = (path.front() + path.back()) / 2;
|
Vector3 middle = (path.front() + path.back()) / 2;
|
||||||
Vector3 offset;
|
Vector3 offset;
|
||||||
for (uint32 i = 1; i < path.size() - 1; ++i)
|
for (uint32 i = 1; i < path.size() - 1; ++i)
|
||||||
|
|||||||
@@ -4313,7 +4313,7 @@ void AuraEffect::HandleAuraModIncreaseEnergy(AuraApplication const* aurApp, uint
|
|||||||
//if (int32(PowerType) != GetMiscValue())
|
//if (int32(PowerType) != GetMiscValue())
|
||||||
// return;
|
// return;
|
||||||
|
|
||||||
UnitMods unitMod = UnitMods(UNIT_MOD_POWER_START + PowerType);
|
UnitMods unitMod = UnitMods(static_cast<uint16>(UNIT_MOD_POWER_START) + PowerType);
|
||||||
|
|
||||||
target->HandleStatModifier(unitMod, TOTAL_VALUE, float(GetAmount()), apply);
|
target->HandleStatModifier(unitMod, TOTAL_VALUE, float(GetAmount()), apply);
|
||||||
}
|
}
|
||||||
@@ -4333,7 +4333,7 @@ void AuraEffect::HandleAuraModIncreaseEnergyPercent(AuraApplication const* aurAp
|
|||||||
//if (int32(PowerType) != GetMiscValue())
|
//if (int32(PowerType) != GetMiscValue())
|
||||||
// return;
|
// return;
|
||||||
|
|
||||||
UnitMods unitMod = UnitMods(UNIT_MOD_POWER_START + PowerType);
|
UnitMods unitMod = UnitMods(static_cast<uint16>(UNIT_MOD_POWER_START) + PowerType);
|
||||||
float amount = float(GetAmount());
|
float amount = float(GetAmount());
|
||||||
|
|
||||||
if (apply)
|
if (apply)
|
||||||
|
|||||||
@@ -2382,7 +2382,7 @@ int32 SpellInfo::CalcPowerCost(Unit const* caster, SpellSchoolMask schoolMask, S
|
|||||||
}
|
}
|
||||||
SpellSchools school = GetFirstSchoolInMask(schoolMask);
|
SpellSchools school = GetFirstSchoolInMask(schoolMask);
|
||||||
// Flat mod from caster auras by spell school
|
// Flat mod from caster auras by spell school
|
||||||
powerCost += caster->GetInt32Value(UNIT_FIELD_POWER_COST_MODIFIER + school);
|
powerCost += caster->GetInt32Value(static_cast<uint16>(UNIT_FIELD_POWER_COST_MODIFIER) + school);
|
||||||
|
|
||||||
// Shiv - costs 20 + weaponSpeed*10 energy (apply only to non-triggered spell with energy cost)
|
// Shiv - costs 20 + weaponSpeed*10 energy (apply only to non-triggered spell with energy cost)
|
||||||
if (AttributesEx4 & SPELL_ATTR4_WEAPON_SPEED_COST_SCALING)
|
if (AttributesEx4 & SPELL_ATTR4_WEAPON_SPEED_COST_SCALING)
|
||||||
@@ -2418,7 +2418,7 @@ int32 SpellInfo::CalcPowerCost(Unit const* caster, SpellSchoolMask schoolMask, S
|
|||||||
}
|
}
|
||||||
|
|
||||||
// PCT mod from user auras by school
|
// PCT mod from user auras by school
|
||||||
powerCost = int32(powerCost * (1.0f + caster->GetFloatValue(UNIT_FIELD_POWER_COST_MULTIPLIER + school)));
|
powerCost = int32(powerCost * (1.0f + caster->GetFloatValue(static_cast<uint16>(UNIT_FIELD_POWER_COST_MULTIPLIER) + school)));
|
||||||
if (powerCost < 0)
|
if (powerCost < 0)
|
||||||
powerCost = 0;
|
powerCost = 0;
|
||||||
return powerCost;
|
return powerCost;
|
||||||
|
|||||||
@@ -221,7 +221,7 @@ public:
|
|||||||
ghoul->SetModifierValue(UNIT_MOD_HEALTH, TOTAL_VALUE, (ghoul->GetStat(STAT_STAMINA) - ghoul->GetCreateStat(STAT_STAMINA)) * 10.0f);
|
ghoul->SetModifierValue(UNIT_MOD_HEALTH, TOTAL_VALUE, (ghoul->GetStat(STAT_STAMINA) - ghoul->GetCreateStat(STAT_STAMINA)) * 10.0f);
|
||||||
|
|
||||||
// Power Energy
|
// Power Energy
|
||||||
ghoul->SetModifierValue(UnitMods(UNIT_MOD_POWER_START + POWER_ENERGY), BASE_VALUE, ghoul->GetCreatePowers(POWER_ENERGY));
|
ghoul->SetModifierValue(UnitMods(UNIT_MOD_POWER_START + static_cast<uint8>(POWER_ENERGY)), BASE_VALUE, ghoul->GetCreatePowers(POWER_ENERGY));
|
||||||
ghoul->UpdateAllStats();
|
ghoul->UpdateAllStats();
|
||||||
ghoul->SetFullHealth();
|
ghoul->SetFullHealth();
|
||||||
|
|
||||||
|
|||||||
@@ -194,7 +194,7 @@ public:
|
|||||||
void CalculateAmount(AuraEffect const* aurEff, int32& amount, bool& /*canBeRecalculated*/)
|
void CalculateAmount(AuraEffect const* aurEff, int32& amount, bool& /*canBeRecalculated*/)
|
||||||
{
|
{
|
||||||
if (aurEff->GetEffIndex() == EFFECT_0)
|
if (aurEff->GetEffIndex() == EFFECT_0)
|
||||||
amount = CalculatePct<int32, float>(GetUnitOwner()->ToPlayer()->GetFloatValue(PLAYER_SPELL_CRIT_PERCENTAGE1 + SPELL_SCHOOL_FROST), GetSpellInfo()->Effects[EFFECT_0].CalcValue());
|
amount = CalculatePct<int32, float>(GetUnitOwner()->ToPlayer()->GetFloatValue(PLAYER_SPELL_CRIT_PERCENTAGE1 + static_cast<uint8>(SPELL_SCHOOL_FROST)), GetSpellInfo()->Effects[EFFECT_0].CalcValue());
|
||||||
else
|
else
|
||||||
amount = CalculatePct<int32, float>(GetUnitOwner()->ToPlayer()->GetFloatValue(PLAYER_CRIT_PERCENTAGE), GetSpellInfo()->Effects[EFFECT_0].CalcValue());
|
amount = CalculatePct<int32, float>(GetUnitOwner()->ToPlayer()->GetFloatValue(PLAYER_CRIT_PERCENTAGE), GetSpellInfo()->Effects[EFFECT_0].CalcValue());
|
||||||
}
|
}
|
||||||
@@ -942,7 +942,7 @@ public:
|
|||||||
{
|
{
|
||||||
int32 damage = GetEffectValue() + LIFE_TAP_COEFFICIENT;
|
int32 damage = GetEffectValue() + LIFE_TAP_COEFFICIENT;
|
||||||
int32 damage2Mana = GetEffectValue();
|
int32 damage2Mana = GetEffectValue();
|
||||||
int32 mana = int32(damage2Mana + (caster->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + SPELL_SCHOOL_SHADOW) * 0.5f));
|
int32 mana = int32(damage2Mana + (caster->GetInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS + static_cast<uint8>(SPELL_SCHOOL_SHADOW)) * 0.5f));
|
||||||
|
|
||||||
// Shouldn't Appear in Combat Log
|
// Shouldn't Appear in Combat Log
|
||||||
target->ModifyHealth(-damage);
|
target->ModifyHealth(-damage);
|
||||||
|
|||||||
@@ -4,17 +4,13 @@
|
|||||||
#include "ScriptedCreature.h"
|
#include "ScriptedCreature.h"
|
||||||
#include "ScriptedGossip.h"
|
#include "ScriptedGossip.h"
|
||||||
#include "ScriptMgr.h"
|
#include "ScriptMgr.h"
|
||||||
#include "WorldSession.h"
|
|
||||||
|
|
||||||
enum eTrickOrTreatSpells
|
constexpr auto SPELL_TRICK = 24714;
|
||||||
{
|
constexpr auto SPELL_TREAT = 24715;
|
||||||
SPELL_TRICK = 24714,
|
constexpr auto SPELL_TRICKED_OR_TREATED = 24755;
|
||||||
SPELL_TREAT = 24715,
|
constexpr auto HALLOWEEN_EVENTID = 12;
|
||||||
SPELL_TRICKED_OR_TREATED = 24755,
|
constexpr auto GOSSIP_MENU = 9733;
|
||||||
HALLOWEEN_EVENTID = 12,
|
constexpr auto GOSSIP_MENU_EVENT = 342;
|
||||||
GOSSIP_MENU = 9733,
|
|
||||||
GOSSIP_MENU_EVENT = 342
|
|
||||||
};
|
|
||||||
|
|
||||||
class npc_innkeeper : public CreatureScript
|
class npc_innkeeper : public CreatureScript
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user