mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 22:37:03 +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
|
|
@ -18018,6 +18018,7 @@ INSERT INTO `spell_template` VALUES
|
||||||
(21387, 0x00000028, 15, 21, 6, 1, 0, 42, 0, 21388, 'Melt-Weapon trigger aura related used by Ragnaros'),
|
(21387, 0x00000028, 15, 21, 6, 1, 0, 42, 0, 21388, 'Melt-Weapon trigger aura related used by Ragnaros'),
|
||||||
(23363, 0x00000000, 101, 21, 76, 18, 0, 0, 179804, 0, 'Summon Drakonid Corpse Trigger'),
|
(23363, 0x00000000, 101, 21, 76, 18, 0, 0, 179804, 0, 'Summon Drakonid Corpse Trigger'),
|
||||||
(25192, 0x00000000, 101, 21, 76, 18, 0, 0, 180619, 0, 'Summon Ossirian Crystal'),
|
(25192, 0x00000000, 101, 21, 76, 18, 0, 0, 180619, 0, 'Summon Ossirian Crystal'),
|
||||||
|
(26133, 0x00000000, 101, 21, 76, 18, 0, 0, 180795, 0, 'Summon Sandworm Base'),
|
||||||
(62388, 0x00000000, 101, 21, 6, 1, 0, 4, 0, 0, 'Aura required for Demonic Circle 48020');
|
(62388, 0x00000000, 101, 21, 6, 1, 0, 4, 0, 0, 'Aura required for Demonic Circle 48020');
|
||||||
/*!40000 ALTER TABLE `spell_template` ENABLE KEYS */;
|
/*!40000 ALTER TABLE `spell_template` ENABLE KEYS */;
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
|
|
|
||||||
3
sql/updates/99999_01_mangos_spell_template.sql
Normal file
3
sql/updates/99999_01_mangos_spell_template.sql
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
DELETE FROM spell_template WHERE id IN (26133);
|
||||||
|
INSERT INTO spell_template VALUES
|
||||||
|
(26133, 0x00000000, 101, 21, 76, 18, 0, 0, 180795, 0, 'Summon Sandworm Base');
|
||||||
|
|
@ -2482,8 +2482,13 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList&
|
||||||
break;
|
break;
|
||||||
case TARGET_IN_FRONT_OF_CASTER:
|
case TARGET_IN_FRONT_OF_CASTER:
|
||||||
{
|
{
|
||||||
bool inFront = m_spellInfo->SpellVisual[0] != 3879;
|
SpellNotifyPushType pushType = PUSH_IN_FRONT;
|
||||||
FillAreaTargets(targetUnitMap, radius, inFront ? PUSH_IN_FRONT : PUSH_IN_BACK, SPELL_TARGETS_AOE_DAMAGE);
|
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;
|
break;
|
||||||
}
|
}
|
||||||
case TARGET_LARGE_FRONTAL_CONE:
|
case TARGET_LARGE_FRONTAL_CONE:
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,7 @@
|
||||||
#include "Vehicle.h"
|
#include "Vehicle.h"
|
||||||
#include "CellImpl.h"
|
#include "CellImpl.h"
|
||||||
#include "Language.h"
|
#include "Language.h"
|
||||||
|
#include "MapManager.h"
|
||||||
|
|
||||||
#define NULL_AURA_SLOT 0xFF
|
#define NULL_AURA_SLOT 0xFF
|
||||||
|
|
||||||
|
|
@ -1264,10 +1265,23 @@ void Aura::TriggerSpell()
|
||||||
}
|
}
|
||||||
// // Pain Spike
|
// // Pain Spike
|
||||||
// case 25572: break;
|
// case 25572: break;
|
||||||
// // Rotate 360
|
case 26009: // Rotate 360
|
||||||
// case 26009: break;
|
case 26136: // Rotate -360
|
||||||
// // Rotate -360
|
{
|
||||||
// case 26136: break;
|
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
|
// // Consume
|
||||||
// case 26196: break;
|
// case 26196: break;
|
||||||
// // Berserk
|
// // Berserk
|
||||||
|
|
@ -8094,9 +8108,13 @@ void Aura::PeriodicDummyTick()
|
||||||
case 68876: // Wailing Souls
|
case 68876: // Wailing Souls
|
||||||
{
|
{
|
||||||
// Sweep around
|
// Sweep around
|
||||||
float newAngle = target->GetOrientation() + (spell->Id == 68875 ? 0.09f : 2 * M_PI_F - 0.09f);
|
float newAngle = target->GetOrientation();
|
||||||
if (newAngle > 2 * M_PI_F)
|
if (spell->Id == 68875)
|
||||||
newAngle -= 2 * M_PI_F;
|
newAngle += 0.09f;
|
||||||
|
else
|
||||||
|
newAngle -= 0.09f;
|
||||||
|
|
||||||
|
MapManager::NormalizeOrientation(newAngle);
|
||||||
|
|
||||||
target->SetFacingTo(newAngle);
|
target->SetFacingTo(newAngle);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6871,6 +6871,14 @@ void Spell::EffectScriptEffect(SpellEffectEntry const* effect)
|
||||||
unitTarget->HandleEmote(EMOTE_ONESHOT_CHEER);
|
unitTarget->HandleEmote(EMOTE_ONESHOT_CHEER);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
case 26137: // Rotate Trigger
|
||||||
|
{
|
||||||
|
if (!unitTarget)
|
||||||
|
return;
|
||||||
|
|
||||||
|
unitTarget->CastSpell(unitTarget, urand(0, 1) ? 26009 : 26136, true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
case 26218: // Mistletoe
|
case 26218: // Mistletoe
|
||||||
{
|
{
|
||||||
if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER)
|
if (!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER)
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "0078"
|
#define REVISION_NR "12090"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue