Scripts/ZulGurub: Missing mass replace changes and typo/codestyle fixes.
This commit is contained in:
1 parent
26bf10365e
commit
797be8d9ff
3 files changed
+55
-53
No files matched your search
@@ -79,11 +79,7 @@ class boss_arlokk : public CreatureScript
|
||||
|
||||
struct boss_arlokkAI : public BossAI
|
||||
{
|
||||
boss_arlokkAI(Creature* creature) : BossAI(creature, DATA_ARLOKK) {}
|
||||
|
||||
uint32 summonCount;
|
||||
// Unit* markedTarget;
|
||||
uint64 markedTargetGUID;
|
||||
boss_arlokkAI(Creature* creature) : BossAI(creature, DATA_ARLOKK) { }
|
||||
|
||||
void Reset()
|
||||
{
|
||||
@@ -113,13 +109,15 @@ class boss_arlokk : public CreatureScript
|
||||
|
||||
void JustReachedHome()
|
||||
{
|
||||
if (instance)
|
||||
instance->SetData(DATA_ARLOKK, NOT_STARTED);
|
||||
instance->SetBossState(DATA_ARLOKK, NOT_STARTED);
|
||||
me->DespawnOrUnsummon();
|
||||
}
|
||||
|
||||
void DoSummonPhanters()
|
||||
{
|
||||
if (summonCount > 30)
|
||||
return;
|
||||
|
||||
if (markedTargetGUID)
|
||||
Talk(SAY_FEAST_PANTHER, markedTargetGUID);
|
||||
me->SummonCreature(NPC_ZULIAN_PROWLER, PosSummonProwlers[0], TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
|
||||
@@ -152,7 +150,8 @@ class boss_arlokk : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, 15000, 0, PHASE_ONE);
|
||||
break;
|
||||
case EVENT_MARK:
|
||||
DoCast(SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true), SPELL_MARK);
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
|
||||
DoCast(target, SPELL_MARK);
|
||||
events.ScheduleEvent(EVENT_MARK, 15000, 0, PHASE_ONE);
|
||||
break;
|
||||
case EVENT_CLEAVE:
|
||||
@@ -164,8 +163,7 @@ class boss_arlokk : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_GOUGE, urand(17000, 27000), 0, PHASE_TWO);
|
||||
break;
|
||||
case EVENT_SUMMON:
|
||||
if (summonCount <= 30)
|
||||
DoSummonPhanters();
|
||||
DoSummonPhanters();
|
||||
events.ScheduleEvent(EVENT_SUMMON, 5000);
|
||||
break;
|
||||
case EVENT_VANISH:
|
||||
@@ -176,21 +174,21 @@ class boss_arlokk : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_VISIBLE, 6000);
|
||||
break;
|
||||
case EVENT_VISIBLE:
|
||||
{
|
||||
me->SetDisplayId(MODEL_ID_PANTHER);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
const CreatureTemplate* cinfo = me->GetCreatureTemplate();
|
||||
me->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 35)));
|
||||
me->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 35)));
|
||||
me->UpdateDamagePhysical(BASE_ATTACK);
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
AttackStart(target);
|
||||
events.ScheduleEvent(EVENT_VANISH, 39000);
|
||||
events.ScheduleEvent(EVENT_CLEAVE, 0, PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_GOUGE, 14000, 0, PHASE_TWO);
|
||||
events.SetPhase(PHASE_TWO);
|
||||
break;
|
||||
}
|
||||
{
|
||||
me->SetDisplayId(MODEL_ID_PANTHER);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
const CreatureTemplate* cinfo = me->GetCreatureTemplate();
|
||||
me->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 35)));
|
||||
me->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 35)));
|
||||
me->UpdateDamagePhysical(BASE_ATTACK);
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0))
|
||||
AttackStart(target);
|
||||
events.ScheduleEvent(EVENT_VANISH, 39000);
|
||||
events.ScheduleEvent(EVENT_CLEAVE, 0, PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_GOUGE, 14000, 0, PHASE_TWO);
|
||||
events.SetPhase(PHASE_TWO);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -198,11 +196,15 @@ class boss_arlokk : public CreatureScript
|
||||
|
||||
DoMeleeAttackIfReady();
|
||||
}
|
||||
|
||||
private:
|
||||
uint32 summonCount;
|
||||
uint64 markedTargetGUID;
|
||||
};
|
||||
|
||||
CreatureAI* GetAI(Creature* creature) const
|
||||
{
|
||||
return new boss_arlokkAI(creature);
|
||||
return GetZulGurubAI<boss_arlokkAI>(creature);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -214,7 +216,7 @@ class go_gong_of_bethekk : public GameObjectScript
|
||||
{
|
||||
if (InstanceScript* instance = go->GetInstanceScript())
|
||||
{
|
||||
if (instance->GetData(DATA_ARLOKK) == DONE || instance->GetBossState(DATA_ARLOKK) == IN_PROGRESS)
|
||||
if (instance->GetBossState(DATA_ARLOKK) == DONE || instance->GetBossState(DATA_ARLOKK) == IN_PROGRESS)
|
||||
return true;
|
||||
instance->SetBossState(DATA_ARLOKK, IN_PROGRESS);
|
||||
return true;
|
||||
|
||||
@@ -23,12 +23,12 @@ SDComment: Ohgan function needs improvements.
|
||||
SDCategory: Zul'Gurub
|
||||
EndScriptData */
|
||||
|
||||
#include "zulgurub.h"
|
||||
#include "ScriptMgr.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "Spell.h"
|
||||
#include "SpellAuras.h"
|
||||
#include "SpellScript.h"
|
||||
#include "zulgurub.h"
|
||||
|
||||
enum Says
|
||||
{
|
||||
|
||||
@@ -38,27 +38,18 @@ class instance_zulgurub : public InstanceMapScript
|
||||
SetBossNumber(EncounterCount);
|
||||
}
|
||||
|
||||
//If all High Priest bosses were killed. Lorkhan, Zath and Ohgan are added too.
|
||||
//Storing Lorkhan, Zath and Thekal because we need to cast on them later. Jindo is needed for healfunction too.
|
||||
|
||||
uint64 lorKhanGUID;
|
||||
uint64 zathGUID;
|
||||
uint64 thekalGUID;
|
||||
uint64 jindoGUID;
|
||||
uint64 speakerGUID;
|
||||
|
||||
void Initialize()
|
||||
{
|
||||
lorKhanGUID = 0;
|
||||
zathGUID = 0;
|
||||
thekalGUID = 0;
|
||||
jindoGUID = 0;
|
||||
speakerGUID = 0;
|
||||
ZealotLorkhanGUID = 0;
|
||||
ZealotZathGUID = 0;
|
||||
HighPriestTekalGUID = 0;
|
||||
JindoTheHexxerGUID = 0;
|
||||
VilebranchSpeakerGUID = 0;
|
||||
}
|
||||
|
||||
bool IsEncounterInProgress() const
|
||||
{
|
||||
//not active in Zul'Gurub
|
||||
// not active in Zul'Gurub
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -67,19 +58,19 @@ class instance_zulgurub : public InstanceMapScript
|
||||
switch (creature->GetEntry())
|
||||
{
|
||||
case NPC_ZEALOT_LORKHAN:
|
||||
lorKhanGUID = creature->GetGUID();
|
||||
ZealotLorkhanGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_ZEALOT_ZATH:
|
||||
zathGUID = creature->GetGUID();
|
||||
ZealotZathGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_HIGH_PRIEST_THEKAL:
|
||||
thekalGUID = creature->GetGUID();
|
||||
HighPriestTekalGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_JINDO_THE_HEXXER:
|
||||
jindoGUID = creature->GetGUID();
|
||||
JindoTheHexxerGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_SPEAKER:
|
||||
speakerGUID = creature->GetGUID();
|
||||
case NPC_VILEBRANCH_SPEAKER:
|
||||
VilebranchSpeakerGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_MANDOKIR:
|
||||
if (GetBossState(DATA_MANDOKIR) == DONE)
|
||||
@@ -93,16 +84,16 @@ class instance_zulgurub : public InstanceMapScript
|
||||
switch (uiData)
|
||||
{
|
||||
case DATA_LORKHAN:
|
||||
return lorKhanGUID;
|
||||
return ZealotLorkhanGUID;
|
||||
break;
|
||||
case DATA_ZATH:
|
||||
return zathGUID;
|
||||
return ZealotZathGUID;
|
||||
break;
|
||||
case DATA_THEKAL:
|
||||
return thekalGUID;
|
||||
return HighPriestTekalGUID;
|
||||
break;
|
||||
case DATA_JINDO:
|
||||
return jindoGUID;
|
||||
return JindoTheHexxerGUID;
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
@@ -150,6 +141,15 @@ class instance_zulgurub : public InstanceMapScript
|
||||
|
||||
OUT_LOAD_INST_DATA_COMPLETE;
|
||||
}
|
||||
private:
|
||||
//If all High Priest bosses were killed. Lorkhan, Zath and Ohgan are added too.
|
||||
//Storing Lorkhan, Zath and Thekal because we need to cast on them later. Jindo is needed for healfunction too.
|
||||
|
||||
uint64 ZealotLorkhanGUID;
|
||||
uint64 ZealotZathGUID;
|
||||
uint64 HighPriestTekalGUID;
|
||||
uint64 JindoTheHexxerGUID;
|
||||
uint64 VilebranchSpeakerGUID
|
||||
};
|
||||
|
||||
InstanceScript* GetInstanceScript(InstanceMap* map) const
|
||||
|
||||
Reference in new issue
Block a user