mirror of
https://github.com/mangosfour/server.git
synced 2025-12-17 16:37:00 +00:00
[9023] Fixed some hunter sting affects.
* spell 1978 and ranks RAP bonus * spell 53209 affect from spell 3034 dot.
This commit is contained in:
parent
b95e3046c0
commit
29a096a348
3 changed files with 23 additions and 7 deletions
|
|
@ -4788,8 +4788,8 @@ void Aura::HandlePeriodicDamage(bool apply, bool Real)
|
||||||
// Serpent Sting
|
// Serpent Sting
|
||||||
if (m_spellProto->SpellFamilyFlags & UI64LIT(0x0000000000004000))
|
if (m_spellProto->SpellFamilyFlags & UI64LIT(0x0000000000004000))
|
||||||
{
|
{
|
||||||
// $RAP*0.1/5 bonus per tick
|
// $RAP*0.2/5 bonus per tick
|
||||||
m_modifier.m_amount += int32(caster->GetTotalAttackPowerValue(RANGED_ATTACK) * 10 / 500);
|
m_modifier.m_amount += int32(caster->GetTotalAttackPowerValue(RANGED_ATTACK) * 0.2 / 5);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Immolation Trap
|
// Immolation Trap
|
||||||
|
|
|
||||||
|
|
@ -5458,19 +5458,35 @@ void Spell::EffectScriptEffect(uint32 effIndex)
|
||||||
// Serpent Sting - Instantly deals 40% of the damage done by your Serpent Sting.
|
// Serpent Sting - Instantly deals 40% of the damage done by your Serpent Sting.
|
||||||
if ((familyFlag & UI64LIT(0x0000000000004000)) && aura->GetEffIndex() == 0)
|
if ((familyFlag & UI64LIT(0x0000000000004000)) && aura->GetEffIndex() == 0)
|
||||||
{
|
{
|
||||||
spellId = 53353; // 53353 Chimera Shot - Serpent
|
// m_amount already include RAP bonus
|
||||||
basePoint = aura->GetModifier()->m_amount * 5 * 40 / 100;
|
basePoint = aura->GetModifier()->m_amount * 5 * 40 / 100;
|
||||||
|
spellId = 53353; // Chimera Shot - Serpent
|
||||||
}
|
}
|
||||||
// Viper Sting - Instantly restores mana to you equal to 60% of the total amount drained by your Viper Sting.
|
// Viper Sting - Instantly restores mana to you equal to 60% of the total amount drained by your Viper Sting.
|
||||||
if ((familyFlag & UI64LIT(0x0000008000000000)) && aura->GetEffIndex() == 0)
|
if ((familyFlag & UI64LIT(0x0000008000000000)) && aura->GetEffIndex() == 0)
|
||||||
{
|
{
|
||||||
spellId = 53358; // 53358 Chimera Shot - Viper
|
uint32 target_max_mana = unitTarget->GetMaxPower(POWER_MANA);
|
||||||
basePoint = aura->GetModifier()->m_amount * 4 * 60 / 100;
|
if (!target_max_mana)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
// ignore non positive values (can be result apply spellmods to aura damage
|
||||||
|
uint32 pdamage = aura->GetModifier()->m_amount > 0 ? aura->GetModifier()->m_amount : 0;
|
||||||
|
|
||||||
|
// Special case: draining x% of mana (up to a maximum of 2*x% of the caster's maximum mana)
|
||||||
|
uint32 maxmana = m_caster->GetMaxPower(POWER_MANA) * pdamage * 2 / 100;
|
||||||
|
|
||||||
|
pdamage = target_max_mana * pdamage / 100;
|
||||||
|
if (pdamage > maxmana)
|
||||||
|
pdamage = maxmana;
|
||||||
|
|
||||||
|
pdamage *= 4; // total aura damage
|
||||||
|
basePoint = pdamage * 60 / 100;
|
||||||
|
spellId = 53358; // Chimera Shot - Viper
|
||||||
target = m_caster;
|
target = m_caster;
|
||||||
}
|
}
|
||||||
// Scorpid Sting - Attempts to Disarm the target for 10 sec. This effect cannot occur more than once per 1 minute.
|
// Scorpid Sting - Attempts to Disarm the target for 10 sec. This effect cannot occur more than once per 1 minute.
|
||||||
if (familyFlag & UI64LIT(0x0000000000008000))
|
if (familyFlag & UI64LIT(0x0000000000008000))
|
||||||
spellId = 53359; // 53359 Chimera Shot - Scorpid
|
spellId = 53359; // Chimera Shot - Scorpid
|
||||||
// ?? nothing say in spell desc (possibly need addition check)
|
// ?? nothing say in spell desc (possibly need addition check)
|
||||||
//if ((familyFlag & UI64LIT(0x0000010000000000)) || // dot
|
//if ((familyFlag & UI64LIT(0x0000010000000000)) || // dot
|
||||||
// (familyFlag & UI64LIT(0x0000100000000000))) // stun
|
// (familyFlag & UI64LIT(0x0000100000000000))) // stun
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "9022"
|
#define REVISION_NR "9023"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue