mirror of
https://github.com/mangosfour/server.git
synced 2025-12-24 01:37:02 +00:00
[12090] Implement some spells for AQ40
Dark Glare beam spells: 26137, 26009, 26136 and 26029 Server side spell: 26133
This commit is contained in:
parent
636afadf45
commit
5aef24e6f5
6 changed files with 45 additions and 10 deletions
|
|
@ -2482,8 +2482,13 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList&
|
|||
break;
|
||||
case TARGET_IN_FRONT_OF_CASTER:
|
||||
{
|
||||
bool inFront = m_spellInfo->SpellVisual[0] != 3879;
|
||||
FillAreaTargets(targetUnitMap, radius, inFront ? PUSH_IN_FRONT : PUSH_IN_BACK, SPELL_TARGETS_AOE_DAMAGE);
|
||||
SpellNotifyPushType pushType = PUSH_IN_FRONT;
|
||||
switch (m_spellInfo->SpellVisual[0]) // Some spell require a different target fill
|
||||
{
|
||||
case 3879: pushType = PUSH_IN_BACK; break;
|
||||
case 7441: pushType = PUSH_IN_FRONT_15; break;
|
||||
}
|
||||
FillAreaTargets(targetUnitMap, radius, pushType, SPELL_TARGETS_AOE_DAMAGE);
|
||||
break;
|
||||
}
|
||||
case TARGET_LARGE_FRONTAL_CONE:
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@
|
|||
#include "Vehicle.h"
|
||||
#include "CellImpl.h"
|
||||
#include "Language.h"
|
||||
#include "MapManager.h"
|
||||
|
||||
#define NULL_AURA_SLOT 0xFF
|
||||
|
||||
|
|
@ -1264,10 +1265,23 @@ void Aura::TriggerSpell()
|
|||
}
|
||||
// // Pain Spike
|
||||
// case 25572: break;
|
||||
// // Rotate 360
|
||||
// case 26009: break;
|
||||
// // Rotate -360
|
||||
// case 26136: break;
|
||||
case 26009: // Rotate 360
|
||||
case 26136: // Rotate -360
|
||||
{
|
||||
float newAngle = target->GetOrientation();
|
||||
|
||||
if (auraId == 26009)
|
||||
newAngle += M_PI_F/40;
|
||||
else
|
||||
newAngle -= M_PI_F/40;
|
||||
|
||||
MapManager::NormalizeOrientation(newAngle);
|
||||
|
||||
target->SetFacingTo(newAngle);
|
||||
|
||||
target->CastSpell(target, 26029, true);
|
||||
return;
|
||||
}
|
||||
// // Consume
|
||||
// case 26196: break;
|
||||
// // Berserk
|
||||
|
|
@ -8094,9 +8108,13 @@ void Aura::PeriodicDummyTick()
|
|||
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;
|
||||
float newAngle = target->GetOrientation();
|
||||
if (spell->Id == 68875)
|
||||
newAngle += 0.09f;
|
||||
else
|
||||
newAngle -= 0.09f;
|
||||
|
||||
MapManager::NormalizeOrientation(newAngle);
|
||||
|
||||
target->SetFacingTo(newAngle);
|
||||
|
||||
|
|
|
|||
|
|
@ -6871,6 +6871,14 @@ void Spell::EffectScriptEffect(SpellEffectEntry const* effect)
|
|||
unitTarget->HandleEmote(EMOTE_ONESHOT_CHEER);
|
||||
return;
|
||||
}
|
||||
case 26137: // Rotate Trigger
|
||||
{
|
||||
if (!unitTarget)
|
||||
return;
|
||||
|
||||
unitTarget->CastSpell(unitTarget, urand(0, 1) ? 26009 : 26136, true);
|
||||
return;
|
||||
}
|
||||
case 26218: // Mistletoe
|
||||
{
|
||||
if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "0078"
|
||||
#define REVISION_NR "12090"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue