From 31670056506c6b32e0fe54c29385f7fdc6e8affd Mon Sep 17 00:00:00 2001 From: Aokromes Date: Mon, 23 Jul 2018 11:34:08 +0200 Subject: [PATCH 01/19] fix warnings --- src/server/game/Chat/Channels/Channel.cpp | 2 +- src/server/game/Chat/Chat.cpp | 4 ++-- src/server/game/DataStores/DBCStructure.h | 2 +- src/server/game/Entities/Player/Player.cpp | 4 ++-- src/server/game/Handlers/MiscHandler.cpp | 2 +- src/server/scripts/Commands/cs_go.cpp | 2 +- src/server/scripts/Commands/cs_group.cpp | 2 +- src/server/scripts/Commands/cs_list.cpp | 2 +- src/server/scripts/Commands/cs_lookup.cpp | 2 +- src/server/scripts/Commands/cs_message.cpp | 2 +- src/server/scripts/Commands/cs_misc.cpp | 8 ++++---- 11 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/server/game/Chat/Channels/Channel.cpp b/src/server/game/Chat/Channels/Channel.cpp index d15a9383932..5db2214f3f4 100644 --- a/src/server/game/Chat/Channels/Channel.cpp +++ b/src/server/game/Chat/Channels/Channel.cpp @@ -122,7 +122,7 @@ void Channel::GetChannelName(std::string& channelName, uint32 channelId, LocaleC if (channelEntry->flags & CHANNEL_DBC_FLAG_CITY_ONLY) channelName = Trinity::StringFormat(channelEntry->pattern, sObjectMgr->GetTrinityString(LANG_CHANNEL_CITY, locale)); else - channelName = Trinity::StringFormat(channelEntry->pattern, ASSERT_NOTNULL(zoneEntry)->area_name); + channelName = Trinity::StringFormat(channelEntry->pattern, ASSERT_NOTNULL(zoneEntry)->area_name->Str[locale]); } else channelName = channelEntry->pattern; diff --git a/src/server/game/Chat/Chat.cpp b/src/server/game/Chat/Chat.cpp index 4e7b8f51743..ec54382207d 100644 --- a/src/server/game/Chat/Chat.cpp +++ b/src/server/game/Chat/Chat.cpp @@ -325,9 +325,9 @@ bool ChatHandler::ExecuteCommandInTable(std::vector const& table, c std::string zoneName = "Unknown"; if (AreaTableEntry const* area = sAreaTableStore.LookupEntry(areaId)) { - areaName = area->area_name; + areaName = area->area_name->Str[m_session->GetSessionDbcLocale()]; if (AreaTableEntry const* zone = sAreaTableStore.LookupEntry(area->zone)) - zoneName = zone->area_name; + zoneName = zone->area_name->Str[m_session->GetSessionDbcLocale()]; } sLog->outCommand(m_session->GetAccountId(), "Command: %s [Player: %s (%s) (Account: %u) X: %f Y: %f Z: %f Map: %u (%s) Area: %u (%s) Zone: %s Selected: %s (%s)]", diff --git a/src/server/game/DataStores/DBCStructure.h b/src/server/game/DataStores/DBCStructure.h index 362c583bb81..2be1d6a9024 100644 --- a/src/server/game/DataStores/DBCStructure.h +++ b/src/server/game/DataStores/DBCStructure.h @@ -627,7 +627,7 @@ struct AreaTableEntry //uint32 unk8; // 8, //uint32 unk9; // 9, int32 area_level; // 10 - char* area_name; // 11 + LocalizedString* area_name; // 11 uint32 team; // 12 uint32 LiquidTypeOverride[4]; // 13-16 liquid override by type float MaxDepth; // 17, diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index c12b354bb31..162efefa633 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -27311,9 +27311,9 @@ std::string Player::GetMapAreaAndZoneString() const if (AreaTableEntry const* area = sAreaTableStore.LookupEntry(areaId)) { int locale = GetSession()->GetSessionDbcLocale(); - areaName = area->area_name[locale]; + areaName = area->area_name->Str[locale]; if (AreaTableEntry const* zone = sAreaTableStore.LookupEntry(area->zone)) - zoneName = zone->area_name[locale]; + zoneName = zone->area_name->Str[locale]; } std::ostringstream str; diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index 7e1f96b1f8f..6a8130619e6 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -310,7 +310,7 @@ void WorldSession::HandleWhoOpcode(WorldPacket& recvData) std::string aname; if (AreaTableEntry const* areaEntry = sAreaTableStore.LookupEntry(playerZoneId)) - aname = areaEntry->area_name[GetSessionDbcLocale()]; + aname = areaEntry->area_name->Str[GetSessionDbcLocale()]; bool s_show = true; for (uint32 i = 0; i < strCount; ++i) diff --git a/src/server/scripts/Commands/cs_go.cpp b/src/server/scripts/Commands/cs_go.cpp index cae3e1a5fac..89a65aafe08 100644 --- a/src/server/scripts/Commands/cs_go.cpp +++ b/src/server/scripts/Commands/cs_go.cpp @@ -431,7 +431,7 @@ public: if (map->Instanceable()) { - handler->PSendSysMessage(LANG_INVALID_ZONE_MAP, areaEntry->ID, areaEntry->area_name, map->GetId(), map->GetMapName()); + handler->PSendSysMessage(LANG_INVALID_ZONE_MAP, areaEntry->ID, areaEntry->area_name->Str[handler->GetSessionDbcLocale()], map->GetId(), map->GetMapName()); handler->SetSentErrorMessage(true); return false; } diff --git a/src/server/scripts/Commands/cs_group.cpp b/src/server/scripts/Commands/cs_group.cpp index 2db18526685..fcf0eb0ec71 100644 --- a/src/server/scripts/Commands/cs_group.cpp +++ b/src/server/scripts/Commands/cs_group.cpp @@ -432,7 +432,7 @@ public: { AreaTableEntry const* zone = sAreaTableStore.LookupEntry(area->zone); if (zone) - zoneName = zone->area_name[localeConstant]; + zoneName = zone->area_name->Str[localeConstant]; } } else diff --git a/src/server/scripts/Commands/cs_list.cpp b/src/server/scripts/Commands/cs_list.cpp index 544f991875b..a916cb4f722 100644 --- a/src/server/scripts/Commands/cs_list.cpp +++ b/src/server/scripts/Commands/cs_list.cpp @@ -681,7 +681,7 @@ public: static char const* GetZoneName(uint32 zoneId, LocaleConstant locale) { AreaTableEntry const* zoneEntry = sAreaTableStore.LookupEntry(zoneId); - return zoneEntry ? (const char*)zoneEntry->area_name[locale] : ""; + return zoneEntry ? zoneEntry->area_name->Str[locale] : ""; } static bool HandleListRespawnsCommand(ChatHandler* handler, char const* args) { diff --git a/src/server/scripts/Commands/cs_lookup.cpp b/src/server/scripts/Commands/cs_lookup.cpp index 8383c6c574e..2e069d09aa1 100644 --- a/src/server/scripts/Commands/cs_lookup.cpp +++ b/src/server/scripts/Commands/cs_lookup.cpp @@ -104,7 +104,7 @@ public: // Search in AreaTable.dbc for (AreaTableEntry const* areaEntry : sAreaTableStore) { - std::string name = areaEntry->area_name; + std::string name = areaEntry->area_name->Str[handler->GetSessionDbcLocale()]; if (name.empty()) continue; diff --git a/src/server/scripts/Commands/cs_message.cpp b/src/server/scripts/Commands/cs_message.cpp index 428ac9b3749..0471e8fbf9c 100644 --- a/src/server/scripts/Commands/cs_message.cpp +++ b/src/server/scripts/Commands/cs_message.cpp @@ -88,7 +88,7 @@ public: AreaTableEntry const* zoneEntry = nullptr; for (AreaTableEntry const* entry : sAreaTableStore) { - if (strstr(entry->area_name, channelStr)) + if (strstr(entry->area_name->Str[handler->GetSessionDbcLocale()], channelStr)) { zoneEntry = entry; break; diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index cc19fefed66..2bea799f9d8 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -277,8 +277,8 @@ public: handler->PSendSysMessage(LANG_MAP_POSITION, mapId, (mapEntry ? mapEntry->name : unknown), - zoneId, (zoneEntry ? zoneEntry->area_name : unknown), - areaId, (areaEntry ? areaEntry->area_name : unknown), + zoneId, (zoneEntry ? zoneEntry->area_name->Str[handler->GetSessionDbcLocale()] : unknown), + areaId, (areaEntry ? areaEntry->area_name->Str[handler->GetSessionDbcLocale()] : unknown), object->GetPositionX(), object->GetPositionY(), object->GetPositionZ(), object->GetOrientation()); if (Transport* transport = object->GetTransport()) handler->PSendSysMessage(LANG_TRANSPORT_POSITION, @@ -1836,11 +1836,11 @@ public: AreaTableEntry const* area = sAreaTableStore.LookupEntry(areaId); if (area) { - areaName = area->area_name; + areaName = area->area_name->Str[handler->GetSessionDbcLocale()];; AreaTableEntry const* zone = sAreaTableStore.LookupEntry(area->zone); if (zone) - zoneName = zone->area_name; + zoneName = zone->area_name->Str[handler->GetSessionDbcLocale()]; } if (target) From f441d36d781c8dc13cfe70778a384acc31353b3c Mon Sep 17 00:00:00 2001 From: Treeston Date: Wed, 18 Jul 2018 17:48:15 +0200 Subject: [PATCH 02/19] Misc: Pass std::chrono types by value everywhere. --- src/common/Utilities/EventMap.cpp | 4 ++-- src/common/Utilities/EventMap.h | 16 ++++++++-------- src/common/Utilities/EventProcessor.h | 2 +- src/common/Utilities/Random.cpp | 2 +- src/common/Utilities/Random.h | 2 +- src/server/game/Entities/Creature/Creature.cpp | 4 ++-- src/server/game/Entities/Creature/Creature.h | 8 ++++---- .../game/Entities/GameObject/GameObject.cpp | 2 +- src/server/game/Entities/GameObject/GameObject.h | 2 +- src/server/game/Entities/Object/Object.h | 3 ++- src/server/game/Scripting/ScriptReloadMgr.cpp | 2 +- src/server/game/Server/WorldSession.cpp | 4 ++-- .../EasternKingdoms/Karazhan/boss_nightbane.cpp | 2 +- .../AzjolNerub/AzjolNerub/boss_anubarak.cpp | 4 ++-- .../Northrend/Naxxramas/boss_faerlina.cpp | 4 ++-- .../scripts/Northrend/Naxxramas/boss_gothik.cpp | 2 +- .../Northrend/Naxxramas/boss_sapphiron.cpp | 4 ++-- .../scripts/Northrend/VioletHold/boss_erekem.cpp | 2 +- .../scripts/Northrend/VioletHold/violet_hold.cpp | 2 +- .../scripts/Outland/zone_shadowmoon_valley.cpp | 2 +- 20 files changed, 37 insertions(+), 36 deletions(-) diff --git a/src/common/Utilities/EventMap.cpp b/src/common/Utilities/EventMap.cpp index b82507b5281..ae83ab0571f 100644 --- a/src/common/Utilities/EventMap.cpp +++ b/src/common/Utilities/EventMap.cpp @@ -33,7 +33,7 @@ void EventMap::SetPhase(uint8 phase) _phase = uint8(1 << (phase - 1)); } -void EventMap::ScheduleEvent(uint32 eventId, Milliseconds const& minTime, Milliseconds const& maxTime, uint32 group /*= 0*/, uint32 phase /*= 0*/) +void EventMap::ScheduleEvent(uint32 eventId, Milliseconds minTime, Milliseconds maxTime, uint32 group /*= 0*/, uint32 phase /*= 0*/) { ScheduleEvent(eventId, urand(uint32(minTime.count()), uint32(maxTime.count())), group, phase); } @@ -49,7 +49,7 @@ void EventMap::ScheduleEvent(uint32 eventId, uint32 time, uint32 group /*= 0*/, _eventMap.insert(EventStore::value_type(_time + time, eventId)); } -void EventMap::RescheduleEvent(uint32 eventId, Milliseconds const& minTime, Milliseconds const& maxTime, uint32 group /*= 0*/, uint32 phase /*= 0*/) +void EventMap::RescheduleEvent(uint32 eventId, Milliseconds minTime, Milliseconds maxTime, uint32 group /*= 0*/, uint32 phase /*= 0*/) { RescheduleEvent(eventId, urand(uint32(minTime.count()), uint32(maxTime.count())), group, phase); } diff --git a/src/common/Utilities/EventMap.h b/src/common/Utilities/EventMap.h index e8f062c54fe..6c99665126e 100644 --- a/src/common/Utilities/EventMap.h +++ b/src/common/Utilities/EventMap.h @@ -120,7 +120,7 @@ public: * @param group The group which the event is associated to. Has to be between 1 and 8. 0 means it has no group. * @param phase The phase in which the event can occur. Has to be between 1 and 8. 0 means it can occur in all phases. */ - void ScheduleEvent(uint32 eventId, Milliseconds const& time, uint32 group = 0, uint8 phase = 0) + void ScheduleEvent(uint32 eventId, Milliseconds time, uint32 group = 0, uint8 phase = 0) { ScheduleEvent(eventId, uint32(time.count()), group, phase); } @@ -134,7 +134,7 @@ public: * @param group The group which the event is associated to. Has to be between 1 and 8. 0 means it has no group. * @param phase The phase in which the event can occur. Has to be between 1 and 8. 0 means it can occur in all phases. */ - void ScheduleEvent(uint32 eventId, Milliseconds const& minTime, Milliseconds const& maxTime, uint32 group = 0, uint32 phase = 0); + void ScheduleEvent(uint32 eventId, Milliseconds minTime, Milliseconds maxTime, uint32 group = 0, uint32 phase = 0); /** * @name ScheduleEvent @@ -154,7 +154,7 @@ public: * @param group The group which the event is associated to. Has to be between 1 and 8. 0 means it has no group. * @param phase The phase in which the event can occur. Has to be between 1 and 8. 0 means it can occur in all phases. */ - void RescheduleEvent(uint32 eventId, Milliseconds const& time, uint32 group = 0, uint8 phase = 0) + void RescheduleEvent(uint32 eventId, Milliseconds time, uint32 group = 0, uint8 phase = 0) { RescheduleEvent(eventId, uint32(time.count()), group, phase); } @@ -168,7 +168,7 @@ public: * @param group The group which the event is associated to. Has to be between 1 and 8. 0 means it has no group. * @param phase The phase in which the event can occur. Has to be between 1 and 8. 0 means it can occur in all phases. */ - void RescheduleEvent(uint32 eventId, Milliseconds const& minTime, Milliseconds const& maxTime, uint32 group = 0, uint32 phase = 0); + void RescheduleEvent(uint32 eventId, Milliseconds minTime, Milliseconds maxTime, uint32 group = 0, uint32 phase = 0); /** * @name RescheduleEvent @@ -189,7 +189,7 @@ public: * @brief Repeats the mostly recently executed event. * @param time Time until in milliseconds as std::chrono::duration the event occurs. */ - void Repeat(Milliseconds const& time) + void Repeat(Milliseconds time) { Repeat(uint32(time.count())); } @@ -210,7 +210,7 @@ public: * @param minTime Minimum time as std::chrono::duration until the event occurs. * @param maxTime Maximum time as std::chrono::duration until the event occurs. */ - void Repeat(Milliseconds const& minTime, Milliseconds const& maxTime) + void Repeat(Milliseconds minTime, Milliseconds maxTime) { Repeat(uint32(minTime.count()), uint32(maxTime.count())); } @@ -235,7 +235,7 @@ public: * @brief Delays all events in the map. If delay is greater than or equal internal timer, delay will be 0. * @param delay Amount of delay in ms as std::chrono::duration. */ - void DelayEvents(Milliseconds const& delay) + void DelayEvents(Milliseconds delay) { DelayEvents(uint32(delay.count())); } @@ -256,7 +256,7 @@ public: * @param delay Amount of delay in ms as std::chrono::duration. * @param group Group of the events. */ - void DelayEvents(Milliseconds const& delay, uint32 group) + void DelayEvents(Milliseconds delay, uint32 group) { DelayEvents(uint32(delay.count()), group); } diff --git a/src/common/Utilities/EventProcessor.h b/src/common/Utilities/EventProcessor.h index 7686c5faeb7..a90fa4c3d08 100644 --- a/src/common/Utilities/EventProcessor.h +++ b/src/common/Utilities/EventProcessor.h @@ -80,7 +80,7 @@ class TC_COMMON_API EventProcessor void Update(uint32 p_time); void KillAllEvents(bool force); void AddEvent(BasicEvent* event, uint64 e_time, bool set_addtime = true); - void AddEventAtOffset(BasicEvent* event, Milliseconds const& offset) { AddEvent(event, CalculateTime(offset.count())); } + void AddEventAtOffset(BasicEvent* event, Milliseconds offset) { AddEvent(event, CalculateTime(offset.count())); } void ModifyEventTime(BasicEvent* event, uint64 newTime); uint64 CalculateTime(uint64 t_offset) const { return m_time + t_offset; } diff --git a/src/common/Utilities/Random.cpp b/src/common/Utilities/Random.cpp index f4902c51710..4423e07fa67 100644 --- a/src/common/Utilities/Random.cpp +++ b/src/common/Utilities/Random.cpp @@ -63,7 +63,7 @@ float frand(float min, float max) return float(GetRng()->Random() * (max - min) + min); } -Milliseconds randtime(Milliseconds const& min, Milliseconds const& max) +Milliseconds randtime(Milliseconds min, Milliseconds max) { long long diff = max.count() - min.count(); ASSERT(diff >= 0); diff --git a/src/common/Utilities/Random.h b/src/common/Utilities/Random.h index 9e13e7cd7e0..612b0312318 100644 --- a/src/common/Utilities/Random.h +++ b/src/common/Utilities/Random.h @@ -36,7 +36,7 @@ TC_COMMON_API uint32 urandms(uint32 min, uint32 max); TC_COMMON_API uint32 rand32(); /* Return a random time in the range min..max (up to millisecond precision). Only works for values where millisecond difference is a valid uint32. */ -TC_COMMON_API Milliseconds randtime(Milliseconds const& min, Milliseconds const& max); +TC_COMMON_API Milliseconds randtime(Milliseconds min, Milliseconds max); /* Return a random number in the range min..max */ TC_COMMON_API float frand(float min, float max); diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index a92ae3e960d..88a1c146ad7 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -1894,7 +1894,7 @@ void Creature::Respawn(bool force) GetName().c_str(), GetGUID().ToString().c_str()); } -void Creature::ForcedDespawn(uint32 timeMSToDespawn, Seconds const& forceRespawnTimer) +void Creature::ForcedDespawn(uint32 timeMSToDespawn, Seconds forceRespawnTimer) { if (timeMSToDespawn) { @@ -1946,7 +1946,7 @@ void Creature::ForcedDespawn(uint32 timeMSToDespawn, Seconds const& forceRespawn } } -void Creature::DespawnOrUnsummon(uint32 msTimeToDespawn /*= 0*/, Seconds const& forceRespawnTimer /*= 0*/) +void Creature::DespawnOrUnsummon(uint32 msTimeToDespawn /*= 0*/, Seconds forceRespawnTimer /*= 0*/) { if (TempSummon* summon = this->ToTempSummon()) summon->UnSummon(msTimeToDespawn); diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h index 12c9bb3618a..36fcc75b13c 100644 --- a/src/server/game/Entities/Creature/Creature.h +++ b/src/server/game/Entities/Creature/Creature.h @@ -224,8 +224,8 @@ class TC_GAME_API Creature : public Unit, public GridObject, public Ma void RemoveCorpse(bool setSpawnTime = true); - void DespawnOrUnsummon(uint32 msTimeToDespawn = 0, Seconds const& forceRespawnTime = Seconds(0)); - void DespawnOrUnsummon(Milliseconds const& time, Seconds const& forceRespawnTime = Seconds(0)) { DespawnOrUnsummon(uint32(time.count()), forceRespawnTime); } + void DespawnOrUnsummon(uint32 msTimeToDespawn = 0, Seconds forceRespawnTime = 0s); + void DespawnOrUnsummon(Milliseconds time, Seconds forceRespawnTime = 0s) { DespawnOrUnsummon(uint32(time.count()), forceRespawnTime); } time_t const& GetRespawnTime() const { return m_respawnTime; } time_t GetRespawnTimeEx() const; @@ -384,7 +384,7 @@ class TC_GAME_API Creature : public Unit, public GridObject, public Ma bool CanAlwaysSee(WorldObject const* obj) const override; private: - void ForcedDespawn(uint32 timeMSToDespawn = 0, Seconds const& forceRespawnTimer = Seconds(0)); + void ForcedDespawn(uint32 timeMSToDespawn = 0, Seconds forceRespawnTimer = 0s); bool CheckNoGrayAggroConfig(uint32 playerLevel, uint32 creatureLevel) const; // No aggro from gray creatures //WaypointMovementGenerator vars @@ -424,7 +424,7 @@ class TC_GAME_API AssistDelayEvent : public BasicEvent class TC_GAME_API ForcedDespawnDelayEvent : public BasicEvent { public: - ForcedDespawnDelayEvent(Creature& owner, Seconds const& respawnTimer) : BasicEvent(), m_owner(owner), m_respawnTimer(respawnTimer) { } + ForcedDespawnDelayEvent(Creature& owner, Seconds respawnTimer) : BasicEvent(), m_owner(owner), m_respawnTimer(respawnTimer) { } bool Execute(uint64 e_time, uint32 p_time) override; private: diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 3d936750c46..9c3886d5dad 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -801,7 +801,7 @@ void GameObject::AddUniqueUse(Player* player) m_unique_users.insert(player->GetGUID()); } -void GameObject::DespawnOrUnsummon(Milliseconds const& delay, Seconds const& forceRespawnTime) +void GameObject::DespawnOrUnsummon(Milliseconds delay, Seconds forceRespawnTime) { if (delay > 0ms) { diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h index 8654c8b2bc7..8931829538a 100644 --- a/src/server/game/Entities/GameObject/GameObject.h +++ b/src/server/game/Entities/GameObject/GameObject.h @@ -153,7 +153,7 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject void SetSpawnedByDefault(bool b) { m_spawnedByDefault = b; } uint32 GetRespawnDelay() const { return m_respawnDelayTime; } void Refresh(); - void DespawnOrUnsummon(Milliseconds const& delay = 0ms, Seconds const& forceRespawnTime = 0s); + void DespawnOrUnsummon(Milliseconds delay = 0ms, Seconds forceRespawnTime = 0s); void Delete(); void SendGameObjectDespawn(); void getFishLoot(Loot* loot, Player* loot_owner); diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index 2b84e0b9f1f..9497af15e84 100644 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -394,8 +394,9 @@ class TC_GAME_API WorldObject : public Object, public WorldLocation ZoneScript* GetZoneScript() const { return m_zoneScript; } TempSummon* SummonCreature(uint32 entry, Position const& pos, TempSummonType despawnType = TEMPSUMMON_MANUAL_DESPAWN, uint32 despawnTime = 0, uint32 vehId = 0, bool visibleBySummonerOnly = false); - TempSummon* SummonCreature(uint32 entry, Position const& pos, TempSummonType despawnType, Milliseconds const& despawnTime, uint32 vehId = 0, bool visibleBySummonerOnly = false) { return SummonCreature(entry, pos, despawnType, uint32(despawnTime.count()), vehId, visibleBySummonerOnly); } + TempSummon* SummonCreature(uint32 entry, Position const& pos, TempSummonType despawnType, Milliseconds despawnTime, uint32 vehId = 0, bool visibleBySummonerOnly = false) { return SummonCreature(entry, pos, despawnType, uint32(despawnTime.count()), vehId, visibleBySummonerOnly); } TempSummon* SummonCreature(uint32 entry, float x, float y, float z, float o = 0, TempSummonType despawnType = TEMPSUMMON_MANUAL_DESPAWN, uint32 despawnTime = 0, bool visibleBySummonerOnly = false); + GameObject* SummonGameObject(uint32 entry, Position const& pos, QuaternionData const& rot, uint32 respawnTime /* s */, GOSummonType summonType = GO_SUMMON_TIMED_OR_CORPSE_DESPAWN); GameObject* SummonGameObject(uint32 entry, float x, float y, float z, float ang, QuaternionData const& rot, uint32 respawnTime /* s */); Creature* SummonTrigger(float x, float y, float z, float ang, uint32 dur, CreatureAI* (*GetAI)(Creature*) = nullptr); diff --git a/src/server/game/Scripting/ScriptReloadMgr.cpp b/src/server/game/Scripting/ScriptReloadMgr.cpp index 7fcbcc7566d..3e38adcfc43 100644 --- a/src/server/game/Scripting/ScriptReloadMgr.cpp +++ b/src/server/game/Scripting/ScriptReloadMgr.cpp @@ -1034,7 +1034,7 @@ private: // Wait for the current build job to finish, if the job finishes in time // evaluate it and continue with the next one. if (_build_job->GetProcess()->GetFutureResult(). - wait_for(std::chrono::seconds(0)) == std::future_status::ready) + wait_for(0s) == std::future_status::ready) ProcessReadyBuildJob(); else return; // Return when the job didn't finish in time diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index 046c880bab3..b8d2fb8e8bc 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -1045,11 +1045,11 @@ void WorldSession::ProcessQueryCallbacks() { _queryProcessor.ProcessReadyQueries(); - if (_realmAccountLoginCallback.valid() && _realmAccountLoginCallback.wait_for(std::chrono::seconds(0)) == std::future_status::ready) + if (_realmAccountLoginCallback.valid() && _realmAccountLoginCallback.wait_for(0s) == std::future_status::ready) InitializeSessionCallback(_realmAccountLoginCallback.get()); //! HandlePlayerLoginOpcode - if (_charLoginCallback.valid() && _charLoginCallback.wait_for(std::chrono::seconds(0)) == std::future_status::ready) + if (_charLoginCallback.valid() && _charLoginCallback.wait_for(0s) == std::future_status::ready) HandlePlayerLogin(reinterpret_cast(_charLoginCallback.get())); } diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp index 6f930c22739..ccccd955062 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp @@ -167,7 +167,7 @@ public: void SetupGroundPhase() { events.SetPhase(PHASE_GROUND); - events.ScheduleEvent(EVENT_CLEAVE, Seconds(0), Seconds(15), GROUP_GROUND); + events.ScheduleEvent(EVENT_CLEAVE, 0s, Seconds(15), GROUP_GROUND); events.ScheduleEvent(EVENT_TAIL_SWEEP, Seconds(4), Seconds(23), GROUP_GROUND); events.ScheduleEvent(EVENT_BELLOWING_ROAR, Seconds(48), GROUP_GROUND); events.ScheduleEvent(EVENT_CHARRED_EARTH, Seconds(12), Seconds(18), GROUP_GROUND); diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp index 306caa6c3f5..827628b7e7e 100644 --- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp @@ -385,12 +385,12 @@ public: _assassinCount = 6; _guardianCount = 2; _venomancerCount = 2; - events.ScheduleEvent(EVENT_DARTER, Seconds(0), 0, PHASE_SUBMERGE); + events.ScheduleEvent(EVENT_DARTER, 0s, 0, PHASE_SUBMERGE); break; } _petCount = _guardianCount + _venomancerCount; if (_assassinCount) - events.ScheduleEvent(EVENT_ASSASSIN, Seconds(0), 0, PHASE_SUBMERGE); + events.ScheduleEvent(EVENT_ASSASSIN, 0s, 0, PHASE_SUBMERGE); if (_guardianCount) events.ScheduleEvent(EVENT_GUARDIAN, Seconds(4), 0, PHASE_SUBMERGE); if (_venomancerCount) diff --git a/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp b/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp index a5724679fb5..a2b3a98a8af 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_faerlina.cpp @@ -104,7 +104,7 @@ class boss_faerlina : public CreatureScript summons.DoZoneInCombat(); events.ScheduleEvent(EVENT_POISON, randtime(Seconds(10), Seconds(15))); events.ScheduleEvent(EVENT_FIRE, randtime(Seconds(6), Seconds(18))); - events.ScheduleEvent(EVENT_FRENZY, Minutes(1)+randtime(Seconds(0), Seconds(20))); + events.ScheduleEvent(EVENT_FRENZY, Minutes(1)+randtime(0s, Seconds(20))); } void Reset() override @@ -174,7 +174,7 @@ class boss_faerlina : public CreatureScript { DoCast(SPELL_FRENZY); Talk(EMOTE_FRENZY); - events.Repeat(Minutes(1) + randtime(Seconds(0), Seconds(20))); + events.Repeat(Minutes(1) + randtime(0s, Seconds(20))); } break; } diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp index 2cd43cb8865..10a816333f4 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp @@ -532,7 +532,7 @@ class boss_gothik : public CreatureScript break; case EVENT_RESUME_ATTACK: me->SetReactState(REACT_AGGRESSIVE); - events.ScheduleEvent(EVENT_BOLT, Seconds(0), 0, PHASE_TWO); + events.ScheduleEvent(EVENT_BOLT, 0s, 0, PHASE_TWO); // return to the start of this method so victim side etc is re-evaluated return UpdateAI(0u); // tail recursion for efficiency case EVENT_BOLT: diff --git a/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp b/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp index 72027239e6c..2a3382261a9 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp @@ -182,7 +182,7 @@ class boss_sapphiron : public CreatureScript me->CastSpell(me, SPELL_FROST_AURA, true); events.SetPhase(PHASE_GROUND); - events.ScheduleEvent(EVENT_CHECK_RESISTS, Seconds(0)); + events.ScheduleEvent(EVENT_CHECK_RESISTS, 0s); events.ScheduleEvent(EVENT_BERSERK, Minutes(15)); EnterPhaseGround(true); } @@ -207,7 +207,7 @@ class boss_sapphiron : public CreatureScript void MovementInform(uint32 /*type*/, uint32 id) override { if (id == 1) - events.ScheduleEvent(EVENT_LIFTOFF, Seconds(0), 0, PHASE_FLIGHT); + events.ScheduleEvent(EVENT_LIFTOFF, 0s, 0, PHASE_FLIGHT); } void DoAction(int32 param) override diff --git a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp index 64f0e1d3b75..e05ad60430f 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_erekem.cpp @@ -223,7 +223,7 @@ class boss_erekem : public CreatureScript task.Repeat(Seconds(8), Seconds(13)); }); - scheduler.Schedule(Seconds(0), [this](TaskContext task) + scheduler.Schedule(0s, [this](TaskContext task) { for (uint32 i = DATA_EREKEM_GUARD_1; i <= DATA_EREKEM_GUARD_2; ++i) { diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp index 54573cf91c9..661e593f9eb 100644 --- a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp +++ b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp @@ -585,7 +585,7 @@ class npc_azure_saboteur : public CreatureScript { if (type == EFFECT_MOTION_TYPE && pointId == POINT_INTRO) { - _scheduler.Schedule(Seconds(0), [this](TaskContext task) + _scheduler.Schedule(0s, [this](TaskContext task) { me->CastSpell(me, SPELL_SHIELD_DISRUPTION, false); diff --git a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp index 7e34fc1646b..e5e35ae150c 100644 --- a/src/server/scripts/Outland/zone_shadowmoon_valley.cpp +++ b/src/server/scripts/Outland/zone_shadowmoon_valley.cpp @@ -1464,7 +1464,7 @@ public: switch (me->GetEntry()) { case NPC_ENRAGED_WATER_SPIRIT: - _events.ScheduleEvent(EVENT_ENRAGED_WATER_SPIRIT, Seconds(0), Seconds(1)); + _events.ScheduleEvent(EVENT_ENRAGED_WATER_SPIRIT, 0s, Seconds(1)); break; case NPC_ENRAGED_FIRE_SPIRIT: if (!me->GetAura(SPELL_FEL_FIRE_AURA)) From 965e27bf4130c514579349fb48438040cb44c860 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Mon, 23 Jul 2018 14:00:18 +0200 Subject: [PATCH 03/19] Core/GameObject: Fix an edge case where GOs might never respawn after being manually despawned. --- src/server/game/Entities/GameObject/GameObject.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 9c3886d5dad..1e5412fd715 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -382,7 +382,10 @@ void GameObject::Update(uint32 diff) if (m_despawnDelay > diff) m_despawnDelay -= diff; else + { + m_despawnDelay = 0; DespawnOrUnsummon(0ms, m_despawnRespawnTime);; + } } switch (m_lootState) @@ -813,9 +816,11 @@ void GameObject::DespawnOrUnsummon(Milliseconds delay, Seconds forceRespawnTime) } else { - uint32 const respawnDelay = (forceRespawnTime > 0s) ? forceRespawnTime.count() : m_respawnDelayTime; - if (m_goData && respawnDelay) + if (m_goData) + { + uint32 const respawnDelay = (forceRespawnTime > 0s) ? forceRespawnTime.count() : m_goData->spawntimesecs; SaveRespawnTime(respawnDelay); + } Delete(); } } From f97a8f52b3cc90c14cb648c3f33366993b3af378 Mon Sep 17 00:00:00 2001 From: Killyana Date: Wed, 18 Jul 2018 19:58:04 +0200 Subject: [PATCH 04/19] DB/SAI: Power Converter Ref #21986 --- sql/updates/world/3.3.5/2018_07_18_01_world.sql | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 sql/updates/world/3.3.5/2018_07_18_01_world.sql diff --git a/sql/updates/world/3.3.5/2018_07_18_01_world.sql b/sql/updates/world/3.3.5/2018_07_18_01_world.sql new file mode 100644 index 00000000000..76776975b66 --- /dev/null +++ b/sql/updates/world/3.3.5/2018_07_18_01_world.sql @@ -0,0 +1,5 @@ +-- +UPDATE `smart_scripts` SET `link`=1 WHERE `entryorguid`=184906 AND `source_type`=1 AND `id`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=184906 AND `source_type`=1 AND `id`=1; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(184906,1,1,0,61,0,100,0,0,0,0,0,41,0,0,0,0,0,0,19,21737,5,0,0,0,0,0,"Power Converter - On linked event - despawn"); From dc7b732517fd6a63a24b7b6dc06d8f11dad865db Mon Sep 17 00:00:00 2001 From: ZenoX92 Date: Wed, 18 Jul 2018 20:23:20 +0200 Subject: [PATCH 05/19] DB/Quest: Operation Recombobulation Closes #22162 --- .../world/3.3.5/2018_07_18_02_world_335.sql | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 sql/updates/world/3.3.5/2018_07_18_02_world_335.sql diff --git a/sql/updates/world/3.3.5/2018_07_18_02_world_335.sql b/sql/updates/world/3.3.5/2018_07_18_02_world_335.sql new file mode 100644 index 00000000000..056ca9b2419 --- /dev/null +++ b/sql/updates/world/3.3.5/2018_07_18_02_world_335.sql @@ -0,0 +1,52 @@ +-- +-- Razzle Sprysprocket +DELETE FROM `creature_text` WHERE `CreatureID` IN (1269,5568); +DELETE FROM `creature_text` WHERE `CreatureID`=1268 AND `GroupID`=1; +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(1269,0,0,"Let me install these Gyromechanic Gears and Restabilization Cogs and we'll fire up The Recombobulator.",12,7,100,0,0,0,1883,0,"Razzle Sprysprocket"), +(1269,1,0,"That should do the trick.",12,7,100,0,0,0,1884,0,"Razzle Sprysprocket"), +(1269,2,0,"Time to save the entire gnomish race. Here goes nothing!",12,7,100,5,0,0,1885,0,"Razzle Sprysprocket"), +(1269,3,0,"Back to the drawing board.",12,7,100,0,0,0,1887,0,"Razzle Sprysprocket"), +(1269,4,0,"Perhaps a bit more grease will do the trick.",12,7,100,1,0,0,1888,0,"Razzle Sprysprocket"), +(1269,4,1,"Pretty close that time. I think we've almost got it.",12,7,100,1,0,0,1889,0,"Razzle Sprysprocket"), +(1269,4,2,"The Recombobulator is shaping up quite nicely. Just a few adjustments to go!",12,7,100,1,0,0,1890,0,"Razzle Sprysprocket"), +(1268,1,0,"Precisely.",12,7,100,273,0,0,1891,0,"Ozzie Togglevolt"), +(1268,1,1,"My thoughts exactly.",12,7,100,273,0,0,1892,0,"Ozzie Togglevolt"), +(1268,1,2,"Couldn't have said it better myself.",12,7,100,273,0,0,1893,0,"Ozzie Togglevolt"), +(1268,1,3,"Most definitely.",12,7,100,273,0,0,1894,0,"Ozzie Togglevolt"), +(1268,1,4,"I was thinking the same thing.",12,7,100,273,0,0,1895,0,"Ozzie Togglevolt"), +(5568,0,0,"Oh, great.",12,7,100,0,0,0,1886,0,"Captured Leper Gnome"); + +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=1269; +DELETE FROM `smart_scripts` WHERE `entryorguid`=1269 AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (126900,126901,126902) AND `source_type`=9; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(1269,0,0,0,20,0,100,0,412,0,0,0,83,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Quest 'Operation Recombobulation' Finished - Remove Npc Flag Questgiver"), +(1269,0,1,0,20,0,100,0,412,0,0,0,53,0,1269,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Quest 'Operation Recombobulation' Finished - Start Waypoint"), +(1269,0,2,0,20,0,100,0,412,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Quest 'Operation Recombobulation' Finished - Say Line 0"), +(1269,0,3,0,40,0,100,0,1,1269,0,0,80,126900,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Waypoint 1 Reached - Run Script"), +(1269,0,4,0,40,0,100,0,2,1269,0,0,80,126901,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Waypoint 2 Reached - Run Script"), +(1269,0,5,0,40,0,100,0,3,1269,0,0,80,126902,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Waypoint 3 Reached - Run Script"), +(126900,9,0,0,0,0,100,0,0,0,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Pause Waypoint"), +(126900,9,1,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,1.31425,"Razzle Sprysprocket - On Script - Set Orientation"), +(126900,9,2,0,0,0,100,0,0,0,0,0,17,69,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Set Emote State 69"), +(126900,9,3,0,0,0,100,0,8000,8000,0,0,17,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Set Emote State 0"), +(126900,9,4,0,0,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Say Line 1"), +(126901,9,0,0,0,0,100,0,0,0,0,0,54,15000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Pause Waypoint"), +(126901,9,1,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,1.27153,"Razzle Sprysprocket - On Script - Set Orientation"), +(126901,9,2,0,0,0,100,0,1000,1000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Say Line 2"), +(126901,9,3,0,0,0,100,0,4000,4000,0,0,5,69,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Play Emote 69"), +(126901,9,4,0,0,0,100,0,1000,1000,0,0,86,7344,0,19,5568,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Cross Cast 'Recombobulate'"), +(126901,9,5,0,0,0,100,0,2000,2000,0,0,1,0,0,0,0,0,0,19,5568,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Say Line 0 (Captured Leper Gnome)"), +(126901,9,6,0,0,0,100,0,3000,3000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Say Line 3"), +(126902,9,0,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,5.63683,"Razzle Sprysprocket - On Script - Set Orientation"), +(126902,9,1,0,0,0,100,0,500,500,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Say Line 4"), +(126902,9,2,0,0,0,100,0,4000,4000,0,0,1,1,0,0,0,0,0,19,1268,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Say Line 0 (Ozzie Togglevolt)"), +(126902,9,3,0,0,0,100,0,0,0,0,0,28,7344,0,0,0,0,0,19,5568,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Remove Aura 'Recombobulate' from Captured Leper Gnome"), +(126902,9,4,0,0,0,100,0,0,0,0,0,82,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Razzle Sprysprocket - On Script - Add Npc Flag Questgiver"); + +DELETE FROM `waypoints` WHERE `entry`=1269; +INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES +(1269,1,-5496.54,-455.453,395.439,""), +(1269,2,-5499.83,-454.55,395.439,""), +(1269,3,-5497.94,-455.835,395.438,""); From 28e520a81141216b69be0064a1075c0a02897566 Mon Sep 17 00:00:00 2001 From: ZenoX92 Date: Wed, 18 Jul 2018 20:24:12 +0200 Subject: [PATCH 06/19] DB/Creature: Mux Manascrambler Closes #22167 --- .../world/3.3.5/2018_07_18_03_world_335.sql | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 sql/updates/world/3.3.5/2018_07_18_03_world_335.sql diff --git a/sql/updates/world/3.3.5/2018_07_18_03_world_335.sql b/sql/updates/world/3.3.5/2018_07_18_03_world_335.sql new file mode 100644 index 00000000000..ccf3e5091ec --- /dev/null +++ b/sql/updates/world/3.3.5/2018_07_18_03_world_335.sql @@ -0,0 +1,16 @@ +-- +-- Mux Manascrambler +DELETE FROM `gossip_menu_option` WHERE `MenuID`=7083; +INSERT INTO `gossip_menu_option` (`MenuID`, `OptionID`, `OptionIcon`, `OptionText`, `OptionBroadcastTextID`, `OptionType`, `OptionNpcFlag`, `ActionMenuID`, `ActionPoiID`, `BoxCoded`, `BoxMoney`, `BoxText`, `BoxBroadcastTextID`, `VerifiedBuild`) VALUES +(7083,0,0,"About that ghost revealer. Did I happen to leave it here? I seem to be missing it.",11909,1,1,0,0,0,0,"",0,0), +(7083,1,0,"I seem to have misplaced the distiller, Mux. Did I happen to leave it here?",11908,1,1,0,0,0,0,"",0,0); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=7083 AND `SourceEntry`=1; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(15,7083,1,0,0,9,0,8924,0,0,0,0,0,"","Show gossip option if quest 'Hunting for Ectoplasm' is taken"), +(15,7083,1,0,0,2,0,21946,1,1,1,0,0,"","Show gossip option if player does not have item 'Ectoplasmic Distiller'"); + +UPDATE `smart_scripts` SET `action_type`=85, `action_param2`=2 WHERE `entryorguid`=16014 AND `source_type`=0 AND `id`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=16014 AND `source_type`=0 AND `id`=2; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(16014,0,2,1,62,0,100,0,7083,1,0,0,85,27752,2,0,0,0,0,7,0,0,0,0,0,0,0,"Mux Manascrambler - On Gossip Option 1 Selected - Invoker Cast 'Create Ectoplasmic Distiller'"); From 4b64d8867fca802d1bf2f57b7f03b39fba5f4c74 Mon Sep 17 00:00:00 2001 From: ZenoX92 Date: Wed, 18 Jul 2018 20:24:56 +0200 Subject: [PATCH 07/19] DB/Gossip: Anthion Harmon & Falrin Treeshaper Closes #22168 --- .../world/3.3.5/2018_07_18_04_world_335.sql | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 sql/updates/world/3.3.5/2018_07_18_04_world_335.sql diff --git a/sql/updates/world/3.3.5/2018_07_18_04_world_335.sql b/sql/updates/world/3.3.5/2018_07_18_04_world_335.sql new file mode 100644 index 00000000000..4d152cb2660 --- /dev/null +++ b/sql/updates/world/3.3.5/2018_07_18_04_world_335.sql @@ -0,0 +1,43 @@ +-- +-- Anthion Harmon +UPDATE `creature_template` SET `npcflag`=3, `gossip_menu_id`=7072 WHERE `entry`=16016; + +DELETE FROM `gossip_menu` WHERE `MenuID`=7072; +INSERT INTO `gossip_menu` (`MenuID`, `TextID`, `VerifiedBuild`) VALUES +(7072,8334,0), +(7072,8337,0), +(7072,8338,0); + +DELETE FROM `npc_text` WHERE `ID` IN (8337,8338); +INSERT INTO `npc_text` (`ID`, `text0_0`, `text0_1`, `BroadcastTextID0`, `lang0`, `Probability0`, `em0_1`) VALUES +(8337,"Ysida lives thanks to your courage, $n. I am deeply in your debt and shall assist you as much as it is in my power.","",11933,0,1,0), +(8338,"I guess it's all just about over, right $n? I'm going to miss you... it'll be pretty lonely up here without someone to talk to.$B$BBut that doesn't mean that you can't come back to see me in the future!","",11912,0,1,1); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=7072; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(14,7072,8334,0,0,8,0,8946,0,0,1,0,0,"","Show gossip text 8334 if quest 'Proof of Life' is not rewarded"), +(14,7072,8337,0,0,8,0,8946,0,0,0,0,0,"","Show gossip text 8337 if quest 'Proof of Life' is rewarded"), +(14,7072,8337,0,0,8,0,9015,0,0,1,0,0,"","Show gossip text 8337 if quest 'The Challenge' is NOT rewarded"), +(14,7072,8338,0,0,8,0,9015,0,0,0,0,0,"","Show gossip text 8338 if quest 'The Challenge' is rewarded"); + +-- Falrin Treeshaper +UPDATE `creature_template` SET `npcflag`=3, `gossip_menu_id`=7073 WHERE `entry`=16032; + +DELETE FROM `gossip_menu` WHERE `MenuID`=7073; +INSERT INTO `gossip_menu` (`MenuID`, `TextID`, `VerifiedBuild`) VALUES +(7073,8336,0); + +DELETE FROM `gossip_menu_option` WHERE `MenuID`=7073; +INSERT INTO `gossip_menu_option` (`MenuID`, `OptionID`, `OptionIcon`, `OptionText`, `OptionBroadcastTextID`, `OptionType`, `OptionNpcFlag`, `ActionMenuID`, `ActionPoiID`, `BoxCoded`, `BoxMoney`, `BoxText`, `BoxBroadcastTextID`, `VerifiedBuild`) VALUES +(7073,0,0,"I believe I misplaced that banner you enchanted for me, Falrin.",11910,1,1,0,0,0,0,"",0,0); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=7073; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(15,7073,0,0,0,14,0,9015,0,0,1,0,0,"","Show gossip option if quest 'The Challenge' is taken, completed or rewarded"), +(15,7073,0,0,0,2,0,21986,1,1,1,0,0,"","Show gossip option if player does not have item 'Banner of Provocation'"); + +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=16032; +DELETE FROM `smart_scripts` WHERE `entryorguid`=16032 AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(16032,0,0,1,62,0,100,0,7073,0,0,0,85,27755,2,0,0,0,0,7,0,0,0,0,0,0,0,"Falrin Treeshaper - On Gossip Option 0 Selected - Invoker Cast 'Create Banner of Provocation'"), +(16032,0,1,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Falrin Treeshaper - On Gossip Option 0 Selected - Close Gossip"); From 204145b3dfc769ed330542cc0c437774861e4863 Mon Sep 17 00:00:00 2001 From: Treeston Date: Thu, 19 Jul 2018 11:59:36 +0200 Subject: [PATCH 08/19] Common/Containers: Eliminate a edge case that could potentially lead to object invalidation. --- src/common/Utilities/Containers.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/common/Utilities/Containers.h b/src/common/Utilities/Containers.h index c6c9c58b253..fa724a39c98 100644 --- a/src/common/Utilities/Containers.h +++ b/src/common/Utilities/Containers.h @@ -68,7 +68,8 @@ namespace Trinity // this element has chance (elementsToKeep / elementsToProcess) of being kept if (urand(1, elementsToProcess) <= elementsToKeep) { - *keepIt = std::move(*curIt); + if (keepIt != curIt) + *keepIt = std::move(*curIt); ++keepIt; --elementsToKeep; } From da8b129857a6abaa42b43f9233e0bbf9d912e376 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Mon, 23 Jul 2018 14:13:26 +0200 Subject: [PATCH 09/19] Core/Handlers: Spell handler no longer downranks otherwise-negative spells because they have a potentially-positive aura effect. --- src/server/game/Handlers/SpellHandler.cpp | 16 +++++++++------- src/server/game/Scripting/ScriptReloadMgr.cpp | 2 +- src/server/game/Server/WorldSession.cpp | 4 ++-- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/server/game/Handlers/SpellHandler.cpp b/src/server/game/Handlers/SpellHandler.cpp index a97e5a58f63..52953d55a95 100644 --- a/src/server/game/Handlers/SpellHandler.cpp +++ b/src/server/game/Handlers/SpellHandler.cpp @@ -439,14 +439,16 @@ void WorldSession::HandleCastSpellOpcode(WorldPacket& recvPacket) } // auto-selection buff level base at target level (in spellInfo) - if (targets.GetUnitTarget()) - { - SpellInfo const* actualSpellInfo = spellInfo->GetAuraRankForLevel(targets.GetUnitTarget()->getLevel()); + // TODO: is this even necessary? client already seems to send correct rank for "standard" buffs + if (spellInfo->IsPositive()) + if (Unit* target = targets.GetUnitTarget()) + { + SpellInfo const* actualSpellInfo = spellInfo->GetAuraRankForLevel(target->getLevel()); - // if rank not found then function return nullptr but in explicit cast case original spell can be cast and later failed with appropriate error message - if (actualSpellInfo) - spellInfo = actualSpellInfo; - } + // if rank not found then function return NULL but in explicit cast case original spell can be cast and later failed with appropriate error message + if (actualSpellInfo) + spellInfo = actualSpellInfo; + } Spell* spell = new Spell(caster, spellInfo, TRIGGERED_NONE, ObjectGuid::Empty, false); spell->m_cast_count = castCount; // set count of casts diff --git a/src/server/game/Scripting/ScriptReloadMgr.cpp b/src/server/game/Scripting/ScriptReloadMgr.cpp index 3e38adcfc43..7fcbcc7566d 100644 --- a/src/server/game/Scripting/ScriptReloadMgr.cpp +++ b/src/server/game/Scripting/ScriptReloadMgr.cpp @@ -1034,7 +1034,7 @@ private: // Wait for the current build job to finish, if the job finishes in time // evaluate it and continue with the next one. if (_build_job->GetProcess()->GetFutureResult(). - wait_for(0s) == std::future_status::ready) + wait_for(std::chrono::seconds(0)) == std::future_status::ready) ProcessReadyBuildJob(); else return; // Return when the job didn't finish in time diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index b8d2fb8e8bc..046c880bab3 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -1045,11 +1045,11 @@ void WorldSession::ProcessQueryCallbacks() { _queryProcessor.ProcessReadyQueries(); - if (_realmAccountLoginCallback.valid() && _realmAccountLoginCallback.wait_for(0s) == std::future_status::ready) + if (_realmAccountLoginCallback.valid() && _realmAccountLoginCallback.wait_for(std::chrono::seconds(0)) == std::future_status::ready) InitializeSessionCallback(_realmAccountLoginCallback.get()); //! HandlePlayerLoginOpcode - if (_charLoginCallback.valid() && _charLoginCallback.wait_for(0s) == std::future_status::ready) + if (_charLoginCallback.valid() && _charLoginCallback.wait_for(std::chrono::seconds(0)) == std::future_status::ready) HandlePlayerLogin(reinterpret_cast(_charLoginCallback.get())); } From 46be63ba71efa296f6ed0b90ba125f8ae6246cbe Mon Sep 17 00:00:00 2001 From: Aokromes Date: Mon, 23 Jul 2018 14:41:05 +0200 Subject: [PATCH 10/19] Core/Spells: Fixed Righteous Defense crash caused by modifying target list inside effect handler * Already handled in a script --- src/server/game/Spells/SpellEffects.cpp | 40 ------------------------- 1 file changed, 40 deletions(-) diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index dd0ddb53654..c129e719ebb 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -552,46 +552,6 @@ void Spell::EffectDummy(SpellEffIndex effIndex) if (!unitTarget && !gameObjTarget && !itemTarget) return; - // selection by spell family - switch (m_spellInfo->SpellFamilyName) - { - case SPELLFAMILY_PALADIN: - switch (m_spellInfo->Id) - { - case 31789: // Righteous Defense (step 1) - { - // Clear targets for eff 1 - for (std::list::iterator ihit = m_UniqueTargetInfo.begin(); ihit != m_UniqueTargetInfo.end(); ++ihit) - ihit->effectMask &= ~(1<<1); - - // not empty (checked), copy - Unit::AttackerSet attackers = unitTarget->getAttackers(); - - // remove invalid attackers - for (Unit::AttackerSet::iterator aItr = attackers.begin(); aItr != attackers.end();) - if (!(*aItr)->IsValidAttackTarget(m_caster)) - attackers.erase(aItr++); - else - ++aItr; - - // selected from list 3 - uint32 maxTargets = std::min(3, attackers.size()); - for (uint32 i = 0; i < maxTargets; ++i) - { - Unit* attacker = Trinity::Containers::SelectRandomContainerElement(attackers); - AddUnitTarget(attacker, 1 << 1); - attackers.erase(attacker); - } - - // now let next effect cast spell at each target. - return; - } - } - break; - default: - break; - } - // pet auras if (m_caster->GetTypeId() == TYPEID_PLAYER) { From 432a3827b85bd2e6d148ed328542a4fda76f5544 Mon Sep 17 00:00:00 2001 From: ZenoX92 Date: Sun, 22 Jul 2018 12:31:43 +0200 Subject: [PATCH 11/19] DB/Conditions: Kharan Mighthammer Closes #22181 --- sql/updates/world/3.3.5/2018_07_22_00_world_335.sql | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 sql/updates/world/3.3.5/2018_07_22_00_world_335.sql diff --git a/sql/updates/world/3.3.5/2018_07_22_00_world_335.sql b/sql/updates/world/3.3.5/2018_07_22_00_world_335.sql new file mode 100644 index 00000000000..529a5a3e14b --- /dev/null +++ b/sql/updates/world/3.3.5/2018_07_22_00_world_335.sql @@ -0,0 +1,5 @@ +-- +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=1822; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(14,1822,2473,0,0,6,0,67,0,0,0,0,0,"","Show gossip text 2473 if player is Horde"), +(14,1822,2474,0,0,6,0,469,0,0,0,0,0,"","Show gossip text 2474 if player is Alliance"); From 05bed045da696c8d6278fcdcf0712c2a738b456a Mon Sep 17 00:00:00 2001 From: ZenoX92 Date: Sun, 22 Jul 2018 12:32:13 +0200 Subject: [PATCH 12/19] DB/Object: Thaurissan Relic Closes #22180 --- .../world/3.3.5/2018_07_22_01_world_335.sql | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 sql/updates/world/3.3.5/2018_07_22_01_world_335.sql diff --git a/sql/updates/world/3.3.5/2018_07_22_01_world_335.sql b/sql/updates/world/3.3.5/2018_07_22_01_world_335.sql new file mode 100644 index 00000000000..bf2386d4a1b --- /dev/null +++ b/sql/updates/world/3.3.5/2018_07_22_01_world_335.sql @@ -0,0 +1,27 @@ +-- +-- Thaurissan Relic +UPDATE `gameobject_template` SET `AIName`="SmartGameObjectAI" WHERE `entry`=153556; +DELETE FROM `smart_scripts` WHERE `entryorguid`=153556 AND `source_type`=1; +DELETE FROM `smart_scripts` WHERE `entryorguid`=15355600 AND `source_type`=9; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(153556,1,0,0,70,0,100,1,2,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,"Thaurissan Relic - On Gameobject State Changed - Store Targetlist"), +(153556,1,1,0,70,0,100,1,2,0,0,0,80,15355600,0,0,0,0,0,1,0,0,0,0,0,0,0,"Thaurissan Relic - On Gameobject State Changed - Run Script"), +(15355600,9,0,0,0,0,100,0,0,0,0,0,12,8887,3,5000,0,0,0,1,0,0,0,0,0,0,0,"Thaurissan Relic - On Script - Summon Creature 'A tormented voice'"), +(15355600,9,1,0,0,0,100,0,0,0,0,0,100,1,0,0,0,0,0,19,8887,0,0,0,0,0,0,"Thaurissan Relic - On Script - Send Targetlist"), +(15355600,9,2,0,0,0,100,0,0,0,0,0,45,1,1,0,0,0,0,19,8887,0,0,0,0,0,0,"Thaurissan Relic - On Script - Set Data"); + +-- A tormented voice +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=8887; +DELETE FROM `smart_scripts` WHERE `entryorguid`=8887 AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(8887,0,0,0,38,0,100,0,1,1,0,0,1,0,0,0,0,0,0,12,1,0,0,0,0,0,0,"A tormented voice - On Data Set - Say Line 0"); + +DELETE FROM `creature_text` WHERE `CreatureID`=8887; +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(8887,0,0,"Leave this place. ",15,0,100,0,0,0,4594,0,"A tormented voice"), +(8887,0,1,"You will perish here. ",15,0,100,0,0,0,4595,0,"A tormented voice"), +(8887,0,2,"Do not taint these ruins, mortal. ",15,0,100,0,0,0,4596,0,"A tormented voice"), +(8887,0,3,"Help us, outsider. ",15,0,100,0,0,0,4597,0,"A tormented voice"), +(8887,0,4,"He cannot be defeated. ",15,0,100,0,0,0,4598,0,"A tormented voice"), +(8887,0,5,"Your existence is acknowledged. ",15,0,100,0,0,0,4599,0,"A tormented voice"), +(8887,0,6,"Defiler... you will be punished for this incursion. ",15,0,100,0,0,0,4600,0,"A tormented voice"); From 5787d2b06224749aec9055e19b99ba4798ceabdd Mon Sep 17 00:00:00 2001 From: ZenoX92 Date: Sun, 22 Jul 2018 12:32:39 +0200 Subject: [PATCH 13/19] DB/Gossip: Royal Historian Archesonus Coses #22179 --- sql/updates/world/3.3.5/2018_07_22_02_world_335.sql | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 sql/updates/world/3.3.5/2018_07_22_02_world_335.sql diff --git a/sql/updates/world/3.3.5/2018_07_22_02_world_335.sql b/sql/updates/world/3.3.5/2018_07_22_02_world_335.sql new file mode 100644 index 00000000000..13689b043ad --- /dev/null +++ b/sql/updates/world/3.3.5/2018_07_22_02_world_335.sql @@ -0,0 +1,8 @@ +-- Royal Historian Archesonus +DELETE FROM `gossip_menu` WHERE `MenuID`=1561 AND `TextID`=2235; +INSERT INTO `gossip_menu` (`MenuID`, `TextID`, `VerifiedBuild`) VALUES +(1561,2235,0); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=1561; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(14,1561,2235,0,0,9,0,3702,0,0,0,0,0,"","Show gossip text 2235 if quest 'The Smoldering Ruins of Thaurissan' is taken"); From 9fd77b3a7a7288d0644aee6246b436fbddbf8faf Mon Sep 17 00:00:00 2001 From: ZenoX92 Date: Sun, 22 Jul 2018 12:33:04 +0200 Subject: [PATCH 14/19] DB/Creature: Stone Watcher of Norgannon Closes #22183 --- .../world/3.3.5/2018_07_22_03_world_335.sql | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 sql/updates/world/3.3.5/2018_07_22_03_world_335.sql diff --git a/sql/updates/world/3.3.5/2018_07_22_03_world_335.sql b/sql/updates/world/3.3.5/2018_07_22_03_world_335.sql new file mode 100644 index 00000000000..f79452f70aa --- /dev/null +++ b/sql/updates/world/3.3.5/2018_07_22_03_world_335.sql @@ -0,0 +1,14 @@ +-- +-- Stone Watcher of Norgannon +UPDATE `gossip_menu` SET `TextID`=1676 WHERE `MenuID`=57001; +UPDATE `gossip_menu` SET `TextID`=1675 WHERE `MenuID`=57002; + +DELETE FROM `creature_text` WHERE `CreatureID`=7918; +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(7918,0,0,"Salutations! I am a guardian of entry. Please use the proper discs for access to Uldum.",12,0,100,0,0,0,4049,0,"Stone Watcher of Norgannon"), +(7918,1,0,"Your discs will be returned to you once you access the pedestal.",12,0,100,0,0,0,4065,0,"Stone Watcher of Norgannon"); + +DELETE FROM `smart_scripts` WHERE `entryorguid`=7918 AND `source_type`=0 AND `id` IN (2,3); +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(7918,0,2,0,11,0,100,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stone Watcher of Norgannon - On Spawn - Say Line 0"), +(7918,0,3,0,62,0,100,0,57005,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stone Watcher of Norgannon - On Gossip Option Selected - Say Line 1"); From da6d4e05544743611a49538beeb3b76814e7e36d Mon Sep 17 00:00:00 2001 From: Killyana Date: Sun, 22 Jul 2018 13:08:21 +0200 Subject: [PATCH 15/19] Creature/Script: Add missing emote to Princess Moira Bronzebeard Closes #22182 --- sql/updates/world/3.3.5/2018_07_22_04_world.sql | 4 ++++ .../BlackrockDepths/boss_emperor_dagran_thaurissan.cpp | 6 ++++++ 2 files changed, 10 insertions(+) create mode 100644 sql/updates/world/3.3.5/2018_07_22_04_world.sql diff --git a/sql/updates/world/3.3.5/2018_07_22_04_world.sql b/sql/updates/world/3.3.5/2018_07_22_04_world.sql new file mode 100644 index 00000000000..36de2e6a5a7 --- /dev/null +++ b/sql/updates/world/3.3.5/2018_07_22_04_world.sql @@ -0,0 +1,4 @@ +-- Princess Moira Bronzebeard +DELETE FROM `creature_text` WHERE `CreatureID`=8929; +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(8929,0,0,"%s is visibly shaken by the death of Emperor Thaurissan.",16,0,100,18,0,0,5429,0,"Princess Moira Bronzebeard"); diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp index c28404e34fa..428ef19750e 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp @@ -39,6 +39,11 @@ enum Events EVENT_AVATAROFFLAME = 2 }; +enum Emotes +{ + EMOTE_SHAKEN = 0 +}; + class boss_emperor_dagran_thaurissan : public CreatureScript { public: @@ -76,6 +81,7 @@ class boss_emperor_dagran_thaurissan : public CreatureScript { moira->AI()->EnterEvadeMode(); moira->SetFaction(FACTION_FRIENDLY); + moira->AI()->Talk(EMOTE_SHAKEN); } } From 682ee189c808a5de28ff3a89c72fd66886ff570e Mon Sep 17 00:00:00 2001 From: Killyana Date: Sun, 22 Jul 2018 13:33:56 +0200 Subject: [PATCH 16/19] DB/Loot: Gaffer Jack Closes #22175 Closes #21690 --- sql/updates/world/3.3.5/2018_07_22_05_world_335.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 sql/updates/world/3.3.5/2018_07_22_05_world_335.sql diff --git a/sql/updates/world/3.3.5/2018_07_22_05_world_335.sql b/sql/updates/world/3.3.5/2018_07_22_05_world_335.sql new file mode 100644 index 00000000000..db5a04bfedf --- /dev/null +++ b/sql/updates/world/3.3.5/2018_07_22_05_world_335.sql @@ -0,0 +1,2 @@ +-- Gaffer Jack +UPDATE `fishing_loot_template` SET `GroupId`=0 WHERE `entry` IN (148); From fe0e314ed5ebf1b4cfd63d418cf4736cbba84820 Mon Sep 17 00:00:00 2001 From: Jonne733 Date: Sun, 22 Jul 2018 14:03:57 +0200 Subject: [PATCH 17/19] DB/Creature: Sharth Voldoun and Pathaleon the Calculator's Image Closes #22094 --- .../world/3.3.5/2018_07_22_06_world.sql | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 sql/updates/world/3.3.5/2018_07_22_06_world.sql diff --git a/sql/updates/world/3.3.5/2018_07_22_06_world.sql b/sql/updates/world/3.3.5/2018_07_22_06_world.sql new file mode 100644 index 00000000000..2bbd38d4b28 --- /dev/null +++ b/sql/updates/world/3.3.5/2018_07_22_06_world.sql @@ -0,0 +1,59 @@ +-- Sharth and Pathaleon conversation +DELETE FROM `creature_text` WHERE `CreatureID`=21504 AND `GroupID`=13; +DELETE FROM `creature_text` WHERE `CreatureID`=18554; +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(18554,0,0,"You come into my house and threaten ME? I think not!'",12,0,100,1,0,0,15542,0,"Sharth Voldoun"), +(18554,1,0,"My master, we are honored by your presence. How may I serve thee?",12,0,100,0,0,0,19156,0,"Sharth Voldoun"), +(18554,2,0,"All goes exceedingly well, my lord. Testing of the smaller prototype at the Cenarion Thicket was a complete success. The second bomb is being ritually fueled in the courtyard below even as we speak. And, I''ve sent a courier to Tuurem to bring the rest of the parts to us here.",12,0,100,1,0,0,19159,0,"Sharth Voldoun"), +(18554,3,0,'You are satisfied?',12,0,100,6,0,0,19160,0,"Sharth Voldoun"), +(18554,4,0,'I can assure you that we will not fail, my master. I am personally overseeing every aspect of the construction, and I hold the final codes, myself. Within a day''s time, I will have the bomb detonated on those nearby pests.',12,0,100,2,0,0,19164,0,"Sharth Voldoun"), +(21504,13,0,'Rise, young Voldoun. Do not worry yourself with pleasantries. I come at the behest of our master, Prince Kael''thas. He bids me to check on the progress of the mana bomb.',12,0,100,1,0,0,19157,0,"Pathaleon the Calculator's Image"); + +-- Incorrect spawning of Pathaleon the Calculators Image +DELETE FROM `creature` WHERE `guid`=85566 AND `id`=21504; + +-- Sharth Voldoun, fix position and weapon sheathed +UPDATE `creature` SET `position_x` = -2288.34839, `position_y` = 3091.4968, `orientation` = 3.2263 WHERE `guid` = 86925; +DELETE FROM `creature_template_addon` WHERE `entry`=18554; +INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES +(18554,0,0,0,0,0,""); + +-- Sharth Voldoun +UPDATE `creature_template` SET `AIName`= 'SmartAI' WHERE `entry`= 18554; +DELETE FROM `smart_scripts` WHERE `entryorguid`=18554 AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid`=1855400 AND `source_type`=9; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(18554,0,0,0,0,0,100,0,3000,5000,40000,45000,0,11,15277,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sharth Voldoun - IC - Cast Seal of Reckoning"), +(18554,0,1,0,2,0,100,0,0,40,15000,20000,0,11,13952,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sharth Voldoun - On Below 40% HP - Cast Holy Light"), +(18554,0,2,3,4,0,100,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sharth Voldoun - On Aggro - Say Line 0"), +(18554,0,3,0,61,0,100,0,0,0,0,0,0,45,1,1,0,0,0,0,19,21504,50,0,0,0,0,0,"Sharth Voldoun - On Aggro - Set Data"), +(18554,0,4,0,1,0,100,0,30000,30000,120000,120000,0,80,1855400,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sharth Voldoun - OOC - RunScript"), +(1855400,9,0,0,0,0,100,0,0,0,0,0,0,12,21504,8,0,0,0,0,8,0,0,0,-2293.5210,3091.34302,152.817734,6.17546,"Sharth Voldoun - On Script - Summon Pathaleon the Calculators Image"), +(1855400,9,1,0,0,0,100,0,2000,2000,0,0,0,90,8,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sharth Voldoun - On Script - Set Flag Standstate 'Kneel'"), +(1855400,9,2,0,0,0,100,0,1000,1000,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sharth Voldoun - On Script - Say Line 1"), +(1855400,9,3,0,0,0,100,0,7000,7000,0,0,0,1,13,0,0,0,0,0,19,21504,0,0,0,0,0,0,"Sharth Voldoun - On Script - Say Line 13 (Pathaleon the Calculators Image)"), +(1855400,9,4,0,0,0,100,0,3000,3000,0,0,0,91,8,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sharth Voldoun - On Script - Remove Flag Standstate 'Kneel'"), +(1855400,9,5,0,0,0,100,0,8000,8000,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sharth Voldoun - On Script - Say Line 2"), +(1855400,9,6,0,0,0,100,0,14000,14000,0,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sharth Voldoun - On Script - Say Line 3"), +(1855400,9,7,0,0,0,100,0,4000,4000,0,0,0,1,4,0,0,0,0,0,19,21504,0,0,0,0,0,0,"Sharth Voldoun - On Script - Say Line 4 (Pathaleon the Calculators Image)"), +(1855400,9,8,0,0,0,100,0,16000,16000,0,0,0,1,5,0,0,0,0,0,19,21504,0,0,0,0,0,0,"Sharth Voldoun - On Script - Say Line 5 (Pathaleon the Calculators Image)"), +(1855400,9,9,0,0,0,100,0,16000,16000,0,0,0,1,6,0,0,0,0,0,19,21504,0,0,0,0,0,0,"Sharth Voldoun - On Script - Say Line 6 (Pathaleon the Calculators Image)"), +(1855400,9,10,0,0,0,100,0,10000,10000,0,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sharth Voldoun - On Script - Say Line 4"), +(1855400,9,11,0,0,0,100,0,13000,13000,0,0,0,1,7,0,0,0,0,0,19,21504,0,0,0,0,0,0,"Sharth Voldoun - On Script - Say Line 7 (Pathaleon the Calculators Image)"), +(1855400,9,12,0,0,0,100,0,0,0,0,0,0,45,3,3,0,0,0,0,19,21504,0,0,0,0,0,0,"Sharth Voldoun - On Script - Set Data to Pathaleon the Calculators Image"); + +-- Pathaleon the Calculators Image +DELETE FROM `smart_scripts` WHERE `entryorguid`=21504 AND `ID`>1; +DELETE FROM `smart_scripts` WHERE `entryorguid`=2150401 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=2150402 AND `source_type`=9; +DELETE FROM `smart_scripts` WHERE `entryorguid`=21504 AND `ID`=0; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(21504,0,2,0,54,0,100,0,0,0,0,0,0,11,34427,2,0,0,0,0,1,0,0,0,0,0,0,0,"Pathaleon the Calculator's Image - On Just Summoned - Cast Ethereal Teleport"), +(21504,0,3,0,54,0,100,0,0,0,0,0,0,11,33900,2,0,0,0,0,1,0,0,0,0,0,0,0,"Pathaleon the Calculator's Image - On Just Summoned - Cast Shroud of Death"), +(21504,0,4,0,38,0,100,0,3,3,0,0,0,80,2150401,2,0,0,0,0,1,0,0,0,0,0,0,0,"Pathaleon the Calculator's Image - On Data Set - Run Script"), +(2150401,9,0,0,0,0,100,0,8000,8000,0,0,0,11,34427,2,0,0,0,0,1,0,0,0,0,0,0,0,"Pathaleon the Calculator's Image - On Script - Cast Ethereal Teleport"), +(2150401,9,1,0,0,0,100,0,2000,2000,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Pathaleon the Calculator's Image - On Script - Despawn"), +(21504,0,0,0,38,0,100,0,1,1,0,0,0,80,2150402,2,0,0,0,0,1,0,0,0,0,0,0,0,"Pathaleon the Calculator's Image - On Data Set - Run Script"), +(2150402,9,0,0,0,0,100,0,1000,1000,0,0,0,1,8,0,0,0,0,0,1,0,0,0,0,0,0,0,"Pathaleon the Calculator's Image - On Script - Say text"), +(2150402,9,1,0,0,0,100,0,5000,5000,0,0,0,11,34427,2,0,0,0,0,1,0,0,0,0,0,0,0,"Pathaleon the Calculator's Image - On Script - Cast Ethereal Teleport"), +(2150402,9,2,0,0,0,100,0,1000,1000,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Pathaleon the Calculator's Image - On Script - Despawn"); From 4f880e29ebfee43970825d5dddddf98d77810249 Mon Sep 17 00:00:00 2001 From: ZenoX92 Date: Sun, 22 Jul 2018 14:10:12 +0200 Subject: [PATCH 18/19] DB/Quest: Protecting the Shipment Closes #17223 --- .../world/3.3.5/2018_07_22_07_world_335.sql | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 sql/updates/world/3.3.5/2018_07_22_07_world_335.sql diff --git a/sql/updates/world/3.3.5/2018_07_22_07_world_335.sql b/sql/updates/world/3.3.5/2018_07_22_07_world_335.sql new file mode 100644 index 00000000000..e605bab789c --- /dev/null +++ b/sql/updates/world/3.3.5/2018_07_22_07_world_335.sql @@ -0,0 +1,82 @@ +-- Quest "Protecting the Shipment" +UPDATE `quest_template_addon` SET `SpecialFlags`=2 WHERE `ID`=309; -- Prevents quest from auto completing + +-- Miran +UPDATE `creature` SET `spawntimesecs`=120 WHERE `guid`=8975; + +DELETE FROM `creature_text` WHERE `CreatureID`=1379 AND `GroupID` IN (1,2,3); +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(1379,1,0,"Help! I've only one hand to defend myself with.",12,7,100,0,0,0,510,0,"Miran"), +(1379,2,0,"Send them on! I'm not afraid of some scrawny beasts!",12,7,100,0,0,0,511,0,"Miran"), +(1379,3,0,"Ah, here at last! It's going to feel so good to get rid of these barrels.",12,7,100,0,0,0,498,0,"Miran"); + +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=1379; +DELETE FROM `smart_scripts` WHERE `entryorguid`=1379 AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (137900,137901) AND `source_type`=9; +INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`event_param5`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES +(1379,0,0,1,19,0,100,0,309,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,"Miran - On Quest 'Protecting the Shipment' Taken - Store Targetlist"), +(1379,0,1,2,61,0,100,0,0,0,0,0,0,83,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Miran - On Quest 'Protecting the Shipment' Taken - Remove Npc Flag Questgiver"), +(1379,0,2,0,61,0,100,0,0,0,0,0,0,53,0,1379,0,0,0,2,1,0,0,0,0,0,0,0,"Miran - On Quest 'Protecting the Shipment' Taken - Start Waypoint"), +(1379,0,3,0,6,0,100,0,0,0,0,0,0,6,309,0,0,0,0,0,12,1,0,0,0,0,0,0,"Miran - On Just Died - Fail Quest 'Protecting the Shipment'"), +(1379,0,4,0,40,0,100,0,19,1379,0,0,0,80,137900,2,0,0,0,0,1,0,0,0,0,0,0,0,"Miran - On Waypoint 19 Reached - Run Script"), +(1379,0,5,0,40,0,100,0,23,1379,0,0,0,80,137901,2,0,0,0,0,1,0,0,0,0,0,0,0,"Miran - On Waypoint 23 Reached - Run Script"), +(1379,0,6,0,40,0,100,0,24,1379,0,0,0,41,1000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Miran - On Waypoint 24 Reached - Despawn"), +(137900,9,0,0,0,0,100,0,0,0,0,0,0,54,2000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Miran - On Script - Pause Waypoint"), +(137900,9,1,0,0,0,100,0,0,0,0,0,0,107,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Miran - On Script - Summon Group"), +(137900,9,2,0,0,0,100,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Miran - On Script - Say Line 1"), +(137900,9,3,0,0,0,100,0,0,0,0,0,0,1,0,0,0,0,0,0,19,2149,0,0,0,0,0,0,"Miran - On Script - Say Line 0 (Dark Iron Raider)"), +(137900,9,4,0,0,0,100,0,7000,7000,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Miran - On Script - Say Line 2"), +(137901,9,0,0,0,0,100,0,0,0,0,0,0,54,10000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Miran - On Script - Pause Waypoint"), +(137901,9,1,0,0,0,100,0,0,0,0,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Miran - On Script - Say Line 3"), +(137901,9,2,0,0,0,100,0,0,0,0,0,0,15,309,0,0,0,0,0,12,1,0,0,0,0,0,0,"Miran - On Script - Complete Quest 'Protecting the Shipment'"); + +DELETE FROM `creature_summon_groups` WHERE `summonerId`=1379; +INSERT INTO `creature_summon_groups` (`summonerId`, `summonerType`, `groupId`, `entry`, `position_x`, `position_y`, `position_z`, `orientation`, `summonType`, `summonTime`) VALUES +(1379,0,1,2149,-5699.63,-3745.94,319.454,1.56927,1,10000), +(1379,0,1,2149,-5706.36,-3744.81,318.798,1.04306,1,10000); + +DELETE FROM `waypoints` WHERE `entry`=1379; +INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES +(1379,1,-5751.12,-3441.01,301.743,""), +(1379,2,-5738.58,-3485.14,302.41,""), +(1379,3,-5721.62,-3507.85,304.011,""), +(1379,4,-5710.21,-3527.97,304.708,""), +(1379,5,-5706.92,-3542.89,304.871,""), +(1379,6,-5701.53,-3551.24,305.962,""), +(1379,7,-5699.53,-3555.69,306.505,""), +(1379,8,-5690.56,-3571.98,309.035,""), +(1379,9,-5678.61,-3587.17,310.607,""), +(1379,10,-5677.05,-3594.35,311.527,""), +(1379,11,-5674.39,-3605.19,312.239,""), +(1379,12,-5674.45,-3614.39,312.337,""), +(1379,13,-5673.05,-3630.56,311.105,""), +(1379,14,-5680.34,-3645.44,315.185,""), +(1379,15,-5684.46,-3650.05,314.687,""), +(1379,16,-5693.9,-3674.14,313.03,""), +(1379,17,-5701.43,-3712.54,313.959,""), +(1379,18,-5698.79,-3720.88,316.943,""), +(1379,19,-5699.95,-3733.63,318.597,""), +(1379,20,-5698.61,-3754.74,322.047,""), +(1379,21,-5688.68,-3769,323.957,""), +(1379,22,-5688.14,-3782.65,322.667,""), +(1379,23,-5699.23,-3792.65,322.448,""), +(1379,24,-5700.8,-3792.78,322.588,""); + +-- Dark Iron Raider +DELETE FROM `creature_text` WHERE `CreatureID`=2149; +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES +(2149,0,0,"Get him!",12,6,100,0,0,0,512,0,"Dark Iron Raider"); + +DELETE FROM `smart_scripts` WHERE `entryorguid`=2149 AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(2149,0,0,0,54,0,100,0,0,0,0,0,0,49,0,0,0,0,0,0,19,1379,0,0,0,0,0,0,"Dark Iron Raider - Just Summoned - Start Attacking"); + +-- Huldar +DELETE FROM `gossip_menu` WHERE `MenuID`=4322 AND `TextID`=5501; +INSERT INTO `gossip_menu` (`MenuID`, `TextID`, `VerifiedBuild`) VALUES +(4322,5501,0); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=4322; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(14,4322,5494,0,0,29,0,1379,20,0,0,0,0,"","Show gossip text 5494 if Miran is nearby"), +(14,4322,5501,0,0,29,0,1379,20,0,1,0,0,"","Show gossip text 3522 if Miran is not nearby"); From 9192bf9cd696b03df4157b288c7b25f30dc1c68c Mon Sep 17 00:00:00 2001 From: Aokromes Date: Mon, 23 Jul 2018 14:49:10 +0200 Subject: [PATCH 19/19] rename files --- .../2018_07_23_00_world_from_335_was_2018_07_18_01_world.sql} | 0 ...018_07_23_01_world_from_335_was_2018_07_18_02_world_335.sql} | 2 ++ ...018_07_23_02_world_from_335_was_2018_07_18_03_world_335.sql} | 2 ++ ...018_07_23_03_world_from_335_was_2018_07_18_04_world_335.sql} | 2 ++ ...018_07_23_04_world_from_335_was_2018_07_22_00_world_335.sql} | 2 ++ ...018_07_23_05_world_from_335_was_2018_07_22_01_world_335.sql} | 2 ++ ...018_07_23_06_world_from_335_was_2018_07_22_02_world_335.sql} | 2 ++ ...018_07_23_07_world_from_335_was_2018_07_22_03_world_335.sql} | 2 ++ .../2018_07_23_08_world_from_335_was_2018_07_22_04_world.sql} | 0 ...018_07_23_09_world_from_335_was_2018_07_22_05_world_335.sql} | 2 ++ .../2018_07_23_10_world_from_335_was_2018_07_22_06_world.sql} | 0 ...018_07_23_11_world_from_335_was_2018_07_22_07_world_335.sql} | 2 ++ 12 files changed, 18 insertions(+) rename sql/updates/world/{3.3.5/2018_07_18_01_world.sql => 4.3.4/2018_07_23_00_world_from_335_was_2018_07_18_01_world.sql} (100%) rename sql/updates/world/{3.3.5/2018_07_18_02_world_335.sql => 4.3.4/2018_07_23_01_world_from_335_was_2018_07_18_02_world_335.sql} (99%) rename sql/updates/world/{3.3.5/2018_07_18_03_world_335.sql => 4.3.4/2018_07_23_02_world_from_335_was_2018_07_18_03_world_335.sql} (99%) rename sql/updates/world/{3.3.5/2018_07_18_04_world_335.sql => 4.3.4/2018_07_23_03_world_from_335_was_2018_07_18_04_world_335.sql} (99%) rename sql/updates/world/{3.3.5/2018_07_22_00_world_335.sql => 4.3.4/2018_07_23_04_world_from_335_was_2018_07_22_00_world_335.sql} (98%) rename sql/updates/world/{3.3.5/2018_07_22_01_world_335.sql => 4.3.4/2018_07_23_05_world_from_335_was_2018_07_22_01_world_335.sql} (99%) rename sql/updates/world/{3.3.5/2018_07_22_02_world_335.sql => 4.3.4/2018_07_23_06_world_from_335_was_2018_07_22_02_world_335.sql} (99%) rename sql/updates/world/{3.3.5/2018_07_22_03_world_335.sql => 4.3.4/2018_07_23_07_world_from_335_was_2018_07_22_03_world_335.sql} (99%) rename sql/updates/world/{3.3.5/2018_07_22_04_world.sql => 4.3.4/2018_07_23_08_world_from_335_was_2018_07_22_04_world.sql} (100%) rename sql/updates/world/{3.3.5/2018_07_22_05_world_335.sql => 4.3.4/2018_07_23_09_world_from_335_was_2018_07_22_05_world_335.sql} (93%) rename sql/updates/world/{3.3.5/2018_07_22_06_world.sql => 4.3.4/2018_07_23_10_world_from_335_was_2018_07_22_06_world.sql} (100%) rename sql/updates/world/{3.3.5/2018_07_22_07_world_335.sql => 4.3.4/2018_07_23_11_world_from_335_was_2018_07_22_07_world_335.sql} (99%) diff --git a/sql/updates/world/3.3.5/2018_07_18_01_world.sql b/sql/updates/world/4.3.4/2018_07_23_00_world_from_335_was_2018_07_18_01_world.sql similarity index 100% rename from sql/updates/world/3.3.5/2018_07_18_01_world.sql rename to sql/updates/world/4.3.4/2018_07_23_00_world_from_335_was_2018_07_18_01_world.sql diff --git a/sql/updates/world/3.3.5/2018_07_18_02_world_335.sql b/sql/updates/world/4.3.4/2018_07_23_01_world_from_335_was_2018_07_18_02_world_335.sql similarity index 99% rename from sql/updates/world/3.3.5/2018_07_18_02_world_335.sql rename to sql/updates/world/4.3.4/2018_07_23_01_world_from_335_was_2018_07_18_02_world_335.sql index 056ca9b2419..b8be656abb4 100644 --- a/sql/updates/world/3.3.5/2018_07_18_02_world_335.sql +++ b/sql/updates/world/4.3.4/2018_07_23_01_world_from_335_was_2018_07_18_02_world_335.sql @@ -1,3 +1,4 @@ +/* -- -- Razzle Sprysprocket DELETE FROM `creature_text` WHERE `CreatureID` IN (1269,5568); @@ -50,3 +51,4 @@ INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `positi (1269,1,-5496.54,-455.453,395.439,""), (1269,2,-5499.83,-454.55,395.439,""), (1269,3,-5497.94,-455.835,395.438,""); +*/ diff --git a/sql/updates/world/3.3.5/2018_07_18_03_world_335.sql b/sql/updates/world/4.3.4/2018_07_23_02_world_from_335_was_2018_07_18_03_world_335.sql similarity index 99% rename from sql/updates/world/3.3.5/2018_07_18_03_world_335.sql rename to sql/updates/world/4.3.4/2018_07_23_02_world_from_335_was_2018_07_18_03_world_335.sql index ccf3e5091ec..537100eaa72 100644 --- a/sql/updates/world/3.3.5/2018_07_18_03_world_335.sql +++ b/sql/updates/world/4.3.4/2018_07_23_02_world_from_335_was_2018_07_18_03_world_335.sql @@ -1,3 +1,4 @@ +/* -- -- Mux Manascrambler DELETE FROM `gossip_menu_option` WHERE `MenuID`=7083; @@ -14,3 +15,4 @@ UPDATE `smart_scripts` SET `action_type`=85, `action_param2`=2 WHERE `entryorgui DELETE FROM `smart_scripts` WHERE `entryorguid`=16014 AND `source_type`=0 AND `id`=2; INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES (16014,0,2,1,62,0,100,0,7083,1,0,0,85,27752,2,0,0,0,0,7,0,0,0,0,0,0,0,"Mux Manascrambler - On Gossip Option 1 Selected - Invoker Cast 'Create Ectoplasmic Distiller'"); +*/ diff --git a/sql/updates/world/3.3.5/2018_07_18_04_world_335.sql b/sql/updates/world/4.3.4/2018_07_23_03_world_from_335_was_2018_07_18_04_world_335.sql similarity index 99% rename from sql/updates/world/3.3.5/2018_07_18_04_world_335.sql rename to sql/updates/world/4.3.4/2018_07_23_03_world_from_335_was_2018_07_18_04_world_335.sql index 4d152cb2660..b4f3ff97f79 100644 --- a/sql/updates/world/3.3.5/2018_07_18_04_world_335.sql +++ b/sql/updates/world/4.3.4/2018_07_23_03_world_from_335_was_2018_07_18_04_world_335.sql @@ -1,3 +1,4 @@ +/* -- -- Anthion Harmon UPDATE `creature_template` SET `npcflag`=3, `gossip_menu_id`=7072 WHERE `entry`=16016; @@ -41,3 +42,4 @@ DELETE FROM `smart_scripts` WHERE `entryorguid`=16032 AND `source_type`=0; INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES (16032,0,0,1,62,0,100,0,7073,0,0,0,85,27755,2,0,0,0,0,7,0,0,0,0,0,0,0,"Falrin Treeshaper - On Gossip Option 0 Selected - Invoker Cast 'Create Banner of Provocation'"), (16032,0,1,0,61,0,100,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Falrin Treeshaper - On Gossip Option 0 Selected - Close Gossip"); +*/ diff --git a/sql/updates/world/3.3.5/2018_07_22_00_world_335.sql b/sql/updates/world/4.3.4/2018_07_23_04_world_from_335_was_2018_07_22_00_world_335.sql similarity index 98% rename from sql/updates/world/3.3.5/2018_07_22_00_world_335.sql rename to sql/updates/world/4.3.4/2018_07_23_04_world_from_335_was_2018_07_22_00_world_335.sql index 529a5a3e14b..bad1eabcce8 100644 --- a/sql/updates/world/3.3.5/2018_07_22_00_world_335.sql +++ b/sql/updates/world/4.3.4/2018_07_23_04_world_from_335_was_2018_07_22_00_world_335.sql @@ -1,5 +1,7 @@ +/* -- DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=1822; INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES (14,1822,2473,0,0,6,0,67,0,0,0,0,0,"","Show gossip text 2473 if player is Horde"), (14,1822,2474,0,0,6,0,469,0,0,0,0,0,"","Show gossip text 2474 if player is Alliance"); +*/ diff --git a/sql/updates/world/3.3.5/2018_07_22_01_world_335.sql b/sql/updates/world/4.3.4/2018_07_23_05_world_from_335_was_2018_07_22_01_world_335.sql similarity index 99% rename from sql/updates/world/3.3.5/2018_07_22_01_world_335.sql rename to sql/updates/world/4.3.4/2018_07_23_05_world_from_335_was_2018_07_22_01_world_335.sql index bf2386d4a1b..d985aea1841 100644 --- a/sql/updates/world/3.3.5/2018_07_22_01_world_335.sql +++ b/sql/updates/world/4.3.4/2018_07_23_05_world_from_335_was_2018_07_22_01_world_335.sql @@ -1,3 +1,4 @@ +/* -- -- Thaurissan Relic UPDATE `gameobject_template` SET `AIName`="SmartGameObjectAI" WHERE `entry`=153556; @@ -25,3 +26,4 @@ INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Lan (8887,0,4,"He cannot be defeated. ",15,0,100,0,0,0,4598,0,"A tormented voice"), (8887,0,5,"Your existence is acknowledged. ",15,0,100,0,0,0,4599,0,"A tormented voice"), (8887,0,6,"Defiler... you will be punished for this incursion. ",15,0,100,0,0,0,4600,0,"A tormented voice"); +*/ diff --git a/sql/updates/world/3.3.5/2018_07_22_02_world_335.sql b/sql/updates/world/4.3.4/2018_07_23_06_world_from_335_was_2018_07_22_02_world_335.sql similarity index 99% rename from sql/updates/world/3.3.5/2018_07_22_02_world_335.sql rename to sql/updates/world/4.3.4/2018_07_23_06_world_from_335_was_2018_07_22_02_world_335.sql index 13689b043ad..0a15e72d470 100644 --- a/sql/updates/world/3.3.5/2018_07_22_02_world_335.sql +++ b/sql/updates/world/4.3.4/2018_07_23_06_world_from_335_was_2018_07_22_02_world_335.sql @@ -1,3 +1,4 @@ +/* -- Royal Historian Archesonus DELETE FROM `gossip_menu` WHERE `MenuID`=1561 AND `TextID`=2235; INSERT INTO `gossip_menu` (`MenuID`, `TextID`, `VerifiedBuild`) VALUES @@ -6,3 +7,4 @@ INSERT INTO `gossip_menu` (`MenuID`, `TextID`, `VerifiedBuild`) VALUES DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=1561; INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES (14,1561,2235,0,0,9,0,3702,0,0,0,0,0,"","Show gossip text 2235 if quest 'The Smoldering Ruins of Thaurissan' is taken"); +*/ diff --git a/sql/updates/world/3.3.5/2018_07_22_03_world_335.sql b/sql/updates/world/4.3.4/2018_07_23_07_world_from_335_was_2018_07_22_03_world_335.sql similarity index 99% rename from sql/updates/world/3.3.5/2018_07_22_03_world_335.sql rename to sql/updates/world/4.3.4/2018_07_23_07_world_from_335_was_2018_07_22_03_world_335.sql index f79452f70aa..f2c51ac6940 100644 --- a/sql/updates/world/3.3.5/2018_07_22_03_world_335.sql +++ b/sql/updates/world/4.3.4/2018_07_23_07_world_from_335_was_2018_07_22_03_world_335.sql @@ -1,3 +1,4 @@ +/* -- -- Stone Watcher of Norgannon UPDATE `gossip_menu` SET `TextID`=1676 WHERE `MenuID`=57001; @@ -12,3 +13,4 @@ DELETE FROM `smart_scripts` WHERE `entryorguid`=7918 AND `source_type`=0 AND `id INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES (7918,0,2,0,11,0,100,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stone Watcher of Norgannon - On Spawn - Say Line 0"), (7918,0,3,0,62,0,100,0,57005,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stone Watcher of Norgannon - On Gossip Option Selected - Say Line 1"); +*/ diff --git a/sql/updates/world/3.3.5/2018_07_22_04_world.sql b/sql/updates/world/4.3.4/2018_07_23_08_world_from_335_was_2018_07_22_04_world.sql similarity index 100% rename from sql/updates/world/3.3.5/2018_07_22_04_world.sql rename to sql/updates/world/4.3.4/2018_07_23_08_world_from_335_was_2018_07_22_04_world.sql diff --git a/sql/updates/world/3.3.5/2018_07_22_05_world_335.sql b/sql/updates/world/4.3.4/2018_07_23_09_world_from_335_was_2018_07_22_05_world_335.sql similarity index 93% rename from sql/updates/world/3.3.5/2018_07_22_05_world_335.sql rename to sql/updates/world/4.3.4/2018_07_23_09_world_from_335_was_2018_07_22_05_world_335.sql index db5a04bfedf..70e556c4b21 100644 --- a/sql/updates/world/3.3.5/2018_07_22_05_world_335.sql +++ b/sql/updates/world/4.3.4/2018_07_23_09_world_from_335_was_2018_07_22_05_world_335.sql @@ -1,2 +1,4 @@ +/* -- Gaffer Jack UPDATE `fishing_loot_template` SET `GroupId`=0 WHERE `entry` IN (148); +*/ diff --git a/sql/updates/world/3.3.5/2018_07_22_06_world.sql b/sql/updates/world/4.3.4/2018_07_23_10_world_from_335_was_2018_07_22_06_world.sql similarity index 100% rename from sql/updates/world/3.3.5/2018_07_22_06_world.sql rename to sql/updates/world/4.3.4/2018_07_23_10_world_from_335_was_2018_07_22_06_world.sql diff --git a/sql/updates/world/3.3.5/2018_07_22_07_world_335.sql b/sql/updates/world/4.3.4/2018_07_23_11_world_from_335_was_2018_07_22_07_world_335.sql similarity index 99% rename from sql/updates/world/3.3.5/2018_07_22_07_world_335.sql rename to sql/updates/world/4.3.4/2018_07_23_11_world_from_335_was_2018_07_22_07_world_335.sql index e605bab789c..cc152dc5b9c 100644 --- a/sql/updates/world/3.3.5/2018_07_22_07_world_335.sql +++ b/sql/updates/world/4.3.4/2018_07_23_11_world_from_335_was_2018_07_22_07_world_335.sql @@ -1,3 +1,4 @@ +/* -- Quest "Protecting the Shipment" UPDATE `quest_template_addon` SET `SpecialFlags`=2 WHERE `ID`=309; -- Prevents quest from auto completing @@ -80,3 +81,4 @@ DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=43 INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES (14,4322,5494,0,0,29,0,1379,20,0,0,0,0,"","Show gossip text 5494 if Miran is nearby"), (14,4322,5501,0,0,29,0,1379,20,0,1,0,0,"","Show gossip text 3522 if Miran is not nearby"); +*/