diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index ffef7e971..0fc684664 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -1164,6 +1164,14 @@ void Spell::EffectDummy(SpellEffectIndex eff_idx) unitTarget->RemoveAurasDueToSpell(43874); return; } + case 44454: // Tasty Reef Fish + { + if (!unitTarget || unitTarget->GetTypeId() != TYPEID_UNIT) + return; + + m_caster->CastSpell(unitTarget, 44455, true, m_CastItem); + return; + } case 44875: // Complete Raptor Capture { if (!unitTarget || unitTarget->GetTypeId() != TYPEID_UNIT) @@ -5306,6 +5314,39 @@ void Spell::EffectScriptEffect(SpellEffectIndex eff_idx) unitTarget->CastSpell(unitTarget, 41131, true); break; } + case 44455: // Character Script Effect Reverse Cast + { + if (!unitTarget || unitTarget->GetTypeId() != TYPEID_UNIT) + return; + + Creature* pTarget = (Creature*)unitTarget; + + if (const SpellEntry *pSpell = sSpellStore.LookupEntry(m_spellInfo->CalculateSimpleValue(eff_idx))) + { + // if we used item at least once... + if (pTarget->isTemporarySummon() && pTarget->GetEntry() == pSpell->EffectMiscValue[eff_idx]) + { + TemporarySummon* pSummon = (TemporarySummon*)pTarget; + + // can only affect "own" summoned + if (pSummon->GetSummonerGUID() == m_caster->GetGUID()) + { + if (pTarget->hasUnitState(UNIT_STAT_ROAMING | UNIT_STAT_ROAMING_MOVE)) + pTarget->GetMotionMaster()->MovementExpired(); + + pTarget->GetMotionMaster()->MovePoint(0, m_caster->GetPositionX(), m_caster->GetPositionY(), m_caster->GetPositionZ()); + } + + return; + } + + // or if we are first time used item + m_caster->CastSpell(pTarget, pSpell, true); + pTarget->ForcedDespawn(); + } + + return; + } case 44876: // Force Cast - Portal Effect: Sunwell Isle { if (!unitTarget) diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 038f8ed8e..7b14e019a 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "9441" + #define REVISION_NR "9442" #endif // __REVISION_NR_H__