*Fix Judgement of Widsom and Living Bomb - oryginal patch by Lightguard.

*Fix amount of Steady shot damage-by fisherman.
*Fix heroic fury-by aerione_alt and pasdVn.

--HG--
branch : trunk
This commit is contained in:
QAston
2009-03-03 22:26:26 +01:00
parent ffa68907cf
commit d06e75e0a8
3 changed files with 30 additions and 7 deletions
+19
View File
@@ -2072,6 +2072,14 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
}
case SPELLFAMILY_MAGE:
{
// Living Bomb
if (m_spellProto->SpellFamilyFlags[1] & 0x20000)
{
if(!m_target || !caster || m_removeMode == AURA_REMOVE_BY_DISPEL || m_removeMode == AURA_REMOVE_BY_DEFAULT)
return;
caster->CastSpell(m_target, GetModifier()->m_amount, true, NULL, NULL, GetCasterGUID());
return;
}
break;
}
case SPELLFAMILY_PRIEST:
@@ -3689,6 +3697,17 @@ void Aura::HandleModMechanicImmunity(bool apply, bool Real)
m_target->RemoveAurasDueToSpell(26592);
}
}
// Heroic Fury (remove Intercept cooldown)
if( apply && GetId() == 60970 && m_target->GetTypeId() == TYPEID_PLAYER )
{
((Player*)m_target)->RemoveSpellCooldown(20252);
WorldPacket data(SMSG_CLEAR_COOLDOWN, (4+8));
data << uint32(20252);
data << uint64(m_target->GetGUID());
((Player*)m_target)->GetSession()->SendPacket(&data);
}
}
void Aura::HandleAuraModEffectImmunity(bool apply, bool Real)
+10 -1
View File
@@ -584,7 +584,7 @@ void Spell::SpellDamageSchoolDmg(uint32 effect_idx)
else if(m_spellInfo->SpellFamilyFlags[1] & 0x1)
{
int32 base = irand((int32)m_caster->GetWeaponDamageRange(RANGED_ATTACK, MINDAMAGE),(int32)m_caster->GetWeaponDamageRange(RANGED_ATTACK, MAXDAMAGE));
damage += int32(float(base)/m_caster->GetAttackTime(RANGED_ATTACK)*2800 + m_caster->GetTotalAttackPowerValue(RANGED_ATTACK)*0.2f);
damage += int32(float(base)/m_caster->GetAttackTime(RANGED_ATTACK)*2800 + m_caster->GetTotalAttackPowerValue(RANGED_ATTACK)*0.1f);
bool found = false;
@@ -2839,6 +2839,15 @@ void Spell::EffectEnergize(uint32 i)
if (level_diff > 0)
damage -= multiplier * level_diff;
//Judgement of wisdom energize effect
if(m_spellInfo->Id == 20268)
{
if(unitTarget->GetTypeId() == TYPEID_PLAYER)
{
damage = unitTarget->GetCreateMana() * damage / 100;
}
}
if(damage < 0)
return;
+1 -6
View File
@@ -5796,12 +5796,7 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
// Judgement of Wisdom
case 20186:
{
if (pVictim->getPowerType() == POWER_MANA)
{
int32 gainMana = pVictim->GetCreateMana() * triggeredByAura->GetBasePoints() / 100;
pVictim->CastCustomSpell(pVictim, 20268, &gainMana, 0, 0, true, 0, triggeredByAura);
}
return true;
pVictim->CastSpell(pVictim, 20268, true, NULL, triggeredByAura);
}
// Holy Power (Redemption Armor set)
case 28789: