diff options
| author | Shauren <shauren.trinity@gmail.com> | 2011-04-22 21:59:37 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2011-04-22 21:59:37 +0200 |
| commit | d73ffc9e81747ef642b47f248d38144c9ead9705 (patch) | |
| tree | eef791a402b2a73cc8d606f82e478de44436049f /src/server/scripts | |
| parent | 7f73962c91b5e8c4f7b9babb0388bb8564bac761 (diff) | |
Core/Vehicles:
* Added generic solution for vehicle accessories not relying on AI calls
* Only accessories marked as minion will be respawned when the vehicle enters evade mode
* Notify the summoner's AI when vehicle accessory fails to install and despawns
Diffstat (limited to 'src/server/scripts')
5 files changed, 5 insertions, 26 deletions
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp index 1876c6fbaf9..d5254a0b706 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp @@ -172,9 +172,6 @@ public: uiChargeTimer = 5000; uiShieldBreakerTimer = 8000; uiBuffTimer = urand(30000,60000); - - if (me->GetVehicleKit()) - me->GetVehicleKit()->Reset(); } void SetData(uint32 uiType, uint32 /*uiData*/) diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp index 7a1a97539a4..6019952c559 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp @@ -162,8 +162,6 @@ class boss_ick : public CreatureScript void EnterCombat(Unit * /*who*/) { - _vehicle->InstallAllAccessories(); - if (Creature* krick = GetKrick()) DoScriptText(SAY_KRICK_AGGRO, krick); diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp index 440666581c0..168c2844330 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp @@ -301,7 +301,7 @@ class boss_rimefang : public CreatureScript void JustReachedHome() { - _vehicle->InstallAllAccessories(); + _vehicle->InstallAllAccessories(false); } void DoAction(const int32 actionId) diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp index 6c73120c0aa..c2a9afc3788 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp @@ -874,12 +874,6 @@ public: instance = creature->GetInstanceScript(); } - void Reset() - { - if (Vehicle* veh = me->GetVehicleKit()) - veh->Reset(); - } - void PassengerBoarded(Unit* unit, int8 seat, bool apply) { if (apply) diff --git a/src/server/scripts/Northrend/Ulduar/ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/ulduar/boss_flame_leviathan.cpp index 6f0c8ec2bd3..352af769f59 100644 --- a/src/server/scripts/Northrend/Ulduar/ulduar/boss_flame_leviathan.cpp +++ b/src/server/scripts/Northrend/Ulduar/ulduar/boss_flame_leviathan.cpp @@ -221,7 +221,8 @@ class boss_flame_leviathan : public CreatureScript void InitializeAI() { ASSERT(vehicle); - Reset(); + if (!me->isDead()) + Reset(); ActiveTowersCount = 4; Shutdown = 0; ActiveTowers = false; @@ -255,12 +256,6 @@ class boss_flame_leviathan : public CreatureScript _Reset(); Shutdown = 0; me->SetReactState(REACT_DEFENSIVE); - if (me->GetVehicleKit()) - { - me->GetVehicleKit()->Reset(); - if (me->GetVehicleKit()->GetPassenger(SEAT_CANNON)) - me->CastSpell(me->GetVehicleKit()->GetPassenger(SEAT_CANNON),AURA_STEALTH_DETECTION,false); - } } void EnterCombat(Unit* /*who*/) @@ -344,7 +339,7 @@ class boss_flame_leviathan : public CreatureScript void SpellHit(Unit* /*caster*/, SpellEntry* const spell) { if (spell->Id == SPELL_START_THE_ENGINE) - vehicle->InstallAllAccessories(); + vehicle->InstallAllAccessories(false); if (spell->Id == SPELL_ELECTROSHOCK) me->InterruptSpell(CURRENT_CHANNELED_SPELL); @@ -594,12 +589,6 @@ class boss_flame_leviathan_seat : public CreatureScript InstanceScript* instance; Vehicle* vehicle; - void Reset() - { - if (me->GetVehicleKit()) - me->GetVehicleKit()->Reset(); - } - void PassengerBoarded(Unit* who, int8 seatId, bool apply) { if (!me->GetVehicle()) @@ -662,6 +651,7 @@ class boss_flame_leviathan_defense_cannon : public CreatureScript void Reset () { NapalmTimer = 5000; + DoCast(me, AURA_STEALTH_DETECTION); } void UpdateAI(uint32 const diff) |
