Misc: Some engrish fixes, thanks to ZxBiohazardZx, closes issue 4740
--HG-- branch : trunk
This commit is contained in:
@@ -807,23 +807,23 @@ void Battleground::EndBattleground(uint32 winner)
|
||||
{
|
||||
loser_arena_team->MemberLost(plr, winner_matchmaker_rating, loser_change);
|
||||
|
||||
// Arena lost => reset the win_rated_arena having the "no_loose" condition
|
||||
// Arena lost => reset the win_rated_arena having the "no_lose" condition
|
||||
plr->GetAchievementMgr().ResetAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA, ACHIEVEMENT_CRITERIA_CONDITION_NO_LOSE);
|
||||
}
|
||||
}
|
||||
|
||||
uint32 win_kills = plr->GetRandomWinner() ? BG_REWARD_WINNER_HONOR_LAST : BG_REWARD_WINNER_HONOR_FIRST;
|
||||
uint32 loos_kills = plr->GetRandomWinner() ? BG_REWARD_LOOSER_HONOR_LAST : BG_REWARD_LOOSER_HONOR_FIRST;
|
||||
uint32 win_arena = plr->GetRandomWinner() ? BG_REWARD_WINNER_ARENA_LAST : BG_REWARD_WINNER_ARENA_FIRST;
|
||||
uint32 winner_kills = plr->GetRandomWinner() ? BG_REWARD_WINNER_HONOR_LAST : BG_REWARD_WINNER_HONOR_FIRST;
|
||||
uint32 loser_kills = plr->GetRandomWinner() ? BG_REWARD_LOSER_HONOR_LAST : BG_REWARD_LOSER_HONOR_FIRST;
|
||||
uint32 winner_arena = plr->GetRandomWinner() ? BG_REWARD_WINNER_ARENA_LAST : BG_REWARD_WINNER_ARENA_FIRST;
|
||||
|
||||
// Reward winner team
|
||||
if (team == winner)
|
||||
{
|
||||
if (IsRandom() || BattlegroundMgr::IsBGWeekend(GetTypeID()))
|
||||
{
|
||||
UpdatePlayerScore(plr, SCORE_BONUS_HONOR, GetBonusHonorFromKill(win_kills));
|
||||
UpdatePlayerScore(plr, SCORE_BONUS_HONOR, GetBonusHonorFromKill(winner_kills));
|
||||
if (CanAwardArenaPoints())
|
||||
plr->ModifyArenaPoints(win_arena);
|
||||
plr->ModifyArenaPoints(winner_arena);
|
||||
if (!plr->GetRandomWinner())
|
||||
plr->SetRandomWinner(true);
|
||||
}
|
||||
@@ -833,7 +833,7 @@ void Battleground::EndBattleground(uint32 winner)
|
||||
else
|
||||
{
|
||||
if (IsRandom() || BattlegroundMgr::IsBGWeekend(GetTypeID()))
|
||||
UpdatePlayerScore(plr, SCORE_BONUS_HONOR, GetBonusHonorFromKill(loos_kills));
|
||||
UpdatePlayerScore(plr, SCORE_BONUS_HONOR, GetBonusHonorFromKill(loser_kills));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -136,8 +136,8 @@ enum BattlegroundRandomRewards
|
||||
BG_REWARD_WINNER_ARENA_FIRST = 25,
|
||||
BG_REWARD_WINNER_HONOR_LAST = 15,
|
||||
BG_REWARD_WINNER_ARENA_LAST = 0,
|
||||
BG_REWARD_LOOSER_HONOR_FIRST = 5,
|
||||
BG_REWARD_LOOSER_HONOR_LAST = 5
|
||||
BG_REWARD_LOSER_HONOR_FIRST = 5,
|
||||
BG_REWARD_LOSER_HONOR_LAST = 5
|
||||
};
|
||||
|
||||
const uint32 Buff_Entries[3] = { BG_OBJECTID_SPEEDBUFF_ENTRY, BG_OBJECTID_REGENBUFF_ENTRY, BG_OBJECTID_BERSERKERBUFF_ENTRY };
|
||||
|
||||
@@ -861,12 +861,12 @@ void BattlegroundMgr::BuildBattlegroundListPacket(WorldPacket *data, const uint6
|
||||
if (!plr)
|
||||
return;
|
||||
|
||||
uint32 win_kills = plr->GetRandomWinner() ? BG_REWARD_WINNER_HONOR_LAST : BG_REWARD_WINNER_HONOR_FIRST;
|
||||
uint32 win_arena = plr->GetRandomWinner() ? BG_REWARD_WINNER_ARENA_LAST : BG_REWARD_WINNER_ARENA_FIRST;
|
||||
uint32 loos_kills = plr->GetRandomWinner() ? BG_REWARD_LOOSER_HONOR_LAST : BG_REWARD_LOOSER_HONOR_FIRST;
|
||||
uint32 winner_kills = plr->GetRandomWinner() ? BG_REWARD_WINNER_HONOR_LAST : BG_REWARD_WINNER_HONOR_FIRST;
|
||||
uint32 winner_arena = plr->GetRandomWinner() ? BG_REWARD_WINNER_ARENA_LAST : BG_REWARD_WINNER_ARENA_FIRST;
|
||||
uint32 loser_kills = plr->GetRandomWinner() ? BG_REWARD_LOSER_HONOR_LAST : BG_REWARD_LOSER_HONOR_FIRST;
|
||||
|
||||
win_kills = Trinity::Honor::hk_honor_at_level(plr->getLevel(), win_kills);
|
||||
loos_kills = Trinity::Honor::hk_honor_at_level(plr->getLevel(), loos_kills);
|
||||
winner_kills = Trinity::Honor::hk_honor_at_level(plr->getLevel(), winner_kills);
|
||||
loser_kills = Trinity::Honor::hk_honor_at_level(plr->getLevel(), loser_kills);
|
||||
|
||||
data->Initialize(SMSG_BATTLEFIELD_LIST);
|
||||
*data << uint64(guid); // battlemaster guid
|
||||
@@ -877,9 +877,9 @@ void BattlegroundMgr::BuildBattlegroundListPacket(WorldPacket *data, const uint6
|
||||
|
||||
// Rewards
|
||||
*data << uint8(plr->GetRandomWinner()); // 3.3.3 hasWin
|
||||
*data << uint32(win_kills); // 3.3.3 winHonor
|
||||
*data << uint32(win_arena); // 3.3.3 winArena
|
||||
*data << uint32(loos_kills); // 3.3.3 lossHonor
|
||||
*data << uint32(winner_kills); // 3.3.3 winHonor
|
||||
*data << uint32(winner_arena); // 3.3.3 winArena
|
||||
*data << uint32(loser_kills); // 3.3.3 lossHonor
|
||||
|
||||
uint8 isRandom = bgTypeId == BATTLEGROUND_RB;
|
||||
|
||||
@@ -888,9 +888,9 @@ void BattlegroundMgr::BuildBattlegroundListPacket(WorldPacket *data, const uint6
|
||||
{
|
||||
// Rewards (random)
|
||||
*data << uint8(plr->GetRandomWinner()); // 3.3.3 hasWin_Random
|
||||
*data << uint32(win_kills); // 3.3.3 winHonor_Random
|
||||
*data << uint32(win_arena); // 3.3.3 winArena_Random
|
||||
*data << uint32(loos_kills); // 3.3.3 lossHonor_Random
|
||||
*data << uint32(winner_kills); // 3.3.3 winHonor_Random
|
||||
*data << uint32(winner_arena); // 3.3.3 winArena_Random
|
||||
*data << uint32(loser_kills); // 3.3.3 lossHonor_Random
|
||||
}
|
||||
|
||||
if (bgTypeId == BATTLEGROUND_AA) // arena
|
||||
@@ -937,7 +937,7 @@ void BattlegroundMgr::SendToBattleground(Player *pl, uint32 instanceId, Battlegr
|
||||
}
|
||||
else
|
||||
{
|
||||
sLog.outError("player %u trying to port to non-existent bg instance %u",pl->GetGUIDLow(), instanceId);
|
||||
sLog.outError("player %u is trying to port to non-existent bg instance %u",pl->GetGUIDLow(), instanceId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -357,7 +357,7 @@ void BattlegroundQueue::RemovePlayer(const uint64& guid, bool decreaseInvitedCou
|
||||
sWorld.SendWorldText(LANG_ARENA_QUEUE_ANNOUNCE_WORLD_EXIT, Team->GetName().c_str(), group->ArenaType, group->ArenaType, group->ArenaTeamRating);
|
||||
}
|
||||
|
||||
//if player leaves queue and he is invited to rated arena match, then he have to loose
|
||||
//if player leaves queue and he is invited to rated arena match, then he have to lose
|
||||
if (group->IsInvitedToBGInstanceGUID && group->IsRated && decreaseInvitedCount)
|
||||
{
|
||||
ArenaTeam * at = sObjectMgr.GetArenaTeamById(group->ArenaTeamId);
|
||||
|
||||
@@ -665,21 +665,21 @@ void BattlegroundEY::EventTeamLostPoint(Player *Source, uint32 Point)
|
||||
if (Team == ALLIANCE)
|
||||
{
|
||||
m_TeamPointsCount[BG_TEAM_ALLIANCE]--;
|
||||
SpawnBGObject(m_LoosingPointTypes[Point].DespawnObjectTypeAlliance, RESPAWN_ONE_DAY);
|
||||
SpawnBGObject(m_LoosingPointTypes[Point].DespawnObjectTypeAlliance + 1, RESPAWN_ONE_DAY);
|
||||
SpawnBGObject(m_LoosingPointTypes[Point].DespawnObjectTypeAlliance + 2, RESPAWN_ONE_DAY);
|
||||
SpawnBGObject(m_LosingPointTypes[Point].DespawnObjectTypeAlliance, RESPAWN_ONE_DAY);
|
||||
SpawnBGObject(m_LosingPointTypes[Point].DespawnObjectTypeAlliance + 1, RESPAWN_ONE_DAY);
|
||||
SpawnBGObject(m_LosingPointTypes[Point].DespawnObjectTypeAlliance + 2, RESPAWN_ONE_DAY);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_TeamPointsCount[BG_TEAM_HORDE]--;
|
||||
SpawnBGObject(m_LoosingPointTypes[Point].DespawnObjectTypeHorde, RESPAWN_ONE_DAY);
|
||||
SpawnBGObject(m_LoosingPointTypes[Point].DespawnObjectTypeHorde + 1, RESPAWN_ONE_DAY);
|
||||
SpawnBGObject(m_LoosingPointTypes[Point].DespawnObjectTypeHorde + 2, RESPAWN_ONE_DAY);
|
||||
SpawnBGObject(m_LosingPointTypes[Point].DespawnObjectTypeHorde, RESPAWN_ONE_DAY);
|
||||
SpawnBGObject(m_LosingPointTypes[Point].DespawnObjectTypeHorde + 1, RESPAWN_ONE_DAY);
|
||||
SpawnBGObject(m_LosingPointTypes[Point].DespawnObjectTypeHorde + 2, RESPAWN_ONE_DAY);
|
||||
}
|
||||
|
||||
SpawnBGObject(m_LoosingPointTypes[Point].SpawnNeutralObjectType, RESPAWN_IMMEDIATELY);
|
||||
SpawnBGObject(m_LoosingPointTypes[Point].SpawnNeutralObjectType + 1, RESPAWN_IMMEDIATELY);
|
||||
SpawnBGObject(m_LoosingPointTypes[Point].SpawnNeutralObjectType + 2, RESPAWN_IMMEDIATELY);
|
||||
SpawnBGObject(m_LosingPointTypes[Point].SpawnNeutralObjectType, RESPAWN_IMMEDIATELY);
|
||||
SpawnBGObject(m_LosingPointTypes[Point].SpawnNeutralObjectType + 1, RESPAWN_IMMEDIATELY);
|
||||
SpawnBGObject(m_LosingPointTypes[Point].SpawnNeutralObjectType + 2, RESPAWN_IMMEDIATELY);
|
||||
|
||||
//buff isn't despawned
|
||||
|
||||
@@ -687,9 +687,9 @@ void BattlegroundEY::EventTeamLostPoint(Player *Source, uint32 Point)
|
||||
m_PointState[Point] = EY_POINT_NO_OWNER;
|
||||
|
||||
if (Team == ALLIANCE)
|
||||
SendMessageToAll(m_LoosingPointTypes[Point].MessageIdAlliance,CHAT_MSG_BG_SYSTEM_ALLIANCE, Source);
|
||||
SendMessageToAll(m_LosingPointTypes[Point].MessageIdAlliance,CHAT_MSG_BG_SYSTEM_ALLIANCE, Source);
|
||||
else
|
||||
SendMessageToAll(m_LoosingPointTypes[Point].MessageIdHorde,CHAT_MSG_BG_SYSTEM_HORDE, Source);
|
||||
SendMessageToAll(m_LosingPointTypes[Point].MessageIdHorde,CHAT_MSG_BG_SYSTEM_HORDE, Source);
|
||||
|
||||
UpdatePointsIcons(Team, Point);
|
||||
UpdatePointsCount(Team);
|
||||
|
||||
@@ -260,9 +260,9 @@ const float BG_EY_TriggerPositions[EY_POINTS_MAX][4] = {
|
||||
{2284.48f, 1731.23f, 1189.99f, 2.89725f} // MAGE_TOWER center
|
||||
};
|
||||
|
||||
struct BattlegroundEYLoosingPointStruct
|
||||
struct BattlegroundEYLosingPointStruct
|
||||
{
|
||||
BattlegroundEYLoosingPointStruct(uint32 _SpawnNeutralObjectType, uint32 _DespawnObjectTypeAlliance, uint32 _MessageIdAlliance, uint32 _DespawnObjectTypeHorde, uint32 _MessageIdHorde)
|
||||
BattlegroundEYLosingPointStruct(uint32 _SpawnNeutralObjectType, uint32 _DespawnObjectTypeAlliance, uint32 _MessageIdAlliance, uint32 _DespawnObjectTypeHorde, uint32 _MessageIdHorde)
|
||||
: SpawnNeutralObjectType(_SpawnNeutralObjectType),
|
||||
DespawnObjectTypeAlliance(_DespawnObjectTypeAlliance), MessageIdAlliance(_MessageIdAlliance),
|
||||
DespawnObjectTypeHorde(_DespawnObjectTypeHorde), MessageIdHorde(_MessageIdHorde)
|
||||
@@ -303,12 +303,12 @@ const BattlegroundEYPointIconsStruct m_PointsIconStruct[EY_POINTS_MAX] =
|
||||
BattlegroundEYPointIconsStruct(DRAENEI_RUINS_UNCONTROL, DRAENEI_RUINS_ALLIANCE_CONTROL, DRAENEI_RUINS_HORDE_CONTROL),
|
||||
BattlegroundEYPointIconsStruct(MAGE_TOWER_UNCONTROL, MAGE_TOWER_ALLIANCE_CONTROL, MAGE_TOWER_HORDE_CONTROL)
|
||||
};
|
||||
const BattlegroundEYLoosingPointStruct m_LoosingPointTypes[EY_POINTS_MAX] =
|
||||
const BattlegroundEYLosingPointStruct m_LosingPointTypes[EY_POINTS_MAX] =
|
||||
{
|
||||
BattlegroundEYLoosingPointStruct(BG_EY_OBJECT_N_BANNER_FEL_REAVER_CENTER, BG_EY_OBJECT_A_BANNER_FEL_REAVER_CENTER, LANG_BG_EY_HAS_LOST_A_F_RUINS, BG_EY_OBJECT_H_BANNER_FEL_REAVER_CENTER, LANG_BG_EY_HAS_LOST_H_F_RUINS),
|
||||
BattlegroundEYLoosingPointStruct(BG_EY_OBJECT_N_BANNER_BLOOD_ELF_CENTER, BG_EY_OBJECT_A_BANNER_BLOOD_ELF_CENTER, LANG_BG_EY_HAS_LOST_A_B_TOWER, BG_EY_OBJECT_H_BANNER_BLOOD_ELF_CENTER, LANG_BG_EY_HAS_LOST_H_B_TOWER),
|
||||
BattlegroundEYLoosingPointStruct(BG_EY_OBJECT_N_BANNER_DRAENEI_RUINS_CENTER, BG_EY_OBJECT_A_BANNER_DRAENEI_RUINS_CENTER, LANG_BG_EY_HAS_LOST_A_D_RUINS, BG_EY_OBJECT_H_BANNER_DRAENEI_RUINS_CENTER, LANG_BG_EY_HAS_LOST_H_D_RUINS),
|
||||
BattlegroundEYLoosingPointStruct(BG_EY_OBJECT_N_BANNER_MAGE_TOWER_CENTER, BG_EY_OBJECT_A_BANNER_MAGE_TOWER_CENTER, LANG_BG_EY_HAS_LOST_A_M_TOWER, BG_EY_OBJECT_H_BANNER_MAGE_TOWER_CENTER, LANG_BG_EY_HAS_LOST_H_M_TOWER)
|
||||
BattlegroundEYLosingPointStruct(BG_EY_OBJECT_N_BANNER_FEL_REAVER_CENTER, BG_EY_OBJECT_A_BANNER_FEL_REAVER_CENTER, LANG_BG_EY_HAS_LOST_A_F_RUINS, BG_EY_OBJECT_H_BANNER_FEL_REAVER_CENTER, LANG_BG_EY_HAS_LOST_H_F_RUINS),
|
||||
BattlegroundEYLosingPointStruct(BG_EY_OBJECT_N_BANNER_BLOOD_ELF_CENTER, BG_EY_OBJECT_A_BANNER_BLOOD_ELF_CENTER, LANG_BG_EY_HAS_LOST_A_B_TOWER, BG_EY_OBJECT_H_BANNER_BLOOD_ELF_CENTER, LANG_BG_EY_HAS_LOST_H_B_TOWER),
|
||||
BattlegroundEYLosingPointStruct(BG_EY_OBJECT_N_BANNER_DRAENEI_RUINS_CENTER, BG_EY_OBJECT_A_BANNER_DRAENEI_RUINS_CENTER, LANG_BG_EY_HAS_LOST_A_D_RUINS, BG_EY_OBJECT_H_BANNER_DRAENEI_RUINS_CENTER, LANG_BG_EY_HAS_LOST_H_D_RUINS),
|
||||
BattlegroundEYLosingPointStruct(BG_EY_OBJECT_N_BANNER_MAGE_TOWER_CENTER, BG_EY_OBJECT_A_BANNER_MAGE_TOWER_CENTER, LANG_BG_EY_HAS_LOST_A_M_TOWER, BG_EY_OBJECT_H_BANNER_MAGE_TOWER_CENTER, LANG_BG_EY_HAS_LOST_H_M_TOWER)
|
||||
};
|
||||
const BattlegroundEYCapturingPointStruct m_CapturingPointTypes[EY_POINTS_MAX] =
|
||||
{
|
||||
|
||||
@@ -566,7 +566,7 @@ void Pet::Update(uint32 diff)
|
||||
|
||||
if (m_happinessTimer <= diff)
|
||||
{
|
||||
LooseHappiness();
|
||||
LoseHappiness();
|
||||
m_happinessTimer = 7500;
|
||||
}
|
||||
else
|
||||
@@ -619,7 +619,7 @@ void Creature::Regenerate(Powers power)
|
||||
ModifyPower(power, (int32)addvalue);
|
||||
}
|
||||
|
||||
void Pet::LooseHappiness()
|
||||
void Pet::LoseHappiness()
|
||||
{
|
||||
uint32 curValue = GetPower(POWER_HAPPINESS);
|
||||
if (curValue <= 0)
|
||||
|
||||
@@ -158,7 +158,7 @@ class Pet : public Guardian
|
||||
return m_autospells[pos];
|
||||
}
|
||||
|
||||
void LooseHappiness();
|
||||
void LoseHappiness();
|
||||
HappinessState GetHappinessState();
|
||||
void GivePetXP(uint32 xp);
|
||||
void GivePetLevel(uint8 level);
|
||||
|
||||
@@ -1870,7 +1870,7 @@ bool Player::TeleportTo(uint32 mapid, float x, float y, float z, float orientati
|
||||
}
|
||||
}
|
||||
|
||||
// The player was ported to another map and looses the duel immediately.
|
||||
// The player was ported to another map and loses the duel immediately.
|
||||
// We have to perform this check before the teleport, otherwise the
|
||||
// ObjectAccessor won't find the flag.
|
||||
if (duel && GetMapId() != mapid && GetMap()->GetGameObject(GetUInt64Value(PLAYER_DUEL_ARBITER)))
|
||||
@@ -7149,7 +7149,7 @@ void Player::UpdateZone(uint32 newZone, uint32 newArea)
|
||||
UpdateZoneDependentAuras(newZone);
|
||||
}
|
||||
|
||||
//If players are too far way of duel flag... then player loose the duel
|
||||
//If players are too far away from the duel flag... they lose the duel
|
||||
void Player::CheckDuelDistance(time_t currTime)
|
||||
{
|
||||
if (!duel)
|
||||
|
||||
@@ -3572,7 +3572,7 @@ void Unit::_UnapplyAura(AuraApplicationMap::iterator &i, AuraRemoveMode removeMo
|
||||
// all effect mustn't be applied
|
||||
ASSERT(!aurApp->GetEffectMask());
|
||||
|
||||
// Remove totem at next update if totem looses its aura
|
||||
// Remove totem at next update if totem loses its aura
|
||||
if (aurApp->GetRemoveMode() == AURA_REMOVE_BY_EXPIRE && GetTypeId() == TYPEID_UNIT && this->ToCreature()->isTotem()&& this->ToTotem()->GetSummonerGUID() == aura->GetCasterGUID())
|
||||
{
|
||||
if (this->ToTotem()->GetSpell() == aura->GetId() && this->ToTotem()->GetTotemType() == TOTEM_PASSIVE)
|
||||
|
||||
@@ -77,7 +77,7 @@ enum SpellAuraInterruptFlags
|
||||
AURA_INTERRUPT_FLAG_MOUNT = 0x00020000, // 17 misdirect, aspect, swim speed
|
||||
AURA_INTERRUPT_FLAG_NOT_SEATED = 0x00040000, // 18 removed by standing up (used by food and drink mostly and sleep/Fake Death like)
|
||||
AURA_INTERRUPT_FLAG_CHANGE_MAP = 0x00080000, // 19 leaving map/getting teleported
|
||||
AURA_INTERRUPT_FLAG_IMMUNE_OR_LOST_SELECTION = 0x00100000, // 20 removed by auras that make you invulnerable, or make other to loose selection on you
|
||||
AURA_INTERRUPT_FLAG_IMMUNE_OR_LOST_SELECTION = 0x00100000, // 20 removed by auras that make you invulnerable, or make other to lose selection on you
|
||||
AURA_INTERRUPT_FLAG_UNK21 = 0x00200000, // 21
|
||||
AURA_INTERRUPT_FLAG_TELEPORTED = 0x00400000, // 22
|
||||
AURA_INTERRUPT_FLAG_ENTER_PVP_COMBAT = 0x00800000, // 23 removed by entering pvp combat
|
||||
|
||||
@@ -1687,14 +1687,14 @@ void ObjectMgr::LoadGameobjects()
|
||||
case GAMEOBJECT_TYPE_SPELL_FOCUS:
|
||||
break;
|
||||
default:
|
||||
sLog.outErrorDb("Gameobject (GUID: %u Entry %u GoType: %u) doesn't have displayId (%u), not loaded.", guid, entry, gInfo->type, gInfo->displayId);
|
||||
sLog.outErrorDb("Gameobject (GUID: %u Entry %u GoType: %u) doesn't have a displayId (%u), not loaded.", guid, entry, gInfo->type, gInfo->displayId);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (gInfo->displayId && !sGameObjectDisplayInfoStore.LookupEntry(gInfo->displayId))
|
||||
{
|
||||
sLog.outErrorDb("Gameobject (GUID: %u Entry %u GoType: %u) have invalid displayId (%u), not loaded.",guid, entry, gInfo->type, gInfo->displayId);
|
||||
sLog.outErrorDb("Gameobject (GUID: %u Entry %u GoType: %u) has an invalid displayId (%u), not loaded.",guid, entry, gInfo->type, gInfo->displayId);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -1715,13 +1715,13 @@ void ObjectMgr::LoadGameobjects()
|
||||
MapEntry const* mapEntry = sMapStore.LookupEntry(data.mapid);
|
||||
if (!mapEntry)
|
||||
{
|
||||
sLog.outErrorDb("Table `gameobject` have gameobject (GUID: %u Entry: %u) that spawned at not existed map (Id: %u), skip", guid, data.id, data.mapid);
|
||||
sLog.outErrorDb("Table `gameobject` has gameobject (GUID: %u Entry: %u) spawned on a non-existed map (Id: %u), skip", guid, data.id, data.mapid);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (data.spawntimesecs == 0 && gInfo->IsDespawnAtAction())
|
||||
{
|
||||
sLog.outErrorDb("Table `gameobject` have gameobject (GUID: %u Entry: %u) with `spawntimesecs` (0) value, but gameobejct marked as despawnable at action.",guid,data.id);
|
||||
sLog.outErrorDb("Table `gameobject` has gameobject (GUID: %u Entry: %u) with `spawntimesecs` (0) value, but the gameobejct is marked as despawnable at action.",guid,data.id);
|
||||
}
|
||||
|
||||
data.animprogress = fields[12].GetUInt32();
|
||||
@@ -1730,7 +1730,7 @@ void ObjectMgr::LoadGameobjects()
|
||||
uint32 go_state = fields[13].GetUInt32();
|
||||
if (go_state >= MAX_GO_STATE)
|
||||
{
|
||||
sLog.outErrorDb("Table `gameobject` have gameobject (GUID: %u Entry: %u) with invalid `state` (%u) value, skip",guid,data.id,go_state);
|
||||
sLog.outErrorDb("Table `gameobject` has gameobject (GUID: %u Entry: %u) with invalid `state` (%u) value, skip",guid,data.id,go_state);
|
||||
continue;
|
||||
}
|
||||
data.go_state = GOState(go_state);
|
||||
@@ -1738,7 +1738,7 @@ void ObjectMgr::LoadGameobjects()
|
||||
data.spawnMask = fields[14].GetUInt8();
|
||||
|
||||
if (data.spawnMask & ~spawnMasks[data.mapid])
|
||||
sLog.outErrorDb("Table `gameobject` have gameobject (GUID: %u Entry: %u) that have wrong spawn mask %u including not supported difficulty modes for map (Id: %u), skip", guid, data.id, data.spawnMask, data.mapid);
|
||||
sLog.outErrorDb("Table `gameobject` has gameobject (GUID: %u Entry: %u) that has wrong spawn mask %u including not supported difficulty modes for map (Id: %u), skip", guid, data.id, data.spawnMask, data.mapid);
|
||||
|
||||
data.phaseMask = fields[15].GetUInt16();
|
||||
int16 gameEvent = fields[16].GetInt16();
|
||||
@@ -1746,25 +1746,25 @@ void ObjectMgr::LoadGameobjects()
|
||||
|
||||
if (data.rotation2 < -1.0f || data.rotation2 > 1.0f)
|
||||
{
|
||||
sLog.outErrorDb("Table `gameobject` have gameobject (GUID: %u Entry: %u) with invalid rotation2 (%f) value, skip",guid,data.id,data.rotation2);
|
||||
sLog.outErrorDb("Table `gameobject` has gameobject (GUID: %u Entry: %u) with invalid rotation2 (%f) value, skip",guid,data.id,data.rotation2);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (data.rotation3 < -1.0f || data.rotation3 > 1.0f)
|
||||
{
|
||||
sLog.outErrorDb("Table `gameobject` have gameobject (GUID: %u Entry: %u) with invalid rotation3 (%f) value, skip",guid,data.id,data.rotation3);
|
||||
sLog.outErrorDb("Table `gameobject` has gameobject (GUID: %u Entry: %u) with invalid rotation3 (%f) value, skip",guid,data.id,data.rotation3);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!MapManager::IsValidMapCoord(data.mapid,data.posX,data.posY,data.posZ,data.orientation))
|
||||
{
|
||||
sLog.outErrorDb("Table `gameobject` have gameobject (GUID: %u Entry: %u) with invalid coordinates, skip",guid,data.id);
|
||||
sLog.outErrorDb("Table `gameobject` has gameobject (GUID: %u Entry: %u) with invalid coordinates, skip",guid,data.id);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (data.phaseMask == 0)
|
||||
{
|
||||
sLog.outErrorDb("Table `gameobject` have gameobject (GUID: %u Entry: %u) with `phaseMask`=0 (not visible for anyone), set to 1.",guid,data.id);
|
||||
sLog.outErrorDb("Table `gameobject` has gameobject (GUID: %u Entry: %u) with `phaseMask`=0 (not visible for anyone), set to 1.",guid,data.id);
|
||||
data.phaseMask = 1;
|
||||
}
|
||||
|
||||
@@ -2047,8 +2047,8 @@ void ObjectMgr::LoadItemPrototypes()
|
||||
{
|
||||
if (proto->Class != dbcitem->Class)
|
||||
{
|
||||
sLog.outErrorDb("Item (Entry: %u) not correct class %u, must be %u (still using DB value).",i,proto->Class,dbcitem->Class);
|
||||
// It safe let use Class from DB
|
||||
sLog.outErrorDb("Item (Entry: %u) does not have a correct class %u, must be %u (still using DB value).",i,proto->Class,dbcitem->Class);
|
||||
// It is safe to use Class from DB
|
||||
}
|
||||
/* disabled: have some strange wrong cases for Subclass values.
|
||||
for enable also uncomment Subclass field in ItemEntry structure and in Itemfmt[]
|
||||
@@ -2061,35 +2061,35 @@ void ObjectMgr::LoadItemPrototypes()
|
||||
|
||||
if (proto->Unk0 != dbcitem->Unk0)
|
||||
{
|
||||
sLog.outErrorDb("Item (Entry: %u) not correct %i Unk0, must be %i (still using DB value).",i,proto->Unk0,dbcitem->Unk0);
|
||||
// It safe let use Unk0 from DB
|
||||
sLog.outErrorDb("Item (Entry: %u) does not have a correct Unk0 (%i) , must be %i (still using DB value).",i,proto->Unk0,dbcitem->Unk0);
|
||||
// It is safe to use Unk0 from DB
|
||||
}
|
||||
|
||||
if (proto->Material != dbcitem->Material)
|
||||
{
|
||||
sLog.outErrorDb("Item (Entry: %u) not correct %i material, must be %i (still using DB value).",i,proto->Material,dbcitem->Material);
|
||||
// It safe let use Material from DB
|
||||
sLog.outErrorDb("Item (Entry: %u) does not have a correct material (%i), must be %i (still using DB value).",i,proto->Material,dbcitem->Material);
|
||||
// It is safe to use Material from DB
|
||||
}
|
||||
|
||||
if (proto->InventoryType != dbcitem->InventoryType)
|
||||
{
|
||||
sLog.outErrorDb("Item (Entry: %u) not correct %u inventory type, must be %u (still using DB value).",i,proto->InventoryType,dbcitem->InventoryType);
|
||||
// It safe let use InventoryType from DB
|
||||
sLog.outErrorDb("Item (Entry: %u) does not have a correct inventory type (%u), must be %u (still using DB value).",i,proto->InventoryType,dbcitem->InventoryType);
|
||||
// It is safe to use InventoryType from DB
|
||||
}
|
||||
|
||||
if (proto->DisplayInfoID != dbcitem->DisplayId)
|
||||
{
|
||||
sLog.outErrorDb("Item (Entry: %u) not correct %u display id, must be %u (using it).",i,proto->DisplayInfoID,dbcitem->DisplayId);
|
||||
sLog.outErrorDb("Item (Entry: %u) does not have a correct display id (%u), must be %u (using it).",i,proto->DisplayInfoID,dbcitem->DisplayId);
|
||||
const_cast<ItemPrototype*>(proto)->DisplayInfoID = dbcitem->DisplayId;
|
||||
}
|
||||
if (proto->Sheath != dbcitem->Sheath)
|
||||
{
|
||||
sLog.outErrorDb("Item (Entry: %u) not correct %u sheath, must be %u (using it).",i,proto->Sheath,dbcitem->Sheath);
|
||||
sLog.outErrorDb("Item (Entry: %u) does not have a correct sheathid (%u), must be %u (using it).",i,proto->Sheath,dbcitem->Sheath);
|
||||
const_cast<ItemPrototype*>(proto)->Sheath = dbcitem->Sheath;
|
||||
}
|
||||
}
|
||||
else
|
||||
sLog.outErrorDb("Item (Entry: %u) not correct (not listed in list of existed items).",i);
|
||||
sLog.outErrorDb("Item (Entry: %u) does not exist in item.dbc! (not correct id?).",i);
|
||||
|
||||
if (proto->Class >= MAX_ITEM_CLASS)
|
||||
{
|
||||
@@ -2113,18 +2113,18 @@ void ObjectMgr::LoadItemPrototypes()
|
||||
{
|
||||
if (FactionEntry const* faction = sFactionStore.LookupEntry(HORDE))
|
||||
if ((proto->AllowableRace & faction->BaseRepRaceMask[0]) == 0)
|
||||
sLog.outErrorDb("Item (Entry: %u) have in `AllowableRace` races (%u) only not compatible with ITEM_FLAGS_EXTRA_HORDE_ONLY (%u) in Flags field, item any way will can't be equipped or use by this races.",
|
||||
sLog.outErrorDb("Item (Entry: %u) has value (%u) in `AllowableRace` races, not compatible with ITEM_FLAGS_EXTRA_HORDE_ONLY (%u) in Flags field, item cannot be equipped or used by these races.",
|
||||
i, proto->AllowableRace, ITEM_FLAGS_EXTRA_HORDE_ONLY);
|
||||
|
||||
if (proto->Flags2 & ITEM_FLAGS_EXTRA_ALLIANCE_ONLY)
|
||||
sLog.outErrorDb("Item (Entry: %u) have in `Flags2` flags ITEM_FLAGS_EXTRA_ALLIANCE_ONLY (%u) and ITEM_FLAGS_EXTRA_HORDE_ONLY (%u) in Flags field, this is wrong combination.",
|
||||
sLog.outErrorDb("Item (Entry: %u) has value (%u) in `Flags2` flags (ITEM_FLAGS_EXTRA_ALLIANCE_ONLY) and ITEM_FLAGS_EXTRA_HORDE_ONLY (%u) in Flags field, this is a wrong combination.",
|
||||
i, ITEM_FLAGS_EXTRA_ALLIANCE_ONLY, ITEM_FLAGS_EXTRA_HORDE_ONLY);
|
||||
}
|
||||
else if (proto->Flags2 & ITEM_FLAGS_EXTRA_ALLIANCE_ONLY)
|
||||
{
|
||||
if (FactionEntry const* faction = sFactionStore.LookupEntry(ALLIANCE))
|
||||
if ((proto->AllowableRace & faction->BaseRepRaceMask[0]) == 0)
|
||||
sLog.outErrorDb("Item (Entry: %u) have in `AllowableRace` races (%u) only not compatible with ITEM_FLAGS_EXTRA_ALLIANCE_ONLY (%u) in Flags field, item any way will can't be equipped or use by this races.",
|
||||
sLog.outErrorDb("Item (Entry: %u) has value (%u) in `AllowableRace` races, not compatible with ITEM_FLAGS_EXTRA_ALLIANCE_ONLY (%u) in Flags field, item cannot be equipped or used by these races.",
|
||||
i, proto->AllowableRace, ITEM_FLAGS_EXTRA_ALLIANCE_ONLY);
|
||||
}
|
||||
|
||||
@@ -2162,16 +2162,16 @@ void ObjectMgr::LoadItemPrototypes()
|
||||
if (req)
|
||||
{
|
||||
if (!(proto->AllowableClass & CLASSMASK_ALL_PLAYABLE))
|
||||
sLog.outErrorDb("Item (Entry: %u) not have in `AllowableClass` any playable classes (%u) and can't be equipped or use.",i,proto->AllowableClass);
|
||||
sLog.outErrorDb("Item (Entry: %u) does not have any playable classes (%u) in `AllowableClass` and can't be equipped or used.",i,proto->AllowableClass);
|
||||
|
||||
if (!(proto->AllowableRace & RACEMASK_ALL_PLAYABLE))
|
||||
sLog.outErrorDb("Item (Entry: %u) not have in `AllowableRace` any playable races (%u) and can't be equipped or use.",i,proto->AllowableRace);
|
||||
sLog.outErrorDb("Item (Entry: %u) does not have any playable races (%u) in `AllowableRace` and can't be equipped or used.",i,proto->AllowableRace);
|
||||
}
|
||||
}
|
||||
|
||||
if (proto->RequiredSpell && !sSpellStore.LookupEntry(proto->RequiredSpell))
|
||||
{
|
||||
sLog.outErrorDb("Item (Entry: %u) have wrong (non-existed) spell in RequiredSpell (%u)",i,proto->RequiredSpell);
|
||||
sLog.outErrorDb("Item (Entry: %u) has a wrong (non-existing) spell in RequiredSpell (%u)",i,proto->RequiredSpell);
|
||||
const_cast<ItemPrototype*>(proto)->RequiredSpell = 0;
|
||||
}
|
||||
|
||||
@@ -2224,7 +2224,7 @@ void ObjectMgr::LoadItemPrototypes()
|
||||
// for ItemStatValue != 0
|
||||
if (proto->ItemStat[j].ItemStatValue && proto->ItemStat[j].ItemStatType >= MAX_ITEM_MOD)
|
||||
{
|
||||
sLog.outErrorDb("Item (Entry: %u) has wrong stat_type%d (%u)",i,j+1,proto->ItemStat[j].ItemStatType);
|
||||
sLog.outErrorDb("Item (Entry: %u) has wrong (non-existing?) stat_type%d (%u)",i,j+1,proto->ItemStat[j].ItemStatType);
|
||||
const_cast<ItemPrototype*>(proto)->ItemStat[j].ItemStatType = 0;
|
||||
}
|
||||
|
||||
@@ -2271,7 +2271,7 @@ void ObjectMgr::LoadItemPrototypes()
|
||||
}
|
||||
else if (!proto->Spells[1].SpellId)
|
||||
{
|
||||
sLog.outErrorDb("Item (Entry: %u) not has expected spell in spellid_%d in special learning format.",i,1+1);
|
||||
sLog.outErrorDb("Item (Entry: %u) does not have an expected spell in spellid_%d in special learning format.",i,1+1);
|
||||
const_cast<ItemPrototype*>(proto)->Spells[0].SpellId = 0;
|
||||
const_cast<ItemPrototype*>(proto)->Spells[1].SpellTrigger = ITEM_SPELLTRIGGER_ON_USE;
|
||||
}
|
||||
@@ -2471,7 +2471,7 @@ void ObjectMgr::LoadItemPrototypes()
|
||||
}
|
||||
|
||||
for (std::set<uint32>::const_iterator itr = notFoundOutfit.begin(); itr != notFoundOutfit.end(); ++itr)
|
||||
sLog.outErrorDb("Item (Entry: %u) not exist in `item_template` but referenced in `CharStartOutfit.dbc`", *itr);
|
||||
sLog.outErrorDb("Item (Entry: %u) does not exist in `item_template` but is referenced in `CharStartOutfit.dbc`", *itr);
|
||||
}
|
||||
|
||||
void ObjectMgr::LoadItemSetNameLocales()
|
||||
@@ -5926,26 +5926,26 @@ void ObjectMgr::LoadGraveyardZones()
|
||||
WorldSafeLocsEntry const* entry = sWorldSafeLocsStore.LookupEntry(safeLocId);
|
||||
if (!entry)
|
||||
{
|
||||
sLog.outErrorDb("Table `game_graveyard_zone` has record for not existing graveyard (WorldSafeLocs.dbc id) %u, skipped.",safeLocId);
|
||||
sLog.outErrorDb("Table `game_graveyard_zone` has a record for not existing graveyard (WorldSafeLocs.dbc id) %u, skipped.",safeLocId);
|
||||
continue;
|
||||
}
|
||||
|
||||
AreaTableEntry const *areaEntry = GetAreaEntryByAreaID(zoneId);
|
||||
if (!areaEntry)
|
||||
{
|
||||
sLog.outErrorDb("Table `game_graveyard_zone` has record for not existing zone id (%u), skipped.",zoneId);
|
||||
sLog.outErrorDb("Table `game_graveyard_zone` has a record for not existing zone id (%u), skipped.",zoneId);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (areaEntry->zone != 0)
|
||||
{
|
||||
sLog.outErrorDb("Table `game_graveyard_zone` has record subzone id (%u) instead of zone, skipped.",zoneId);
|
||||
sLog.outErrorDb("Table `game_graveyard_zone` has a record for subzone id (%u) instead of zone, skipped.",zoneId);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (team != 0 && team != HORDE && team != ALLIANCE)
|
||||
{
|
||||
sLog.outErrorDb("Table `game_graveyard_zone` has record for non player faction (%u), skipped.",team);
|
||||
sLog.outErrorDb("Table `game_graveyard_zone` has a record for non player faction (%u), skipped.",team);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@@ -1516,7 +1516,7 @@ void Group::ChangeMembersGroup(Player *player, const uint8 &group)
|
||||
// If ifneed is true,
|
||||
// the current RR player is checked to be near the looted object.
|
||||
// if yes, no update done.
|
||||
// if not, he looses his turn.
|
||||
// if not, he loses his turn.
|
||||
void Group::UpdateLooterGuid(WorldObject* pLootedObject, bool ifneed)
|
||||
{
|
||||
switch (GetLootMethod())
|
||||
|
||||
@@ -945,12 +945,12 @@ enum TrinityStrings
|
||||
LANG_OPVP_HP_CAPTURE_STADIUM_A = 10004,
|
||||
LANG_OPVP_HP_CAPTURE_BROKENHILL_H = 10005,
|
||||
LANG_OPVP_HP_CAPTURE_BROKENHILL_A = 10006,
|
||||
LANG_OPVP_HP_LOOSE_OVERLOOK_H = 10007,
|
||||
LANG_OPVP_HP_LOOSE_OVERLOOK_A = 10008,
|
||||
LANG_OPVP_HP_LOOSE_STADIUM_H = 10009,
|
||||
LANG_OPVP_HP_LOOSE_STADIUM_A = 10010,
|
||||
LANG_OPVP_HP_LOOSE_BROKENHILL_H = 10011,
|
||||
LANG_OPVP_HP_LOOSE_BROKENHILL_A = 10012,
|
||||
LANG_OPVP_HP_LOSE_OVERLOOK_H = 10007,
|
||||
LANG_OPVP_HP_LOSE_OVERLOOK_A = 10008,
|
||||
LANG_OPVP_HP_LOSE_STADIUM_H = 10009,
|
||||
LANG_OPVP_HP_LOSE_STADIUM_A = 10010,
|
||||
LANG_OPVP_HP_LOSE_BROKENHILL_H = 10011,
|
||||
LANG_OPVP_HP_LOSE_BROKENHILL_A = 10012,
|
||||
// opvp zm
|
||||
LANG_OPVP_ZM_CAPTURE_WEST_H = 10013,
|
||||
LANG_OPVP_ZM_CAPTURE_WEST_A = 10014,
|
||||
@@ -958,22 +958,22 @@ enum TrinityStrings
|
||||
LANG_OPVP_ZM_CAPTURE_EAST_A = 10016,
|
||||
LANG_OPVP_ZM_CAPTURE_GY_H = 10017,
|
||||
LANG_OPVP_ZM_CAPTURE_GY_A = 10018,
|
||||
LANG_OPVP_ZM_LOOSE_WEST_H = 10019,
|
||||
LANG_OPVP_ZM_LOOSE_WEST_A = 10020,
|
||||
LANG_OPVP_ZM_LOOSE_EAST_H = 10021,
|
||||
LANG_OPVP_ZM_LOOSE_EAST_A = 10022,
|
||||
LANG_OPVP_ZM_LOOSE_GY_H = 10023,
|
||||
LANG_OPVP_ZM_LOOSE_GY_A = 10024,
|
||||
LANG_OPVP_ZM_LOSE_WEST_H = 10019,
|
||||
LANG_OPVP_ZM_LOSE_WEST_A = 10020,
|
||||
LANG_OPVP_ZM_LOSE_EAST_H = 10021,
|
||||
LANG_OPVP_ZM_LOSE_EAST_A = 10022,
|
||||
LANG_OPVP_ZM_LOSE_GY_H = 10023,
|
||||
LANG_OPVP_ZM_LOSE_GY_A = 10024,
|
||||
// opvp na
|
||||
LANG_OPVP_NA_CAPTURE_H = 10025,
|
||||
LANG_OPVP_NA_CAPTURE_A = 10026,
|
||||
LANG_OPVP_NA_LOOSE_H = 10027,
|
||||
LANG_OPVP_NA_LOOSE_A = 10028,
|
||||
LANG_OPVP_NA_LOSE_H = 10027,
|
||||
LANG_OPVP_NA_LOSE_A = 10028,
|
||||
// opvp tf
|
||||
LANG_OPVP_TF_CAPTURE_H = 10029,
|
||||
LANG_OPVP_TF_CAPTURE_A = 10030,
|
||||
LANG_OPVP_TF_LOOSE_H = 10031,
|
||||
LANG_OPVP_TF_LOOSE_A = 10032,
|
||||
LANG_OPVP_TF_LOSE_H = 10031,
|
||||
LANG_OPVP_TF_LOSE_A = 10032,
|
||||
// opvp ep
|
||||
LANG_OPVP_EP_CAPTURE_NPT_H = 10033,
|
||||
LANG_OPVP_EP_CAPTURE_NPT_A = 10034,
|
||||
@@ -983,14 +983,14 @@ enum TrinityStrings
|
||||
LANG_OPVP_EP_CAPTURE_CGT_A = 10038,
|
||||
LANG_OPVP_EP_CAPTURE_PWT_H = 10039,
|
||||
LANG_OPVP_EP_CAPTURE_PWT_A = 10040,
|
||||
LANG_OPVP_EP_LOOSE_NPT_H = 10041,
|
||||
LANG_OPVP_EP_LOOSE_NPT_A = 10042,
|
||||
LANG_OPVP_EP_LOOSE_EWT_H = 10043,
|
||||
LANG_OPVP_EP_LOOSE_EWT_A = 10044,
|
||||
LANG_OPVP_EP_LOOSE_CGT_H = 10045,
|
||||
LANG_OPVP_EP_LOOSE_CGT_A = 10046,
|
||||
LANG_OPVP_EP_LOOSE_PWT_H = 10047,
|
||||
LANG_OPVP_EP_LOOSE_PWT_A = 10048,
|
||||
LANG_OPVP_EP_LOSE_NPT_H = 10041,
|
||||
LANG_OPVP_EP_LOSE_NPT_A = 10042,
|
||||
LANG_OPVP_EP_LOSE_EWT_H = 10043,
|
||||
LANG_OPVP_EP_LOSE_EWT_A = 10044,
|
||||
LANG_OPVP_EP_LOSE_CGT_H = 10045,
|
||||
LANG_OPVP_EP_LOSE_CGT_A = 10046,
|
||||
LANG_OPVP_EP_LOSE_PWT_H = 10047,
|
||||
LANG_OPVP_EP_LOSE_PWT_A = 10048,
|
||||
// opvp si
|
||||
LANG_OPVP_SI_CAPTURE_H = 10049,
|
||||
LANG_OPVP_SI_CAPTURE_A = 10050,
|
||||
|
||||
@@ -1132,9 +1132,9 @@ void ScriptMgr::OnPlayerDuelStart(Player *player1, Player *player2)
|
||||
FOREACH_SCRIPT(PlayerScript)->OnDuelStart(player1, player2);
|
||||
}
|
||||
|
||||
void ScriptMgr::OnPlayerDuelEnd(Player *winner, Player *looser, DuelCompleteType type)
|
||||
void ScriptMgr::OnPlayerDuelEnd(Player *winner, Player *loser, DuelCompleteType type)
|
||||
{
|
||||
FOREACH_SCRIPT(PlayerScript)->OnDuelEnd(winner, looser, type);
|
||||
FOREACH_SCRIPT(PlayerScript)->OnDuelEnd(winner, loser, type);
|
||||
}
|
||||
|
||||
void ScriptMgr::OnPlayerChat(Player* player, uint32 type, uint32 lang, std::string msg)
|
||||
|
||||
@@ -689,7 +689,7 @@ class PlayerScript : public ScriptObject
|
||||
virtual void OnDuelStart(Player* /*player1*/, Player* /*player2*/) { }
|
||||
|
||||
// Called when a duel ends
|
||||
virtual void OnDuelEnd(Player* /*winner*/, Player* /*looser*/, DuelCompleteType /*type*/) { }
|
||||
virtual void OnDuelEnd(Player* /*winner*/, Player* /*loser*/, DuelCompleteType /*type*/) { }
|
||||
|
||||
// The following methods are called when a player sends a chat message
|
||||
virtual void OnChat(Player* /*player*/, uint32 /*type*/, uint32 /*lang*/, std::string /*msg*/) { }
|
||||
@@ -934,7 +934,7 @@ class ScriptMgr
|
||||
void OnPlayerReputationChange(Player *player, uint32 factionID, int32& standing, bool incremental);
|
||||
void OnPlayerDuelRequest(Player* target, Player* challenger);
|
||||
void OnPlayerDuelStart(Player* player1, Player* player2);
|
||||
void OnPlayerDuelEnd(Player* winner, Player* looser, DuelCompleteType type);
|
||||
void OnPlayerDuelEnd(Player* winner, Player* loser, DuelCompleteType type);
|
||||
void OnPlayerChat(Player* player, uint32 type, uint32 lang, std::string msg);
|
||||
void OnPlayerChat(Player* player, uint32 type, uint32 lang, std::string msg, Player* receiver);
|
||||
void OnPlayerChat(Player* player, uint32 type, uint32 lang, std::string msg, Group* group);
|
||||
|
||||
@@ -2390,7 +2390,7 @@ void AuraEffect::TriggerSpell(Unit * target, Unit * caster) const
|
||||
sLog.outDebug("AuraEffect::TriggerSpell: Spell %u Trigger %u",GetId(), triggeredSpellInfo->Id);
|
||||
}
|
||||
else if (target->GetTypeId() != TYPEID_UNIT || !sScriptMgr.OnDummyEffect(caster, GetId(), SpellEffIndex(GetEffIndex()), triggerTarget->ToCreature()))
|
||||
sLog.outError("AuraEffect::TriggerSpell: Spell %u have 0 in EffectTriggered[%d], not handled custom case?",GetId(),GetEffIndex());
|
||||
sLog.outError("AuraEffect::TriggerSpell: Spell %u has value 0 in EffectTriggered[%d] and is therefor not handled. Define as custom case?",GetId(),GetEffIndex());
|
||||
}
|
||||
|
||||
void AuraEffect::TriggerSpellWithValue(Unit * target, Unit * caster) const
|
||||
@@ -2411,7 +2411,7 @@ void AuraEffect::TriggerSpellWithValue(Unit * target, Unit * caster) const
|
||||
triggerCaster->CastCustomSpell(triggerTarget, triggerSpellId, &basepoints0, 0, 0, true, 0, this);
|
||||
}
|
||||
else
|
||||
sLog.outError("AuraEffect::TriggerSpellWithValue: Spell %u have 0 in EffectTriggered[%d], not handled custom case?",GetId(),GetEffIndex());
|
||||
sLog.outError("AuraEffect::TriggerSpellWithValue: Spell %u has value 0 in EffectTriggered[%d] and is therefor not handled. Define as custom case?",GetId(),GetEffIndex());
|
||||
}
|
||||
|
||||
bool AuraEffect::IsAffectedOnSpell(SpellEntry const *spell) const
|
||||
@@ -3225,7 +3225,7 @@ void AuraEffect::HandleAuraTransform(AuraApplication const * aurApp, uint8 mode,
|
||||
if (!ci)
|
||||
{
|
||||
target->SetDisplayId(16358); // pig pink ^_^
|
||||
sLog.outError("Auras: unknown creature id = %d (only need its modelid) Form Spell Aura Transform in Spell ID = %d", GetMiscValue(), GetId());
|
||||
sLog.outError("Auras: unknown creature id = %d (only need its modelid) From Spell Aura Transform in Spell ID = %d", GetMiscValue(), GetId());
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -3731,7 +3731,7 @@ void AuraEffect::HandleAuraMounted(AuraApplication const * aurApp, uint8 mode, b
|
||||
CreatureInfo const* ci = sObjectMgr.GetCreatureTemplate(GetMiscValue());
|
||||
if (!ci)
|
||||
{
|
||||
sLog.outErrorDb("AuraMounted: `creature_template`='%u' not found in database (only need it modelid)",GetMiscValue());
|
||||
sLog.outErrorDb("AuraMounted: `creature_template`='%u' not found in database (only need its modelid)",GetMiscValue());
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -4617,7 +4617,7 @@ void AuraEffect::HandleAuraModStat(AuraApplication const * aurApp, uint8 mode, b
|
||||
|
||||
if (GetMiscValue() < -2 || GetMiscValue() > 4)
|
||||
{
|
||||
sLog.outError("WARNING: Spell %u effect %u have unsupported misc value (%i) for SPELL_AURA_MOD_STAT ",GetId(),GetEffIndex(),GetMiscValue());
|
||||
sLog.outError("WARNING: Spell %u effect %u has an unsupported misc value (%i) for SPELL_AURA_MOD_STAT ",GetId(),GetEffIndex(),GetMiscValue());
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -4781,7 +4781,7 @@ void AuraEffect::HandleAuraModResistenceOfStatPercent(AuraApplication const * au
|
||||
{
|
||||
// support required adding replace UpdateArmor by loop by UpdateResistence at intellect update
|
||||
// and include in UpdateResistence same code as in UpdateArmor for aura mod apply.
|
||||
sLog.outError("Aura SPELL_AURA_MOD_RESISTANCE_OF_STAT_PERCENT(182) need adding support for non-armor resistances!");
|
||||
sLog.outError("Aura SPELL_AURA_MOD_RESISTANCE_OF_STAT_PERCENT(182) does not work for non-armor type resistances!");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -2812,8 +2812,8 @@ void Spell::EffectSummonChangeItem(SpellEffIndex effIndex)
|
||||
|
||||
if (m_CastItem->GetUInt32Value(ITEM_FIELD_DURABILITY) < m_CastItem->GetUInt32Value(ITEM_FIELD_MAXDURABILITY))
|
||||
{
|
||||
double loosePercent = 1 - m_CastItem->GetUInt32Value(ITEM_FIELD_DURABILITY) / double(m_CastItem->GetUInt32Value(ITEM_FIELD_MAXDURABILITY));
|
||||
player->DurabilityLoss(pNewItem, loosePercent);
|
||||
double lossPercent = 1 - m_CastItem->GetUInt32Value(ITEM_FIELD_DURABILITY) / double(m_CastItem->GetUInt32Value(ITEM_FIELD_MAXDURABILITY));
|
||||
player->DurabilityLoss(pNewItem, lossPercent);
|
||||
}
|
||||
|
||||
if (player->IsInventoryPos(pos))
|
||||
|
||||
@@ -40,12 +40,12 @@ void OPvPCapturePointEP_EWT::ChangeState()
|
||||
// if changing from controlling alliance to horde or vice versa
|
||||
if ( m_OldState == OBJECTIVESTATE_ALLIANCE && m_OldState != m_State )
|
||||
{
|
||||
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_EWT_A));
|
||||
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOSE_EWT_A));
|
||||
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_EWT] = 0;
|
||||
}
|
||||
else if ( m_OldState == OBJECTIVESTATE_HORDE && m_OldState != m_State )
|
||||
{
|
||||
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_EWT_H));
|
||||
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOSE_EWT_H));
|
||||
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_EWT] = 0;
|
||||
}
|
||||
|
||||
@@ -178,12 +178,12 @@ void OPvPCapturePointEP_NPT::ChangeState()
|
||||
// if changing from controlling alliance to horde or vice versa
|
||||
if ( m_OldState == OBJECTIVESTATE_ALLIANCE && m_OldState != m_State )
|
||||
{
|
||||
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_NPT_A));
|
||||
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOSE_NPT_A));
|
||||
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_NPT] = 0;
|
||||
}
|
||||
else if ( m_OldState == OBJECTIVESTATE_HORDE && m_OldState != m_State )
|
||||
{
|
||||
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_NPT_H));
|
||||
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOSE_NPT_H));
|
||||
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_NPT] = 0;
|
||||
}
|
||||
|
||||
@@ -321,12 +321,12 @@ void OPvPCapturePointEP_CGT::ChangeState()
|
||||
// if changing from controlling alliance to horde or vice versa
|
||||
if( m_OldState == OBJECTIVESTATE_ALLIANCE && m_OldState != m_State )
|
||||
{
|
||||
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_CGT_A));
|
||||
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOSE_CGT_A));
|
||||
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_CGT] = 0;
|
||||
}
|
||||
else if ( m_OldState == OBJECTIVESTATE_HORDE && m_OldState != m_State )
|
||||
{
|
||||
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_CGT_H));
|
||||
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOSE_CGT_H));
|
||||
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_CGT] = 0;
|
||||
}
|
||||
|
||||
@@ -450,12 +450,12 @@ void OPvPCapturePointEP_PWT::ChangeState()
|
||||
// if changing from controlling alliance to horde or vice versa
|
||||
if ( m_OldState == OBJECTIVESTATE_ALLIANCE && m_OldState != m_State )
|
||||
{
|
||||
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_PWT_A));
|
||||
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOSE_PWT_A));
|
||||
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_PWT] = 0;
|
||||
}
|
||||
else if ( m_OldState == OBJECTIVESTATE_HORDE && m_OldState != m_State )
|
||||
{
|
||||
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOOSE_PWT_H));
|
||||
sWorld.SendZoneText(EP_GraveYardZone,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_EP_LOSE_PWT_H));
|
||||
((OutdoorPvPEP*)m_PvP)->EP_Controls[EP_PWT] = 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,9 +25,9 @@
|
||||
#include "Language.h"
|
||||
#include "ScriptPCH.h"
|
||||
|
||||
const uint32 HP_LANG_LOOSE_A[HP_TOWER_NUM] = {LANG_OPVP_HP_LOOSE_BROKENHILL_A,LANG_OPVP_HP_LOOSE_OVERLOOK_A,LANG_OPVP_HP_LOOSE_STADIUM_A};
|
||||
const uint32 HP_LANG_LOSE_A[HP_TOWER_NUM] = {LANG_OPVP_HP_LOSE_BROKENHILL_A,LANG_OPVP_HP_LOSE_OVERLOOK_A,LANG_OPVP_HP_LOSE_STADIUM_A};
|
||||
|
||||
const uint32 HP_LANG_LOOSE_H[HP_TOWER_NUM] = {LANG_OPVP_HP_LOOSE_BROKENHILL_H,LANG_OPVP_HP_LOOSE_OVERLOOK_H,LANG_OPVP_HP_LOOSE_STADIUM_H};
|
||||
const uint32 HP_LANG_LOSE_H[HP_TOWER_NUM] = {LANG_OPVP_HP_LOSE_BROKENHILL_H,LANG_OPVP_HP_LOSE_OVERLOOK_H,LANG_OPVP_HP_LOSE_STADIUM_H};
|
||||
|
||||
const uint32 HP_LANG_CAPTURE_A[HP_TOWER_NUM] = {LANG_OPVP_HP_CAPTURE_BROKENHILL_A,LANG_OPVP_HP_CAPTURE_OVERLOOK_A,LANG_OPVP_HP_CAPTURE_STADIUM_A};
|
||||
|
||||
@@ -175,13 +175,13 @@ void OPvPCapturePointHP::ChangeState()
|
||||
field = HP_MAP_A[m_TowerType];
|
||||
if (((OutdoorPvPHP*)m_PvP)->m_AllianceTowersControlled)
|
||||
((OutdoorPvPHP*)m_PvP)->m_AllianceTowersControlled--;
|
||||
sWorld.SendZoneText(OutdoorPvPHPBuffZones[0],sObjectMgr.GetTrinityStringForDBCLocale(HP_LANG_LOOSE_A[m_TowerType]));
|
||||
sWorld.SendZoneText(OutdoorPvPHPBuffZones[0],sObjectMgr.GetTrinityStringForDBCLocale(HP_LANG_LOSE_A[m_TowerType]));
|
||||
break;
|
||||
case OBJECTIVESTATE_HORDE:
|
||||
field = HP_MAP_H[m_TowerType];
|
||||
if (((OutdoorPvPHP*)m_PvP)->m_HordeTowersControlled)
|
||||
((OutdoorPvPHP*)m_PvP)->m_HordeTowersControlled--;
|
||||
sWorld.SendZoneText(OutdoorPvPHPBuffZones[0],sObjectMgr.GetTrinityStringForDBCLocale(HP_LANG_LOOSE_H[m_TowerType]));
|
||||
sWorld.SendZoneText(OutdoorPvPHPBuffZones[0],sObjectMgr.GetTrinityStringForDBCLocale(HP_LANG_LOSE_H[m_TowerType]));
|
||||
break;
|
||||
case OBJECTIVESTATE_NEUTRAL_ALLIANCE_CHALLENGE:
|
||||
field = HP_MAP_N[m_TowerType];
|
||||
|
||||
@@ -139,9 +139,9 @@ void OPvPCapturePointNA::FactionTakeOver(uint32 team)
|
||||
if (m_ControllingFaction)
|
||||
sObjectMgr.RemoveGraveYardLink(NA_HALAA_GRAVEYARD,NA_HALAA_GRAVEYARD_ZONE,m_ControllingFaction,false);
|
||||
if (m_ControllingFaction == ALLIANCE)
|
||||
sWorld.SendZoneText(NA_HALAA_GRAVEYARD_ZONE,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_NA_LOOSE_A));
|
||||
sWorld.SendZoneText(NA_HALAA_GRAVEYARD_ZONE,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_NA_LOSE_A));
|
||||
else if (m_ControllingFaction == HORDE)
|
||||
sWorld.SendZoneText(NA_HALAA_GRAVEYARD_ZONE,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_NA_LOOSE_H));
|
||||
sWorld.SendZoneText(NA_HALAA_GRAVEYARD_ZONE,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_NA_LOSE_H));
|
||||
|
||||
m_ControllingFaction = team;
|
||||
if (m_ControllingFaction)
|
||||
|
||||
@@ -250,14 +250,14 @@ void OPvPCapturePointTF::ChangeState()
|
||||
{
|
||||
if (((OutdoorPvPTF*)m_PvP)->m_AllianceTowersControlled)
|
||||
((OutdoorPvPTF*)m_PvP)->m_AllianceTowersControlled--;
|
||||
sWorld.SendZoneText(OutdoorPvPTFBuffZones[0],sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_TF_LOOSE_A));
|
||||
sWorld.SendZoneText(OutdoorPvPTFBuffZones[0],sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_TF_LOSE_A));
|
||||
}
|
||||
// if changing from controlling horde to alliance
|
||||
else if (m_OldState == OBJECTIVESTATE_HORDE)
|
||||
{
|
||||
if (((OutdoorPvPTF*)m_PvP)->m_HordeTowersControlled)
|
||||
((OutdoorPvPTF*)m_PvP)->m_HordeTowersControlled--;
|
||||
sWorld.SendZoneText(OutdoorPvPTFBuffZones[0],sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_TF_LOOSE_H));
|
||||
sWorld.SendZoneText(OutdoorPvPTFBuffZones[0],sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_TF_LOSE_H));
|
||||
}
|
||||
|
||||
uint32 artkit = 21;
|
||||
|
||||
@@ -78,14 +78,14 @@ void OPvPCapturePointZM_Beacon::ChangeState()
|
||||
{
|
||||
if (((OutdoorPvPZM*)m_PvP)->m_AllianceTowersControlled)
|
||||
((OutdoorPvPZM*)m_PvP)->m_AllianceTowersControlled--;
|
||||
sWorld.SendZoneText(ZM_GRAVEYARD_ZONE,sObjectMgr.GetTrinityStringForDBCLocale(ZMBeaconLooseA[m_TowerType]));
|
||||
sWorld.SendZoneText(ZM_GRAVEYARD_ZONE,sObjectMgr.GetTrinityStringForDBCLocale(ZMBeaconLoseA[m_TowerType]));
|
||||
}
|
||||
// if changing from controlling horde to alliance
|
||||
else if (m_OldState == OBJECTIVESTATE_HORDE)
|
||||
{
|
||||
if (((OutdoorPvPZM*)m_PvP)->m_HordeTowersControlled)
|
||||
((OutdoorPvPZM*)m_PvP)->m_HordeTowersControlled--;
|
||||
sWorld.SendZoneText(ZM_GRAVEYARD_ZONE,sObjectMgr.GetTrinityStringForDBCLocale(ZMBeaconLooseH[m_TowerType]));
|
||||
sWorld.SendZoneText(ZM_GRAVEYARD_ZONE,sObjectMgr.GetTrinityStringForDBCLocale(ZMBeaconLoseH[m_TowerType]));
|
||||
}
|
||||
|
||||
switch(m_State)
|
||||
@@ -216,7 +216,7 @@ int32 OPvPCapturePointZM_GraveYard::HandleOpenGo(Player *plr, uint64 guid)
|
||||
if (plr->HasAura(ZM_BATTLE_STANDARD_A) && m_GraveYardState != ZM_GRAVEYARD_A)
|
||||
{
|
||||
if (m_GraveYardState == ZM_GRAVEYARD_H)
|
||||
sWorld.SendZoneText(ZM_GRAVEYARD_ZONE,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_ZM_LOOSE_GY_H));
|
||||
sWorld.SendZoneText(ZM_GRAVEYARD_ZONE,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_ZM_LOSE_GY_H));
|
||||
m_GraveYardState = ZM_GRAVEYARD_A;
|
||||
DelObject(0); // only one gotype is used in the whole outdoor pvp, no need to call it a constant
|
||||
AddObject(0,ZM_Banner_A.entry,ZM_Banner_A.map,ZM_Banner_A.x,ZM_Banner_A.y,ZM_Banner_A.z,ZM_Banner_A.o,ZM_Banner_A.rot0,ZM_Banner_A.rot1,ZM_Banner_A.rot2,ZM_Banner_A.rot3);
|
||||
@@ -229,7 +229,7 @@ int32 OPvPCapturePointZM_GraveYard::HandleOpenGo(Player *plr, uint64 guid)
|
||||
else if (plr->HasAura(ZM_BATTLE_STANDARD_H) && m_GraveYardState != ZM_GRAVEYARD_H)
|
||||
{
|
||||
if (m_GraveYardState == ZM_GRAVEYARD_A)
|
||||
sWorld.SendZoneText(ZM_GRAVEYARD_ZONE,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_ZM_LOOSE_GY_A));
|
||||
sWorld.SendZoneText(ZM_GRAVEYARD_ZONE,sObjectMgr.GetTrinityStringForDBCLocale(LANG_OPVP_ZM_LOSE_GY_A));
|
||||
m_GraveYardState = ZM_GRAVEYARD_H;
|
||||
DelObject(0); // only one gotype is used in the whole outdoor pvp, no need to call it a constant
|
||||
AddObject(0,ZM_Banner_H.entry,ZM_Banner_H.map,ZM_Banner_H.x,ZM_Banner_H.y,ZM_Banner_H.z,ZM_Banner_H.o,ZM_Banner_H.rot0,ZM_Banner_H.rot1,ZM_Banner_H.rot2,ZM_Banner_H.rot3);
|
||||
|
||||
@@ -104,16 +104,16 @@ const uint32 ZMBeaconCaptureH[ZM_NUM_BEACONS] =
|
||||
LANG_OPVP_ZM_CAPTURE_WEST_H
|
||||
};
|
||||
|
||||
const uint32 ZMBeaconLooseA[ZM_NUM_BEACONS] =
|
||||
const uint32 ZMBeaconLoseA[ZM_NUM_BEACONS] =
|
||||
{
|
||||
LANG_OPVP_ZM_LOOSE_EAST_A,
|
||||
LANG_OPVP_ZM_LOOSE_WEST_A
|
||||
LANG_OPVP_ZM_LOSE_EAST_A,
|
||||
LANG_OPVP_ZM_LOSE_WEST_A
|
||||
};
|
||||
|
||||
const uint32 ZMBeaconLooseH[ZM_NUM_BEACONS] =
|
||||
const uint32 ZMBeaconLoseH[ZM_NUM_BEACONS] =
|
||||
{
|
||||
LANG_OPVP_ZM_LOOSE_EAST_H,
|
||||
LANG_OPVP_ZM_LOOSE_WEST_H
|
||||
LANG_OPVP_ZM_LOSE_EAST_H,
|
||||
LANG_OPVP_ZM_LOSE_WEST_H
|
||||
};
|
||||
|
||||
const go_type ZMCapturePoints[ZM_NUM_BEACONS] =
|
||||
|
||||
@@ -29,8 +29,8 @@ EndScriptData */
|
||||
enum eSpells
|
||||
{
|
||||
SPELL_FLAME_BUFFET = 34121, // Flame Buffet - every 1,5 secs in phase 1 if there is no victim in melee range and after Dive Bomb in phase 2 with same conditions
|
||||
SPELL_FLAME_QUILLS = 34229, // Randomly after changing position in phase after watching tonns of movies, set probability 20%
|
||||
SPELL_REBIRTH = 34342, // Rebirth - beginning of second phase(after loose all health in phase 1)
|
||||
SPELL_FLAME_QUILLS = 34229, // Randomly after changing position in phase after watching tons of movies, set probability 20%
|
||||
SPELL_REBIRTH = 34342, // Rebirth - beginning of second phase(after losing all health in phase 1)
|
||||
SPELL_REBIRTH_2 = 35369, // Rebirth(another, without healing to full HP) - after Dive Bomb in phase 2
|
||||
SPELL_MELT_ARMOR = 35410, // Melt Armor - every 60 sec in phase 2
|
||||
SPELL_CHARGE = 35412, // Charge - 30 sec cooldown
|
||||
@@ -38,7 +38,7 @@ enum eSpells
|
||||
SPELL_DIVE_BOMB = 35181, // after watching tonns of movies, set cooldown to 40+rand()%5.
|
||||
SPELL_BERSERK = 45078, // 10 minutes after phase 2 starts(id is wrong, but proper id is unknown)
|
||||
|
||||
CREATURE_EMBER_OF_ALAR = 19551, // Al'ar summons one Ember of Al'ar every position change in phase 1 and two after Dive Bomb. Also in phase 2 when Ember of Al'ar dies, boss loose 3% health.
|
||||
CREATURE_EMBER_OF_ALAR = 19551, // Al'ar summons one Ember of Al'ar every position change in phase 1 and two after Dive Bomb. Also in phase 2 when Ember of Al'ar dies, boss loses 3% health.
|
||||
SPELL_EMBER_BLAST = 34133, // When Ember of Al'ar dies, it casts Ember Blast
|
||||
|
||||
CREATURE_FLAME_PATCH_ALAR = 20602, // Flame Patch - every 30 sec in phase 2
|
||||
|
||||
Reference in New Issue
Block a user