mirror of
https://github.com/mangosfour/server.git
synced 2025-12-14 07:37:01 +00:00
[11934] Implement spell 37125 periodic trigger code.
Signed-off-by: Schmoozerd <schmoozerd@scriptdev2.com>
This commit is contained in:
parent
fdfc6dece6
commit
3798f549e6
2 changed files with 22 additions and 6 deletions
|
|
@ -1117,24 +1117,40 @@ void Aura::TriggerSpell()
|
||||||
}
|
}
|
||||||
case 23184: // Mark of Frost
|
case 23184: // Mark of Frost
|
||||||
case 25041: // Mark of Nature
|
case 25041: // Mark of Nature
|
||||||
|
case 37125: // Mark of Death
|
||||||
{
|
{
|
||||||
std::list<Player*> targets;
|
std::list<Player*> targets;
|
||||||
|
|
||||||
// spells existed in 1.x.x; 23183 - mark of frost; 25042 - mark of nature; both had radius of 100.0 yards in 1.x.x DBC
|
// spells existed in 1.x.x; 23183 - mark of frost; 25042 - mark of nature; both had radius of 100.0 yards in 1.x.x DBC
|
||||||
// spells are used by Azuregos and the Emerald dragons in order to put a stun debuff on the players which resurrect during the encounter
|
// spells are used by Azuregos and the Emerald dragons in order to put a stun debuff on the players which resurrect during the encounter
|
||||||
// in order to implement the missing spells we need to make a grid search for hostile players and check their auras; if they are marked apply debuff
|
// in order to implement the missing spells we need to make a grid search for hostile players and check their auras; if they are marked apply debuff
|
||||||
|
// spell 37127 used for the Mark of Death, is used server side, so it needs to be implemented here
|
||||||
|
|
||||||
// Mark of Frost or Mark of Nature
|
uint32 markSpellId = 0;
|
||||||
uint32 markSpellId = auraId == 23184 ? 23182 : 25040;
|
uint32 debuffSpellId = 0;
|
||||||
// Aura of Frost or Aura of Nature
|
|
||||||
uint32 debufSpellId = auraId == 23184 ? 23186 : 25043;
|
switch (auraId)
|
||||||
|
{
|
||||||
|
case 23184:
|
||||||
|
markSpellId = 23182;
|
||||||
|
debuffSpellId = 23186;
|
||||||
|
break;
|
||||||
|
case 25041:
|
||||||
|
markSpellId = 25040;
|
||||||
|
debuffSpellId = 25043;
|
||||||
|
break;
|
||||||
|
case 37125:
|
||||||
|
markSpellId = 37128;
|
||||||
|
debuffSpellId = 37131;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
MaNGOS::AnyPlayerInObjectRangeWithAuraCheck u_check(GetTarget(), 100.0f, markSpellId);
|
MaNGOS::AnyPlayerInObjectRangeWithAuraCheck u_check(GetTarget(), 100.0f, markSpellId);
|
||||||
MaNGOS::PlayerListSearcher<MaNGOS::AnyPlayerInObjectRangeWithAuraCheck > checker(targets, u_check);
|
MaNGOS::PlayerListSearcher<MaNGOS::AnyPlayerInObjectRangeWithAuraCheck > checker(targets, u_check);
|
||||||
Cell::VisitWorldObjects(GetTarget(), checker, 100.0f);
|
Cell::VisitWorldObjects(GetTarget(), checker, 100.0f);
|
||||||
|
|
||||||
for (std::list<Player*>::iterator itr = targets.begin(); itr != targets.end(); ++itr)
|
for (std::list<Player*>::iterator itr = targets.begin(); itr != targets.end(); ++itr)
|
||||||
(*itr)->CastSpell((*itr), debufSpellId, true, NULL, NULL, casterGUID);
|
(*itr)->CastSpell((*itr), debuffSpellId, true, NULL, NULL, casterGUID);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "11933"
|
#define REVISION_NR "11934"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue