Skip to content

Commit

Permalink
[11792] Implement spells 68912, 68871, 68875 and 68876
Browse files Browse the repository at this point in the history
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
  • Loading branch information
Schmoozerd committed Sep 11, 2011
1 parent fbec235 commit ef793da
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 1 deletion.
1 change: 1 addition & 0 deletions src/game/Spell.cpp
Expand Up @@ -1574,6 +1574,7 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList&
case 59870: // Glare of the Tribunal (h) (Halls of Stone)
case 64218: // Overcharge
case 68950: // Fear
case 68912: // Wailing Souls (FoS)
case 69048: // Mirrored Soul (FoS)
unMaxTargets = 1;
break;
Expand Down
23 changes: 23 additions & 0 deletions src/game/SpellAuras.cpp
Expand Up @@ -2141,6 +2141,15 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
if (target->GetTypeId() == TYPEID_PLAYER)
((Player*)target)->removeSpell(63680);
return;
case 68912: // Wailing Souls
if (Unit* caster = GetCaster())
{
caster->SetTargetGuid(target->GetObjectGuid());

// TODO - this is confusing, it seems the boss should channel this aura, and start casting the next spell
caster->CastSpell(caster, 68899, false);
}
return;
case 71342: // Big Love Rocket
Spell::SelectMountByAreaAndSkill(target, GetSpellProto(), 71344, 71345, 71346, 71347, 0);
return;
Expand Down Expand Up @@ -7854,6 +7863,20 @@ void Aura::PeriodicDummyTick()
target->CastSpell(target, 62593, true);
return;
}
case 68875: // Wailing Souls
case 68876: // Wailing Souls
{
// Sweep around
float newAngle = target->GetOrientation() + (spell->Id == 68875 ? 0.09f : 2*M_PI_F - 0.09f);
if (newAngle > 2*M_PI_F)
newAngle -= 2*M_PI_F;

target->SetFacingTo(newAngle);

// Should actually be SMSG_SPELL_START, too
target->CastSpell(target, 68873, true);
return;
}
// Exist more after, need add later
default:
break;
Expand Down
6 changes: 6 additions & 0 deletions src/game/SpellEffects.cpp
Expand Up @@ -7309,6 +7309,12 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx)
if (unitTarget)
unitTarget->CastSpell(unitTarget, m_spellInfo->CalculateSimpleValue(eff_idx), true);
return;
case 68871: // Wailing Souls
// Left or Right direction?
m_caster->CastSpell(m_caster, urand(0, 1) ? 68875 : 68876, false);
// Clear TargetGuid for sweeping
m_caster->SetTargetGuid(ObjectGuid());
return;
case 69048: // Mirrored Soul
{
if (!unitTarget)
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 "11791"
#define REVISION_NR "11792"
#endif // __REVISION_NR_H__

0 comments on commit ef793da

Please sign in to comment.