From 5901df44851a548acc428277b16540878adb0c23 Mon Sep 17 00:00:00 2001 From: Paul Coene Date: Sun, 16 Feb 2020 11:41:08 -0500 Subject: [PATCH 1/3] Added Skills, RequireTomeHandin rule Default behavior will remain the same as current code. If set to true, tomes will need to be turned in to Guild Masters to learn, like in older times. --- common/ruletypes.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/ruletypes.h b/common/ruletypes.h index 4284e0d0b..a9f7a233f 100644 --- a/common/ruletypes.h +++ b/common/ruletypes.h @@ -88,7 +88,6 @@ RULE_INT(Character, ItemHealAmtCap, 250, "") RULE_INT(Character, ItemSpellDmgCap, 250, "") RULE_INT(Character, ItemClairvoyanceCap, 250, "") RULE_INT(Character, ItemDSMitigationCap, 50, "") -RULE_INT(Character, ItemEnduranceRegenCap, 15, "") RULE_INT(Character, ItemExtraDmgCap, 150, "Cap for bonuses to melee skills like Bash, Frenzy, etc") RULE_INT(Character, HasteCap, 100, "Haste cap for non-v3(overhaste) haste") RULE_INT(Character, SkillUpModifier, 100, "skill ups are at 100%") @@ -197,6 +196,7 @@ RULE_INT(Skills, SwimmingStartValue, 100, "") RULE_BOOL(Skills, TrainSenseHeading, false, "") RULE_INT(Skills, SenseHeadingStartValue, 200, "") RULE_BOOL(Skills, SelfLanguageLearning, true, "") +RULE_BOOL(Skills, RequireTomeHandin, false, "Disable click-to-learn and force turnin to Guild Master") RULE_CATEGORY_END() RULE_CATEGORY(Pets) From bd4fa4fb6b790b76b33573beb27770489fb5ca04 Mon Sep 17 00:00:00 2001 From: Paul Coene Date: Sun, 16 Feb 2020 11:42:55 -0500 Subject: [PATCH 2/3] Implement RuleB(Skills, RequireTomeHandin) --- zone/client_packet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zone/client_packet.cpp b/zone/client_packet.cpp index 0ea11e8ae..7173dd342 100644 --- a/zone/client_packet.cpp +++ b/zone/client_packet.cpp @@ -8653,7 +8653,7 @@ void Client::Handle_OP_ItemVerifyRequest(const EQApplicationPacket *app) } else if (inst->IsClassCommon()) { - if (item->ItemType == EQEmu::item::ItemTypeSpell && (strstr((const char*)item->Name, "Tome of ") || strstr((const char*)item->Name, "Skill: "))) + if (!RuleB(Skills, RequireTomeHandin) && item->ItemType == EQEmu::item::ItemTypeSpell && (strstr((const char*)item->Name, "Tome of ") || strstr((const char*)item->Name, "Skill: "))) { DeleteItemInInventory(slot_id, 1, true); TrainDiscipline(item->ID); From 10e5f0e9496887d04246a6e9bc15318d60c38b7a Mon Sep 17 00:00:00 2001 From: Paul Coene Date: Sun, 16 Feb 2020 12:28:18 -0500 Subject: [PATCH 3/3] Update ruletypes.h --- common/ruletypes.h | 1 + 1 file changed, 1 insertion(+) diff --git a/common/ruletypes.h b/common/ruletypes.h index a9f7a233f..b15d3fbf7 100644 --- a/common/ruletypes.h +++ b/common/ruletypes.h @@ -88,6 +88,7 @@ RULE_INT(Character, ItemHealAmtCap, 250, "") RULE_INT(Character, ItemSpellDmgCap, 250, "") RULE_INT(Character, ItemClairvoyanceCap, 250, "") RULE_INT(Character, ItemDSMitigationCap, 50, "") +RULE_INT(Character, ItemEnduranceRegenCap, 15, "") RULE_INT(Character, ItemExtraDmgCap, 150, "Cap for bonuses to melee skills like Bash, Frenzy, etc") RULE_INT(Character, HasteCap, 100, "Haste cap for non-v3(overhaste) haste") RULE_INT(Character, SkillUpModifier, 100, "skill ups are at 100%")