Skip to content

Commit

Permalink
AC Softcaps disabled until late Velious. Fixed two cases where partia…
Browse files Browse the repository at this point in the history
…l resist curves and softcaps were applying wrongly to level 50 players.
  • Loading branch information
SecretsOTheP committed Dec 26, 2023
1 parent f1f1220 commit 9b2e323
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 2 deletions.
1 change: 1 addition & 0 deletions common/ruletypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,7 @@ RULE_INT(Quarm, AutomatedRaidRotationRaidGuildMemberCountRequirement, 12) // Req
RULE_INT(Quarm, AutomatedRaidRotationRaidNonMemberCountRequirement, 18) // Required amount of same-guild members to participate in a raid encounter. These must be in the same guild, and one officer from the current guild must be in the raid.
RULE_INT(Quarm, MinStatusToZoneIntoAnyGuildZone, 100) // Required amount of same-guild members to participate in a raid encounter. These must be in the same guild, and one officer from the current guild must be in the raid.
RULE_BOOL(Quarm, EnableGuildZoneRequirementOnEntry, false) // Classic behavior is true. Live Quarm has this false by default. CSR complaints about training warranted this behavior.
RULE_BOOL(Quarm, EnforceClassicEraHardCaps, true) // Classic behavior is true, Late velious and later is false. Master switch for AC softcaps.
RULE_CATEGORY_END()

RULE_CATEGORY( Map )
Expand Down
7 changes: 6 additions & 1 deletion zone/attack.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5140,7 +5140,12 @@ int Client::GetMitigation(bool ignoreCap, int item_ac_sum, int shield_ac, int sp

if (!ignoreCap && acSum > softcap)
{
if (level < 50)
if (RuleB(Quarm, EnforceClassicEraHardCaps))
{
return softcap;
}

if (level <= 50)
{
return softcap; // it's hard < level 50
}
Expand Down
2 changes: 1 addition & 1 deletion zone/spells.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4018,7 +4018,7 @@ float Mob::CheckResistSpell(uint8 resist_type, uint16 spell_id, Mob *caster, Mob
partial_modifier += 5;
}

if(target_level >= 30 && caster_level < 50)
if(target_level >= 30 && caster_level <= 50)
{
partial_modifier += (caster_level - 25);
}
Expand Down

0 comments on commit 9b2e323

Please sign in to comment.