diff options
7 files changed, 33 insertions, 17 deletions
diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index b4e18b66a69..41dae740e59 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -2231,6 +2231,7 @@ SmartScriptHolder SmartScript::CreateEvent(SMART_EVENT e, uint32 event_flags, ui script.event.raw.param4 = event_param4; script.event.event_phase_mask = phaseMask; script.event.event_flags = event_flags; + script.event.event_chance = 100; script.action.type = action; script.action.raw.param1 = action_param1; diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp index 2abfcead826..fffd6be8e9b 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp @@ -367,21 +367,21 @@ public: std::vector<InfernalPoint*>::iterator itr = positions.begin()+rand()%positions.size(); point = *itr; positions.erase(itr); - pos.Relocate(point->x, point->y, INFERNAL_Z); + pos.Relocate(point->x, point->y, INFERNAL_Z, 0.0f); } - Creature* Infernal = me->SummonCreature(NETHERSPITE_INFERNAL, pos, TEMPSUMMON_TIMED_DESPAWN, 180000); + Creature* infernal = me->SummonCreature(NETHERSPITE_INFERNAL, pos, TEMPSUMMON_TIMED_DESPAWN, 180000); - if (Infernal) + if (infernal) { - Infernal->SetDisplayId(INFERNAL_MODEL_INVISIBLE); - Infernal->setFaction(me->getFaction()); + infernal->SetDisplayId(INFERNAL_MODEL_INVISIBLE); + infernal->setFaction(me->getFaction()); if (point) - CAST_AI(netherspite_infernal::netherspite_infernalAI, Infernal->AI())->point=point; - CAST_AI(netherspite_infernal::netherspite_infernalAI, Infernal->AI())->malchezaar=me->GetGUID(); + CAST_AI(netherspite_infernal::netherspite_infernalAI, infernal->AI())->point=point; + CAST_AI(netherspite_infernal::netherspite_infernalAI, infernal->AI())->malchezaar=me->GetGUID(); - infernals.push_back(Infernal->GetGUID()); - DoCast(Infernal, SPELL_INFERNAL_RELAY); + infernals.push_back(infernal->GetGUID()); + DoCast(infernal, SPELL_INFERNAL_RELAY); } Talk(SAY_SUMMON); diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp index a9f92521ef8..f438a117a5f 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp @@ -1001,6 +1001,8 @@ public: void Reset() OVERRIDE { + dummy_dragonAI::Reset(); + m_uiShadowBreathTimer = 20000; m_uiShadowFissureTimer = 5000; m_uiHatchEggTimer = 30000; @@ -1090,6 +1092,8 @@ public: void Reset() OVERRIDE { + dummy_dragonAI::Reset(); + m_uiShadowBreathTimer = 20000; m_uiShadowFissureTimer = 5000; m_uiAcolyteShadronTimer = 60000; @@ -1194,6 +1198,8 @@ public: void Reset() OVERRIDE { + dummy_dragonAI::Reset(); + m_uiShadowBreathTimer = 20000; m_uiShadowFissureTimer = 5000; m_uiAcolyteVesperonTimer = 60000; diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp index 4ece79b0f7f..bbb3d666b32 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/boss_skarvald_dalronn.cpp @@ -112,6 +112,7 @@ public: Charge_Timer = 5000; StoneStrike_Timer = 10000; Dalronn_isDead = false; + Response_Timer = 0; Check_Timer = 5000; Enraged = false; @@ -280,6 +281,7 @@ public: Summon_Timer = 10000; Check_Timer = 5000; Skarvald_isDead = false; + Response_Timer = 0; AggroYell_Timer = 0; ghost = me->GetEntry() == NPC_DALRONN_GHOST; diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp index a54a1b6bec7..f592a4b2bb2 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp @@ -159,6 +159,7 @@ public: void Reset() OVERRIDE { + m_bIsWalking = false; m_bIsPause = false; m_bIsActiveWithBJORN = false; m_bIsActiveWithHALDOR = false; diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp index 4dedc774bb8..279a846140c 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp @@ -478,6 +478,7 @@ public: { instance = creature->GetInstanceScript(); DoCast(me, SPELL_DUAL_WIELD, true); + AkamaGUID = 0; } void Reset() OVERRIDE; @@ -1081,7 +1082,7 @@ public: { case EVENT_SHADOW_BLAST: me->GetMotionMaster()->Clear(false); - if (!me->IsWithinDistInMap(me->GetVictim(), 50)||!me->IsWithinLOSInMap(me->GetVictim())) + if (me->GetVictim() && (!me->IsWithinDistInMap(me->GetVictim(), 50) || !me->IsWithinLOSInMap(me->GetVictim()))) me->GetMotionMaster()->MoveChase(me->GetVictim(), 30); else me->GetMotionMaster()->MoveIdle(); diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp index 4499cb98475..ff66dcb550c 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp @@ -151,6 +151,8 @@ public: Intro = false; JustCreated = true; creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); // set it only once on Creature create (no need do intro if wiped) + for (uint8 i = 0; i < 4; ++i) + ShieldGeneratorChannel[i] = 0; } InstanceScript* instance; @@ -201,17 +203,20 @@ public: JustCreated = false; } else CanAttack = true; - for (uint8 i = 0; i < 4; ++i) - if (Unit* remo = Unit::GetUnit(*me, ShieldGeneratorChannel[i])) - remo->setDeathState(JUST_DIED); + { + if (ShieldGeneratorChannel[i]) + { + if (Unit* remo = Unit::GetUnit(*me, ShieldGeneratorChannel[i])) + { + remo->setDeathState(JUST_DIED); + ShieldGeneratorChannel[i] = 0; + } + } + } if (instance) instance->SetData(DATA_LADYVASHJEVENT, NOT_STARTED); - ShieldGeneratorChannel[0] = 0; - ShieldGeneratorChannel[1] = 0; - ShieldGeneratorChannel[2] = 0; - ShieldGeneratorChannel[3] = 0; me->SetCorpseDelay(1000*60*60); } |