mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-13 23:01:30 +00:00
[Rules] Bash Two Hander use Shoulders (#3925)
Rule: BashTwoHanderUseShoulderAC Default: False Allows server operators to choose if they want two handed bash to utilize the shoulder armor or not. Rule: BashACBonusDivisor Default: 25.0 Allows adjustment for bash AC value contributions. Lower to increase damage.
This commit is contained in:
parent
409b6bf424
commit
472dd71d7f
@ -565,6 +565,8 @@ RULE_INT(Combat, ClassicTripleAttackChanceMonk, 100, "Innate Chance for Monk to
|
||||
RULE_INT(Combat, ClassicTripleAttackChanceBerserker, 100, "Innate Chance for Berserker to Triple Attack after a Double Attack (200 = 20%). DEFAULT: 100")
|
||||
RULE_INT(Combat, ClassicTripleAttackChanceRanger, 100, "Innate Chance for Ranger to Triple Attack after a Double Attack (200 = 20%). DEFAULT: 100")
|
||||
RULE_INT(Combat, StunChance, 12, "Percent chance that client will be stunned when mob is behind player. DEFAULT: 12")
|
||||
RULE_BOOL(Combat, BashTwoHanderUseShoulderAC, false, "Enable to use shoulder AC for bash calculations when two hander is equipped. Unproven if accurate DEFAULT: false")
|
||||
RULE_REAL(Combat, BashACBonusDivisor, 25.0, "this divides the AC value contribution to bash damage, lower to increase damage")
|
||||
RULE_CATEGORY_END()
|
||||
|
||||
RULE_CATEGORY(NPC)
|
||||
|
||||
@ -137,12 +137,16 @@ int Mob::GetBaseSkillDamage(EQ::skills::SkillType skill, Mob *target)
|
||||
if (HasShieldEquipped()) {
|
||||
inst = CastToClient()->GetInv().GetItem(EQ::invslot::slotSecondary);
|
||||
} else if (HasTwoHanderEquipped()) {
|
||||
inst = CastToClient()->GetInv().GetItem(EQ::invslot::slotPrimary);
|
||||
if (RuleB(Combat, BashTwoHanderUseShoulderAC)) {
|
||||
inst = CastToClient()->GetInv().GetItem(EQ::invslot::slotShoulders);
|
||||
} else {
|
||||
inst = CastToClient()->GetInv().GetItem(EQ::invslot::slotPrimary);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (inst) {
|
||||
ac_bonus = inst->GetItemArmorClass(true) / 25.0f;
|
||||
ac_bonus = inst->GetItemArmorClass(true) / RuleR(Combat, BashACBonusDivisor);
|
||||
} else {
|
||||
return 0;
|
||||
} // return 0 in cases where we don't have an item
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user