aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2011-04-22 21:59:37 +0200
committerShauren <shauren.trinity@gmail.com>2011-04-22 21:59:37 +0200
commitd73ffc9e81747ef642b47f248d38144c9ead9705 (patch)
treeeef791a402b2a73cc8d606f82e478de44436049f /src/server/scripts
parent7f73962c91b5e8c4f7b9babb0388bb8564bac761 (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')
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp3
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_krickandick.cpp2
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp6
-rw-r--r--src/server/scripts/Northrend/Ulduar/ulduar/boss_flame_leviathan.cpp18
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)