From 16f21893a36cea6e329b39c5a25e64f02f1afef1 Mon Sep 17 00:00:00 2001 From: Alex King <89047260+Kinglykrab@users.noreply.github.com> Date: Sat, 1 Jun 2024 17:09:21 -0400 Subject: [PATCH] [Rules] Add Skill Base Damage Rules (#4360) * [Rules] Add Skill Base Damage Rules * Final * Update ruletypes.h * Update ruletypes.h --- common/ruletypes.h | 11 +++++++++++ common/skills.cpp | 42 ++++++++++++++++++++++++------------------ 2 files changed, 35 insertions(+), 18 deletions(-) diff --git a/common/ruletypes.h b/common/ruletypes.h index f30c894bc..dd755f394 100644 --- a/common/ruletypes.h +++ b/common/ruletypes.h @@ -617,6 +617,17 @@ RULE_BOOL(Combat, RogueBackstabHasteCorrection, false, "Toggle to enable correct RULE_BOOL(Combat, LegacyComputeDefense, false, "Trim AGI Scaling of defense mostly for lower levels to help compensate for the newer agi based defense system. Default: False") RULE_REAL(Combat, SlayDamageAdjustment, 0.5, "Slay Damage Adjustment - Multiply final slay damage by this value. Default: 0.5") RULE_INT(Combat, MaximumLevelStunsCripplingBlow, 55, "Maximum level that Crippling Blows will stun a npc. Default: 55") +RULE_INT(Combat, ArcheryBaseDamage, 0, "Archery base damage, default is 0") +RULE_INT(Combat, BackstabBaseDamage, 0, "Backstab base damage, default is 0") +RULE_INT(Combat, BashBaseDamage, 2, "Bash base damage, default is 2") +RULE_INT(Combat, DragonPunchBaseDamage, 12, "Dragon Punch base damage, default is 12") +RULE_INT(Combat, EagleStrikeBaseDamage, 7, "Eagle Strike base damage, default is 7") +RULE_INT(Combat, FlyingKickBaseDamage, 25, "Flying Kick base damage, default is 25") +RULE_INT(Combat, FrenzyBaseDamage, 10, "Frenzy base damage, default is 10") +RULE_INT(Combat, KickBaseDamage, 3, "Kick base damage, default is 3") +RULE_INT(Combat, RoundKickBaseDamage, 5, "Round Kick base damage, default is 5") +RULE_INT(Combat, ThrowingBaseDamage, 0, "Throwing base damage, default is 0") +RULE_INT(Combat, TigerClawBaseDamage, 4, "Tiger Claw base damage, default is 4") RULE_CATEGORY_END() RULE_CATEGORY(NPC) diff --git a/common/skills.cpp b/common/skills.cpp index 223a65cf8..b1137b714 100644 --- a/common/skills.cpp +++ b/common/skills.cpp @@ -127,24 +127,30 @@ bool EQ::skills::IsCastingSkill(SkillType skill) int32 EQ::skills::GetBaseDamage(SkillType skill) { switch (skill) { - case SkillBash: - return 2; - case SkillDragonPunch: - return 12; - case SkillEagleStrike: - return 7; - case SkillFlyingKick: - return 25; - case SkillKick: - return 3; - case SkillRoundKick: - return 5; - case SkillTigerClaw: - return 4; - case SkillFrenzy: - return 10; - default: - return 0; + case SkillArchery: + return RuleI(Combat, ArcheryBaseDamage); + case SkillBackstab: + return RuleI(Combat, BackstabBaseDamage); + case SkillBash: + return RuleI(Combat, BashBaseDamage); + case SkillDragonPunch: + return RuleI(Combat, DragonPunchBaseDamage); + case SkillEagleStrike: + return RuleI(Combat, EagleStrikeBaseDamage); + case SkillFlyingKick: + return RuleI(Combat, FlyingKickBaseDamage); + case SkillFrenzy: + return RuleI(Combat, FrenzyBaseDamage); + case SkillKick: + return RuleI(Combat, KickBaseDamage); + case SkillRoundKick: + return RuleI(Combat, RoundKickBaseDamage); + case SkillThrowing: + return RuleI(Combat, ThrowingBaseDamage); + case SkillTigerClaw: + return RuleI(Combat, TigerClawBaseDamage); + default: + return 0; } }