Make SPA 112 affect fizzle rate not effective caster level

Per dev quote, SPA 112 "Modifies casting skills of the affected
entity by BaseEffect for the purposes of determining whether or not a
fizzle occurs when casting spells."

Fixes issues caused by having a spell with this effect on caster such
as wrong target debuff durations and buff refreshes not taking hold.
This commit is contained in:
hg
2018-09-13 19:25:05 -04:00
parent 953bee6c21
commit a73bf221ed
5 changed files with 27 additions and 3 deletions
+17 -3
View File
@@ -1217,8 +1217,12 @@ void Mob::ApplyAABonuses(const AA::Rank &rank, StatBonuses *newbon)
break;
}
case SE_CastingLevel2:
case SE_CastingLevel: {
newbon->adjusted_casting_skill += base1;
break;
}
case SE_CastingLevel2: {
newbon->effective_casting_level += base1;
break;
}
@@ -1917,8 +1921,13 @@ void Mob::ApplySpellsBonuses(uint16 spell_id, uint8 casterlevel, StatBonuses *ne
break;
}
case SE_CastingLevel2:
case SE_CastingLevel: // Brilliance of Ro
{
new_bonus->adjusted_casting_skill += effect_value;
break;
}
case SE_CastingLevel2:
{
new_bonus->effective_casting_level += effect_value;
break;
@@ -3867,8 +3876,13 @@ void Mob::NegateSpellsBonuses(uint16 spell_id)
aabonuses.Corrup = effect_value;
break;
case SE_CastingLevel2:
case SE_CastingLevel: // Brilliance of Ro
spellbonuses.adjusted_casting_skill = effect_value;
aabonuses.adjusted_casting_skill = effect_value;
itembonuses.adjusted_casting_skill = effect_value;
break;
case SE_CastingLevel2:
spellbonuses.effective_casting_level = effect_value;
aabonuses.effective_casting_level = effect_value;
itembonuses.effective_casting_level = effect_value;