diff options
Diffstat (limited to 'src')
23 files changed, 69 insertions, 68 deletions
diff --git a/src/server/game/Entities/Creature/TemporarySummon.cpp b/src/server/game/Entities/Creature/TemporarySummon.cpp index 961bf1e453a..a101b874cad 100644 --- a/src/server/game/Entities/Creature/TemporarySummon.cpp +++ b/src/server/game/Entities/Creature/TemporarySummon.cpp @@ -34,7 +34,7 @@ TempSummon::TempSummon(SummonPropertiesEntry const* properties, WorldObject* owner, bool isWorldObject) : Creature(isWorldObject), m_Properties(properties), m_type(TEMPSUMMON_MANUAL_DESPAWN), -m_timer(0), m_lifetime(0), m_canFollowOwner(true) +m_timer(0ms), m_lifetime(0ms), m_canFollowOwner(true) { if (owner) m_summonerGUID = owner->GetGUID(); @@ -75,6 +75,8 @@ void TempSummon::Update(uint32 diff) UnSummon(); return; } + + Milliseconds msDiff = Milliseconds(diff); switch (m_type) { case TEMPSUMMON_MANUAL_DESPAWN: @@ -82,26 +84,26 @@ void TempSummon::Update(uint32 diff) break; case TEMPSUMMON_TIMED_DESPAWN: { - if (m_timer <= diff) + if (m_timer <= msDiff) { UnSummon(); return; } - m_timer -= diff; + m_timer -= msDiff; break; } case TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT: { if (!IsInCombat()) { - if (m_timer <= diff) + if (m_timer <= msDiff) { UnSummon(); return; } - m_timer -= diff; + m_timer -= msDiff; } else if (m_timer != m_lifetime) m_timer = m_lifetime; @@ -113,13 +115,13 @@ void TempSummon::Update(uint32 diff) { if (m_deathState == CORPSE) { - if (m_timer <= diff) + if (m_timer <= msDiff) { UnSummon(); return; } - m_timer -= diff; + m_timer -= msDiff; } break; } @@ -144,13 +146,13 @@ void TempSummon::Update(uint32 diff) if (!IsInCombat()) { - if (m_timer <= diff) + if (m_timer <= msDiff) { UnSummon(); return; } else - m_timer -= diff; + m_timer -= msDiff; } else if (m_timer != m_lifetime) m_timer = m_lifetime; @@ -160,13 +162,13 @@ void TempSummon::Update(uint32 diff) { if (!IsInCombat() && IsAlive()) { - if (m_timer <= diff) + if (m_timer <= msDiff) { UnSummon(); return; } else - m_timer -= diff; + m_timer -= msDiff; } else if (m_timer != m_lifetime) m_timer = m_lifetime; @@ -179,7 +181,7 @@ void TempSummon::Update(uint32 diff) } } -void TempSummon::InitStats(WorldObject* summoner, uint32 duration) +void TempSummon::InitStats(WorldObject* summoner, Milliseconds duration) { ASSERT(!IsPet()); @@ -187,7 +189,7 @@ void TempSummon::InitStats(WorldObject* summoner, uint32 duration) m_lifetime = duration; if (m_type == TEMPSUMMON_MANUAL_DESPAWN) - m_type = (duration == 0) ? TEMPSUMMON_DEAD_DESPAWN : TEMPSUMMON_TIMED_DESPAWN; + m_type = (duration == 0ms) ? TEMPSUMMON_DEAD_DESPAWN : TEMPSUMMON_TIMED_DESPAWN; if (summoner && summoner->IsPlayer()) { @@ -369,7 +371,7 @@ std::string TempSummon::GetDebugInfo() const sstr << Creature::GetDebugInfo() << "\n" << std::boolalpha << "TempSummonType: " << std::to_string(GetSummonType()) << " Summoner: " << GetSummonerGUID().ToString() - << "Timer: " << GetTimer(); + << "Timer: " << GetTimer().count() << "ms"; return sstr.str(); } @@ -383,7 +385,7 @@ Minion::Minion(SummonPropertiesEntry const* properties, Unit* owner, bool isWorl InitCharmInfo(); } -void Minion::InitStats(WorldObject* summoner, uint32 duration) +void Minion::InitStats(WorldObject* summoner, Milliseconds duration) { TempSummon::InitStats(summoner, duration); @@ -452,7 +454,7 @@ Guardian::Guardian(SummonPropertiesEntry const* properties, Unit* owner, bool is } } -void Guardian::InitStats(WorldObject* summoner, uint32 duration) +void Guardian::InitStats(WorldObject* summoner, Milliseconds duration) { Minion::InitStats(summoner, duration); @@ -490,7 +492,7 @@ Puppet::Puppet(SummonPropertiesEntry const* properties, Unit* owner) m_unitTypeMask |= UNIT_MASK_PUPPET; } -void Puppet::InitStats(WorldObject* summoner, uint32 duration) +void Puppet::InitStats(WorldObject* summoner, Milliseconds duration) { Minion::InitStats(summoner, duration); SetReactState(REACT_PASSIVE); diff --git a/src/server/game/Entities/Creature/TemporarySummon.h b/src/server/game/Entities/Creature/TemporarySummon.h index fcfbb0ac1ec..a6883d4872d 100644 --- a/src/server/game/Entities/Creature/TemporarySummon.h +++ b/src/server/game/Entities/Creature/TemporarySummon.h @@ -46,8 +46,8 @@ class TC_GAME_API TempSummon : public Creature public: explicit TempSummon(SummonPropertiesEntry const* properties, WorldObject* owner, bool isWorldObject); virtual ~TempSummon() { } - void Update(uint32 time) override; - virtual void InitStats(WorldObject* summoner, uint32 lifetime); + void Update(uint32 diff) override; + virtual void InitStats(WorldObject* summoner, Milliseconds duration); virtual void InitSummon(WorldObject* summoner); void UpdateObjectVisibilityOnCreate() override; void UpdateObjectVisibilityOnDestroy() override; @@ -61,7 +61,7 @@ class TC_GAME_API TempSummon : public Creature GameObject* GetSummonerGameObject() const; ObjectGuid GetSummonerGUID() const { return m_summonerGUID; } TempSummonType GetSummonType() const { return m_type; } - uint32 GetTimer() const { return m_timer; } + Milliseconds GetTimer() const { return m_timer; } Optional<uint32> GetCreatureIdVisibleToSummoner() const { return m_creatureIdVisibleToSummoner; } Optional<uint32> GetDisplayIdVisibleToSummoner() const { return m_displayIdVisibleToSummoner; } bool CanFollowOwner() const { return m_canFollowOwner; } @@ -72,8 +72,8 @@ class TC_GAME_API TempSummon : public Creature std::string GetDebugInfo() const override; private: TempSummonType m_type; - uint32 m_timer; - uint32 m_lifetime; + Milliseconds m_timer; + Milliseconds m_lifetime; ObjectGuid m_summonerGUID; Optional<uint32> m_creatureIdVisibleToSummoner; Optional<uint32> m_displayIdVisibleToSummoner; @@ -84,7 +84,7 @@ class TC_GAME_API Minion : public TempSummon { public: Minion(SummonPropertiesEntry const* properties, Unit* owner, bool isWorldObject); - void InitStats(WorldObject* summoner, uint32 duration) override; + void InitStats(WorldObject* summoner, Milliseconds duration) override; void RemoveFromWorld() override; void setDeathState(DeathState s) override; Unit* GetOwner() const { return m_owner; } @@ -119,7 +119,7 @@ class TC_GAME_API Guardian : public Minion { public: Guardian(SummonPropertiesEntry const* properties, Unit* owner, bool isWorldObject); - void InitStats(WorldObject* summoner, uint32 duration) override; + void InitStats(WorldObject* summoner, Milliseconds duration) override; bool InitStatsForLevel(uint8 level); void InitSummon(WorldObject* summoner) override; @@ -145,7 +145,7 @@ class TC_GAME_API Puppet : public Minion { public: Puppet(SummonPropertiesEntry const* properties, Unit* owner); - void InitStats(WorldObject* summoner, uint32 duration) override; + void InitStats(WorldObject* summoner, Milliseconds duration) override; void InitSummon(WorldObject* summoner) override; void Update(uint32 time) override; }; diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 855138c3c6f..75f9ec052f4 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -1820,7 +1820,7 @@ void WorldObject::AddObjectToRemoveList() map->AddObjectToRemoveList(this); } -TempSummon* Map::SummonCreature(uint32 entry, Position const& pos, SummonPropertiesEntry const* properties /*= nullptr*/, uint32 duration /*= 0*/, WorldObject* summoner /*= nullptr*/, uint32 spellId /*= 0*/, uint32 vehId /*= 0*/, ObjectGuid privateObjectOwner /*= ObjectGuid::Empty*/, SmoothPhasingInfo const* smoothPhasingInfo /* = nullptr*/) +TempSummon* Map::SummonCreature(uint32 entry, Position const& pos, SummonPropertiesEntry const* properties /*= nullptr*/, Milliseconds duration /*= 0ms*/, WorldObject* summoner /*= nullptr*/, uint32 spellId /*= 0*/, uint32 vehId /*= 0*/, ObjectGuid privateObjectOwner /*= ObjectGuid::Empty*/, SmoothPhasingInfo const* smoothPhasingInfo /* = nullptr*/) { uint32 mask = UNIT_MASK_SUMMON; if (properties) @@ -2013,7 +2013,7 @@ TempSummon* WorldObject::SummonCreature(uint32 entry, Position const& pos, TempS { if (Map* map = FindMap()) { - if (TempSummon* summon = map->SummonCreature(entry, pos, nullptr, despawnTime.count(), this, spellId, vehId, privateObjectOwner)) + if (TempSummon* summon = map->SummonCreature(entry, pos, nullptr, despawnTime, this, spellId, vehId, privateObjectOwner)) { summon->SetTempSummonType(despawnType); return summon; @@ -2039,7 +2039,7 @@ TempSummon* WorldObject::SummonPersonalClone(Position const& pos, TempSummonType if (Map* map = FindMap()) { SmoothPhasingInfo smoothPhasingInfo{GetGUID(), true, true}; - if (TempSummon* summon = map->SummonCreature(GetEntry(), pos, nullptr, despawnTime.count(), privateObjectOwner, spellId, vehId, privateObjectOwner->GetGUID(), &smoothPhasingInfo)) + if (TempSummon* summon = map->SummonCreature(GetEntry(), pos, nullptr, despawnTime, privateObjectOwner, spellId, vehId, privateObjectOwner->GetGUID(), &smoothPhasingInfo)) { summon->SetTempSummonType(despawnType); return summon; diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index d1967a2283c..f4ccc1e4051 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -21641,7 +21641,7 @@ void Player::VehicleSpellInitialize() petSpells.PetGUID = vehicle->GetGUID(); petSpells._CreatureFamily = 0; // Pet Family (0 for all vehicles) petSpells.Specialization = 0; - petSpells.TimeLimit = vehicle->IsSummon() ? vehicle->ToTempSummon()->GetTimer() : 0; + petSpells.TimeLimit = vehicle->IsSummon() ? vehicle->ToTempSummon()->GetTimer().count() : 0; petSpells.ReactState = vehicle->GetReactState(); petSpells.CommandState = COMMAND_FOLLOW; petSpells.Flag = 0x8; diff --git a/src/server/game/Entities/Totem/Totem.cpp b/src/server/game/Entities/Totem/Totem.cpp index ce72bcba9b7..ea648eec73d 100644 --- a/src/server/game/Entities/Totem/Totem.cpp +++ b/src/server/game/Entities/Totem/Totem.cpp @@ -26,14 +26,12 @@ #include "SpellMgr.h" #include "TotemPackets.h" -Totem::Totem(SummonPropertiesEntry const* properties, Unit* owner) : Minion(properties, owner, false) +Totem::Totem(SummonPropertiesEntry const* properties, Unit* owner) : Minion(properties, owner, false), m_type(TOTEM_PASSIVE), m_duration(0ms) { m_unitTypeMask |= UNIT_MASK_TOTEM; - m_duration = 0; - m_type = TOTEM_PASSIVE; } -void Totem::Update(uint32 time) +void Totem::Update(uint32 diff) { if (!GetOwner()->IsAlive() || !IsAlive()) { @@ -41,18 +39,18 @@ void Totem::Update(uint32 time) return; } - if (m_duration <= time) + if (m_duration <= Milliseconds(diff)) { UnSummon(); // remove self return; } - else - m_duration -= time; - Creature::Update(time); + m_duration -= Milliseconds(diff); + + Creature::Update(diff); } -void Totem::InitStats(WorldObject* summoner, uint32 duration) +void Totem::InitStats(WorldObject* summoner, Milliseconds duration) { // client requires SMSG_TOTEM_CREATED to be sent before adding to world and before removing old totem if (Player* owner = GetOwner()->ToPlayer()) diff --git a/src/server/game/Entities/Totem/Totem.h b/src/server/game/Entities/Totem/Totem.h index ca8de920643..72066cc2996 100644 --- a/src/server/game/Entities/Totem/Totem.h +++ b/src/server/game/Entities/Totem/Totem.h @@ -32,13 +32,13 @@ class TC_GAME_API Totem : public Minion public: Totem(SummonPropertiesEntry const* properties, Unit* owner); virtual ~Totem() { } - void Update(uint32 time) override; - void InitStats(WorldObject* summoner, uint32 duration) override; + void Update(uint32 diff) override; + void InitStats(WorldObject* summoner, Milliseconds duration) override; void InitSummon(WorldObject* summoner) override; void UnSummon(uint32 msTime = 0) override; uint32 GetSpell(uint8 slot = 0) const { return m_spells[slot]; } - uint32 GetTotemDuration() const { return m_duration; } - void SetTotemDuration(uint32 duration) { m_duration = duration; } + Milliseconds GetTotemDuration() const { return m_duration; } + void SetTotemDuration(Milliseconds duration) { m_duration = duration; } TotemType GetTotemType() const { return m_type; } bool UpdateStats(Stats /*stat*/) override { return true; } @@ -54,6 +54,6 @@ class TC_GAME_API Totem : public Minion protected: TotemType m_type; - uint32 m_duration; + Milliseconds m_duration; }; #endif diff --git a/src/server/game/Entities/Transport/Transport.cpp b/src/server/game/Entities/Transport/Transport.cpp index f3c03fe3421..a535f11756c 100644 --- a/src/server/game/Entities/Transport/Transport.cpp +++ b/src/server/game/Entities/Transport/Transport.cpp @@ -406,7 +406,7 @@ GameObject* Transport::CreateGOPassenger(ObjectGuid::LowType guid, GameObjectDat return go; } -TempSummon* Transport::SummonPassenger(uint32 entry, Position const& pos, TempSummonType summonType, SummonPropertiesEntry const* properties /*= nullptr*/, uint32 duration /*= 0*/, Unit* summoner /*= nullptr*/, uint32 spellId /*= 0*/, uint32 vehId /*= 0*/) +TempSummon* Transport::SummonPassenger(uint32 entry, Position const& pos, TempSummonType summonType, SummonPropertiesEntry const* properties /*= nullptr*/, Milliseconds duration /*= 0ms*/, Unit* summoner /*= nullptr*/, uint32 spellId /*= 0*/, uint32 vehId /*= 0*/) { Map* map = FindMap(); if (!map) diff --git a/src/server/game/Entities/Transport/Transport.h b/src/server/game/Entities/Transport/Transport.h index 46edfebd082..9a9989990b1 100644 --- a/src/server/game/Entities/Transport/Transport.h +++ b/src/server/game/Entities/Transport/Transport.h @@ -66,7 +66,7 @@ class TC_GAME_API Transport : public GameObject, public TransportBase * * @return Summoned creature. */ - TempSummon* SummonPassenger(uint32 entry, Position const& pos, TempSummonType summonType, SummonPropertiesEntry const* properties = nullptr, uint32 duration = 0, Unit* summoner = nullptr, uint32 spellId = 0, uint32 vehId = 0); + TempSummon* SummonPassenger(uint32 entry, Position const& pos, TempSummonType summonType, SummonPropertiesEntry const* properties = nullptr, Milliseconds duration = 0ms, Unit* summoner = nullptr, uint32 spellId = 0, uint32 vehId = 0); ObjectGuid GetTransportGUID() const override { return GetGUID(); } diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index 1296f001c22..de2ad5d3756 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -485,7 +485,7 @@ class TC_GAME_API ProcEventInfo ProcFlagsSpellType spellTypeMask, ProcFlagsSpellPhase spellPhaseMask, ProcFlagsHit hitMask, Spell* spell, DamageInfo* damageInfo, HealInfo* healInfo); - Unit* GetActor() { return _actor; } + Unit* GetActor() const { return _actor; } Unit* GetActionTarget() const { return _actionTarget; } Unit* GetProcTarget() const { return _procTarget; } diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 91a931486ae..d08133d3348 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -2083,7 +2083,7 @@ void ObjectMgr::LoadTempSummons() continue; } - data.time = fields[9].GetUInt32(); + data.time = Milliseconds(fields[9].GetUInt32()); TempSummonGroupKey key(summonerId, summonerType, group); _tempSummonDataStore[key].push_back(data); diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h index 2cd8185dd26..5b3a7d2122c 100644 --- a/src/server/game/Globals/ObjectMgr.h +++ b/src/server/game/Globals/ObjectMgr.h @@ -94,7 +94,7 @@ struct TempSummonData uint32 entry; ///< Entry of summoned creature Position pos; ///< Position, where should be creature spawned TempSummonType type; ///< Summon type, see TempSummonType for available types - uint32 time; ///< Despawn time, usable only with certain temp summon types + Milliseconds time; ///< Despawn time, usable only with certain temp summon types }; #pragma pack(pop) diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h index 3a570714176..6dfc99afc40 100644 --- a/src/server/game/Maps/Map.h +++ b/src/server/game/Maps/Map.h @@ -364,7 +364,7 @@ class TC_GAME_API Map : public GridRefManager<NGridType> void UpdateIteratorBack(Player* player); - TempSummon* SummonCreature(uint32 entry, Position const& pos, SummonPropertiesEntry const* properties = nullptr, uint32 duration = 0, WorldObject* summoner = nullptr, uint32 spellId = 0, uint32 vehId = 0, ObjectGuid privateObjectOwner = ObjectGuid::Empty, SmoothPhasingInfo const* smoothPhasingInfo = nullptr); + TempSummon* SummonCreature(uint32 entry, Position const& pos, SummonPropertiesEntry const* properties = nullptr, Milliseconds duration = 0ms, WorldObject* summoner = nullptr, uint32 spellId = 0, uint32 vehId = 0, ObjectGuid privateObjectOwner = ObjectGuid::Empty, SmoothPhasingInfo const* smoothPhasingInfo = nullptr); void SummonCreatureGroup(uint8 group, std::list<TempSummon*>* list = nullptr); AreaTrigger* GetAreaTrigger(ObjectGuid const& guid); SceneObject* GetSceneObject(ObjectGuid const& guid); diff --git a/src/server/game/Server/Packets/TotemPackets.cpp b/src/server/game/Server/Packets/TotemPackets.cpp index c2c65d386d7..e193c6ffdb7 100644 --- a/src/server/game/Server/Packets/TotemPackets.cpp +++ b/src/server/game/Server/Packets/TotemPackets.cpp @@ -27,7 +27,7 @@ WorldPacket const* WorldPackets::Totem::TotemCreated::Write() { _worldPacket << uint8(Slot); _worldPacket << Totem; - _worldPacket << int32(Duration); + _worldPacket << Duration; _worldPacket << int32(SpellID); _worldPacket << float(TimeMod); _worldPacket.WriteBit(CannotDismiss); diff --git a/src/server/game/Server/Packets/TotemPackets.h b/src/server/game/Server/Packets/TotemPackets.h index 2a8213169c4..a0a450472ae 100644 --- a/src/server/game/Server/Packets/TotemPackets.h +++ b/src/server/game/Server/Packets/TotemPackets.h @@ -18,8 +18,9 @@ #ifndef TotemPackets_h__ #define TotemPackets_h__ -#include "Packet.h" #include "ObjectGuid.h" +#include "Packet.h" +#include "PacketUtilities.h" namespace WorldPackets { @@ -45,7 +46,7 @@ namespace WorldPackets ObjectGuid Totem; int32 SpellID = 0; - int32 Duration = 0; + Duration<Milliseconds, int32> Duration = 0ms; uint8 Slot = 0; float TimeMod = 1.0f; bool CannotDismiss = false; diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 22a1bcaf147..801e53d1539 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -1833,7 +1833,7 @@ void Spell::EffectSummonType() return caster->GetGUID(); }(); - int32 duration = m_spellInfo->CalcDuration(caster); + Milliseconds duration = Milliseconds(m_spellInfo->CalcDuration(caster)); Unit* unitCaster = GetUnitCasterForEffectHandlers(); @@ -1933,7 +1933,7 @@ void Spell::EffectSummonType() { float radius = effectInfo->CalcRadius(); - TempSummonType summonType = (duration == 0) ? TEMPSUMMON_DEAD_DESPAWN : TEMPSUMMON_TIMED_DESPAWN; + TempSummonType summonType = (duration == 0ms) ? TEMPSUMMON_DEAD_DESPAWN : TEMPSUMMON_TIMED_DESPAWN; for (uint32 count = 0; count < numSummons; ++count) { @@ -4850,7 +4850,7 @@ void Spell::SummonGuardian(SpellEffectInfo const* effect, uint32 entry, SummonPr // in another case summon new float radius = 5.0f; - int32 duration = m_spellInfo->CalcDuration(m_originalCaster); + Milliseconds duration = Milliseconds(m_spellInfo->CalcDuration(m_originalCaster)); //TempSummonType summonType = (duration == 0) ? TEMPSUMMON_DEAD_DESPAWN : TEMPSUMMON_TIMED_DESPAWN; Map* map = unitCaster->GetMap(); diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp index 6b68b014ed4..8af852a1d29 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp @@ -121,7 +121,7 @@ public: if (mBarrelCount == 5) { UpdateQuestCredit(); - if (TempSummon* drake = instance->SummonCreature(DRAKE_ENTRY, { 2128.43f, 71.01f, 64.42f, 1.74f }, nullptr, Milliseconds(30min).count())) + if (TempSummon* drake = instance->SummonCreature(DRAKE_ENTRY, { 2128.43f, 71.01f, 64.42f, 1.74f }, nullptr, 30min)) drake->SetTempSummonType(TEMPSUMMON_DEAD_DESPAWN); } } diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp index 9636bc45fae..dcbc4014546 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp @@ -1606,7 +1606,7 @@ class spell_halion_damage_aoe_summon : public SpellScriptLoader Unit* caster = GetCaster(); uint32 entry = uint32(GetEffectInfo().MiscValue); SummonPropertiesEntry const* properties = sSummonPropertiesStore.LookupEntry(uint32(GetEffectInfo().MiscValueB)); - uint32 duration = uint32(GetSpellInfo()->GetDuration()); + Milliseconds duration = Milliseconds(GetSpellInfo()->GetDuration()); Position pos = caster->GetPosition(); if (Creature* summon = caster->GetMap()->SummonCreature(entry, pos, properties, duration, caster, GetSpellInfo()->Id)) diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp index 31a37e313a8..1d27d897b48 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp @@ -419,7 +419,7 @@ public: continue; } - if (Creature* passenger = _transport->SummonPassenger(_slotInfo[i].Entry, SelectSpawnPoint(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, nullptr, 15000)) + if (Creature* passenger = _transport->SummonPassenger(_slotInfo[i].Entry, SelectSpawnPoint(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, nullptr, 15s)) { _controlledSlots[i] = passenger->GetGUID(); _respawnCooldowns[i] = time_t(0); @@ -1033,10 +1033,10 @@ struct npc_high_overlord_saurfang_igb : public ScriptedAI _controller.SummonCreatures(SLOT_MARINE_1, Is25ManRaid() ? SLOT_MARINE_4 : SLOT_MARINE_2); _controller.SummonCreatures(SLOT_SERGEANT_1, Is25ManRaid() ? SLOT_SERGEANT_2 : SLOT_SERGEANT_1); if (Transport* orgrimsHammer = dynamic_cast<Transport*>(me->GetTransport())) - orgrimsHammer->SummonPassenger(NPC_TELEPORT_PORTAL, OrgrimsHammerTeleportPortal, TEMPSUMMON_TIMED_DESPAWN, nullptr, 21000); + orgrimsHammer->SummonPassenger(NPC_TELEPORT_PORTAL, OrgrimsHammerTeleportPortal, TEMPSUMMON_TIMED_DESPAWN, nullptr, 21s); if (Transport* skybreaker = ObjectAccessor::GetTransport(*me, _instance->GetGuidData(DATA_ICECROWN_GUNSHIP_BATTLE))) - skybreaker->SummonPassenger(NPC_TELEPORT_EXIT, SkybreakerTeleportExit, TEMPSUMMON_TIMED_DESPAWN, nullptr, 23000); + skybreaker->SummonPassenger(NPC_TELEPORT_EXIT, SkybreakerTeleportExit, TEMPSUMMON_TIMED_DESPAWN, nullptr, 23s); _events.ScheduleEvent(EVENT_ADDS_BOARD_YELL, 6s); _events.ScheduleEvent(EVENT_ADDS, 1min); @@ -1293,10 +1293,10 @@ struct npc_muradin_bronzebeard_igb : public ScriptedAI _controller.SummonCreatures(SLOT_MARINE_1, Is25ManRaid() ? SLOT_MARINE_4 : SLOT_MARINE_2); _controller.SummonCreatures(SLOT_SERGEANT_1, Is25ManRaid() ? SLOT_SERGEANT_2 : SLOT_SERGEANT_1); if (Transport* skybreaker = dynamic_cast<Transport*>(me->GetTransport())) - skybreaker->SummonPassenger(NPC_TELEPORT_PORTAL, SkybreakerTeleportPortal, TEMPSUMMON_TIMED_DESPAWN, nullptr, 21000); + skybreaker->SummonPassenger(NPC_TELEPORT_PORTAL, SkybreakerTeleportPortal, TEMPSUMMON_TIMED_DESPAWN, nullptr, 21s); if (Transport* orgrimsHammer = ObjectAccessor::GetTransport(*me, _instance->GetGuidData(DATA_ICECROWN_GUNSHIP_BATTLE))) - orgrimsHammer->SummonPassenger(NPC_TELEPORT_EXIT, OrgrimsHammerTeleportExit, TEMPSUMMON_TIMED_DESPAWN, nullptr, 23000); + orgrimsHammer->SummonPassenger(NPC_TELEPORT_EXIT, OrgrimsHammerTeleportExit, TEMPSUMMON_TIMED_DESPAWN, nullptr, 23s); _events.ScheduleEvent(EVENT_ADDS_BOARD_YELL, 6s); _events.ScheduleEvent(EVENT_ADDS, 1min); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp index 63965a9978c..ed08f59b1c3 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp @@ -1315,7 +1315,7 @@ class spell_putricide_mutated_transformation : public SpellScript uint32 entry = uint32(GetEffectInfo().MiscValue); SummonPropertiesEntry const* properties = sSummonPropertiesStore.LookupEntry(uint32(GetEffectInfo().MiscValueB)); - uint32 duration = uint32(GetSpellInfo()->GetDuration()); + Milliseconds duration = Milliseconds(GetSpellInfo()->GetDuration()); Position pos = caster->GetPosition(); TempSummon* summon = caster->GetMap()->SummonCreature(entry, pos, properties, duration, caster, GetSpellInfo()->Id); 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 a2fb6a0ae4b..1a30c3c5bee 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp @@ -1048,7 +1048,7 @@ struct boss_the_lich_king : public BossAI } break; case EVENT_FROSTMOURNE_HEROIC: - if (TempSummon* terenas = me->GetMap()->SummonCreature(NPC_TERENAS_MENETHIL_FROSTMOURNE_H, TerenasSpawnHeroic, nullptr, 50000)) + if (TempSummon* terenas = me->GetMap()->SummonCreature(NPC_TERENAS_MENETHIL_FROSTMOURNE_H, TerenasSpawnHeroic, nullptr, 50s)) { terenas->AI()->DoAction(ACTION_FROSTMOURNE_INTRO); std::list<Creature*> triggers; diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp index 2c243261b3d..caf5bc00f5e 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp @@ -1315,7 +1315,7 @@ class instance_icecrown_citadel : public InstanceMapScript } break; case EVENT_TELEPORT_TO_FROSTMOURNE: // Harvest Soul (normal mode) - if (Creature* terenas = instance->SummonCreature(NPC_TERENAS_MENETHIL_FROSTMOURNE, TerenasSpawn, nullptr, 63000)) + if (Creature* terenas = instance->SummonCreature(NPC_TERENAS_MENETHIL_FROSTMOURNE, TerenasSpawn, nullptr, 63s)) { terenas->AI()->DoAction(ACTION_FROSTMOURNE_INTRO); std::list<Creature*> triggers; @@ -1327,7 +1327,7 @@ class instance_icecrown_citadel : public InstanceMapScript visual->CastSpell(visual, SPELL_FROSTMOURNE_TELEPORT_VISUAL, true); } - if (Creature* warden = instance->SummonCreature(NPC_SPIRIT_WARDEN, SpiritWardenSpawn, nullptr, 63000)) + if (Creature* warden = instance->SummonCreature(NPC_SPIRIT_WARDEN, SpiritWardenSpawn, nullptr, 63s)) { terenas->AI()->AttackStart(warden); warden->GetThreatManager().AddThreat(terenas, 300000.0f, nullptr, true, true); diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 34352ba96c6..af5668fd93f 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -4784,7 +4784,7 @@ class spell_summon_battle_pet : public SpellScript Unit* caster = GetCaster(); SummonPropertiesEntry const* properties = sSummonPropertiesStore.LookupEntry(uint32(GetEffectInfo().MiscValueB)); - uint32 duration = uint32(GetSpellInfo()->CalcDuration(caster)); + Milliseconds duration = Milliseconds(GetSpellInfo()->CalcDuration(caster)); Position pos = GetHitDest()->GetPosition(); if (Creature* summon = caster->GetMap()->SummonCreature(creatureId, pos, properties, duration, caster, GetSpellInfo()->Id)) diff --git a/src/server/scripts/Spells/spell_shaman.cpp b/src/server/scripts/Spells/spell_shaman.cpp index d810f044216..a48072df244 100644 --- a/src/server/scripts/Spells/spell_shaman.cpp +++ b/src/server/scripts/Spells/spell_shaman.cpp @@ -854,7 +854,7 @@ class spell_sha_healing_rain : public SpellScript { if (WorldLocation const* dest = GetExplTargetDest()) { - int32 duration = GetSpellInfo()->CalcDuration(GetOriginalCaster()); + Milliseconds duration = Milliseconds(GetSpellInfo()->CalcDuration(GetOriginalCaster())); TempSummon* summon = GetCaster()->GetMap()->SummonCreature(NPC_HEALING_RAIN_INVISIBLE_STALKER, *dest, nullptr, duration, GetOriginalCaster()); if (!summon) return; |