Merge remote-tracking branch 'upstream/master' into shieldability

This commit is contained in:
KayenEQ
2021-08-12 22:12:42 -04:00
9 changed files with 89 additions and 6 deletions
+48
View File
@@ -1628,6 +1628,16 @@ 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_ExtendedShielding:
{
if (newbon->ExtendedShielding < base1) {
@@ -1644,6 +1654,10 @@ void Mob::ApplyAABonuses(const AA::Rank &rank, StatBonuses *newbon)
break;
}
case SE_Worn_Endurance_Regen_Cap:
newbon->ItemEnduranceRegenCap += base1;
break;
// to do
case SE_PetDiscipline:
break;
@@ -2495,6 +2509,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)
@@ -3580,6 +3608,14 @@ void Mob::ApplySpellsBonuses(uint16 spell_id, uint8 casterlevel, StatBonuses *ne
break;
}
case SE_Worn_Endurance_Regen_Cap:
new_bonus->ItemEnduranceRegenCap += effect_value;
break;
case SE_ItemManaRegenCapIncrease:
new_bonus->ItemManaRegenCap += effect_value;
break;
case SE_Weapon_Stance: {
if (IsValidSpell(effect_value)) { //base1 is the spell_id of buff
if (base2 <= WEAPON_STANCE_TYPE_MAX) { //0=2H, 1=Shield, 2=DW
@@ -4500,6 +4536,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;
@@ -4964,6 +5006,12 @@ void Mob::NegateSpellsBonuses(uint16 spell_id)
itembonuses.ItemHPRegenCap = effect_value;
break;
case SE_Worn_Endurance_Regen_Cap:
spellbonuses.ItemEnduranceRegenCap = effect_value;
aabonuses.ItemEnduranceRegenCap = effect_value;
itembonuses.ItemEnduranceRegenCap = effect_value;
break;
case SE_OffhandRiposteFail:
spellbonuses.OffhandRiposteFail = effect_value;
aabonuses.OffhandRiposteFail = effect_value;