Skip to content

Commit

Permalink
[12512] Implement some spells for Felmyst encounter
Browse files Browse the repository at this point in the history
Spell entries: 45714, 45717 and 45918. Limit targets of spell 45391
Also add stacking exception for auras 45068 and 45582
  • Loading branch information
xfurry committed May 23, 2013
1 parent d260c9a commit 256f99a
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 1 deletion.
1 change: 1 addition & 0 deletions src/game/Spell.cpp
Expand Up @@ -7646,6 +7646,7 @@ void Spell::GetSpellRangeAndRadius(SpellEffectIndex effIndex, float& radius, uin
case 40834: // Agonizing Flames (BT, Illidan Stormrage)
case 41537: // Summon Enslaved Soul (BT, Reliquary of Souls)
case 44869: // Spectral Blast (SWP, Kalecgos)
case 45391: // Summon Demonic Vapor (SWP, Felmyst)
case 45785: // Sinister Reflection Clone (SWP, Kil'jaeden)
case 45892: // Sinister Reflection (SWP, Kil'jaeden)
case 45976: // Open Portal (SWP, M'uru)
Expand Down
25 changes: 25 additions & 0 deletions src/game/SpellEffects.cpp
Expand Up @@ -7650,6 +7650,22 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx)
m_caster->SetDisplayId(display_id);
return;
}
case 45714: // Fog of Corruption (caster inform)
{
if (!unitTarget || m_caster->GetTypeId() != TYPEID_PLAYER)
return;

unitTarget->CastSpell(m_caster, m_spellInfo->CalculateSimpleValue(eff_idx), true);
return;
}
case 45717: // Fog of Corruption (player buff)
{
if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER)
return;

unitTarget->CastSpell(unitTarget, 45726, true);

This comment has been minimized.

Copy link
@Zakamurite

Zakamurite May 23, 2013

Contributor

this spell has infinite duration, need handle it's removal

This comment has been minimized.

Copy link
@xfurry

xfurry May 23, 2013

Author Member

This should be removed by death, using spell 45918. Please see scriptdev2/scriptdev2@a0e256a for details.

The only problem with this spell, is that currently it won't be used. There are some targeting issues with spell 45782 and I have no idea how to fix it.

return;
}
case 45785: // Sinister Reflection Clone
{
if (!unitTarget)
Expand All @@ -7676,6 +7692,15 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx)
unitTarget->CastSpell(unitTarget, 45891, true, NULL, NULL, m_caster->GetObjectGuid());
return;
}
case 45918: // Soul Sever
{
if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER || !unitTarget->HasAura(45717))
return;

// kill all charmed targets
unitTarget->CastSpell(unitTarget, 45917, true);
return;
}
case 45958: // Signal Alliance
{
// "escort" aura not present, so let nothing happen
Expand Down
5 changes: 5 additions & 0 deletions src/game/SpellMgr.cpp
Expand Up @@ -2070,6 +2070,11 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
(spellInfo_2->SpellIconID == 2302 && spellInfo_2->SpellVisual[0] == 0))
return false;

// Felblaze Visual and Fog of Corruption
if ((spellInfo_1->Id == 45068 && spellInfo_2->Id == 45582) ||
(spellInfo_2->Id == 45068 && spellInfo_1->Id == 45582))
return false;

break;
}
case SPELLFAMILY_MAGE:
Expand Down
2 changes: 1 addition & 1 deletion src/shared/revision_nr.h
@@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "12511"
#define REVISION_NR "12512"
#endif // __REVISION_NR_H__

0 comments on commit 256f99a

Please sign in to comment.