mirror of
https://github.com/mangosfour/server.git
synced 2025-12-14 07:37:01 +00:00
Merge commit 'origin/master' into 310
Conflicts: src/game/Player.cpp
This commit is contained in:
commit
6821c24268
27 changed files with 414 additions and 105 deletions
|
|
@ -3352,6 +3352,7 @@ bool Unit::AddAura(Aura *Aur)
|
|||
}
|
||||
|
||||
SpellEntry const* aurSpellInfo = Aur->GetSpellProto();
|
||||
AuraType aurName = Aur->GetModifier()->m_auraname;
|
||||
|
||||
spellEffectPair spair = spellEffectPair(Aur->GetId(), Aur->GetEffIndex());
|
||||
AuraMap::iterator i = m_Auras.find( spair );
|
||||
|
|
@ -3379,7 +3380,7 @@ bool Unit::AddAura(Aura *Aur)
|
|||
}
|
||||
|
||||
bool stop = false;
|
||||
switch(aurSpellInfo->EffectApplyAuraName[Aur->GetEffIndex()])
|
||||
switch(aurName)
|
||||
{
|
||||
// DoT/HoT/etc
|
||||
case SPELL_AURA_PERIODIC_DAMAGE: // allow stack
|
||||
|
|
@ -3455,13 +3456,13 @@ bool Unit::AddAura(Aura *Aur)
|
|||
// add aura, register in lists and arrays
|
||||
Aur->_AddAura();
|
||||
m_Auras.insert(AuraMap::value_type(spellEffectPair(Aur->GetId(), Aur->GetEffIndex()), Aur));
|
||||
if (Aur->GetModifier()->m_auraname < TOTAL_AURAS)
|
||||
if (aurName < TOTAL_AURAS)
|
||||
{
|
||||
m_modAuras[Aur->GetModifier()->m_auraname].push_back(Aur);
|
||||
m_modAuras[aurName].push_back(Aur);
|
||||
}
|
||||
|
||||
Aur->ApplyModifier(true,true);
|
||||
sLog.outDebug("Aura %u now is in use", Aur->GetModifier()->m_auraname);
|
||||
sLog.outDebug("Aura %u now is in use", aurName);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -5323,6 +5324,16 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
|
|||
}
|
||||
case SPELLFAMILY_HUNTER:
|
||||
{
|
||||
// Aspect of the Viper
|
||||
if ( dummySpell->SpellFamilyFlags & 0x4000000000000LL )
|
||||
{
|
||||
uint32 maxmana = GetMaxPower(POWER_MANA);
|
||||
basepoints0 = maxmana* GetAttackTime(RANGED_ATTACK)/1000.0f/100.0f;
|
||||
|
||||
target = this;
|
||||
triggered_spell_id = 34075;
|
||||
break;
|
||||
}
|
||||
// Thrill of the Hunt
|
||||
if ( dummySpell->SpellIconID == 2236 )
|
||||
{
|
||||
|
|
@ -6227,8 +6238,8 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, Aura* triggeredB
|
|||
switch(GetFirstSchoolInMask(GetSpellSchoolMask(procSpell)))
|
||||
{
|
||||
case SPELL_SCHOOL_NORMAL:
|
||||
case SPELL_SCHOOL_HOLY:
|
||||
return false; // ignore
|
||||
case SPELL_SCHOOL_HOLY: trigger_spell_id = 54370; break;
|
||||
case SPELL_SCHOOL_FIRE: trigger_spell_id = 54371; break;
|
||||
case SPELL_SCHOOL_NATURE: trigger_spell_id = 54375; break;
|
||||
case SPELL_SCHOOL_FROST: trigger_spell_id = 54372; break;
|
||||
|
|
@ -10614,6 +10625,7 @@ void Unit::ProcDamageAndSpellFor( bool isVictim, Unit * pTarget, uint32 procFlag
|
|||
break;
|
||||
}
|
||||
case SPELL_AURA_MANA_SHIELD:
|
||||
case SPELL_AURA_OBS_MOD_MANA:
|
||||
case SPELL_AURA_DUMMY:
|
||||
{
|
||||
sLog.outDebug("ProcDamageAndSpell: casting spell id %u (triggered by %s dummy aura of spell %u)", spellInfo->Id,(isVictim?"a victim's":"an attacker's"), triggeredByAura->GetId());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue