diff options
| author | treeston <treeston.mmoc@gmail.com> | 2016-03-26 00:21:21 +0100 |
|---|---|---|
| committer | treeston <treeston.mmoc@gmail.com> | 2016-03-26 00:21:21 +0100 |
| commit | dc39de01416cfd9a7c0416ed38964b753098ca8e (patch) | |
| tree | 213be3d0c204778db08698ac7ceaa5743a8a2b50 /src | |
| parent | ff77741a61a6b272aed43135036e035b2ff82986 (diff) | |
Scripts/Karazhan: Hackfix the Opera event script to make Wizard of Oz actually completable.
Doing it in script instead of removing the flags from DB because I'm pretty sure that the DB flags are correct and there's some RP event missing before she becomes attackable.
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp index 0f6913b7ebc..3f236c060d7 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp @@ -674,6 +674,12 @@ public: void Initialize() { + // Hello, developer from the future! It's me again! + // This time, you're fixing Karazhan scripts. Awesome. These are a mess of hacks. An amalgamation of hacks, so to speak. Maybe even a Patchwerk thereof. + // Anyway, I digress. + // @todo This line below is obviously a hack. Duh. I'm just coming in here to hackfix the encounter to actually be completable. + // It needs a rewrite. Badly. Please, take good care of it. + me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NON_ATTACKABLE); CycloneTimer = 30000; ChainLightningTimer = 10000; } @@ -701,8 +707,6 @@ public: void EnterCombat(Unit* /*who*/) override { Talk(SAY_CRONE_AGGRO); - me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC); } void JustDied(Unit* /*killer*/) override @@ -716,9 +720,6 @@ public: if (!UpdateVictim()) return; - if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE)) - me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - if (CycloneTimer <= diff) { if (Creature* Cyclone = DoSpawnCreature(CREATURE_CYCLONE, float(urand(0, 9)), float(urand(0, 9)), 0, 0, TEMPSUMMON_TIMED_DESPAWN, 15000)) |
