Merge branch 'master' of https://github.com/azerothcore/azerothcore-wotlk into dir-restructure

This commit is contained in:
Yehonal
2017-12-21 11:26:43 +01:00
445 changed files with 49192 additions and 15431 deletions

View File

@@ -1545,12 +1545,16 @@ class spell_dk_death_grip : public SpellScriptLoader
{
PrepareSpellScript(spell_dk_death_grip_SpellScript);
SpellCastResult CheckPvPRange()
SpellCastResult CheckCast()
{
Unit* caster = GetCaster();
if (Unit* target = GetExplTargetUnit())
if (target->GetTypeId() == TYPEID_PLAYER && caster->GetExactDist(target) < 8.0f) // xinef: should be 8.0f, but we have to add target size (1.5f)
return SPELL_FAILED_TOO_CLOSE;
Unit* target = GetExplTargetUnit();
if (target->GetTypeId() == TYPEID_PLAYER && caster->GetExactDist(target) < 8.0f) // xinef: should be 8.0f, but we have to add target size (1.5f)
return SPELL_FAILED_TOO_CLOSE;
if (caster->HasUnitState(UNIT_STATE_JUMPING) || caster->HasUnitMovementFlag(MOVEMENTFLAG_FALLING))
return SPELL_FAILED_MOVING;
return SPELL_CAST_OK;
}
@@ -1560,9 +1564,22 @@ class spell_dk_death_grip : public SpellScriptLoader
Unit* caster = GetCaster();
Unit* target = GetHitUnit();
Unit* baseTarget = GetExplTargetUnit();
Creature* targetCreature = GetHitCreature();
if (caster != target)
caster->CastSpell(target, 49560, true);
{
if (targetCreature && (targetCreature->isWorldBoss() || targetCreature->IsDungeonBoss()))
{
return;
}
else
{
caster->CastSpell(target, 49560, true);
const SpellInfo* spellInfo = sSpellMgr->GetSpellInfo(1766); // Rogue kick
if (!target->IsImmunedToSpellEffect(spellInfo, EFFECT_0))
target->InterruptNonMeleeSpells(true);
}
}
else
baseTarget->CastSpell(caster, 49560, true);
}
@@ -1592,7 +1609,7 @@ class spell_dk_death_grip : public SpellScriptLoader
{
if (m_scriptSpellId == 49576) // xinef: base death grip, add pvp range restriction
{
OnCheckCast += SpellCheckCastFn(spell_dk_death_grip_SpellScript::CheckPvPRange);
OnCheckCast += SpellCheckCastFn(spell_dk_death_grip_SpellScript::CheckCast);
OnEffectHitTarget += SpellEffectFn(spell_dk_death_grip_SpellScript::HandleBaseDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
}
else