aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/SharedDefines.h1
-rw-r--r--src/game/Spell.cpp4
-rw-r--r--src/game/SpellMgr.cpp5
3 files changed, 10 insertions, 0 deletions
diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h
index e915dd2ec9c..ce2e5f8a392 100644
--- a/src/game/SharedDefines.h
+++ b/src/game/SharedDefines.h
@@ -2369,6 +2369,7 @@ enum CorpseDynFlags
#define SPELL_ID_HONORLESS_TARGET 2479 // Honorless target
#define SPELL_ID_DUEL_BEG 7267 // Beg
#define SPELL_ID_DEATH_GATE 50977 // Death Gate
+#define SPELL_ID_TAG_MURLOC 30877 // Tag Murloc
enum WeatherType
{
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 569602ad680..2d04a9ebfdf 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -5074,6 +5074,10 @@ SpellCastResult Spell::CheckCast(bool strict)
//custom check
switch(m_spellInfo->Id)
{
+ case SPELL_ID_TAG_MURLOC:
+ if (!m_targets.getUnitTarget() || (m_targets.getUnitTarget() && (m_targets.getUnitTarget()->HasAura(SPELL_ID_TAG_MURLOC) || m_targets.getUnitTarget()->GetTypeId() != TYPEID_UNIT || (m_targets.getUnitTarget()->GetTypeId() == TYPEID_UNIT && ((Creature*)m_targets.getUnitTarget())->GetEntry() != 17326 ))))// Tag Murloc, Blacksilt Scout
+ return SPELL_FAILED_BAD_TARGETS;
+ break;
case 61336:
if(m_caster->GetTypeId() != TYPEID_PLAYER || !((Player*)m_caster)->IsInFeralForm())
return SPELL_FAILED_ONLY_SHAPESHIFT;
diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp
index 879e030a614..a95b159ed8e 100644
--- a/src/game/SpellMgr.cpp
+++ b/src/game/SpellMgr.cpp
@@ -767,6 +767,7 @@ bool SpellMgr::_isPositiveEffect(uint32 spellId, uint32 effIndex, bool deep) con
case 50524: // Runic Power Feed
return false;
case 12042: // Arcane Power
+ case SPELL_ID_TAG_MURLOC: // Tag Murloc
return true;
}
@@ -3806,6 +3807,10 @@ void SpellMgr::LoadSpellCustomAttr()
spellInfo->AttributesEx5 |= SPELL_ATTR_EX5_START_PERIODIC_AT_APPLY;
count++;
break;
+ case SPELL_ID_TAG_MURLOC:
+ spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_NEARBY_ENTRY;
+ spellInfo->EffectImplicitTargetB[0] = 0;
+ break;
default:
break;
}