[Spells] Implemented SPA 471 SE_Double_Melee_Round (#1492)

* Implemented SPA 471 SE_Double_Melee_Round

#define SE_Double_Melee_Round			471
Percent chance to repeat primary weapon round with a percent damage modifier, base: pct chance repeat, limit: pct dmg mod, max: none

* minor fixes

* tab to spaces
This commit is contained in:
KayenEQ
2021-08-11 02:38:38 -04:00
committed by GitHub
parent b539c63326
commit c821397367
7 changed files with 64 additions and 1 deletions
+29
View File
@@ -1628,6 +1628,15 @@ void Mob::ApplyAABonuses(const AA::Rank &rank, StatBonuses *newbon)
break;
}
case SE_Double_Melee_Round:
{
if (newbon->DoubleMeleeRound[SBIndex::DOUBLE_MELEE_ROUND_CHANCE] < base1) {
newbon->DoubleMeleeRound[SBIndex::DOUBLE_MELEE_ROUND_CHANCE] = base1;
newbon->DoubleMeleeRound[SBIndex::DOUBLE_MELEE_ROUND_DMG_BONUS] = base2;
}
break;
}
case SE_Worn_Endurance_Regen_Cap:
newbon->ItemEnduranceRegenCap += base1;
break;
@@ -2487,6 +2496,20 @@ void Mob::ApplySpellsBonuses(uint16 spell_id, uint8 casterlevel, StatBonuses *ne
break;
}
case SE_Double_Melee_Round:
{
if (AdditiveWornBonus) {
new_bonus->DoubleMeleeRound[SBIndex::DOUBLE_MELEE_ROUND_CHANCE] += effect_value;
new_bonus->DoubleMeleeRound[SBIndex::DOUBLE_MELEE_ROUND_DMG_BONUS] += base2;
}
if (new_bonus->DoubleMeleeRound[SBIndex::DOUBLE_MELEE_ROUND_CHANCE] < effect_value) {
new_bonus->DoubleMeleeRound[SBIndex::DOUBLE_MELEE_ROUND_CHANCE] = effect_value;
new_bonus->DoubleMeleeRound[SBIndex::DOUBLE_MELEE_ROUND_DMG_BONUS] = base2;
}
break;
}
case SE_PercentXPIncrease:
{
if(new_bonus->XPRateMod < effect_value)
@@ -4472,6 +4495,12 @@ void Mob::NegateSpellsBonuses(uint16 spell_id)
itembonuses.ExtraAttackChanceSecondary[SBIndex::EXTRA_ATTACK_CHANCE] = effect_value;
break;
case SE_Double_Melee_Round:
spellbonuses.DoubleMeleeRound[SBIndex::DOUBLE_MELEE_ROUND_CHANCE] = effect_value;
aabonuses.DoubleMeleeRound[SBIndex::DOUBLE_MELEE_ROUND_CHANCE] = effect_value;
itembonuses.DoubleMeleeRound[SBIndex::DOUBLE_MELEE_ROUND_CHANCE] = effect_value;
break;
case SE_PercentXPIncrease:
spellbonuses.XPRateMod = effect_value;
aabonuses.XPRateMod = effect_value;