Merge pull request #3467 from Studioworks/master
Core: Style cleanup in boss_illidan.cpp
This commit is contained in:
@@ -66,69 +66,71 @@ const char* SAY_KILL2 = "This is too easy!";
|
|||||||
#define SAY_ENRAGE "You've wasted too much time mortals, now you shall fall!"
|
#define SAY_ENRAGE "You've wasted too much time mortals, now you shall fall!"
|
||||||
#define SOUND_ENRAGE 11474
|
#define SOUND_ENRAGE 11474
|
||||||
|
|
||||||
/************** Spells *************/
|
enum Spells
|
||||||
// Normal Form
|
// Normal Form
|
||||||
#define SPELL_SHEAR 37335 // 41032 is bugged, cannot be block/dodge/parry// Reduces Max. Health by 60% for 7 seconds. Can stack 19 times. 1.5f second cast
|
{
|
||||||
#define SPELL_FLAME_CRASH 40832 // Summons an invis/unselect passive mob that has an aura of flame in a circle around him.
|
SPELL_SHEAR = 37335, // 41032 is bugged, cannot be block/dodge/parry// Reduces Max. Health by 60% for 7 seconds. Can stack 19 times. 1.5f second cast
|
||||||
#define SPELL_DRAW_SOUL 40904 // 5k Shadow Damage in front of him. Heals Illidan for 100k health (script effect)
|
SPELL_FLAME_CRASH = 40832,
|
||||||
#define SPELL_PARASITIC_SHADOWFIEND 41917 // DoT of 3k Shadow every 2 seconds. Lasts 10 seconds. (Script effect: Summon 2 parasites once the debuff has ticked off)
|
SPELL_DRAW_SOUL = 40904,
|
||||||
#define SPELL_PARASITIC_SHADOWFIEND2 41914 // Used by Parasitic
|
SPELL_PARASITIC_SHADOWFIEND = 41917,
|
||||||
#define SPELL_SUMMON_PARASITICS 41915 // Summons 2 Parasitic Shadowfiends on the target. It's supposed to be cast as soon as the Parasitic Shadowfiend debuff is gone, but the spells aren't linked :(
|
SPELL_PARASITIC_SHADOWFIEND2 = 41914,
|
||||||
#define SPELL_AGONIZING_FLAMES 40932 // 4k fire damage initial to target and anyone w/i 5 yards. PHASE 3 ONLY
|
SPELL_SUMMON_PARASITICS = 41915,
|
||||||
#define SPELL_ENRAGE 40683 // Increases damage by 50% and attack speed by 30%. 20 seconds, PHASE 5 ONLY
|
SPELL_AGONIZING_FLAMES = 40932,
|
||||||
|
SPELL_ENRAGE = 40683,
|
||||||
// Flying (Phase 2)
|
// Flying (Phase 2)
|
||||||
#define SPELL_THROW_GLAIVE 39635 // Throws a glaive on the ground
|
SPELL_THROW_GLAIVE = 39635,
|
||||||
#define SPELL_THROW_GLAIVE2 39849 // Animation for the above spell
|
SPELL_THROW_GLAIVE2 = 39849, // Animation for the spell above
|
||||||
#define SPELL_GLAIVE_RETURNS 39873 // Glaive flies back to Illidan
|
SPELL_GLAIVE_RETURNS = 39873,
|
||||||
#define SPELL_FIREBALL 40598 // 2.5fk-3.5fk damage in 10 yard radius. 2 second cast time.
|
SPELL_FIREBALL = 40598,
|
||||||
#define SPELL_DARK_BARRAGE 40585 // 10 second channeled spell, 3k shadow damage per second.
|
SPELL_DARK_BARRAGE = 40585,
|
||||||
// Demon Form
|
// Demon Form
|
||||||
#define SPELL_DEMON_TRANSFORM_1 40511 // First phase of animations for transforming into Dark Illidan (fall to ground)
|
SPELL_DEMON_TRANSFORM_1 = 40511,
|
||||||
#define SPELL_DEMON_TRANSFORM_2 40398 // Second phase of animations (kneel)
|
SPELL_DEMON_TRANSFORM_2 = 40398,
|
||||||
#define SPELL_DEMON_TRANSFORM_3 40510 // Final phase of animations (stand up and roar)
|
SPELL_DEMON_TRANSFORM_3 = 40510,
|
||||||
#define SPELL_DEMON_FORM 40506 // Transforms into Demon Illidan. Has an Aura of Dread on him.
|
SPELL_DEMON_FORM = 40506,
|
||||||
#define SPELL_SHADOW_BLAST 41078 // 8k - 11k Shadow Damage. Targets highest threat. Has a splash effect, damaging anyone in 20 yards of the target.
|
SPELL_SHADOW_BLAST = 41078,
|
||||||
#define SPELL_FLAME_BURST 41126 // Hurls fire at entire raid for ~3.5fk damage every 10 seconds. Resistable. (Does not work: Script effect)
|
SPELL_FLAME_BURST = 41126,
|
||||||
#define SPELL_FLAME_BURST_EFFECT 41131 // The actual damage. Have each player cast it on itself (workaround)
|
SPELL_FLAME_BURST_EFFECT = 41131, // The actual damage. Have each player cast it on itself (workaround)
|
||||||
// Other Illidan spells
|
// Other Illidan spells
|
||||||
#define SPELL_KNEEL 39656 // Before beginning encounter, this is how he appears (talking to skully).
|
SPELL_KNEEL = 39656, // Before beginning encounter, this is how he appears (talking to skully).
|
||||||
#define SPELL_SHADOW_PRISON 40647 // Illidan casts this spell to immobilize entire raid when he summons Maiev.
|
SPELL_SHADOW_PRISON = 40647,
|
||||||
#define SPELL_DEATH 41220 // This spell doesn't do anything except stun Illidan and set him on his knees.
|
SPELL_DEATH = 41220,
|
||||||
#define SPELL_BERSERK 45078 // Damage increased by 500%, attack speed by 150%
|
SPELL_BERSERK = 45078,
|
||||||
#define SPELL_DUAL_WIELD 42459
|
SPELL_DUAL_WIELD = 42459,
|
||||||
// Phase Normal spells
|
// Phase Normal spells
|
||||||
#define SPELL_FLAME_CRASH_EFFECT 40836 // Firey blue ring of circle that the other flame crash summons
|
SPELL_FLAME_CRASH_EFFECT = 40836,
|
||||||
#define SPELL_SUMMON_SHADOWDEMON 41117 // Summon four shadowfiends
|
SPELL_SUMMON_SHADOWDEMON = 41117,
|
||||||
#define SPELL_SHADOWFIEND_PASSIVE 41913 // Passive aura for shadowfiends
|
SPELL_SHADOWFIEND_PASSIVE = 41913,
|
||||||
#define SPELL_SHADOW_DEMON_PASSIVE 41079 // Adds the "shadowform" aura to Shadow Demons.
|
SPELL_SHADOW_DEMON_PASSIVE = 41079,
|
||||||
#define SPELL_CONSUME_SOUL 41080 // Once the Shadow Demons reach their target, they use this to kill them
|
SPELL_CONSUME_SOUL = 41080,
|
||||||
#define SPELL_PARALYZE 41083 // Shadow Demons cast this on their target
|
SPELL_PARALYZE = 41083,
|
||||||
#define SPELL_PURPLE_BEAM 39123 // Purple Beam connecting Shadow Demon to their target
|
SPELL_PURPLE_BEAM = 39123,
|
||||||
// Phase Flight spells
|
// Phase Flight spells
|
||||||
#define SPELL_AZZINOTH_CHANNEL 39857 // Glaives cast it on Flames. Not sure if this is the right spell.
|
SPELL_AZZINOTH_CHANNEL = 39857, // Glaives cast it on Flames. Not sure if this is the right spell.
|
||||||
#define SPELL_EYE_BLAST_TRIGGER 40017 // This summons Demon Form every few seconds and deals ~20k damage in its radius
|
SPELL_EYE_BLAST_TRIGGER = 40017,
|
||||||
#define SPELL_EYE_BLAST 39908 // This does the blue flamey animation.
|
SPELL_EYE_BLAST = 39908,
|
||||||
#define SPELL_BLAZE_EFFECT 40610 // Green flame on the ground, triggers damage (5k) every few seconds
|
SPELL_BLAZE_EFFECT = 40610,
|
||||||
#define SPELL_BLAZE_SUMMON 40637 // Summons the Blaze creature
|
SPELL_BLAZE_SUMMON = 40637,
|
||||||
#define SPELL_DEMON_FIRE 40029 // Blue fire trail left by Eye Blast. Deals 2k per second if players stand on it.
|
SPELL_DEMON_FIRE = 40029,
|
||||||
#define SPELL_FLAME_BLAST 40631 // Flames of Azzinoth use this. Frontal cone AoE 7k-9k damage.
|
SPELL_FLAME_BLAST = 40631,
|
||||||
#define SPELL_CHARGE 41581 //40602 // Flames of Azzinoth charges whoever is too far from them. They enrage after this. For simplicity, we'll use the same enrage as Illidan.
|
SPELL_CHARGE = 41581,
|
||||||
#define SPELL_FLAME_ENRAGE 45078
|
SPELL_FLAME_ENRAGE = 45078,
|
||||||
// Akama spells
|
// Akama spells
|
||||||
#define SPELL_AKAMA_DOOR_CHANNEL 41268 // Akama's channel spell on the door before the Temple Summit
|
SPELL_AKAMA_DOOR_CHANNEL = 41268,
|
||||||
#define SPELL_DEATHSWORN_DOOR_CHANNEL 41269 // Olum and Udalo's channel spell on the door before the Temple Summit
|
SPELL_DEATHSWORN_DOOR_CHANNEL = 41269,
|
||||||
#define SPELL_AKAMA_DOOR_FAIL 41271 // Not sure where this is really used...
|
SPELL_AKAMA_DOOR_FAIL = 41271, // Not sure where this is really used...
|
||||||
#define SPELL_HEALING_POTION 40535 // Akama uses this to heal himself to full.
|
SPELL_HEALING_POTION = 40535,
|
||||||
#define SPELL_CHAIN_LIGHTNING 40536 // 6938 to 8062 for 5 targets
|
SPELL_CHAIN_LIGHTNING = 40536,
|
||||||
// Maiev spells
|
// Maiev spells
|
||||||
#define SPELL_CAGE_TRAP_DUMMY 40761 // Put this in DB for cage trap GO.
|
SPELL_CAGE_TRAP_DUMMY = 40761, // Put this in DB for cage trap GO.
|
||||||
#define SPELL_CAGED 40695 // Caged Trap triggers will cast this on Illidan if he is within 3 yards
|
SPELL_CAGED = 40695,
|
||||||
#define SPELL_CAGE_TRAP_SUMMON 40694 // Summons a Cage Trap GO (bugged) on the ground along with a Cage Trap Disturb Trigger mob (working)
|
SPELL_CAGE_TRAP_SUMMON = 40694, // Summons a Cage Trap GO (bugged) on the ground along with a Cage Trap Disturb Trigger mob (working)
|
||||||
#define SPELL_CAGE_TRAP_BEAM 40713 // 8 Triggers on the ground in an octagon cast spells like this on Illidan 'caging him'
|
SPELL_CAGE_TRAP_BEAM = 40713,
|
||||||
#define SPELL_TELEPORT_VISUAL 41232 // Teleport visual for Maiev
|
SPELL_TELEPORT_VISUAL = 41232,
|
||||||
#define SPELL_SHADOW_STRIKE 40685 // 4375 to 5625 every 3 seconds for 12 seconds
|
SPELL_SHADOW_STRIKE = 40685,
|
||||||
#define SPELL_THROW_DAGGER 41152 // 5400 to 6600 damage, need dagger
|
SPELL_THROW_DAGGER = 41152,
|
||||||
#define SPELL_FAN_BLADES 39954 // bugged visual
|
SPELL_FAN_BLADES = 39954, // bugged visual
|
||||||
|
};
|
||||||
|
|
||||||
// Other defines
|
// Other defines
|
||||||
#define CENTER_X 676.740f
|
#define CENTER_X 676.740f
|
||||||
@@ -249,6 +251,7 @@ struct Yells
|
|||||||
};
|
};
|
||||||
|
|
||||||
static const Yells Conversation[22] =
|
static const Yells Conversation[22] =
|
||||||
|
|
||||||
{
|
{
|
||||||
{11463, "Akama... your duplicity is hardly surprising. I should have slaughtered you and your malformed brethren long ago.", ILLIDAN_STORMRAGE, 8000, 0, true},
|
{11463, "Akama... your duplicity is hardly surprising. I should have slaughtered you and your malformed brethren long ago.", ILLIDAN_STORMRAGE, 8000, 0, true},
|
||||||
{0, "", ILLIDAN_STORMRAGE, 5000, 396, true},
|
{0, "", ILLIDAN_STORMRAGE, 5000, 396, true},
|
||||||
@@ -266,6 +269,7 @@ static const Yells Conversation[22] =
|
|||||||
{11492, "Ah... my long hunt is finally over. Today, Justice will be done!", MAIEV_SHADOWSONG, 8000, 15, true},
|
{11492, "Ah... my long hunt is finally over. Today, Justice will be done!", MAIEV_SHADOWSONG, 8000, 15, true},
|
||||||
{11470, "Feel the hatred of ten thousand years!", ILLIDAN_STORMRAGE, 1000, 0, false}, // 14
|
{11470, "Feel the hatred of ten thousand years!", ILLIDAN_STORMRAGE, 1000, 0, false}, // 14
|
||||||
{11496, "Ahh... It is finished. You are beaten.", MAIEV_SHADOWSONG, 6000, 0, true}, // 15
|
{11496, "Ahh... It is finished. You are beaten.", MAIEV_SHADOWSONG, 6000, 0, true}, // 15
|
||||||
|
|
||||||
{11478, "You have won... Maiev...but the huntress... is nothing...without the hunt... you... are nothing... without me..", ILLIDAN_STORMRAGE, 30000, 65, true}, // Emote dead for now. Kill him later
|
{11478, "You have won... Maiev...but the huntress... is nothing...without the hunt... you... are nothing... without me..", ILLIDAN_STORMRAGE, 30000, 65, true}, // Emote dead for now. Kill him later
|
||||||
{11497, "He is right. I feel nothing... I am nothing... Farewell, champions.", MAIEV_SHADOWSONG, 9000, 0, true},
|
{11497, "He is right. I feel nothing... I am nothing... Farewell, champions.", MAIEV_SHADOWSONG, 9000, 0, true},
|
||||||
{11498, "", MAIEV_SHADOWSONG, 5000, 0, true},
|
{11498, "", MAIEV_SHADOWSONG, 5000, 0, true},
|
||||||
@@ -1408,12 +1412,14 @@ public:
|
|||||||
instance->HandleGameObject(GateGUID, false);
|
instance->HandleGameObject(GateGUID, false);
|
||||||
|
|
||||||
for (uint8 i = 0; i < 2; ++i)
|
for (uint8 i = 0; i < 2; ++i)
|
||||||
instance->HandleGameObject(DoorGUID[i], false);
|
|
||||||
|
Instance->HandleGameObject(DoorGUID[i], false);
|
||||||
// JustCreated = false;
|
// JustCreated = false;
|
||||||
}else
|
}else
|
||||||
{ // open all doors, raid wiped
|
{ // open all doors, raid wiped
|
||||||
instance->HandleGameObject(GateGUID, true);
|
instance->HandleGameObject(GateGUID, true);
|
||||||
WalkCount = 1; // skip first wp
|
WalkCount = 1; // skip first wp
|
||||||
|
|
||||||
for (uint8 i = 0; i < 2; ++i)
|
for (uint8 i = 0; i < 2; ++i)
|
||||||
instance->HandleGameObject(DoorGUID[i], true);
|
instance->HandleGameObject(DoorGUID[i], true);
|
||||||
}
|
}
|
||||||
@@ -1979,6 +1985,7 @@ void boss_illidan_stormrage::boss_illidan_stormrageAI::HandleTalkSequence()
|
|||||||
Akama->SetPosition(x, y, z, 0.0f);
|
Akama->SetPosition(x, y, z, 0.0f);
|
||||||
Akama->SendMonsterMove(x, y, z, 0, MOVEMENTFLAG_NONE, 0); // Illidan must not die until Akama arrives.
|
Akama->SendMonsterMove(x, y, z, 0, MOVEMENTFLAG_NONE, 0); // Illidan must not die until Akama arrives.
|
||||||
Akama->GetMotionMaster()->MoveChase(me);
|
Akama->GetMotionMaster()->MoveChase(me);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -2052,6 +2059,7 @@ public:
|
|||||||
if (who->HasAura(SPELL_ENRAGE))
|
if (who->HasAura(SPELL_ENRAGE))
|
||||||
who->RemoveAurasDueToSpell(SPELL_ENRAGE); // Dispel his enrage
|
who->RemoveAurasDueToSpell(SPELL_ENRAGE); // Dispel his enrage
|
||||||
// if (GameObject* CageTrap = instance->instance->GetGameObject(instance->GetData64(CageTrapGUID)))
|
// if (GameObject* CageTrap = instance->instance->GetGameObject(instance->GetData64(CageTrapGUID)))
|
||||||
|
|
||||||
// CageTrap->SetLootState(GO_JUST_DEACTIVATED);
|
// CageTrap->SetLootState(GO_JUST_DEACTIVATED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user