mirror of
https://github.com/mangosfour/server.git
synced 2025-12-16 04:37:00 +00:00
[11792] Implement spells 68912, 68871, 68875 and 68876
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
This commit is contained in:
parent
0bb3a4c84d
commit
6baf677a63
4 changed files with 31 additions and 1 deletions
|
|
@ -1574,6 +1574,7 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList&
|
||||||
case 59870: // Glare of the Tribunal (h) (Halls of Stone)
|
case 59870: // Glare of the Tribunal (h) (Halls of Stone)
|
||||||
case 64218: // Overcharge
|
case 64218: // Overcharge
|
||||||
case 68950: // Fear
|
case 68950: // Fear
|
||||||
|
case 68912: // Wailing Souls (FoS)
|
||||||
case 69048: // Mirrored Soul (FoS)
|
case 69048: // Mirrored Soul (FoS)
|
||||||
unMaxTargets = 1;
|
unMaxTargets = 1;
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -2141,6 +2141,15 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
|
||||||
if (target->GetTypeId() == TYPEID_PLAYER)
|
if (target->GetTypeId() == TYPEID_PLAYER)
|
||||||
((Player*)target)->removeSpell(63680);
|
((Player*)target)->removeSpell(63680);
|
||||||
return;
|
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
|
case 71342: // Big Love Rocket
|
||||||
Spell::SelectMountByAreaAndSkill(target, GetSpellProto(), 71344, 71345, 71346, 71347, 0);
|
Spell::SelectMountByAreaAndSkill(target, GetSpellProto(), 71344, 71345, 71346, 71347, 0);
|
||||||
return;
|
return;
|
||||||
|
|
@ -7854,6 +7863,20 @@ void Aura::PeriodicDummyTick()
|
||||||
target->CastSpell(target, 62593, true);
|
target->CastSpell(target, 62593, true);
|
||||||
return;
|
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
|
// Exist more after, need add later
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -7309,6 +7309,12 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx)
|
||||||
if (unitTarget)
|
if (unitTarget)
|
||||||
unitTarget->CastSpell(unitTarget, m_spellInfo->CalculateSimpleValue(eff_idx), true);
|
unitTarget->CastSpell(unitTarget, m_spellInfo->CalculateSimpleValue(eff_idx), true);
|
||||||
return;
|
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
|
case 69048: // Mirrored Soul
|
||||||
{
|
{
|
||||||
if (!unitTarget)
|
if (!unitTarget)
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "11791"
|
#define REVISION_NR "11792"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue