Skip to content

Commit

Permalink
[12574] Implement spells for Mimiron encounter
Browse files Browse the repository at this point in the history
Spell effects: 64402, 65346, 63027, 63667, 63681, 64841, 63382
Drop spells 63820, 64425, 64620, 64398, 64426, 64621 because they will be handled by script
  • Loading branch information
xfurry committed Oct 26, 2013
1 parent c8e6d97 commit 5b4e851
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 31 deletions.
1 change: 1 addition & 0 deletions src/game/Spell.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7702,6 +7702,7 @@ void Spell::GetSpellRangeAndRadius(SpellEffectIndex effIndex, float& radius, uin
case 63820: // Summon Scrap Bot Trigger (Ulduar, Mimiron) use for Scrap Bots, hits npc 33856
case 64218: // Overcharge (VoA, Emalon)
case 64234: // Gravity Bomb (h) (Ulduar, XT-002)
case 64402: // Rocket Strike (Ulduar, Mimiron)
case 64425: // Summon Scrap Bot Trigger (Ulduar, Mimiron) use for Assault Bots, hits npc 33856
case 64531: // Rapid Burst (h)
case 64543: // Melt Ice (Ulduar, Hodir)
Expand Down
22 changes: 8 additions & 14 deletions src/game/SpellAuras.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2857,20 +2857,6 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
}
return;
}
case 64398: // Summon Scrap Bot (Ulduar, Mimiron) - for Scrap Bots
case 64426: // Summon Scrap Bot (Ulduar, Mimiron) - for Assault Bots
case 64621: // Summon Fire Bot (Ulduar, Mimiron)
{
uint32 triggerSpell = 0;
switch (GetId())
{
case 64398: triggerSpell = 63819; break;
case 64426: triggerSpell = 64427; break;
case 64621: triggerSpell = 64622; break;
}
target->CastSpell(target, triggerSpell, false);
return;
}
case 68839: // Corrupt Soul
{
// Knockdown Stun
Expand Down Expand Up @@ -8249,6 +8235,14 @@ void Aura::PeriodicDummyTick()
target->CastSpell(target, 63536, true, NULL, this);
return;
}
case 63382: // Rapid Burst
{
if (GetAuraTicks() % 2)
target->CastSpell(target, target->GetMap()->IsRegularDifficulty() ? 64019 : 64532, true);
else
target->CastSpell(target, target->GetMap()->IsRegularDifficulty() ? 63387 : 64531, true);
return;
}
case 64217: // Overcharged
{
if (GetHolder()->GetStackAmount() >= 10)
Expand Down
67 changes: 51 additions & 16 deletions src/game/SpellEffects.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2736,26 +2736,17 @@ void Spell::EffectDummy(SpellEffectIndex eff_idx)

m_caster->CastSpell(unitTarget, m_spellInfo->CalculateSimpleValue(eff_idx), true);
}
case 63820: // Summon Scrap Bot Trigger (Ulduar - Mimiron) for Scrap Bots
case 64425: // Summon Scrap Bot Trigger (Ulduar - Mimiron) for Assault Bots
case 64620: // Summon Fire Bot Trigger (Ulduar - Mimiron) for Fire Bots
case 64385: // Spinning (from Unusual Compass)
{
if (!unitTarget)
return;

uint32 triggerSpell = 0;
switch (m_spellInfo->Id)
{
case 63820: triggerSpell = 64398; break;
case 64425: triggerSpell = 64426; break;
case 64620: triggerSpell = 64621; break;
}
unitTarget->CastSpell(unitTarget, triggerSpell, false);
m_caster->SetFacingTo(frand(0, M_PI_F * 2));
return;
}
case 64385: // Spinning (from Unusual Compass)
case 64402: // Rocket Strike
{
m_caster->SetFacingTo(frand(0, M_PI_F * 2));
if (!unitTarget)
return;

unitTarget->CastSpell(unitTarget, 63681, true);
return;
}
case 64489: // Feral Rush
Expand Down Expand Up @@ -2797,6 +2788,17 @@ void Spell::EffectDummy(SpellEffectIndex eff_idx)
m_caster->CastSpell(m_caster, spell_id, true);
return;
}
case 65346: // Proximity Mine
{
if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER)
return;

m_caster->CastSpell(m_caster, m_caster->GetMap()->IsRegularDifficulty() ? 66351 : 63009, true);
m_caster->RemoveAurasDueToSpell(65345);
m_caster->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
((Creature*)m_caster)->ForcedDespawn(2000);
return;
}
case 66390: // Read Last Rites
{
if (!unitTarget || unitTarget->GetTypeId() != TYPEID_UNIT || m_caster->GetTypeId() != TYPEID_PLAYER)
Expand Down Expand Up @@ -8701,6 +8703,15 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx)
unitTarget->CastSpell(unitTarget, 62708, true);
return;
}
case 63027: // Proximity Mines
{
if (!unitTarget)
return;

for (uint8 i = 0; i < 15; ++i)
unitTarget->CastSpell(unitTarget, 65347, true);
return;
}
case 63633: // Summon Rubble
{
if (!unitTarget)
Expand All @@ -8710,6 +8721,22 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx)
unitTarget->CastSpell(unitTarget, m_spellInfo->CalculateSimpleValue(eff_idx), true);
return;
}
case 63667: // Napalm Shell
{
if (!unitTarget)
return;

m_caster->CastSpell(unitTarget, m_caster->GetMap()->IsRegularDifficulty() ? 63666 : 65026, true);
return;
}
case 63681: // Rocket Strike
{
if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER)
return;

m_caster->CastSpell(unitTarget, 63036, true);
return;
}
case 64456: // Feral Essence Application Removal
{
if (!unitTarget)
Expand Down Expand Up @@ -8742,6 +8769,14 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx)
}
return;
}
case 64841: // Rapid Burst
{
if (!unitTarget)
return;

unitTarget->CastSpell(m_caster, 63382, false);
return;
}
case 66477: // Bountiful Feast
{
if (!unitTarget)
Expand Down
2 changes: 1 addition & 1 deletion src/shared/revision_nr.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "12573"
#define REVISION_NR "12574"
#endif // __REVISION_NR_H__

0 comments on commit 5b4e851

Please sign in to comment.