Implemention for SE_Berserk, SE_Vampirism (These are not used on live)

Fix for NPC not receiving spell bonus derived HP regen.
This commit is contained in:
KayenEQ
2014-06-20 18:10:29 -04:00
parent 70476bfb06
commit 5a14a85f52
8 changed files with 67 additions and 31 deletions
+28
View File
@@ -1248,6 +1248,10 @@ void Client::ApplyAABonuses(uint32 aaid, uint32 slots, StatBonuses* newbon)
break;
}
case SE_Vampirism:
newbon->Vampirism += base1;
break;
case SE_FrenziedDevastation:
newbon->FrenziedDevastation += base2;
break;
@@ -1256,6 +1260,10 @@ void Client::ApplyAABonuses(uint32 aaid, uint32 slots, StatBonuses* newbon)
newbon->SpellProcChance += base1;
break;
case SE_Berserk:
newbon->BerserkSPA = true;
break;
}
}
}
@@ -1827,6 +1835,10 @@ void Mob::ApplySpellsBonuses(uint16 spell_id, uint8 casterlevel, StatBonuses* ne
break;
}
case SE_Vampirism:
newbon->Vampirism += effect_value;
break;
case SE_AllInstrumentMod:
{
if(effect_value > newbon->singingMod)
@@ -2705,6 +2717,10 @@ void Mob::ApplySpellsBonuses(uint16 spell_id, uint8 casterlevel, StatBonuses* ne
newbon->DStacker = true;
break;
case SE_Berserk:
newbon->BerserkSPA = true;
break;
//Special custom cases for loading effects on to NPC from 'npc_spels_effects' table
if (IsAISpellEffect) {
@@ -4094,6 +4110,18 @@ void Mob::NegateSpellsBonuses(uint16 spell_id)
spellbonuses.AbsorbMagicAtt[0] = effect_value;
spellbonuses.AbsorbMagicAtt[1] = -1;
break;
case SE_Berserk:
spellbonuses.BerserkSPA = false;
aabonuses.BerserkSPA = false;
itembonuses.BerserkSPA = false;
break;
case SE_Vampirism:
spellbonuses.Vampirism = effect_value;
aabonuses.Vampirism = effect_value;
itembonuses.Vampirism = effect_value;
break;
}
}