Scripts/Ulduar:
- Fix Focused Eyebeams - Fix Arm Sweep - Fix respawning and re-entering of arms DB/Templates: - Fix speed, modelId and trigger state of Focused Eyebeams - Set NullAI to semi-triggers; Rubble Stalker, Kologarn Pit Kill Bunny
This commit is contained in:
@@ -1535,6 +1535,7 @@ UPDATE `creature_template` SET `ScriptName`='mob_lightning_elemental' WHERE `ent
|
|||||||
UPDATE `creature_template` SET `ScriptName`='mob_rune_of_summoning' WHERE `entry`=33051;
|
UPDATE `creature_template` SET `ScriptName`='mob_rune_of_summoning' WHERE `entry`=33051;
|
||||||
UPDATE `creature_template` SET `ScriptName`= 'mob_rune_of_power' WHERE entry = 33705;
|
UPDATE `creature_template` SET `ScriptName`= 'mob_rune_of_power' WHERE entry = 33705;
|
||||||
UPDATE `creature_template` SET `ScriptName`='boss_kologarn' WHERE `entry`=32930;
|
UPDATE `creature_template` SET `ScriptName`='boss_kologarn' WHERE `entry`=32930;
|
||||||
|
UPDATE `creature_template` SET `AIName`='NullAI' WHERE `entry` IN(33742,33809,33942);
|
||||||
UPDATE `creature_template` SET `ScriptName`='boss_general_vezax' WHERE `entry`=33271;
|
UPDATE `creature_template` SET `ScriptName`='boss_general_vezax' WHERE `entry`=33271;
|
||||||
UPDATE `creature_template` SET `ScriptName`='npc_saronite_vapors' WHERE `entry`=33488;
|
UPDATE `creature_template` SET `ScriptName`='npc_saronite_vapors' WHERE `entry`=33488;
|
||||||
UPDATE `creature_template` SET `ScriptName`='npc_saronite_animus' WHERE `entry`=33524;
|
UPDATE `creature_template` SET `ScriptName`='npc_saronite_animus' WHERE `entry`=33524;
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
-- Correct run speed, models, and trigger flag
|
||||||
|
UPDATE `creature_template` SET `speed_run`=5.5/7, `modelid1`=1126, `modelid2`=11686, `flags_extra`= `flags_extra`|128 WHERE `entry` IN(33632,33802);
|
||||||
|
|
||||||
|
-- NullAI for semi-triggers (flags_extra|128 would make them unattackable by certain spells needed for the encounter)
|
||||||
|
UPDATE `creature_template` SET `AIName`='NullAI' WHERE `entry` IN(33742,33809,33942);
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`Comment`) VALUES
|
||||||
|
(13,0,63676,18,1,32930,'Focused Eyebeam Visual (Left) Target'),
|
||||||
|
(13,0,63702,18,1,32930,'Focused Eyebeam Visual (Right) Target'),
|
||||||
|
(13,0,63629,18,1,32930,'Arm Dead Damage Kologarn (10m) Target'),
|
||||||
|
(13,0,63979,18,1,32930,'Arm Dead Damage Kologarn (25m) Target'),
|
||||||
|
(13,0,63766,18,1,33661,'Arm Sweep (10m) Target'),
|
||||||
|
(13,0,63983,18,1,33661,'Arm Sweep (25m) Target');
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
UPDATE `vehicle_accessory` SET `summontype`=8, `summontimer`=0 WHERE `entry`=32930;
|
||||||
@@ -19,29 +19,36 @@
|
|||||||
#include "ulduar.h"
|
#include "ulduar.h"
|
||||||
#include "Vehicle.h"
|
#include "Vehicle.h"
|
||||||
|
|
||||||
|
/* ScriptData
|
||||||
|
SDName: boss_kologarn
|
||||||
|
SD%Complete: 80
|
||||||
|
SDComment: TODO: Achievements, begin/end animations
|
||||||
|
SDCategory: Ulduar
|
||||||
|
EndScriptData */
|
||||||
|
|
||||||
#define SPELL_ARM_DEAD_DAMAGE RAID_MODE(63629,63979)
|
#define SPELL_ARM_DEAD_DAMAGE RAID_MODE(63629,63979)
|
||||||
#define SPELL_TWO_ARM_SMASH RAID_MODE(63356,64003)
|
#define SPELL_TWO_ARM_SMASH RAID_MODE(63356,64003)
|
||||||
#define SPELL_ONE_ARM_SMASH RAID_MODE(63573,64006)
|
#define SPELL_ONE_ARM_SMASH RAID_MODE(63573,64006)
|
||||||
|
#define SPELL_ARM_SWEEP RAID_MODE(63766,63983)
|
||||||
#define SPELL_STONE_SHOUT RAID_MODE(63716,64005)
|
#define SPELL_STONE_SHOUT RAID_MODE(63716,64005)
|
||||||
#define SPELL_PETRIFY_BREATH RAID_MODE(62030,63980)
|
#define SPELL_PETRIFY_BREATH RAID_MODE(62030,63980)
|
||||||
|
|
||||||
#define SPELL_STONE_GRIP RAID_MODE(62166,63981)
|
#define SPELL_STONE_GRIP RAID_MODE(62166,63981)
|
||||||
|
#define SPELL_STONE_GRIP_CANCEL 65594
|
||||||
#define NPC_RUBBLE_STALKER RAID_MODE(33809,33942)
|
|
||||||
#define SPELL_SUMMON_RUBBLE 63633
|
#define SPELL_SUMMON_RUBBLE 63633
|
||||||
#define SPELL_FALLING_RUBBLE 63821
|
#define SPELL_FALLING_RUBBLE 63821
|
||||||
|
|
||||||
#define SPELL_STONE_GRIP_CANCEL 65594
|
|
||||||
|
|
||||||
#define SPELL_ARM_SWEEP RAID_MODE(63766,63983)
|
|
||||||
|
|
||||||
#define SPELL_ARM_ENTER_VEHICLE 65343
|
#define SPELL_ARM_ENTER_VEHICLE 65343
|
||||||
#define SPELL_ARM_VISUAL 64753
|
#define SPELL_ARM_ENTER_VISUAL 64753
|
||||||
|
|
||||||
|
#define SPELL_SUMMON_FOCUSED_EYEBEAM 63342
|
||||||
|
#define SPELL_FOCUSED_EYEBEAM_PERIODIC RAID_MODE(63347,63977)
|
||||||
|
#define SPELL_FOCUSED_EYEBEAM_VISUAL 63369
|
||||||
|
#define SPELL_FOCUSED_EYEBEAM_VISUAL_LEFT 63676
|
||||||
|
#define SPELL_FOCUSED_EYEBEAM_VISUAL_RIGHT 63702
|
||||||
|
|
||||||
#define SPELL_BERSERK 47008 // guess
|
#define SPELL_BERSERK 47008 // guess
|
||||||
|
|
||||||
#define NPC_LEFT_ARM RAID_MODE(32933,33910)
|
#define NPC_RUBBLE_STALKER 33809
|
||||||
#define NPC_RIGHT_ARM RAID_MODE(32934,33911)
|
#define NPC_ARM_SWEEP_STALKER 33661
|
||||||
|
|
||||||
enum Events
|
enum Events
|
||||||
{
|
{
|
||||||
@@ -52,7 +59,7 @@ enum Events
|
|||||||
EVENT_SWEEP,
|
EVENT_SWEEP,
|
||||||
EVENT_STONE_SHOUT,
|
EVENT_STONE_SHOUT,
|
||||||
EVENT_STONE_GRIP,
|
EVENT_STONE_GRIP,
|
||||||
EVENT_RIGHT_ARM_DEAD,
|
EVENT_FOCUSED_EYEBEAM,
|
||||||
EVENT_RESPAWN_LEFT_ARM,
|
EVENT_RESPAWN_LEFT_ARM,
|
||||||
EVENT_RESPAWN_RIGHT_ARM,
|
EVENT_RESPAWN_RIGHT_ARM,
|
||||||
EVENT_ENRAGE,
|
EVENT_ENRAGE,
|
||||||
@@ -92,6 +99,7 @@ public:
|
|||||||
left(false), right(false)
|
left(false), right(false)
|
||||||
{
|
{
|
||||||
ASSERT(vehicle);
|
ASSERT(vehicle);
|
||||||
|
|
||||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
|
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE);
|
||||||
SetCombatMovement(false);
|
SetCombatMovement(false);
|
||||||
@@ -100,6 +108,7 @@ public:
|
|||||||
|
|
||||||
Vehicle *vehicle;
|
Vehicle *vehicle;
|
||||||
bool left, right;
|
bool left, right;
|
||||||
|
uint64 eyebeamTarget;
|
||||||
|
|
||||||
void EnterCombat(Unit * who)
|
void EnterCombat(Unit * who)
|
||||||
{
|
{
|
||||||
@@ -107,7 +116,9 @@ public:
|
|||||||
|
|
||||||
events.ScheduleEvent(EVENT_MELEE_CHECK, 6000);
|
events.ScheduleEvent(EVENT_MELEE_CHECK, 6000);
|
||||||
events.ScheduleEvent(EVENT_SMASH, 5000);
|
events.ScheduleEvent(EVENT_SMASH, 5000);
|
||||||
|
events.ScheduleEvent(EVENT_SWEEP, 19000);
|
||||||
events.ScheduleEvent(EVENT_STONE_GRIP, 25000);
|
events.ScheduleEvent(EVENT_STONE_GRIP, 25000);
|
||||||
|
events.ScheduleEvent(EVENT_FOCUSED_EYEBEAM, 21000);
|
||||||
events.ScheduleEvent(EVENT_ENRAGE, 600000);
|
events.ScheduleEvent(EVENT_ENRAGE, 600000);
|
||||||
|
|
||||||
Unit* arm = NULL;
|
Unit* arm = NULL;
|
||||||
@@ -122,8 +133,13 @@ public:
|
|||||||
void Reset()
|
void Reset()
|
||||||
{
|
{
|
||||||
_Reset();
|
_Reset();
|
||||||
events.ScheduleEvent(EVENT_INSTALL_ACCESSORIES, 1000);
|
|
||||||
|
if (Creature* arm = Unit::GetCreature(*me, instance ? instance->GetData64(DATA_LEFT_ARM) : 0))
|
||||||
|
RespawnArm(arm);
|
||||||
|
if (Creature* arm = Unit::GetCreature(*me, instance ? instance->GetData64(DATA_RIGHT_ARM) : 0))
|
||||||
|
RespawnArm(arm);
|
||||||
|
|
||||||
|
eyebeamTarget = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void JustDied(Unit * /*victim*/)
|
void JustDied(Unit * /*victim*/)
|
||||||
@@ -143,20 +159,30 @@ public:
|
|||||||
{
|
{
|
||||||
left = apply;
|
left = apply;
|
||||||
if (!apply)
|
if (!apply)
|
||||||
|
{
|
||||||
DoScriptText(SAY_LEFT_ARM_GONE, me);
|
DoScriptText(SAY_LEFT_ARM_GONE, me);
|
||||||
|
events.ScheduleEvent(EVENT_RESPAWN_LEFT_ARM, 40000);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
instance->SetData64(DATA_LEFT_ARM, who->GetGUID());
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (who->GetEntry() == NPC_RIGHT_ARM)
|
else if (who->GetEntry() == NPC_RIGHT_ARM)
|
||||||
{
|
{
|
||||||
right = apply;
|
right = apply;
|
||||||
if (!apply)
|
if (!apply)
|
||||||
|
{
|
||||||
DoScriptText(SAY_RIGHT_ARM_GONE, me);
|
DoScriptText(SAY_RIGHT_ARM_GONE, me);
|
||||||
|
events.ScheduleEvent(EVENT_RESPAWN_RIGHT_ARM, 40000);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
instance->SetData64(DATA_RIGHT_ARM, who->GetGUID());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!apply)
|
if (!apply)
|
||||||
{
|
{
|
||||||
who->CastSpell(me, SPELL_ARM_DEAD_DAMAGE, true);
|
who->CastSpell(me, SPELL_ARM_DEAD_DAMAGE, true);
|
||||||
DoScriptText(SAY_RIGHT_ARM_GONE, me);
|
who->GetMotionMaster()->MoveTargetedHome();
|
||||||
|
|
||||||
if (Creature* rubbleStalker = me->FindNearestCreature(NPC_RUBBLE_STALKER, 20.0f))
|
if (Creature* rubbleStalker = me->FindNearestCreature(NPC_RUBBLE_STALKER, 20.0f))
|
||||||
{
|
{
|
||||||
@@ -170,22 +196,48 @@ public:
|
|||||||
if (!right && !left)
|
if (!right && !left)
|
||||||
events.ScheduleEvent(EVENT_STONE_SHOUT, 5000);
|
events.ScheduleEvent(EVENT_STONE_SHOUT, 5000);
|
||||||
|
|
||||||
if (who->GetEntry() == NPC_LEFT_ARM)
|
|
||||||
events.ScheduleEvent(EVENT_RESPAWN_LEFT_ARM, 40000);
|
|
||||||
else if (who->GetEntry() == NPC_RIGHT_ARM)
|
|
||||||
events.ScheduleEvent(EVENT_RESPAWN_RIGHT_ARM, 40000);
|
|
||||||
|
|
||||||
if (instance)
|
if (instance)
|
||||||
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_DISARMED_START_EVENT);
|
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_DISARMED_START_EVENT);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
if (apply)
|
|
||||||
events.CancelEvent(EVENT_STONE_SHOUT);
|
events.CancelEvent(EVENT_STONE_SHOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void JustSummoned(Creature *summon)
|
||||||
|
{
|
||||||
|
switch (summon->GetEntry())
|
||||||
|
{
|
||||||
|
case NPC_FOCUSED_EYEBEAM:
|
||||||
|
summon->CastSpell(me, SPELL_FOCUSED_EYEBEAM_VISUAL_LEFT, true);
|
||||||
|
break;
|
||||||
|
case NPC_FOCUSED_EYEBEAM_RIGHT:
|
||||||
|
summon->CastSpell(me, SPELL_FOCUSED_EYEBEAM_VISUAL_RIGHT, true);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
summon->CastSpell(summon, SPELL_FOCUSED_EYEBEAM_PERIODIC, true);
|
||||||
|
summon->CastSpell(summon, SPELL_FOCUSED_EYEBEAM_VISUAL, true);
|
||||||
|
summon->SetReactState(REACT_PASSIVE);
|
||||||
|
summon->SetFlag(UNIT_FIELD_ATTACK_POWER, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_PACIFIED);
|
||||||
|
// One of the above spells is a channeled spell, we need to clear this unit state for MoveChase to work
|
||||||
|
summon->ClearUnitState(UNIT_STAT_CASTING);
|
||||||
|
|
||||||
|
// Victim gets 67351
|
||||||
|
if (eyebeamTarget)
|
||||||
|
{
|
||||||
|
if (Unit* target = Unit::GetUnit(*summon, eyebeamTarget))
|
||||||
|
{
|
||||||
|
summon->Attack(target, false);
|
||||||
|
summon->GetMotionMaster()->MoveChase(target);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void UpdateAI(const uint32 diff)
|
void UpdateAI(const uint32 diff)
|
||||||
{
|
{
|
||||||
if (!me->getVictim() && instance->GetBossState(TYPE_KOLOGARN) == NOT_STARTED)
|
if (!UpdateVictim())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
events.Update(diff);
|
events.Update(diff);
|
||||||
@@ -195,18 +247,14 @@ public:
|
|||||||
|
|
||||||
switch (events.GetEvent())
|
switch (events.GetEvent())
|
||||||
{
|
{
|
||||||
case EVENT_INSTALL_ACCESSORIES: // Delayed install, this is needed for IsInWorldCheck in Vehicle code to trigger PassengerBoarded
|
|
||||||
vehicle->InstallAllAccessories(me->GetEntry());
|
|
||||||
events.CancelEvent(EVENT_INSTALL_ACCESSORIES);
|
|
||||||
break;
|
|
||||||
case EVENT_MELEE_CHECK:
|
case EVENT_MELEE_CHECK:
|
||||||
if (!me->IsWithinMeleeRange(me->getVictim()))
|
if (!me->IsWithinMeleeRange(me->getVictim()))
|
||||||
DoCast(SPELL_PETRIFY_BREATH);
|
DoCast(SPELL_PETRIFY_BREATH);
|
||||||
events.RepeatEvent(1000);
|
events.RepeatEvent(1000);
|
||||||
break;
|
break;
|
||||||
case EVENT_SWEEP:
|
case EVENT_SWEEP:
|
||||||
DoCast(SPELL_ARM_SWEEP);
|
DoCast(me->FindNearestCreature(NPC_ARM_SWEEP_STALKER, 500.0f, true), SPELL_ARM_SWEEP, true);
|
||||||
events.RepeatEvent(15000);
|
events.RepeatEvent(25000);
|
||||||
break;
|
break;
|
||||||
case EVENT_SMASH:
|
case EVENT_SMASH:
|
||||||
if (left && right)
|
if (left && right)
|
||||||
@@ -222,18 +270,19 @@ public:
|
|||||||
case EVENT_ENRAGE:
|
case EVENT_ENRAGE:
|
||||||
DoCast(SPELL_BERSERK);
|
DoCast(SPELL_BERSERK);
|
||||||
DoScriptText(SAY_BERSERK, me);
|
DoScriptText(SAY_BERSERK, me);
|
||||||
|
events.CancelEvent(EVENT_ENRAGE);
|
||||||
break;
|
break;
|
||||||
case EVENT_RESPAWN_LEFT_ARM:
|
case EVENT_RESPAWN_LEFT_ARM:
|
||||||
{
|
{
|
||||||
if (Unit* arm = me->FindNearestCreature(NPC_LEFT_ARM, 20.0f, false))
|
if (Creature* arm = Unit::GetCreature(*me, instance ? instance->GetData64(DATA_LEFT_ARM) : 0))
|
||||||
RespawnArm(arm);
|
RespawnArm(arm->ToCreature());
|
||||||
events.CancelEvent(EVENT_RESPAWN_LEFT_ARM);
|
events.CancelEvent(EVENT_RESPAWN_LEFT_ARM);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case EVENT_RESPAWN_RIGHT_ARM:
|
case EVENT_RESPAWN_RIGHT_ARM:
|
||||||
{
|
{
|
||||||
if (Unit* arm = me->FindNearestCreature(NPC_RIGHT_ARM, 20.0f, false))
|
if (Creature* arm = Unit::GetCreature(*me, instance ? instance->GetData64(DATA_RIGHT_ARM) : 0))
|
||||||
RespawnArm(arm);
|
RespawnArm(arm->ToCreature());
|
||||||
events.CancelEvent(EVENT_RESPAWN_RIGHT_ARM);
|
events.CancelEvent(EVENT_RESPAWN_RIGHT_ARM);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -259,17 +308,27 @@ public:
|
|||||||
events.RepeatEvent(25000);
|
events.RepeatEvent(25000);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case EVENT_FOCUSED_EYEBEAM:
|
||||||
|
Unit* eyebeamTargetUnit = SelectTarget(SELECT_TARGET_RANDOM);
|
||||||
|
if (!eyebeamTargetUnit)
|
||||||
|
return;
|
||||||
|
|
||||||
|
eyebeamTarget = eyebeamTargetUnit->GetGUID();
|
||||||
|
DoCast(SPELL_SUMMON_FOCUSED_EYEBEAM);
|
||||||
|
events.RepeatEvent(urand(15000, 35000));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
DoMeleeAttackIfReady();
|
DoMeleeAttackIfReady();
|
||||||
}
|
}
|
||||||
|
|
||||||
void RespawnArm(Unit* arm)
|
void RespawnArm(Creature* arm)
|
||||||
{
|
{
|
||||||
arm->ToCreature()->Respawn();
|
if (!arm->isAlive())
|
||||||
arm->ToCreature()->SetInCombatWithZone();
|
arm->Respawn();
|
||||||
|
|
||||||
arm->CastSpell(me, SPELL_ARM_ENTER_VEHICLE, true);
|
arm->EnterVehicle(vehicle);
|
||||||
|
arm->CastSpell(arm, SPELL_ARM_ENTER_VISUAL, true);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -58,6 +58,10 @@ public:
|
|||||||
uint64 uiXT002GUID;
|
uint64 uiXT002GUID;
|
||||||
uint64 uiAssemblyGUIDs[3];
|
uint64 uiAssemblyGUIDs[3];
|
||||||
uint64 uiKologarnGUID;
|
uint64 uiKologarnGUID;
|
||||||
|
uint64 uiFocusedEyebeamGUID;
|
||||||
|
uint64 uiFocusedEyebeamRightGUID;
|
||||||
|
uint64 uiLeftArmGUID;
|
||||||
|
uint64 uiRightArmGUID;
|
||||||
uint64 uiAuriayaGUID;
|
uint64 uiAuriayaGUID;
|
||||||
uint64 uiMimironGUID;
|
uint64 uiMimironGUID;
|
||||||
uint64 uiHodirGUID;
|
uint64 uiHodirGUID;
|
||||||
@@ -83,6 +87,10 @@ public:
|
|||||||
uiExpCommanderGUID = 0;
|
uiExpCommanderGUID = 0;
|
||||||
uiXT002GUID = 0;
|
uiXT002GUID = 0;
|
||||||
uiKologarnGUID = 0;
|
uiKologarnGUID = 0;
|
||||||
|
uiFocusedEyebeamGUID = 0;
|
||||||
|
uiFocusedEyebeamRightGUID = 0;
|
||||||
|
uiLeftArmGUID = 0;
|
||||||
|
uiRightArmGUID = 0;
|
||||||
uiAuriayaGUID = 0;
|
uiAuriayaGUID = 0;
|
||||||
uiMimironGUID = 0;
|
uiMimironGUID = 0;
|
||||||
uiHodirGUID = 0;
|
uiHodirGUID = 0;
|
||||||
@@ -310,6 +318,19 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SetData64(uint32 type, uint64 data)
|
||||||
|
{
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case DATA_LEFT_ARM:
|
||||||
|
uiLeftArmGUID = data;
|
||||||
|
break;
|
||||||
|
case DATA_RIGHT_ARM:
|
||||||
|
uiRightArmGUID = data;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
uint64 GetData64(uint32 data)
|
uint64 GetData64(uint32 data)
|
||||||
{
|
{
|
||||||
switch(data)
|
switch(data)
|
||||||
@@ -319,6 +340,8 @@ public:
|
|||||||
case TYPE_RAZORSCALE: return uiRazorscaleGUID;
|
case TYPE_RAZORSCALE: return uiRazorscaleGUID;
|
||||||
case TYPE_XT002: return uiXT002GUID;
|
case TYPE_XT002: return uiXT002GUID;
|
||||||
case TYPE_KOLOGARN: return uiKologarnGUID;
|
case TYPE_KOLOGARN: return uiKologarnGUID;
|
||||||
|
case DATA_LEFT_ARM: return uiLeftArmGUID;
|
||||||
|
case DATA_RIGHT_ARM: return uiRightArmGUID;
|
||||||
case TYPE_AURIAYA: return uiAuriayaGUID;
|
case TYPE_AURIAYA: return uiAuriayaGUID;
|
||||||
case TYPE_MIMIRON: return uiMimironGUID;
|
case TYPE_MIMIRON: return uiMimironGUID;
|
||||||
case TYPE_HODIR: return uiHodirGUID;
|
case TYPE_HODIR: return uiHodirGUID;
|
||||||
|
|||||||
@@ -38,16 +38,19 @@ enum eTypes
|
|||||||
TYPE_ALGALON = 13,
|
TYPE_ALGALON = 13,
|
||||||
TYPE_COLOSSUS = 14,
|
TYPE_COLOSSUS = 14,
|
||||||
|
|
||||||
|
// Assembly of Iorn
|
||||||
DATA_STEELBREAKER,
|
DATA_STEELBREAKER,
|
||||||
DATA_MOLGEIM,
|
DATA_MOLGEIM,
|
||||||
DATA_BRUNDIR,
|
DATA_BRUNDIR,
|
||||||
|
|
||||||
DATA_EXP_COMMANDER,
|
DATA_EXP_COMMANDER,
|
||||||
DATA_RIGHT_ARM,
|
|
||||||
|
// Kologarn:
|
||||||
DATA_LEFT_ARM,
|
DATA_LEFT_ARM,
|
||||||
|
DATA_RIGHT_ARM,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum eBossNPCs
|
enum eNPCs
|
||||||
{
|
{
|
||||||
NPC_LEVIATHAN = 33113,
|
NPC_LEVIATHAN = 33113,
|
||||||
NPC_IGNIS = 33118,
|
NPC_IGNIS = 33118,
|
||||||
@@ -58,6 +61,10 @@ enum eBossNPCs
|
|||||||
NPC_MOLGEIM = 32927,
|
NPC_MOLGEIM = 32927,
|
||||||
NPC_BRUNDIR = 32857,
|
NPC_BRUNDIR = 32857,
|
||||||
NPC_KOLOGARN = 32930,
|
NPC_KOLOGARN = 32930,
|
||||||
|
NPC_FOCUSED_EYEBEAM = 33632,
|
||||||
|
NPC_FOCUSED_EYEBEAM_RIGHT = 33802,
|
||||||
|
NPC_LEFT_ARM = 32933,
|
||||||
|
NPC_RIGHT_ARM = 32934,
|
||||||
NPC_AURIAYA = 33515,
|
NPC_AURIAYA = 33515,
|
||||||
NPC_MIMIRON = 33350,
|
NPC_MIMIRON = 33350,
|
||||||
NPC_HODIR = 32845,
|
NPC_HODIR = 32845,
|
||||||
|
|||||||
Reference in New Issue
Block a user