From c030e1ce8d54ddce83508af94a38a93165cede30 Mon Sep 17 00:00:00 2001 From: "Michael Cook (mackal)" Date: Sun, 15 Jan 2017 15:39:12 -0500 Subject: [PATCH] Add rule Combat:LevelToStopDamageCaps Setting this to 1 will effectively disable damage caps Setting this to 20 will give similar results to old incorrect default rules --- common/ruletypes.h | 1 + zone/attack.cpp | 3 +++ 2 files changed, 4 insertions(+) diff --git a/common/ruletypes.h b/common/ruletypes.h index dc1a31c1f..2b0b71899 100644 --- a/common/ruletypes.h +++ b/common/ruletypes.h @@ -492,6 +492,7 @@ RULE_INT(Combat, NPCAssistCap, 5) // Maxiumium number of NPCs that will assist a RULE_INT(Combat, NPCAssistCapTimer, 6000) // Time in milliseconds a NPC will take to clear assist aggro cap space RULE_BOOL(Combat, UseRevampHandToHand, false) // use h2h revamped dmg/delays I believe this was implemented during SoF RULE_BOOL(Combat, ClassicMasterWu, false) // classic master wu uses a random special, modern doesn't +RULE_INT(Combat, LevelToStopDamageCaps, 0) // 1 will effectively disable them, 20 should give basically same results as old incorrect system RULE_CATEGORY_END() RULE_CATEGORY(NPC) diff --git a/zone/attack.cpp b/zone/attack.cpp index 122bc7da5..a1dfbc176 100644 --- a/zone/attack.cpp +++ b/zone/attack.cpp @@ -1107,6 +1107,9 @@ int Client::DoDamageCaps(int base_damage) { // this is based on a client function that caps melee base_damage auto level = GetLevel(); + auto stop_level = RuleI(Combat, LevelToStopDamageCaps); + if (stop_level && stop_level <= level) + return base_damage; int cap = 0; if (level >= 125) { cap = 7 * level;