diff options
-rw-r--r-- | src/server/game/AI/ScriptedAI/ScriptedCreature.h | 2 | ||||
-rw-r--r-- | src/server/game/Grids/Notifiers/GridNotifiers.h | 19 | ||||
-rw-r--r-- | src/server/game/Handlers/PetitionsHandler.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 7 | ||||
-rw-r--r-- | src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp | 23 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_warlock.cpp | 2 |
6 files changed, 29 insertions, 26 deletions
diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.h b/src/server/game/AI/ScriptedAI/ScriptedCreature.h index 48cd8e63888..d002e20a198 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedCreature.h +++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.h @@ -337,7 +337,7 @@ class TC_GAME_API BossAI : public ScriptedAI void _JustEngagedWith(Unit* who); void _JustDied(); void _JustReachedHome(); - void _DespawnAtEvade(Seconds delayToRespawn = 30s, Creature* who = nullptr); + void _DespawnAtEvade(Seconds delayToRespawn = 30s, Creature* who = nullptr); void TeleportCheaters(); diff --git a/src/server/game/Grids/Notifiers/GridNotifiers.h b/src/server/game/Grids/Notifiers/GridNotifiers.h index a5990e8817c..3a2cf3d2d83 100644 --- a/src/server/game/Grids/Notifiers/GridNotifiers.h +++ b/src/server/game/Grids/Notifiers/GridNotifiers.h @@ -1716,6 +1716,25 @@ namespace Trinity ObjectGuid _GUID; }; + class HeightDifferenceCheck + { + public: + HeightDifferenceCheck(WorldObject* go, float diff, bool reverse) + : _baseObject(go), _difference(diff), _reverse(reverse) + { + } + + bool operator()(WorldObject* unit) const + { + return (unit->GetPositionZ() - _baseObject->GetPositionZ() > _difference) != _reverse; + } + + private: + WorldObject* _baseObject; + float _difference; + bool _reverse; + }; + class UnitAuraCheck { public: diff --git a/src/server/game/Handlers/PetitionsHandler.cpp b/src/server/game/Handlers/PetitionsHandler.cpp index e233c83b868..30ffb79c31e 100644 --- a/src/server/game/Handlers/PetitionsHandler.cpp +++ b/src/server/game/Handlers/PetitionsHandler.cpp @@ -624,7 +624,7 @@ void WorldSession::HandleTurnInPetitionOpcode(WorldPacket& recvData) if (_player->GetGuildId()) { data.Initialize(SMSG_TURN_IN_PETITION_RESULTS, 4); - data << (uint32)PETITION_TURN_ALREADY_IN_GUILD; + data << uint32(PETITION_TURN_ALREADY_IN_GUILD); _player->SendDirectMessage(&data); return; } diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index bbf7a39afbb..000bc453f6c 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -904,13 +904,13 @@ uint64 Spell::CalculateDelayMomentForDst() const { float speed = m_targets.GetSpeedXY(); if (speed > 0.0f) - return (uint64)floor(m_targets.GetDist2d() / speed * 1000.0f); + return uint64(std::floor(m_targets.GetDist2d() / speed * 1000.0f)); } else if (m_spellInfo->Speed > 0.0f) { // We should not subtract caster size from dist calculation (fixes execution time desync with animation on client, eg. Malleable Goo cast by PP) float dist = m_caster->GetExactDist(*m_targets.GetDstPos()); - return (uint64)std::floor(dist / m_spellInfo->Speed * 1000.0f); + return uint64(std::floor(dist / m_spellInfo->Speed * 1000.0f)); } } @@ -2185,6 +2185,7 @@ void Spell::AddUnitTarget(Unit* target, uint32 effectMask, bool checkIfValid /*= if (dist < 5.0f) dist = 5.0f; + targetInfo.TimeDelay = uint64(std::floor(dist / m_spellInfo->Speed * 1000.0f)); // Calculate minimum incoming time @@ -2269,7 +2270,9 @@ void Spell::AddGOTarget(GameObject* go, uint32 effectMask) float dist = m_caster->GetDistance(go->GetPositionX(), go->GetPositionY(), go->GetPositionZ()); if (dist < 5.0f) dist = 5.0f; + target.TimeDelay = uint64(std::floor(dist / m_spellInfo->Speed * 1000.0f)); + if (!m_delayMoment || m_delayMoment > target.TimeDelay) m_delayMoment = target.TimeDelay; } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp index 2f3f1eb1810..129836b4b69 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp @@ -393,25 +393,6 @@ class NecroticPlagueTargetCheck uint32 _notAura2; }; -class HeightDifferenceCheck -{ - public: - HeightDifferenceCheck(GameObject* go, float diff, bool reverse) - : _baseObject(go), _difference(diff), _reverse(reverse) - { - } - - bool operator()(WorldObject* unit) const - { - return (unit->GetPositionZ() - _baseObject->GetPositionZ() > _difference) != _reverse; - } - - private: - GameObject* _baseObject; - float _difference; - bool _reverse; -}; - class FrozenThroneResetWorker { public: @@ -1510,7 +1491,7 @@ struct npc_valkyr_shadowguard : public ScriptedAI { std::list<Creature*> triggers; GetCreatureListWithEntryInGrid(triggers, me, NPC_WORLD_TRIGGER, 150.0f); - triggers.remove_if(HeightDifferenceCheck(platform, 5.0f, true)); + triggers.remove_if(Trinity::HeightDifferenceCheck(platform, 5.0f, true)); if (triggers.empty()) return; @@ -2196,7 +2177,7 @@ class spell_the_lich_king_quake : public SpellScript void FilterTargets(std::list<WorldObject*>& targets) { if (GameObject* platform = ObjectAccessor::GetGameObject(*GetCaster(), GetCaster()->GetInstanceScript()->GetGuidData(DATA_ARTHAS_PLATFORM))) - targets.remove_if(HeightDifferenceCheck(platform, 5.0f, false)); + targets.remove_if(Trinity::HeightDifferenceCheck(platform, 5.0f, false)); } void HandleSendEvent(SpellEffIndex /*effIndex*/) diff --git a/src/server/scripts/Spells/spell_warlock.cpp b/src/server/scripts/Spells/spell_warlock.cpp index bac0337f9c0..487f2da2c3a 100644 --- a/src/server/scripts/Spells/spell_warlock.cpp +++ b/src/server/scripts/Spells/spell_warlock.cpp @@ -712,7 +712,7 @@ class spell_warl_life_tap : public SpellScript return GetCaster()->GetTypeId() == TYPEID_PLAYER; } - bool Validate(SpellInfo const* /*spell*/) override + bool Validate(SpellInfo const* /*spellInfo*/) override { return ValidateSpellInfo({ SPELL_WARLOCK_LIFE_TAP_ENERGIZE, SPELL_WARLOCK_LIFE_TAP_ENERGIZE_2 }); } |