Merge pull request #3467 from Studioworks/master

Core: Style cleanup in boss_illidan.cpp
This commit is contained in:
megamage
2011-10-13 13:53:00 -07:00
@@ -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);
} }
} }