mirror of
https://github.com/mangosfour/server.git
synced 2025-12-29 07:37:05 +00:00
[7175] Fix some hunter abilites
56342 and ranks - proc on trap activation 34497 and ranks - mana restor amount 56333 and ranks add some cast as trap activation Signed-off-by: DiSlord <dislord@nomail.com>
This commit is contained in:
parent
7d90c7eb87
commit
b99bc7918d
7 changed files with 33 additions and 8 deletions
|
|
@ -760,7 +760,7 @@ void Spell::prepareDataForTriggerSystem()
|
|||
}
|
||||
// Hunter traps spells (for Entrapment trigger)
|
||||
// Gives your Immolation Trap, Frost Trap, Explosive Trap, and Snake Trap ....
|
||||
if (m_spellInfo->SpellFamilyName == SPELLFAMILY_HUNTER && m_spellInfo->SpellFamilyFlags & 0x0000200000000014LL)
|
||||
if (m_spellInfo->SpellFamilyName == SPELLFAMILY_HUNTER && m_spellInfo->SpellFamilyFlags & 0x000020000000001CLL)
|
||||
m_procAttacker |= PROC_FLAG_ON_TRAP_ACTIVATION;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -888,7 +888,7 @@ bool SpellMgr::IsSpellProcEventCanTriggeredBy(SpellProcEventEntry const * spellP
|
|||
return false;
|
||||
|
||||
// Always trigger for this
|
||||
if (EventProcFlag & (PROC_FLAG_KILLED | PROC_FLAG_KILL))
|
||||
if (EventProcFlag & (PROC_FLAG_KILLED | PROC_FLAG_KILL | PROC_FLAG_ON_TRAP_ACTIVATION))
|
||||
return true;
|
||||
|
||||
if (spellProcEvent) // Exist event data
|
||||
|
|
|
|||
|
|
@ -5278,7 +5278,8 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
|
|||
return false;
|
||||
|
||||
// mana cost save
|
||||
basepoints0 = procSpell->manaCost * 40/100;
|
||||
int32 mana = procSpell->manaCost + procSpell->ManaCostPercentage * GetCreateMana() / 100;
|
||||
basepoints0 = mana * 40/100;
|
||||
if(basepoints0 <= 0)
|
||||
return false;
|
||||
|
||||
|
|
@ -5297,9 +5298,7 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
|
|||
if ( dummySpell->SpellIconID == 3579 )
|
||||
{
|
||||
// Proc only from periodic (from trap activation proc another aura of this spell)
|
||||
if (!(procFlag & PROC_FLAG_ON_DO_PERIODIC))
|
||||
return false;
|
||||
if (!roll_chance_i(triggeredByAura->GetModifier()->m_amount))
|
||||
if (!(procFlag & PROC_FLAG_ON_DO_PERIODIC) || !roll_chance_i(triggerAmount))
|
||||
return false;
|
||||
triggered_spell_id = 56453;
|
||||
target = this;
|
||||
|
|
@ -6615,6 +6614,14 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, Aura* triggeredB
|
|||
return false;
|
||||
break;
|
||||
}
|
||||
// Lock and Load
|
||||
case 56453:
|
||||
{
|
||||
// Proc only from trap activation (from periodic proc another aura of this spell)
|
||||
if (!(procFlags & PROC_FLAG_ON_TRAP_ACTIVATION) || !roll_chance_i(triggerAmount))
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if( cooldown && GetTypeId()==TYPEID_PLAYER && ((Player*)this)->HasSpellCooldown(trigger_spell_id))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue