Scripts/Oculus: Implement a couple of missing texts

(cherry picked from commit 63c1e265aace363a1d889b1621c0cc3a9263e956)
This commit is contained in:
Nyeriah
2014-12-26 13:12:00 -02:00
parent df444890da
commit e66460dad6
3 changed files with 42 additions and 0 deletions
@@ -0,0 +1,4 @@
UPDATE `creature_text` SET `TextRange` = 3 WHERE `entry` = 27656 AND `groupid` = 0;
DELETE FROM `creature_text` WHERE `entry` = 27447 AND `groupid` = 4;
INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextID`, `TextRange`, `comment`) VALUES
(27447, 4, 0, 'Intruders, your victory will be short-lived. I am Commander Varos Cloudstrider. My drakes control the skies and protect this conduit. I will see to it personally that the Oculus does not fall into your hands!', 14, 0, 100, 0, 0, 13648, 31812, 3, 'Varos Cloudstrider SAY_VAROS_INTRO_TEXT');
@@ -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
@@ -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