[11792] Implement spells 68912, 68871, 68875 and 68876

Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
This commit is contained in:
Schmoozerd 2011-09-11 12:50:18 +02:00
parent 0bb3a4c84d
commit 6baf677a63
4 changed files with 31 additions and 1 deletions

View file

@ -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;

View file

@ -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;
@ -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;

View file

@ -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)

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "11791"
#define REVISION_NR "11792"
#endif // __REVISION_NR_H__