mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-22 16:28:28 +00:00
[Spells] Implemented SPA 122 SE_ReduceSkill (#4234)
* Implement SPA122 v1 * Implemented SPA 122 ReduceSkill SE_ReduceSkill SPA 122 base: skill id, limit: none, max: none, formula: % skill is reduced (positive) * Implemented SPA 122 Reduce Skill remove incorrect SPA addition * Break out multiple lines * reformatted reformatted --------- Co-authored-by: Akkadius <akkadius1@gmail.com>
This commit is contained in:
@@ -2789,6 +2789,25 @@ void Mob::ApplySpellsBonuses(uint16 spell_id, uint8 casterlevel, StatBonuses *ne
|
||||
break;
|
||||
}
|
||||
|
||||
case SE_ReduceSkill: {
|
||||
// Bad data or unsupported new skill
|
||||
if (spells[spell_id].base_value[i] > EQ::skills::HIGHEST_SKILL) {
|
||||
break;
|
||||
}
|
||||
//cap skill reducation at 100%
|
||||
uint32 skill_reducation_percent = spells[spell_id].formula[i];
|
||||
if (spells[spell_id].formula[i] > 100) {
|
||||
skill_reducation_percent = 100;
|
||||
}
|
||||
|
||||
if (spells[spell_id].base_value[i] <= EQ::skills::HIGHEST_SKILL) {
|
||||
if (new_bonus->ReduceSkill[spells[spell_id].base_value[i]] < skill_reducation_percent) {
|
||||
new_bonus->ReduceSkill[spells[spell_id].base_value[i]] = skill_reducation_percent;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case SE_StunResist:
|
||||
{
|
||||
if(new_bonus->StunResist < effect_value)
|
||||
|
||||
Reference in New Issue
Block a user