diff options
| author | joschiwald <joschiwald@online.de> | 2013-08-19 20:03:06 +0200 |
|---|---|---|
| committer | joschiwald <joschiwald@online.de> | 2013-08-19 20:03:06 +0200 |
| commit | e0f010b310d6d7c8ca3c696f941f17312bf3c01d (patch) | |
| tree | b472bb72edaa9cb8ef3966ff203977c1dfb2a9b8 /src/server/scripts/EasternKingdoms | |
| parent | 7679145da52c1302fcbc434a6b3710f41f9303a8 (diff) | |
Scripts: Random script fixes and code optimizations
Diffstat (limited to 'src/server/scripts/EasternKingdoms')
| -rw-r--r-- | src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp | 137 |
1 files changed, 66 insertions, 71 deletions
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp index ba178a6377c..7feb0e47926 100644 --- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp @@ -505,93 +505,89 @@ public: ## npc_dark_rider_of_acherus ######*/ -enum Spells_DR +enum DarkRiderOfAcherus { + SAY_DARK_RIDER = 0, SPELL_DESPAWN_HORSE = 51918 }; -enum Says_DR -{ - SAY_DARK_RIDER = 0 -}; - class npc_dark_rider_of_acherus : public CreatureScript { -public: - npc_dark_rider_of_acherus() : CreatureScript("npc_dark_rider_of_acherus") { } - - CreatureAI* GetAI(Creature* creature) const OVERRIDE - { - return new npc_dark_rider_of_acherusAI(creature); - } - - struct npc_dark_rider_of_acherusAI : public ScriptedAI - { - npc_dark_rider_of_acherusAI(Creature* creature) : ScriptedAI(creature) {} - - uint32 PhaseTimer; - uint32 Phase; - bool Intro; - uint64 TargetGUID; + public: + npc_dark_rider_of_acherus() : CreatureScript("npc_dark_rider_of_acherus") { } - void Reset() OVERRIDE + struct npc_dark_rider_of_acherusAI : public ScriptedAI { - PhaseTimer = 4000; - Phase = 0; - Intro = false; - TargetGUID = 0; - } + npc_dark_rider_of_acherusAI(Creature* creature) : ScriptedAI(creature) { } - void UpdateAI(uint32 diff) OVERRIDE - { - if (!Intro || !TargetGUID) - return; + void Reset() OVERRIDE + { + PhaseTimer = 4000; + Phase = 0; + Intro = false; + TargetGUID = 0; + } - if (PhaseTimer <= diff) + void UpdateAI(uint32 diff) OVERRIDE { - switch (Phase) + if (!Intro || !TargetGUID) + return; + + if (PhaseTimer <= diff) { - case 0: - me->MonsterSay(SAY_DARK_RIDER, LANG_UNIVERSAL, 0); - PhaseTimer = 5000; - Phase = 1; - break; - case 1: - if (Unit* target = Unit::GetUnit(*me, TargetGUID)) - DoCast(target, SPELL_DESPAWN_HORSE, true); - PhaseTimer = 3000; - Phase = 2; - break; - case 2: - me->SetVisible(false); - PhaseTimer = 2000; - Phase = 3; - break; - case 3: - me->DespawnOrUnsummon(); - break; - default: - break; + switch (Phase) + { + case 0: + Talk(SAY_DARK_RIDER); + PhaseTimer = 5000; + Phase = 1; + break; + case 1: + if (Unit* target = ObjectAccessor::GetUnit(*me, TargetGUID)) + DoCast(target, SPELL_DESPAWN_HORSE, true); + PhaseTimer = 3000; + Phase = 2; + break; + case 2: + me->SetVisible(false); + PhaseTimer = 2000; + Phase = 3; + break; + case 3: + me->DespawnOrUnsummon(); + break; + default: + break; + } } - } else PhaseTimer -= diff; - - } + else + PhaseTimer -= diff; + } - void InitDespawnHorse(Unit* who) - { - if (!who) - return; + void InitDespawnHorse(Unit* who) + { + if (!who) + return; - TargetGUID = who->GetGUID(); - me->SetWalk(true); - me->SetSpeed(MOVE_RUN, 0.4f); - me->GetMotionMaster()->MoveChase(who); - me->SetTarget(TargetGUID); - Intro = true; - } + TargetGUID = who->GetGUID(); + me->SetWalk(true); + me->SetSpeed(MOVE_RUN, 0.4f); + me->GetMotionMaster()->MoveChase(who); + me->SetTarget(TargetGUID); + Intro = true; + } - }; + private: + uint32 PhaseTimer; + uint32 Phase; + bool Intro; + uint64 TargetGUID; + }; + CreatureAI* GetAI(Creature* creature) const OVERRIDE + { + return new npc_dark_rider_of_acherusAI(creature); + } }; /*###### @@ -644,7 +640,6 @@ public: } void MoveInLineOfSight(Unit* who) OVERRIDE - { ScriptedAI::MoveInLineOfSight(who); |
