Scripts/ZG: Fix some code style issues and logic errors
This commit is contained in:
1 parent
dd7391660b
commit
c6c23d67b8
6 files changed
+110
-108
No files matched your search
@@ -10,7 +10,7 @@ INSERT INTO `spell_dbc` (`Id`,`SchoolMask`,`Dispel`,`Mechanic`,`Attributes`,`Att
|
|||||||
UPDATE `creature_template` SET `AIName` = '', `ScriptName`='npc_zulian_prowler' WHERE `entry`=15101;
|
UPDATE `creature_template` SET `AIName` = '', `ScriptName`='npc_zulian_prowler' WHERE `entry`=15101;
|
||||||
|
|
||||||
-- Remove SmartAI
|
-- Remove SmartAI
|
||||||
DELETE FROM smart_scripts WHERE entryorguid = 15101;
|
DELETE FROM `smart_scripts` WHERE `entryorguid`=15101;
|
||||||
|
|
||||||
-- Add condition for Mark of Arlokk
|
-- Add condition for Mark of Arlokk
|
||||||
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=24211;
|
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=24211;
|
||||||
|
|||||||
@@ -742,7 +742,7 @@ enum TrinityStrings
|
|||||||
LANG_COMMAND_CREATURESTORAGE_NOTFOUND = 818,
|
LANG_COMMAND_CREATURESTORAGE_NOTFOUND = 818,
|
||||||
|
|
||||||
LANG_CHANNEL_CITY = 819,
|
LANG_CHANNEL_CITY = 819,
|
||||||
|
|
||||||
LANG_NPCINFO_GOSSIP = 820,
|
LANG_NPCINFO_GOSSIP = 820,
|
||||||
LANG_NPCINFO_QUESTGIVER = 821,
|
LANG_NPCINFO_QUESTGIVER = 821,
|
||||||
LANG_NPCINFO_TRAINER_CLASS = 822,
|
LANG_NPCINFO_TRAINER_CLASS = 822,
|
||||||
@@ -766,7 +766,7 @@ enum TrinityStrings
|
|||||||
LANG_NPCINFO_SPELLCLICK = 840,
|
LANG_NPCINFO_SPELLCLICK = 840,
|
||||||
LANG_NPCINFO_MAILBOX = 841,
|
LANG_NPCINFO_MAILBOX = 841,
|
||||||
LANG_NPCINFO_PLAYER_VEHICLE = 842,
|
LANG_NPCINFO_PLAYER_VEHICLE = 842,
|
||||||
|
|
||||||
// Room for in-game strings 843-999 not used
|
// Room for in-game strings 843-999 not used
|
||||||
|
|
||||||
// Level 4 (CLI only commands)
|
// Level 4 (CLI only commands)
|
||||||
|
|||||||
@@ -96,14 +96,14 @@ class boss_arlokk : public CreatureScript
|
|||||||
|
|
||||||
void Reset()
|
void Reset()
|
||||||
{
|
{
|
||||||
summonCountA = 0;
|
_summonCountA = 0;
|
||||||
summonCountB = 0;
|
_summonCountB = 0;
|
||||||
me->RemoveAllAuras();
|
me->RemoveAllAuras();
|
||||||
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(WEAPON_DAGGER));
|
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(WEAPON_DAGGER));
|
||||||
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, uint32(WEAPON_DAGGER));
|
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, uint32(WEAPON_DAGGER));
|
||||||
if (instance)
|
if (_instance)
|
||||||
{
|
{
|
||||||
if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetData64(GO_FORCEFIELD)))
|
if (GameObject* gate = me->GetMap()->GetGameObject(_instance->GetData64(GO_FORCEFIELD)))
|
||||||
gate->SetGoState(GO_STATE_READY);
|
gate->SetGoState(GO_STATE_READY);
|
||||||
me->SetWalk(false);
|
me->SetWalk(false);
|
||||||
me->GetMotionMaster()->MovePoint(0, PosMoveOnSpawn[0]);
|
me->GetMotionMaster()->MovePoint(0, PosMoveOnSpawn[0]);
|
||||||
@@ -114,23 +114,23 @@ class boss_arlokk : public CreatureScript
|
|||||||
{
|
{
|
||||||
Talk(SAY_DEATH);
|
Talk(SAY_DEATH);
|
||||||
me->RemoveAllAuras();
|
me->RemoveAllAuras();
|
||||||
if (instance)
|
if (_instance)
|
||||||
{
|
{
|
||||||
if (GameObject* gate = me->GetMap()->GetGameObject(instance->GetData64(GO_FORCEFIELD)))
|
if (GameObject* gate = me->GetMap()->GetGameObject(_instance->GetData64(GO_FORCEFIELD)))
|
||||||
gate->SetGoState(GO_STATE_ACTIVE);
|
gate->SetGoState(GO_STATE_ACTIVE);
|
||||||
instance->SetBossState(DATA_ARLOKK, DONE);
|
_instance->SetBossState(DATA_ARLOKK, DONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnterCombat(Unit* /*who*/)
|
void EnterCombat(Unit* /*who*/)
|
||||||
{
|
{
|
||||||
_EnterCombat();
|
_EnterCombat();
|
||||||
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, urand(7000, 9000), 0, PHASE_ONE);
|
_events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, urand(7000, 9000), 0, PHASE_ONE);
|
||||||
events.ScheduleEvent(EVENT_GOUGE, urand(12000, 15000), 0, PHASE_ONE);
|
_events.ScheduleEvent(EVENT_GOUGE, urand(12000, 15000), 0, PHASE_ONE);
|
||||||
if (instance)
|
if (_instance)
|
||||||
events.ScheduleEvent(EVENT_SUMMON_PROWLERS, 6000, 0, PHASE_ALL);
|
_events.ScheduleEvent(EVENT_SUMMON_PROWLERS, 6000, 0, PHASE_ALL);
|
||||||
events.ScheduleEvent(EVENT_MARK_OF_ARLOKK, urand(9000, 11000), 0, PHASE_ALL);
|
_events.ScheduleEvent(EVENT_MARK_OF_ARLOKK, urand(9000, 11000), 0, PHASE_ALL);
|
||||||
events.ScheduleEvent(EVENT_TRANSFORM, urand(15000, 20000), 0, PHASE_ONE);
|
_events.ScheduleEvent(EVENT_TRANSFORM, urand(15000, 20000), 0, PHASE_ONE);
|
||||||
Talk(SAY_AGGRO);
|
Talk(SAY_AGGRO);
|
||||||
|
|
||||||
// Sets up list of Panther spawners to cast on
|
// Sets up list of Panther spawners to cast on
|
||||||
@@ -146,12 +146,12 @@ class boss_arlokk : public CreatureScript
|
|||||||
{
|
{
|
||||||
if (trigger->GetPositionY() < -1625.0f)
|
if (trigger->GetPositionY() < -1625.0f)
|
||||||
{
|
{
|
||||||
triggersSideAGUID[sideA] = trigger->GetGUID();
|
_triggersSideAGUID[sideA] = trigger->GetGUID();
|
||||||
++sideA;
|
++sideA;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
triggersSideBGUID[sideB] = trigger->GetGUID();
|
_triggersSideBGUID[sideB] = trigger->GetGUID();
|
||||||
++sideB;
|
++sideB;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -161,23 +161,23 @@ class boss_arlokk : public CreatureScript
|
|||||||
|
|
||||||
void EnterEvadeMode()
|
void EnterEvadeMode()
|
||||||
{
|
{
|
||||||
if (instance)
|
if (_instance)
|
||||||
{
|
{
|
||||||
if (GameObject* object = me->GetMap()->GetGameObject(instance->GetData64(GO_FORCEFIELD)))
|
if (GameObject* object = me->GetMap()->GetGameObject(_instance->GetData64(GO_FORCEFIELD)))
|
||||||
object->SetGoState(GO_STATE_ACTIVE);
|
object->SetGoState(GO_STATE_ACTIVE);
|
||||||
if (GameObject* object = me->GetMap()->GetGameObject(instance->GetData64(GO_GONG_OF_BETHEKK)))
|
if (GameObject* object = me->GetMap()->GetGameObject(_instance->GetData64(GO_GONG_OF_BETHEKK)))
|
||||||
object->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
object->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||||
instance->SetBossState(DATA_ARLOKK, NOT_STARTED);
|
_instance->SetBossState(DATA_ARLOKK, NOT_STARTED);
|
||||||
}
|
}
|
||||||
me->DespawnOrUnsummon(4000);
|
me->DespawnOrUnsummon(4000);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetData(uint32 uiId, uint32 /*uiValue*/)
|
void SetData(uint32 id, uint32 /*value*/)
|
||||||
{
|
{
|
||||||
if (uiId == 1)
|
if (id == 1)
|
||||||
--summonCountA;
|
--_summonCountA;
|
||||||
if (uiId == 2)
|
else if (id == 2)
|
||||||
--summonCountB;
|
--_summonCountB;
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateAI(uint32 const diff)
|
void UpdateAI(uint32 const diff)
|
||||||
@@ -185,36 +185,40 @@ class boss_arlokk : public CreatureScript
|
|||||||
if (!UpdateVictim())
|
if (!UpdateVictim())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
events.Update(diff);
|
_events.Update(diff);
|
||||||
|
|
||||||
if (me->HasUnitState(UNIT_STATE_CASTING))
|
if (me->HasUnitState(UNIT_STATE_CASTING))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
while (uint32 eventId = events.ExecuteEvent())
|
while (uint32 eventId = _events.ExecuteEvent())
|
||||||
{
|
{
|
||||||
switch (eventId)
|
switch (eventId)
|
||||||
{
|
{
|
||||||
case EVENT_SHADOW_WORD_PAIN:
|
case EVENT_SHADOW_WORD_PAIN:
|
||||||
DoCastVictim(SPELL_SHADOW_WORD_PAIN, true);
|
DoCastVictim(SPELL_SHADOW_WORD_PAIN, true);
|
||||||
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, urand(5000, 7000), 0, PHASE_ONE);
|
_events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, urand(5000, 7000), 0, PHASE_ONE);
|
||||||
break;
|
break;
|
||||||
case EVENT_GOUGE:
|
case EVENT_GOUGE:
|
||||||
DoCastVictim(SPELL_GOUGE, true);
|
DoCastVictim(SPELL_GOUGE, true);
|
||||||
break;
|
break;
|
||||||
case EVENT_SUMMON_PROWLERS:
|
case EVENT_SUMMON_PROWLERS:
|
||||||
if (summonCountA < MAX_PROWLERS_PER_SIDE)
|
if (_summonCountA < MAX_PROWLERS_PER_SIDE)
|
||||||
if (Unit* trigger = me->GetUnit(*me, triggersSideAGUID[urand(0, 4)]))
|
{
|
||||||
|
if (Unit* trigger = me->GetUnit(*me, _triggersSideAGUID[urand(0, 4)]))
|
||||||
{
|
{
|
||||||
trigger->CastSpell(trigger, SPELL_SUMMON_PROWLER);
|
trigger->CastSpell(trigger, SPELL_SUMMON_PROWLER);
|
||||||
++summonCountA;
|
++_summonCountA;
|
||||||
}
|
}
|
||||||
if (summonCountB < MAX_PROWLERS_PER_SIDE)
|
}
|
||||||
if (Unit* trigger = me->GetUnit(*me, triggersSideBGUID[urand(0, 4)]))
|
if (_summonCountB < MAX_PROWLERS_PER_SIDE)
|
||||||
|
{
|
||||||
|
if (Unit* trigger = me->GetUnit(*me, _triggersSideBGUID[urand(0, 4)]))
|
||||||
{
|
{
|
||||||
trigger->CastSpell(trigger, SPELL_SUMMON_PROWLER);
|
trigger->CastSpell(trigger, SPELL_SUMMON_PROWLER);
|
||||||
++summonCountB;
|
++_summonCountB;
|
||||||
}
|
}
|
||||||
events.ScheduleEvent(EVENT_SUMMON_PROWLERS, 6000, 0, PHASE_ALL);
|
}
|
||||||
|
_events.ScheduleEvent(EVENT_SUMMON_PROWLERS, 6000, 0, PHASE_ALL);
|
||||||
break;
|
break;
|
||||||
case EVENT_MARK_OF_ARLOKK:
|
case EVENT_MARK_OF_ARLOKK:
|
||||||
{
|
{
|
||||||
@@ -226,8 +230,8 @@ class boss_arlokk : public CreatureScript
|
|||||||
DoCast(target, SPELL_MARK_OF_ARLOKK, true);
|
DoCast(target, SPELL_MARK_OF_ARLOKK, true);
|
||||||
Talk(SAY_FEAST_PROWLER, target->GetGUID());
|
Talk(SAY_FEAST_PROWLER, target->GetGUID());
|
||||||
}
|
}
|
||||||
|
_events.ScheduleEvent(EVENT_MARK_OF_ARLOKK, urand(120000, 130000));
|
||||||
break;
|
break;
|
||||||
events.ScheduleEvent(EVENT_MARK_OF_ARLOKK, urand(120000, 130000));
|
|
||||||
}
|
}
|
||||||
case EVENT_TRANSFORM:
|
case EVENT_TRANSFORM:
|
||||||
{
|
{
|
||||||
@@ -244,20 +248,20 @@ class boss_arlokk : public CreatureScript
|
|||||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE);
|
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE);
|
||||||
DoCast(me, SPELL_VANISH_VISUAL);
|
DoCast(me, SPELL_VANISH_VISUAL);
|
||||||
DoCast(me, SPELL_VANISH);
|
DoCast(me, SPELL_VANISH);
|
||||||
events.ScheduleEvent(EVENT_VANISH, 1000, 0, PHASE_ONE);
|
_events.ScheduleEvent(EVENT_VANISH, 1000, 0, PHASE_ONE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case EVENT_VANISH:
|
case EVENT_VANISH:
|
||||||
DoCast(me, SPELL_SUPER_INVIS);
|
DoCast(me, SPELL_SUPER_INVIS);
|
||||||
me->SetWalk(false);
|
me->SetWalk(false);
|
||||||
if (instance)
|
if (_instance)
|
||||||
me->GetMotionMaster()->MovePoint(0, frand(-11551.0f, -11508.0f), frand(-1638.0f, -1617.0f), me->GetPositionZ());
|
me->GetMotionMaster()->MovePoint(0, frand(-11551.0f, -11508.0f), frand(-1638.0f, -1617.0f), me->GetPositionZ());
|
||||||
events.ScheduleEvent(EVENT_VANISH_2, 9000, 0, PHASE_ONE);
|
_events.ScheduleEvent(EVENT_VANISH_2, 9000, 0, PHASE_ONE);
|
||||||
break;
|
break;
|
||||||
case EVENT_VANISH_2:
|
case EVENT_VANISH_2:
|
||||||
DoCast(me, SPELL_VANISH);
|
DoCast(me, SPELL_VANISH);
|
||||||
DoCast(me, SPELL_SUPER_INVIS);
|
DoCast(me, SPELL_SUPER_INVIS);
|
||||||
events.ScheduleEvent(EVENT_VISIBLE, urand(7000, 10000), 0, PHASE_ONE);
|
_events.ScheduleEvent(EVENT_VISIBLE, urand(7000, 10000), 0, PHASE_ONE);
|
||||||
break;
|
break;
|
||||||
case EVENT_VISIBLE:
|
case EVENT_VISIBLE:
|
||||||
me->SetReactState(REACT_AGGRESSIVE);
|
me->SetReactState(REACT_AGGRESSIVE);
|
||||||
@@ -266,13 +270,13 @@ class boss_arlokk : public CreatureScript
|
|||||||
AttackStart(target);
|
AttackStart(target);
|
||||||
me->RemoveAura(SPELL_SUPER_INVIS);
|
me->RemoveAura(SPELL_SUPER_INVIS);
|
||||||
me->RemoveAura(SPELL_VANISH);
|
me->RemoveAura(SPELL_VANISH);
|
||||||
events.ScheduleEvent(EVENT_RAVAGE, urand(10000, 14000), 0, PHASE_TWO);
|
_events.ScheduleEvent(EVENT_RAVAGE, urand(10000, 14000), 0, PHASE_TWO);
|
||||||
events.ScheduleEvent(EVENT_TRANSFORM_BACK, urand(15000, 18000), 0, PHASE_TWO);
|
_events.ScheduleEvent(EVENT_TRANSFORM_BACK, urand(15000, 18000), 0, PHASE_TWO);
|
||||||
events.SetPhase(PHASE_TWO);
|
_events.SetPhase(PHASE_TWO);
|
||||||
break;
|
break;
|
||||||
case EVENT_RAVAGE:
|
case EVENT_RAVAGE:
|
||||||
DoCastVictim(SPELL_RAVAGE, true);
|
DoCastVictim(SPELL_RAVAGE, true);
|
||||||
events.ScheduleEvent(EVENT_RAVAGE, urand(10000, 14000), 0, PHASE_TWO);
|
_events.ScheduleEvent(EVENT_RAVAGE, urand(10000, 14000), 0, PHASE_TWO);
|
||||||
break;
|
break;
|
||||||
case EVENT_TRANSFORM_BACK:
|
case EVENT_TRANSFORM_BACK:
|
||||||
{
|
{
|
||||||
@@ -284,10 +288,10 @@ class boss_arlokk : public CreatureScript
|
|||||||
me->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg));
|
me->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg));
|
||||||
me->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg));
|
me->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg));
|
||||||
me->UpdateDamagePhysical(BASE_ATTACK);
|
me->UpdateDamagePhysical(BASE_ATTACK);
|
||||||
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, urand(4000, 7000), 0, PHASE_ONE);
|
_events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, urand(4000, 7000), 0, PHASE_ONE);
|
||||||
events.ScheduleEvent(EVENT_GOUGE, urand(12000, 15000), 0, PHASE_ONE);
|
_events.ScheduleEvent(EVENT_GOUGE, urand(12000, 15000), 0, PHASE_ONE);
|
||||||
events.ScheduleEvent(EVENT_TRANSFORM, urand(16000, 20000), 0, PHASE_ONE);
|
_events.ScheduleEvent(EVENT_TRANSFORM, urand(16000, 20000), 0, PHASE_ONE);
|
||||||
events.SetPhase(PHASE_ONE);
|
_events.SetPhase(PHASE_ONE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
@@ -299,10 +303,10 @@ class boss_arlokk : public CreatureScript
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
uint8 summonCountA;
|
uint8 _summonCountA;
|
||||||
uint8 summonCountB;
|
uint8 _summonCountB;
|
||||||
uint64 triggersSideAGUID[5];
|
uint64 _triggersSideAGUID[5];
|
||||||
uint64 triggersSideBGUID[5];
|
uint64 _triggersSideBGUID[5];
|
||||||
};
|
};
|
||||||
|
|
||||||
CreatureAI* GetAI(Creature* creature) const
|
CreatureAI* GetAI(Creature* creature) const
|
||||||
@@ -338,22 +342,22 @@ class npc_zulian_prowler : public CreatureScript
|
|||||||
|
|
||||||
struct npc_zulian_prowlerAI : public ScriptedAI
|
struct npc_zulian_prowlerAI : public ScriptedAI
|
||||||
{
|
{
|
||||||
npc_zulian_prowlerAI(Creature* creature) : ScriptedAI(creature), instance(creature->GetInstanceScript()) { }
|
npc_zulian_prowlerAI(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
|
||||||
|
|
||||||
void Reset()
|
void Reset()
|
||||||
{
|
{
|
||||||
if (me->GetPositionY() < -1625.0f)
|
if (me->GetPositionY() < -1625.0f)
|
||||||
sideData = 1;
|
_sideData = 1;
|
||||||
else
|
else
|
||||||
sideData = 2;
|
_sideData = 2;
|
||||||
|
|
||||||
DoCast(me, SPELL_SNEAK_RANK_1_1);
|
DoCast(me, SPELL_SNEAK_RANK_1_1);
|
||||||
DoCast(me, SPELL_SNEAK_RANK_1_2);
|
DoCast(me, SPELL_SNEAK_RANK_1_2);
|
||||||
|
|
||||||
if (instance)
|
if (_instance)
|
||||||
if (Unit* arlokk = me->GetUnit(*me, instance->GetData64(NPC_ARLOKK)))
|
if (Unit* arlokk = me->GetUnit(*me, _instance->GetData64(NPC_ARLOKK)))
|
||||||
me->GetMotionMaster()->MovePoint(0, arlokk->GetPositionX(), arlokk->GetPositionY(), arlokk->GetPositionZ());
|
me->GetMotionMaster()->MovePoint(0, arlokk->GetPositionX(), arlokk->GetPositionY(), arlokk->GetPositionZ());
|
||||||
events.ScheduleEvent(EVENT_ATTACK, 6000);
|
_events.ScheduleEvent(EVENT_ATTACK, 6000);
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnterCombat(Unit* /*who*/)
|
void EnterCombat(Unit* /*who*/)
|
||||||
@@ -366,33 +370,33 @@ class npc_zulian_prowler : public CreatureScript
|
|||||||
void SpellHit(Unit* caster, SpellInfo const* spell)
|
void SpellHit(Unit* caster, SpellInfo const* spell)
|
||||||
{
|
{
|
||||||
if (spell->Id == SPELL_MARK_OF_ARLOKK_TRIGGER) // Should only hit if line of sight
|
if (spell->Id == SPELL_MARK_OF_ARLOKK_TRIGGER) // Should only hit if line of sight
|
||||||
{
|
|
||||||
me->Attack(caster, true);
|
me->Attack(caster, true);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void JustDied(Unit* /*killer*/)
|
void JustDied(Unit* /*killer*/)
|
||||||
{
|
{
|
||||||
|
if (_instance)
|
||||||
if (instance)
|
{
|
||||||
if (Unit* arlokk = me->GetUnit(*me, instance->GetData64(NPC_ARLOKK)))
|
if (Unit* arlokk = me->GetUnit(*me, instance->GetData64(NPC_ARLOKK)))
|
||||||
if (arlokk->isAlive())
|
{
|
||||||
arlokk->GetAI()->SetData(sideData, 0);
|
if (arlokk->isAlive())
|
||||||
|
arlokk->GetAI()->SetData(_sideData, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
me->DespawnOrUnsummon(4000);
|
me->DespawnOrUnsummon(4000);
|
||||||
}
|
}
|
||||||
|
|
||||||
void UpdateAI(const uint32 diff)
|
void UpdateAI(const uint32 diff)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (UpdateVictim())
|
if (UpdateVictim())
|
||||||
{
|
{
|
||||||
DoMeleeAttackIfReady();
|
DoMeleeAttackIfReady();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
events.Update(diff);
|
_events.Update(diff);
|
||||||
|
|
||||||
while (uint32 eventId = events.ExecuteEvent())
|
while (uint32 eventId = _events.ExecuteEvent())
|
||||||
{
|
{
|
||||||
switch (eventId)
|
switch (eventId)
|
||||||
{
|
{
|
||||||
@@ -407,9 +411,9 @@ class npc_zulian_prowler : public CreatureScript
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int32 sideData;
|
int32 _sideData;
|
||||||
EventMap events;
|
EventMap _events;
|
||||||
InstanceScript* instance;
|
InstanceScript* _instance;
|
||||||
};
|
};
|
||||||
|
|
||||||
CreatureAI* GetAI(Creature* creature) const
|
CreatureAI* GetAI(Creature* creature) const
|
||||||
@@ -433,7 +437,7 @@ class go_gong_of_bethekk : public GameObjectScript
|
|||||||
|
|
||||||
bool OnGossipHello(Player* /*player*/, GameObject* go)
|
bool OnGossipHello(Player* /*player*/, GameObject* go)
|
||||||
{
|
{
|
||||||
if (InstanceScript* instance = go->GetInstanceScript())
|
if (go->GetInstanceScript())
|
||||||
{
|
{
|
||||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||||
go->SendCustomAnim(0);
|
go->SendCustomAnim(0);
|
||||||
|
|||||||
@@ -112,4 +112,3 @@ void AddSC_boss_gahzranka()
|
|||||||
{
|
{
|
||||||
new boss_gahzranka();
|
new boss_gahzranka();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -121,4 +121,3 @@ void AddSC_boss_hazzarah()
|
|||||||
{
|
{
|
||||||
new boss_hazzarah();
|
new boss_hazzarah();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -40,14 +40,14 @@ class instance_zulgurub : public InstanceMapScript
|
|||||||
|
|
||||||
void Initialize()
|
void Initialize()
|
||||||
{
|
{
|
||||||
zealotLorkhanGUID = 0;
|
_zealotLorkhanGUID = 0;
|
||||||
zealotZathGUID = 0;
|
_zealotZathGUID = 0;
|
||||||
highPriestTekalGUID = 0;
|
_highPriestTekalGUID = 0;
|
||||||
jindoTheHexxerGUID = 0;
|
_jindoTheHexxerGUID = 0;
|
||||||
vilebranchSpeakerGUID = 0;
|
_vilebranchSpeakerGUID = 0;
|
||||||
arlokkGUID = 0;
|
_arlokkGUID = 0;
|
||||||
go_ForcefieldGUID = 0;
|
_goForcefieldGUID = 0;
|
||||||
go_GongOfBethekkGUID = 0;
|
_goGongOfBethekkGUID = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IsEncounterInProgress() const
|
bool IsEncounterInProgress() const
|
||||||
@@ -61,22 +61,22 @@ class instance_zulgurub : public InstanceMapScript
|
|||||||
switch (creature->GetEntry())
|
switch (creature->GetEntry())
|
||||||
{
|
{
|
||||||
case NPC_ZEALOT_LORKHAN:
|
case NPC_ZEALOT_LORKHAN:
|
||||||
zealotLorkhanGUID = creature->GetGUID();
|
_zealotLorkhanGUID = creature->GetGUID();
|
||||||
break;
|
break;
|
||||||
case NPC_ZEALOT_ZATH:
|
case NPC_ZEALOT_ZATH:
|
||||||
zealotZathGUID = creature->GetGUID();
|
_zealotZathGUID = creature->GetGUID();
|
||||||
break;
|
break;
|
||||||
case NPC_HIGH_PRIEST_THEKAL:
|
case NPC_HIGH_PRIEST_THEKAL:
|
||||||
highPriestTekalGUID = creature->GetGUID();
|
_highPriestTekalGUID = creature->GetGUID();
|
||||||
break;
|
break;
|
||||||
case NPC_JINDO_THE_HEXXER:
|
case NPC_JINDO_THE_HEXXER:
|
||||||
jindoTheHexxerGUID = creature->GetGUID();
|
_jindoTheHexxerGUID = creature->GetGUID();
|
||||||
break;
|
break;
|
||||||
case NPC_VILEBRANCH_SPEAKER:
|
case NPC_VILEBRANCH_SPEAKER:
|
||||||
vilebranchSpeakerGUID = creature->GetGUID();
|
_vilebranchSpeakerGUID = creature->GetGUID();
|
||||||
break;
|
break;
|
||||||
case NPC_ARLOKK:
|
case NPC_ARLOKK:
|
||||||
arlokkGUID = creature->GetGUID();
|
_arlokkGUID = creature->GetGUID();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -86,13 +86,13 @@ class instance_zulgurub : public InstanceMapScript
|
|||||||
switch (go->GetEntry())
|
switch (go->GetEntry())
|
||||||
{
|
{
|
||||||
case GO_FORCEFIELD:
|
case GO_FORCEFIELD:
|
||||||
go_ForcefieldGUID = go->GetGUID();
|
_goForcefieldGUID = go->GetGUID();
|
||||||
break;
|
break;
|
||||||
case GO_GONG_OF_BETHEKK:
|
case GO_GONG_OF_BETHEKK:
|
||||||
go_GongOfBethekkGUID = go->GetGUID();
|
_goGongOfBethekkGUID = go->GetGUID();
|
||||||
if (GetBossState(DATA_ARLOKK) == DONE)
|
if (GetBossState(DATA_ARLOKK) == DONE)
|
||||||
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||||
else
|
else
|
||||||
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -105,25 +105,25 @@ class instance_zulgurub : public InstanceMapScript
|
|||||||
switch (uiData)
|
switch (uiData)
|
||||||
{
|
{
|
||||||
case DATA_LORKHAN:
|
case DATA_LORKHAN:
|
||||||
return zealotLorkhanGUID;
|
return _zealotLorkhanGUID;
|
||||||
break;
|
break;
|
||||||
case DATA_ZATH:
|
case DATA_ZATH:
|
||||||
return zealotZathGUID;
|
return _zealotZathGUID;
|
||||||
break;
|
break;
|
||||||
case DATA_THEKAL:
|
case DATA_THEKAL:
|
||||||
return highPriestTekalGUID;
|
return _highPriestTekalGUID;
|
||||||
break;
|
break;
|
||||||
case DATA_JINDO:
|
case DATA_JINDO:
|
||||||
return jindoTheHexxerGUID;
|
return _jindoTheHexxerGUID;
|
||||||
break;
|
break;
|
||||||
case NPC_ARLOKK:
|
case NPC_ARLOKK:
|
||||||
return arlokkGUID;
|
return _arlokkGUID;
|
||||||
break;
|
break;
|
||||||
case GO_FORCEFIELD:
|
case GO_FORCEFIELD:
|
||||||
return go_ForcefieldGUID;
|
return _goForcefieldGUID;
|
||||||
break;
|
break;
|
||||||
case GO_GONG_OF_BETHEKK:
|
case GO_GONG_OF_BETHEKK:
|
||||||
return go_GongOfBethekkGUID;
|
return _goGongOfBethekkGUID;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
@@ -175,14 +175,14 @@ class instance_zulgurub : public InstanceMapScript
|
|||||||
//If all High Priest bosses were killed. Lorkhan, Zath and Ohgan are added too.
|
//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.
|
//Storing Lorkhan, Zath and Thekal because we need to cast on them later. Jindo is needed for healfunction too.
|
||||||
|
|
||||||
uint64 zealotLorkhanGUID;
|
uint64 _zealotLorkhanGUID;
|
||||||
uint64 zealotZathGUID;
|
uint64 _zealotZathGUID;
|
||||||
uint64 highPriestTekalGUID;
|
uint64 _highPriestTekalGUID;
|
||||||
uint64 jindoTheHexxerGUID;
|
uint64 _jindoTheHexxerGUID;
|
||||||
uint64 vilebranchSpeakerGUID;
|
uint64 _vilebranchSpeakerGUID;
|
||||||
uint64 arlokkGUID;
|
uint64 _arlokkGUID;
|
||||||
uint64 go_ForcefieldGUID;
|
uint64 _goForcefieldGUID;
|
||||||
uint64 go_GongOfBethekkGUID;
|
uint64 _goGongOfBethekkGUID;
|
||||||
};
|
};
|
||||||
|
|
||||||
InstanceScript* GetInstanceScript(InstanceMap* map) const
|
InstanceScript* GetInstanceScript(InstanceMap* map) const
|
||||||
|
|||||||
Reference in new issue
Block a user