From e66460dad668a173679199a4b0cd9aff8435fe35 Mon Sep 17 00:00:00 2001 From: Nyeriah Date: Fri, 26 Dec 2014 13:12:00 -0200 Subject: Scripts/Oculus: Implement a couple of missing texts (cherry picked from commit 63c1e265aace363a1d889b1621c0cc3a9263e956) --- .../Northrend/Nexus/Oculus/instance_oculus.cpp | 26 ++++++++++++++++++++++ src/server/scripts/Northrend/Nexus/Oculus/oculus.h | 12 ++++++++++ 2 files changed, 38 insertions(+) (limited to 'src/server/scripts/Northrend') diff --git a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp index 0665bfd240c..ed902dba260 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp @@ -192,6 +192,7 @@ class instance_oculus : public InstanceMapScript FreeDragons(); if (Creature* varos = instance->GetCreature(VarosGUID)) varos->SetPhaseMask(1, true); + events.ScheduleEvent(EVENT_VAROS_INTRO, 15000); } break; case DATA_VAROS: @@ -209,6 +210,7 @@ class instance_oculus : public InstanceMapScript { eregos->SetPhaseMask(1, true); GreaterWhelps(); + events.ScheduleEvent(EVENT_EREGOS_INTRO, 5000); } } break; @@ -267,6 +269,28 @@ class instance_oculus : public InstanceMapScript } } + void Update(uint32 diff) override + { + events.Update(diff); + + while (uint32 eventId = events.ExecuteEvent()) + { + switch (eventId) + { + case EVENT_VAROS_INTRO: + if (Creature* varos = instance->GetCreature(VarosGUID)) + varos->AI()->Talk(SAY_VAROS_INTRO_TEXT); + break; + case EVENT_EREGOS_INTRO: + if (Creature* eregos = instance->GetCreature(EregosGUID)) + eregos->AI()->Talk(SAY_EREGOS_INTRO_TEXT); + break; + default: + break; + } + } + } + void GreaterWhelps() { for (ObjectGuid guid : GreaterWhelpList) @@ -289,6 +313,8 @@ class instance_oculus : public InstanceMapScript ObjectGuid EregosCacheGUID; GuidList GreaterWhelpList; + + EventMap events; }; InstanceScript* GetInstanceScript(InstanceMap* map) const override diff --git a/src/server/scripts/Northrend/Nexus/Oculus/oculus.h b/src/server/scripts/Northrend/Nexus/Oculus/oculus.h index 268cdb54e3e..d1144df9486 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/oculus.h +++ b/src/server/scripts/Northrend/Nexus/Oculus/oculus.h @@ -79,6 +79,18 @@ enum OculusSpells SPELL_DEATH_SPELL = 50415 }; +enum InstanceTexts +{ + SAY_EREGOS_INTRO_TEXT = 0, + SAY_VAROS_INTRO_TEXT = 4 +}; + +enum InstanceEvents +{ + EVENT_VAROS_INTRO = 1, + EVENT_EREGOS_INTRO +}; + enum Misc { POINT_MOVE_OUT = 1 -- cgit v1.2.3 From cf893351773c9193b4860a9c54e825f2138773a4 Mon Sep 17 00:00:00 2001 From: Gacko Date: Sat, 27 Dec 2014 13:57:36 +0100 Subject: Fix non pch build --- src/server/game/DataStores/DB2Stores.h | 1 + src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp | 1 + src/server/shared/DataStores/DB2StorageLoader.h | 2 ++ 3 files changed, 4 insertions(+) (limited to 'src/server/scripts/Northrend') diff --git a/src/server/game/DataStores/DB2Stores.h b/src/server/game/DataStores/DB2Stores.h index 01b28e6ec72..878498a94da 100644 --- a/src/server/game/DataStores/DB2Stores.h +++ b/src/server/game/DataStores/DB2Stores.h @@ -22,6 +22,7 @@ #include "DB2Structure.h" #include #include +#include "SharedDefines.h" extern DB2Storage sBroadcastTextStore; extern DB2Storage sHolidaysStore; diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp index 1df5f5eac8f..c12b0889f9d 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_magus_telestra.cpp @@ -19,6 +19,7 @@ #include "ScriptMgr.h" #include "ScriptedCreature.h" #include "nexus.h" +#include "GameEventMgr.h" enum Spells { diff --git a/src/server/shared/DataStores/DB2StorageLoader.h b/src/server/shared/DataStores/DB2StorageLoader.h index 4254fcc1121..cc9bfa76b5c 100644 --- a/src/server/shared/DataStores/DB2StorageLoader.h +++ b/src/server/shared/DataStores/DB2StorageLoader.h @@ -21,6 +21,8 @@ #include "Define.h" #include "Utilities/ByteConverter.h" #include +#include +#include "Common.h" class DB2FileLoader { -- cgit v1.2.3 From be0009d01aaab6630f53a698277c14e50d08c99a Mon Sep 17 00:00:00 2001 From: MitchesD Date: Sun, 28 Dec 2014 12:08:07 +0100 Subject: Scripts/ICC: fixed situations when LK tried to cast Necrotic Plague on pets and then Necrotic Plague was omitted (cherry picked from commit 3d3dafbe380054ef60cbf99658aa42c442b01693) --- src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/server/scripts/Northrend') 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 645df91d8ea..1b6df68c5c4 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp @@ -362,7 +362,7 @@ class NecroticPlagueTargetCheck : public std::unary_function bool operator()(Unit* unit) const { - if (!unit || unit == _sourceObj || !unit->isTargetableForAttack() || unit->IsTotem() || unit->HasAura(SPELL_PLAGUE_AVOIDANCE)) + if (!unit || unit == _sourceObj || !unit->isTargetableForAttack() || unit->GetTypeId() != TYPEID_PLAYER || unit->HasAura(SPELL_PLAGUE_AVOIDANCE)) return false; if ((_notAura1 && unit->HasAura(_notAura1)) || (_notAura2 && unit->HasAura(_notAura2))) return false; -- cgit v1.2.3