diff options
-rw-r--r-- | src/game/Spell.cpp | 8 | ||||
-rw-r--r-- | src/game/SpellAuraEffects.cpp | 7 | ||||
-rw-r--r-- | src/game/SpellMgr.cpp | 2 |
3 files changed, 14 insertions, 3 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 9e1f632ad33..76fa2922d19 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -5075,10 +5075,14 @@ SpellCastResult Spell::CheckCast(bool strict) //custom check switch(m_spellInfo->Id) { - case SPELL_TAG_MURLOC_30877: - if (!m_targets.getUnitTarget() || (m_targets.getUnitTarget() && (m_targets.getUnitTarget()->HasAura(SPELL_TAG_MURLOC_30877) || m_targets.getUnitTarget()->GetTypeId() != TYPEID_UNIT || (m_targets.getUnitTarget()->GetTypeId() == TYPEID_UNIT && ((Creature*)m_targets.getUnitTarget())->GetEntry() != 17326 ))))// Tag Murloc, Blacksilt Scout + // Tag Murloc + case 30877: + { + Unit* target = m_targets.getUnitTarget(); + if (!target || target->GetEntry() != 17326) 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/SpellAuraEffects.cpp b/src/game/SpellAuraEffects.cpp index 14161feac2e..1492d586943 100644 --- a/src/game/SpellAuraEffects.cpp +++ b/src/game/SpellAuraEffects.cpp @@ -5681,6 +5681,13 @@ void AuraEffect::HandleAuraDummy(AuraApplication const * aurApp, uint8 mode, boo target->RemoveAurasDueToSpell(spellId); break; } + // Tag Murloc + case 30877: + { + // Tag/untag Blacksilt Scout + target->SetEntry(apply ? 17654 : 17326); + break; + } //Summon Fire Elemental case 40133: { diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp index 8faa28b5e8b..2bd1943c8ca 100644 --- a/src/game/SpellMgr.cpp +++ b/src/game/SpellMgr.cpp @@ -767,7 +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_TAG_MURLOC_30877: // Tag Murloc + case 30877: // Tag Murloc return true; } |