From c38a62bfa1312a0f3fec0527b08b0a6795597f9f Mon Sep 17 00:00:00 2001 From: Tereneckla Date: Sat, 26 Jul 2025 07:42:49 +0200 Subject: [PATCH] shorten settings --- conf/mod-profession-experience.conf.dist | 73 ++++---------- src/ProfessionExp.cpp | 118 +++++------------------ 2 files changed, 41 insertions(+), 150 deletions(-) diff --git a/conf/mod-profession-experience.conf.dist b/conf/mod-profession-experience.conf.dist index b6b8354..44cd664 100644 --- a/conf/mod-profession-experience.conf.dist +++ b/conf/mod-profession-experience.conf.dist @@ -47,65 +47,28 @@ ProfessionExperience.MultMaster = 5.0 ProfessionExperience.MultGrandMaster = 6.0 -# -# ProfessionExperience.*.Enabled -# Description: Enable experience gain when crafting or gathering with this profession -# Default: 0 - (Disabled, ProfessionExperience.Alchemy.Enabled) -# 0 - (Disabled, ProfessionExperience.Blacksmith.Enabled) -# 0 - (Disabled, ProfessionExperience.Cooking.Enabled) -# 0 - (Disabled, ProfessionExperience.Disenchanting.Enabled) -# 0 - (Disabled, ProfessionExperience.Enchanting.Enabled) -# 0 - (Disabled, ProfessionExperience.Engineering.Enabled) -# 1 - (Enabled, ProfessionExperience.Fishing.Enabled) -# 0 - (Disabled, ProfessionExperience.FirstAid.Enabled) -# 1 - (Enabled, ProfessionExperience.Herbalism.Enabled) -# 0 - (Disabled, ProfessionExperience.Inscription.Enabled) -# 0 - (Disabled, ProfessionExperience.Jewelcrafting.Enabled) -# 0 - (Disabled, ProfessionExperience.Leatherworking.Enabled) -# 0 - (Disabled, ProfessionExperience.Lockpick.Enabled) -# 1 - (Enabled, ProfessionExperience.Mining.Enabled) -# 0 - (Disabled, ProfessionExperience.Skinning.Enabled) -# 0 - (Disabled, ProfessionExperience.Smelting.Enabled) -# 0 - (Disabled, ProfessionExperience.Tailoring.Enabled) - -ProfessionExperience.Alchemy.Enabled = 0 -ProfessionExperience.Blacksmith.Enabled = 0 -ProfessionExperience.Cooking.Enabled = 0 -ProfessionExperience.Disenchanting.Enabled = 0 -ProfessionExperience.Enchanting.Enabled = 0 -ProfessionExperience.Engineering.Enabled = 0 -ProfessionExperience.Fishing.Enabled = 1 -ProfessionExperience.FirstAid.Enabled = 0 -ProfessionExperience.Herbalism.Enabled = 1 -ProfessionExperience.Inscription.Enabled = 0 -ProfessionExperience.Jewelcrafting.Enabled = 0 -ProfessionExperience.Leatherworking.Enabled = 0 -ProfessionExperience.Lockpick.Enabled = 0 -ProfessionExperience.Mining.Enabled = 1 -ProfessionExperience.Skinning.Enabled = 0 -ProfessionExperience.Smelting.Enabled = 0 -ProfessionExperience.Tailoring.Enabled = 0 - - # # ProfessionExperience.*.Experience # Description: Part of a level gained for performing the action -# Default: 0.01 - (1%, All of them) +# Default: 0.01 - (1%, ProfessionExperience.Fishing.Experience) +# 0.01 - (1%, ProfessionExperience.Herbalism.Experience) +# 0.01 - (1%, ProfessionExperience.Mining.Experience) +# 0.00 - (Disabled, the rest) -ProfessionExperience.Alchemy.Experience = 0.01 -ProfessionExperience.Blacksmith.Experience = 0.01 -ProfessionExperience.Cooking.Experience = 0.01 -ProfessionExperience.Disenchanting.Experience = 0.01 -ProfessionExperience.Enchanting.Experience = 0.01 -ProfessionExperience.Engineering.Experience = 0.01 +ProfessionExperience.Alchemy.Experience = 0.00 +ProfessionExperience.Blacksmith.Experience = 0.00 +ProfessionExperience.Cooking.Experience = 0.00 +ProfessionExperience.Disenchanting.Experience = 0.00 +ProfessionExperience.Enchanting.Experience = 0.00 +ProfessionExperience.Engineering.Experience = 0.00 ProfessionExperience.Fishing.Experience = 0.01 -ProfessionExperience.FirstAid.Experience = 0.01 +ProfessionExperience.FirstAid.Experience = 0.00 ProfessionExperience.Herbalism.Experience = 0.01 -ProfessionExperience.Inscription.Experience = 0.01 -ProfessionExperience.Jewelcrafting.Experience = 0.01 -ProfessionExperience.Leatherworking.Experience = 0.01 -ProfessionExperience.Lockpick.Experience = 0.01 +ProfessionExperience.Inscription.Experience = 0.00 +ProfessionExperience.Jewelcrafting.Experience = 0.00 +ProfessionExperience.Leatherworking.Experience = 0.00 +ProfessionExperience.Lockpick.Experience = 0.00 ProfessionExperience.Mining.Experience = 0.01 -ProfessionExperience.Skinning.Experience = 0.01 -ProfessionExperience.Smelting.Experience = 0.01 -ProfessionExperience.Tailoring.Experience = 0.01 +ProfessionExperience.Skinning.Experience = 0.00 +ProfessionExperience.Smelting.Experience = 0.00 +ProfessionExperience.Tailoring.Experience = 0.00 diff --git a/src/ProfessionExp.cpp b/src/ProfessionExp.cpp index 6cdc632..69dccd8 100644 --- a/src/ProfessionExp.cpp +++ b/src/ProfessionExp.cpp @@ -10,39 +10,22 @@ enum class PEConfig { - ALCHEMY_ENABLED, ALCHEMY_EXPERIENCE, - BLACKSMITH_ENABLED, BLACKSMITH_EXPERIENCE, - COOKING_ENABLED, COOKING_EXPERIENCE, - DISENCHANTING_ENABLED, DISENCHANTING_EXPERIENCE, - ENCHANTING_ENABLED, ENCHANTING_EXPERIENCE, - ENGINEERING_ENABLED, ENGINEERING_EXPERIENCE, - FISHING_ENABLED, FISHING_EXPERIENCE, - FIRST_AID_ENABLED, FIRST_AID_EXPERIENCE, - HERBALISM_ENABLED, HERBALISM_EXPERIENCE, - INSCRIPTION_ENABLED, INSCRIPTION_EXPERIENCE, - JEWELCRAFTING_ENABLED, JEWELCRAFTING_EXPERIENCE, - LEATHERWORKING_ENABLED, LEATHERWORKING_EXPERIENCE, - LOCKPICK_ENABLED, LOCKPICK_EXPERIENCE, - MINING_ENABLED, MINING_EXPERIENCE, - SKINNING_ENABLED, SKINNING_EXPERIENCE, - SMELTING_ENABLED, SMELTING_EXPERIENCE, - TAILORING_ENABLED, TAILORING_EXPERIENCE, MULT_GRAY, MULT_GREEN, @@ -65,56 +48,23 @@ public: void BuildConfigCache() override { - SetConfigValue(PEConfig::ALCHEMY_ENABLED, "ProfessionExperience.Alchemy.Enabled", false); - SetConfigValue(PEConfig::ALCHEMY_EXPERIENCE, "ProfessionExperience.Alchemy.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); - - SetConfigValue(PEConfig::BLACKSMITH_ENABLED, "ProfessionExperience.Blacksmith.Enabled", false); - SetConfigValue(PEConfig::BLACKSMITH_EXPERIENCE, "ProfessionExperience.Blacksmith.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); - - SetConfigValue(PEConfig::COOKING_ENABLED, "ProfessionExperience.Cooking.Enabled", false); - SetConfigValue(PEConfig::COOKING_EXPERIENCE, "ProfessionExperience.Cooking.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); - - SetConfigValue(PEConfig::DISENCHANTING_ENABLED, "ProfessionExperience.Disenchanting.Enabled", false); - SetConfigValue(PEConfig::DISENCHANTING_EXPERIENCE, "ProfessionExperience.Disenchanting.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); - - SetConfigValue(PEConfig::ENCHANTING_ENABLED, "ProfessionExperience.Enchanting.Enabled", false); - SetConfigValue(PEConfig::ENCHANTING_EXPERIENCE, "ProfessionExperience.Enchanting.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); - - SetConfigValue(PEConfig::ENGINEERING_ENABLED, "ProfessionExperience.Engineering.Enabled", false); - SetConfigValue(PEConfig::ENGINEERING_EXPERIENCE, "ProfessionExperience.Engineering.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); - - SetConfigValue(PEConfig::FISHING_ENABLED, "ProfessionExperience.Fishing.Enabled", true); - SetConfigValue(PEConfig::FISHING_EXPERIENCE, "ProfessionExperience.Fishing.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); - - SetConfigValue(PEConfig::FIRST_AID_ENABLED, "ProfessionExperience.FirstAid.Enabled", false); - SetConfigValue(PEConfig::FIRST_AID_EXPERIENCE, "ProfessionExperience.FirstAid.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); - - SetConfigValue(PEConfig::HERBALISM_ENABLED, "ProfessionExperience.Herbalism.Enabled", true); - SetConfigValue(PEConfig::HERBALISM_EXPERIENCE, "ProfessionExperience.Herbalism.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); - - SetConfigValue(PEConfig::INSCRIPTION_ENABLED, "ProfessionExperience.Inscription.Enabled", false); - SetConfigValue(PEConfig::INSCRIPTION_EXPERIENCE, "ProfessionExperience.Inscription.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); - - SetConfigValue(PEConfig::JEWELCRAFTING_ENABLED, "ProfessionExperience.Jewelcrafting.Enabled", false); - SetConfigValue(PEConfig::JEWELCRAFTING_EXPERIENCE, "ProfessionExperience.Jewelcrafting.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); - - SetConfigValue(PEConfig::LEATHERWORKING_ENABLED, "ProfessionExperience.Leatherworking.Enabled", false); - SetConfigValue(PEConfig::LEATHERWORKING_EXPERIENCE, "ProfessionExperience.Leatherworking.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); - - SetConfigValue(PEConfig::LOCKPICK_ENABLED, "ProfessionExperience.Lockpick.Enabled", false); - SetConfigValue(PEConfig::LOCKPICK_EXPERIENCE, "ProfessionExperience.Lockpick.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); - - SetConfigValue(PEConfig::MINING_ENABLED, "ProfessionExperience.Mining.Enabled", true); - SetConfigValue(PEConfig::MINING_EXPERIENCE, "ProfessionExperience.Mining.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); - - SetConfigValue(PEConfig::SKINNING_ENABLED, "ProfessionExperience.Skinning.Enabled", false); - SetConfigValue(PEConfig::SKINNING_EXPERIENCE, "ProfessionExperience.Skinning.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); - - SetConfigValue(PEConfig::SMELTING_ENABLED, "ProfessionExperience.Smelting.Enabled", false); - SetConfigValue(PEConfig::SMELTING_EXPERIENCE, "ProfessionExperience.Smelting.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); - - SetConfigValue(PEConfig::TAILORING_ENABLED, "ProfessionExperience.Tailoring.Enabled", false); - SetConfigValue(PEConfig::TAILORING_EXPERIENCE, "ProfessionExperience.Tailoring.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); + SetConfigValue(PEConfig::ALCHEMY_EXPERIENCE, "ProfessionExperience.Alchemy.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0"); + SetConfigValue(PEConfig::BLACKSMITH_EXPERIENCE, "ProfessionExperience.Blacksmith.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0"); + SetConfigValue(PEConfig::COOKING_EXPERIENCE, "ProfessionExperience.Cooking.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0"); + SetConfigValue(PEConfig::DISENCHANTING_EXPERIENCE, "ProfessionExperience.Disenchanting.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0"); + SetConfigValue(PEConfig::ENCHANTING_EXPERIENCE, "ProfessionExperience.Enchanting.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0"); + SetConfigValue(PEConfig::ENGINEERING_EXPERIENCE, "ProfessionExperience.Engineering.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0"); + SetConfigValue(PEConfig::FISHING_EXPERIENCE, "ProfessionExperience.Fishing.Experience", 0.01f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0"); + SetConfigValue(PEConfig::FIRST_AID_EXPERIENCE, "ProfessionExperience.FirstAid.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0"); + SetConfigValue(PEConfig::HERBALISM_EXPERIENCE, "ProfessionExperience.Herbalism.Experience", 0.01f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0"); + SetConfigValue(PEConfig::INSCRIPTION_EXPERIENCE, "ProfessionExperience.Inscription.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0"); + SetConfigValue(PEConfig::JEWELCRAFTING_EXPERIENCE, "ProfessionExperience.Jewelcrafting.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0"); + SetConfigValue(PEConfig::LEATHERWORKING_EXPERIENCE, "ProfessionExperience.Leatherworking.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0"); + SetConfigValue(PEConfig::LOCKPICK_EXPERIENCE, "ProfessionExperience.Lockpick.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0"); + SetConfigValue(PEConfig::MINING_EXPERIENCE, "ProfessionExperience.Mining.Experience", 0.01f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0"); + SetConfigValue(PEConfig::SKINNING_EXPERIENCE, "ProfessionExperience.Skinning.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0"); + SetConfigValue(PEConfig::SMELTING_EXPERIENCE, "ProfessionExperience.Smelting.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0"); + SetConfigValue(PEConfig::TAILORING_EXPERIENCE, "ProfessionExperience.Tailoring.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0"); SetConfigValue(PEConfig::MULT_GRAY, "ProfessionExperience.MultGray", 0.0f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0"); SetConfigValue(PEConfig::MULT_GREEN, "ProfessionExperience.MultGreen", 0.75f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0"); @@ -143,109 +93,87 @@ RewardExperienceScript() : PlayerScript("RewardExperienceScript", { bool OnPlayerUpdateFishingSkill(Player* player, int32 skill, int32 zone_skill, int32 /*chance*/, int32 /*roll*/) override { - if (peConfigData.GetConfigValue(PEConfig::FISHING_ENABLED)) - RewardXP(player, skill, zone_skill + 100, zone_skill + 50, zone_skill + 25, peConfigData.GetConfigValue(PEConfig::FISHING_EXPERIENCE)); + if (float xpFactor = peConfigData.GetConfigValue(PEConfig::FISHING_EXPERIENCE)) + RewardXP(player, skill, zone_skill + 100, zone_skill + 50, zone_skill + 25, xpFactor); return true; } void OnPlayerUpdateGatheringSkill(Player* player, uint32 skillId, uint32 currentLevel, uint32 gray, uint32 green, uint32 yellow, uint32& /*gain*/) override { - PEConfig enabledSetting; PEConfig experienceSetting; switch (skillId) { case SKILL_HERBALISM: - enabledSetting = PEConfig::HERBALISM_ENABLED; experienceSetting = PEConfig::HERBALISM_EXPERIENCE; break; case SKILL_MINING: - enabledSetting = PEConfig::MINING_ENABLED; experienceSetting = PEConfig::MINING_EXPERIENCE; break; case SKILL_SKINNING: - enabledSetting = PEConfig::SKINNING_ENABLED; experienceSetting = PEConfig::SKINNING_EXPERIENCE; break; case SKILL_LOCKPICKING: - enabledSetting = PEConfig::LOCKPICK_ENABLED; experienceSetting = PEConfig::LOCKPICK_EXPERIENCE; break; default: return; } - if (peConfigData.GetConfigValue(enabledSetting)) - RewardXP(player, currentLevel, gray, green, yellow, peConfigData.GetConfigValue(experienceSetting)); + if (float xpFactor = peConfigData.GetConfigValue(experienceSetting)) + RewardXP(player, currentLevel, gray, green, yellow, xpFactor); } void OnPlayerUpdateCraftingSkill(Player *player, SkillLineAbilityEntry const* skill, uint32 currentLevel, uint32& /*gain*/) override { - PEConfig enabledSetting; PEConfig experienceSetting; switch (skill->SkillLine) { case SKILL_ALCHEMY: - enabledSetting = PEConfig::ALCHEMY_ENABLED; experienceSetting = PEConfig::ALCHEMY_EXPERIENCE; break; case SKILL_BLACKSMITHING: - enabledSetting = PEConfig::BLACKSMITH_ENABLED; experienceSetting = PEConfig::BLACKSMITH_EXPERIENCE; break; case SKILL_COOKING: - enabledSetting = PEConfig::COOKING_ENABLED; experienceSetting = PEConfig::COOKING_EXPERIENCE; break; case SKILL_ENCHANTING: if (skill->Spell == 13262) - { - enabledSetting = PEConfig::DISENCHANTING_ENABLED; experienceSetting = PEConfig::DISENCHANTING_EXPERIENCE; - } else - { - enabledSetting = PEConfig::ENCHANTING_ENABLED; experienceSetting = PEConfig::ENCHANTING_EXPERIENCE; - } break; case SKILL_ENGINEERING: - enabledSetting = PEConfig::ENGINEERING_ENABLED; experienceSetting = PEConfig::ENGINEERING_EXPERIENCE; break; case SKILL_FIRST_AID: - enabledSetting = PEConfig::FIRST_AID_ENABLED; experienceSetting = PEConfig::FIRST_AID_EXPERIENCE; break; case SKILL_INSCRIPTION: - enabledSetting = PEConfig::INSCRIPTION_ENABLED; experienceSetting = PEConfig::INSCRIPTION_EXPERIENCE; break; case SKILL_JEWELCRAFTING: - enabledSetting = PEConfig::JEWELCRAFTING_ENABLED; experienceSetting = PEConfig::JEWELCRAFTING_EXPERIENCE; break; case SKILL_LEATHERWORKING: - enabledSetting = PEConfig::LEATHERWORKING_ENABLED; experienceSetting = PEConfig::LEATHERWORKING_EXPERIENCE; break; case SKILL_MINING: - enabledSetting = PEConfig::SMELTING_ENABLED; experienceSetting = PEConfig::SMELTING_EXPERIENCE; break; case SKILL_TAILORING: - enabledSetting = PEConfig::TAILORING_ENABLED; experienceSetting = PEConfig::TAILORING_EXPERIENCE; break; default: return; } - if (peConfigData.GetConfigValue(enabledSetting)) + if (float xpFactor = peConfigData.GetConfigValue(experienceSetting)) { uint32 gray = skill->TrivialSkillLineRankHigh; uint32 green = (skill->TrivialSkillLineRankHigh + skill->TrivialSkillLineRankLow) / 2; uint32 yellow = skill->TrivialSkillLineRankLow; - RewardXP(player, currentLevel, gray, green, yellow, peConfigData.GetConfigValue(experienceSetting)); + RewardXP(player, currentLevel, gray, green, yellow, xpFactor); } }