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
|
||||
if (m_spellProto->SpellFamilyFlags & UI64LIT(0x0000000000004000))
|
||||
{
|
||||
// $RAP*0.1/5 bonus per tick
|
||||
m_modifier.m_amount += int32(caster->GetTotalAttackPowerValue(RANGED_ATTACK) * 10 / 500);
|
||||
// $RAP*0.2/5 bonus per tick
|
||||
m_modifier.m_amount += int32(caster->GetTotalAttackPowerValue(RANGED_ATTACK) * 0.2 / 5);
|
||||
return;
|
||||
}
|
||||
// Immolation Trap
|
||||
|
|
|
|||
|
|
@ -5458,19 +5458,35 @@ void Spell::EffectScriptEffect(uint32 effIndex)
|
|||
// Serpent Sting - Instantly deals 40% of the damage done by your Serpent Sting.
|
||||
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;
|
||||
spellId = 53353; // Chimera Shot - Serpent
|
||||
}
|
||||
// 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)
|
||||
{
|
||||
spellId = 53358; // 53358 Chimera Shot - Viper
|
||||
basePoint = aura->GetModifier()->m_amount * 4 * 60 / 100;
|
||||
uint32 target_max_mana = unitTarget->GetMaxPower(POWER_MANA);
|
||||
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;
|
||||
}
|
||||
// Scorpid Sting - Attempts to Disarm the target for 10 sec. This effect cannot occur more than once per 1 minute.
|
||||
if (familyFlag & UI64LIT(0x0000000000008000))
|
||||
spellId = 53359; // 53359 Chimera Shot - Scorpid
|
||||
spellId = 53359; // Chimera Shot - Scorpid
|
||||
// ?? nothing say in spell desc (possibly need addition check)
|
||||
//if ((familyFlag & UI64LIT(0x0000010000000000)) || // dot
|
||||
// (familyFlag & UI64LIT(0x0000100000000000))) // stun
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#ifndef __REVISION_NR_H__
|
||||
#define __REVISION_NR_H__
|
||||
#define REVISION_NR "9022"
|
||||
#define REVISION_NR "9023"
|
||||
#endif // __REVISION_NR_H__
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue