Clean up and revision of proc chance bonuses

Combat Effects and WeaponProc bonuses will no longer affect melee spell procs
This commit is contained in:
KayenEQ
2014-02-26 05:16:37 -05:00
parent 8caac162b2
commit 205dd8a1e5
8 changed files with 54 additions and 50 deletions
+9 -12
View File
@@ -963,7 +963,7 @@ void Client::ApplyAABonuses(uint32 aaid, uint32 slots, StatBonuses* newbon)
newbon->GiveDoubleAttack += base1;
break;
case SE_ProcChance:
newbon->ProcChance += base1;
newbon->ProcChanceSPA += base1;
break;
case SE_RiposteChance:
newbon->RiposteChance += base1;
@@ -1890,17 +1890,14 @@ void Mob::ApplySpellsBonuses(uint16 spell_id, uint8 casterlevel, StatBonuses* ne
case SE_ProcChance:
{
//multiplier is to be compatible with item effects,watching for overflow too
effect_value = effect_value<3000? effect_value : 3000;
if (RuleB(Spells, AdditiveBonusValues) && item_bonus)
newbon->ProcChance += effect_value;
newbon->ProcChanceSPA += effect_value;
else if((effect_value < 0) && (newbon->DoubleAttackChance > effect_value))
newbon->ProcChance = effect_value;
else if((effect_value < 0) && (newbon->ProcChanceSPA > effect_value))
newbon->ProcChanceSPA = effect_value;
if(newbon->ProcChance < effect_value)
newbon->ProcChance = effect_value;
if(newbon->ProcChanceSPA < effect_value)
newbon->ProcChanceSPA = effect_value;
break;
}
@@ -3323,9 +3320,9 @@ void Mob::NegateSpellsBonuses(uint16 spell_id)
break;
case SE_ProcChance:
spellbonuses.ProcChance = effect_value;
aabonuses.ProcChance = effect_value;
itembonuses.ProcChance = effect_value;
spellbonuses.ProcChanceSPA = effect_value;
aabonuses.ProcChanceSPA = effect_value;
itembonuses.ProcChanceSPA = effect_value;
break;
case SE_ExtraAttackChance: