shorten settings

This commit is contained in:
Tereneckla
2025-07-26 07:42:49 +02:00
parent d22ffa499c
commit c38a62bfa1
2 changed files with 41 additions and 150 deletions

View File

@@ -47,65 +47,28 @@ ProfessionExperience.MultMaster = 5.0
ProfessionExperience.MultGrandMaster = 6.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 # ProfessionExperience.*.Experience
# Description: Part of a level gained for performing the action # 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.Alchemy.Experience = 0.00
ProfessionExperience.Blacksmith.Experience = 0.01 ProfessionExperience.Blacksmith.Experience = 0.00
ProfessionExperience.Cooking.Experience = 0.01 ProfessionExperience.Cooking.Experience = 0.00
ProfessionExperience.Disenchanting.Experience = 0.01 ProfessionExperience.Disenchanting.Experience = 0.00
ProfessionExperience.Enchanting.Experience = 0.01 ProfessionExperience.Enchanting.Experience = 0.00
ProfessionExperience.Engineering.Experience = 0.01 ProfessionExperience.Engineering.Experience = 0.00
ProfessionExperience.Fishing.Experience = 0.01 ProfessionExperience.Fishing.Experience = 0.01
ProfessionExperience.FirstAid.Experience = 0.01 ProfessionExperience.FirstAid.Experience = 0.00
ProfessionExperience.Herbalism.Experience = 0.01 ProfessionExperience.Herbalism.Experience = 0.01
ProfessionExperience.Inscription.Experience = 0.01 ProfessionExperience.Inscription.Experience = 0.00
ProfessionExperience.Jewelcrafting.Experience = 0.01 ProfessionExperience.Jewelcrafting.Experience = 0.00
ProfessionExperience.Leatherworking.Experience = 0.01 ProfessionExperience.Leatherworking.Experience = 0.00
ProfessionExperience.Lockpick.Experience = 0.01 ProfessionExperience.Lockpick.Experience = 0.00
ProfessionExperience.Mining.Experience = 0.01 ProfessionExperience.Mining.Experience = 0.01
ProfessionExperience.Skinning.Experience = 0.01 ProfessionExperience.Skinning.Experience = 0.00
ProfessionExperience.Smelting.Experience = 0.01 ProfessionExperience.Smelting.Experience = 0.00
ProfessionExperience.Tailoring.Experience = 0.01 ProfessionExperience.Tailoring.Experience = 0.00

View File

@@ -10,39 +10,22 @@
enum class PEConfig enum class PEConfig
{ {
ALCHEMY_ENABLED,
ALCHEMY_EXPERIENCE, ALCHEMY_EXPERIENCE,
BLACKSMITH_ENABLED,
BLACKSMITH_EXPERIENCE, BLACKSMITH_EXPERIENCE,
COOKING_ENABLED,
COOKING_EXPERIENCE, COOKING_EXPERIENCE,
DISENCHANTING_ENABLED,
DISENCHANTING_EXPERIENCE, DISENCHANTING_EXPERIENCE,
ENCHANTING_ENABLED,
ENCHANTING_EXPERIENCE, ENCHANTING_EXPERIENCE,
ENGINEERING_ENABLED,
ENGINEERING_EXPERIENCE, ENGINEERING_EXPERIENCE,
FISHING_ENABLED,
FISHING_EXPERIENCE, FISHING_EXPERIENCE,
FIRST_AID_ENABLED,
FIRST_AID_EXPERIENCE, FIRST_AID_EXPERIENCE,
HERBALISM_ENABLED,
HERBALISM_EXPERIENCE, HERBALISM_EXPERIENCE,
INSCRIPTION_ENABLED,
INSCRIPTION_EXPERIENCE, INSCRIPTION_EXPERIENCE,
JEWELCRAFTING_ENABLED,
JEWELCRAFTING_EXPERIENCE, JEWELCRAFTING_EXPERIENCE,
LEATHERWORKING_ENABLED,
LEATHERWORKING_EXPERIENCE, LEATHERWORKING_EXPERIENCE,
LOCKPICK_ENABLED,
LOCKPICK_EXPERIENCE, LOCKPICK_EXPERIENCE,
MINING_ENABLED,
MINING_EXPERIENCE, MINING_EXPERIENCE,
SKINNING_ENABLED,
SKINNING_EXPERIENCE, SKINNING_EXPERIENCE,
SMELTING_ENABLED,
SMELTING_EXPERIENCE, SMELTING_EXPERIENCE,
TAILORING_ENABLED,
TAILORING_EXPERIENCE, TAILORING_EXPERIENCE,
MULT_GRAY, MULT_GRAY,
MULT_GREEN, MULT_GREEN,
@@ -65,56 +48,23 @@ public:
void BuildConfigCache() override void BuildConfigCache() override
{ {
SetConfigValue<bool>(PEConfig::ALCHEMY_ENABLED, "ProfessionExperience.Alchemy.Enabled", false); SetConfigValue<float>(PEConfig::ALCHEMY_EXPERIENCE, "ProfessionExperience.Alchemy.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0");
SetConfigValue<float>(PEConfig::ALCHEMY_EXPERIENCE, "ProfessionExperience.Alchemy.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); SetConfigValue<float>(PEConfig::BLACKSMITH_EXPERIENCE, "ProfessionExperience.Blacksmith.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0");
SetConfigValue<float>(PEConfig::COOKING_EXPERIENCE, "ProfessionExperience.Cooking.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0");
SetConfigValue<bool>(PEConfig::BLACKSMITH_ENABLED, "ProfessionExperience.Blacksmith.Enabled", false); SetConfigValue<float>(PEConfig::DISENCHANTING_EXPERIENCE, "ProfessionExperience.Disenchanting.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0");
SetConfigValue<float>(PEConfig::BLACKSMITH_EXPERIENCE, "ProfessionExperience.Blacksmith.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); SetConfigValue<float>(PEConfig::ENCHANTING_EXPERIENCE, "ProfessionExperience.Enchanting.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0");
SetConfigValue<float>(PEConfig::ENGINEERING_EXPERIENCE, "ProfessionExperience.Engineering.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0");
SetConfigValue<bool>(PEConfig::COOKING_ENABLED, "ProfessionExperience.Cooking.Enabled", false); SetConfigValue<float>(PEConfig::FISHING_EXPERIENCE, "ProfessionExperience.Fishing.Experience", 0.01f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0");
SetConfigValue<float>(PEConfig::COOKING_EXPERIENCE, "ProfessionExperience.Cooking.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); SetConfigValue<float>(PEConfig::FIRST_AID_EXPERIENCE, "ProfessionExperience.FirstAid.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0");
SetConfigValue<float>(PEConfig::HERBALISM_EXPERIENCE, "ProfessionExperience.Herbalism.Experience", 0.01f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0");
SetConfigValue<bool>(PEConfig::DISENCHANTING_ENABLED, "ProfessionExperience.Disenchanting.Enabled", false); SetConfigValue<float>(PEConfig::INSCRIPTION_EXPERIENCE, "ProfessionExperience.Inscription.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0");
SetConfigValue<float>(PEConfig::DISENCHANTING_EXPERIENCE, "ProfessionExperience.Disenchanting.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); SetConfigValue<float>(PEConfig::JEWELCRAFTING_EXPERIENCE, "ProfessionExperience.Jewelcrafting.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0");
SetConfigValue<float>(PEConfig::LEATHERWORKING_EXPERIENCE, "ProfessionExperience.Leatherworking.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0");
SetConfigValue<bool>(PEConfig::ENCHANTING_ENABLED, "ProfessionExperience.Enchanting.Enabled", false); SetConfigValue<float>(PEConfig::LOCKPICK_EXPERIENCE, "ProfessionExperience.Lockpick.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0");
SetConfigValue<float>(PEConfig::ENCHANTING_EXPERIENCE, "ProfessionExperience.Enchanting.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); SetConfigValue<float>(PEConfig::MINING_EXPERIENCE, "ProfessionExperience.Mining.Experience", 0.01f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0");
SetConfigValue<float>(PEConfig::SKINNING_EXPERIENCE, "ProfessionExperience.Skinning.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0");
SetConfigValue<bool>(PEConfig::ENGINEERING_ENABLED, "ProfessionExperience.Engineering.Enabled", false); SetConfigValue<float>(PEConfig::SMELTING_EXPERIENCE, "ProfessionExperience.Smelting.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0");
SetConfigValue<float>(PEConfig::ENGINEERING_EXPERIENCE, "ProfessionExperience.Engineering.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0"); SetConfigValue<float>(PEConfig::TAILORING_EXPERIENCE, "ProfessionExperience.Tailoring.Experience", 0.00f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0");
SetConfigValue<bool>(PEConfig::FISHING_ENABLED, "ProfessionExperience.Fishing.Enabled", true);
SetConfigValue<float>(PEConfig::FISHING_EXPERIENCE, "ProfessionExperience.Fishing.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0");
SetConfigValue<bool>(PEConfig::FIRST_AID_ENABLED, "ProfessionExperience.FirstAid.Enabled", false);
SetConfigValue<float>(PEConfig::FIRST_AID_EXPERIENCE, "ProfessionExperience.FirstAid.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0");
SetConfigValue<bool>(PEConfig::HERBALISM_ENABLED, "ProfessionExperience.Herbalism.Enabled", true);
SetConfigValue<float>(PEConfig::HERBALISM_EXPERIENCE, "ProfessionExperience.Herbalism.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0");
SetConfigValue<bool>(PEConfig::INSCRIPTION_ENABLED, "ProfessionExperience.Inscription.Enabled", false);
SetConfigValue<float>(PEConfig::INSCRIPTION_EXPERIENCE, "ProfessionExperience.Inscription.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0");
SetConfigValue<bool>(PEConfig::JEWELCRAFTING_ENABLED, "ProfessionExperience.Jewelcrafting.Enabled", false);
SetConfigValue<float>(PEConfig::JEWELCRAFTING_EXPERIENCE, "ProfessionExperience.Jewelcrafting.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0");
SetConfigValue<bool>(PEConfig::LEATHERWORKING_ENABLED, "ProfessionExperience.Leatherworking.Enabled", false);
SetConfigValue<float>(PEConfig::LEATHERWORKING_EXPERIENCE, "ProfessionExperience.Leatherworking.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0");
SetConfigValue<bool>(PEConfig::LOCKPICK_ENABLED, "ProfessionExperience.Lockpick.Enabled", false);
SetConfigValue<float>(PEConfig::LOCKPICK_EXPERIENCE, "ProfessionExperience.Lockpick.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0");
SetConfigValue<bool>(PEConfig::MINING_ENABLED, "ProfessionExperience.Mining.Enabled", true);
SetConfigValue<float>(PEConfig::MINING_EXPERIENCE, "ProfessionExperience.Mining.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0");
SetConfigValue<bool>(PEConfig::SKINNING_ENABLED, "ProfessionExperience.Skinning.Enabled", false);
SetConfigValue<float>(PEConfig::SKINNING_EXPERIENCE, "ProfessionExperience.Skinning.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0");
SetConfigValue<bool>(PEConfig::SMELTING_ENABLED, "ProfessionExperience.Smelting.Enabled", false);
SetConfigValue<float>(PEConfig::SMELTING_EXPERIENCE, "ProfessionExperience.Smelting.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0");
SetConfigValue<bool>(PEConfig::TAILORING_ENABLED, "ProfessionExperience.Tailoring.Enabled", false);
SetConfigValue<float>(PEConfig::TAILORING_EXPERIENCE, "ProfessionExperience.Tailoring.Experience", 0.01, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value > 0.0f; }, "> 0");
SetConfigValue<float>(PEConfig::MULT_GRAY, "ProfessionExperience.MultGray", 0.0f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0"); SetConfigValue<float>(PEConfig::MULT_GRAY, "ProfessionExperience.MultGray", 0.0f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0");
SetConfigValue<float>(PEConfig::MULT_GREEN, "ProfessionExperience.MultGreen", 0.75f, ConfigValueCache::Reloadable::Yes, [](float const& value) { return value >= 0.0f; }, ">= 0"); SetConfigValue<float>(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 bool OnPlayerUpdateFishingSkill(Player* player, int32 skill, int32 zone_skill, int32 /*chance*/, int32 /*roll*/) override
{ {
if (peConfigData.GetConfigValue<bool>(PEConfig::FISHING_ENABLED)) if (float xpFactor = peConfigData.GetConfigValue<float>(PEConfig::FISHING_EXPERIENCE))
RewardXP(player, skill, zone_skill + 100, zone_skill + 50, zone_skill + 25, peConfigData.GetConfigValue<float>(PEConfig::FISHING_EXPERIENCE)); RewardXP(player, skill, zone_skill + 100, zone_skill + 50, zone_skill + 25, xpFactor);
return true; return true;
} }
void OnPlayerUpdateGatheringSkill(Player* player, uint32 skillId, uint32 currentLevel, uint32 gray, uint32 green, uint32 yellow, uint32& /*gain*/) override void OnPlayerUpdateGatheringSkill(Player* player, uint32 skillId, uint32 currentLevel, uint32 gray, uint32 green, uint32 yellow, uint32& /*gain*/) override
{ {
PEConfig enabledSetting;
PEConfig experienceSetting; PEConfig experienceSetting;
switch (skillId) switch (skillId)
{ {
case SKILL_HERBALISM: case SKILL_HERBALISM:
enabledSetting = PEConfig::HERBALISM_ENABLED;
experienceSetting = PEConfig::HERBALISM_EXPERIENCE; experienceSetting = PEConfig::HERBALISM_EXPERIENCE;
break; break;
case SKILL_MINING: case SKILL_MINING:
enabledSetting = PEConfig::MINING_ENABLED;
experienceSetting = PEConfig::MINING_EXPERIENCE; experienceSetting = PEConfig::MINING_EXPERIENCE;
break; break;
case SKILL_SKINNING: case SKILL_SKINNING:
enabledSetting = PEConfig::SKINNING_ENABLED;
experienceSetting = PEConfig::SKINNING_EXPERIENCE; experienceSetting = PEConfig::SKINNING_EXPERIENCE;
break; break;
case SKILL_LOCKPICKING: case SKILL_LOCKPICKING:
enabledSetting = PEConfig::LOCKPICK_ENABLED;
experienceSetting = PEConfig::LOCKPICK_EXPERIENCE; experienceSetting = PEConfig::LOCKPICK_EXPERIENCE;
break; break;
default: default:
return; return;
} }
if (peConfigData.GetConfigValue<bool>(enabledSetting)) if (float xpFactor = peConfigData.GetConfigValue<float>(experienceSetting))
RewardXP(player, currentLevel, gray, green, yellow, peConfigData.GetConfigValue<float>(experienceSetting)); RewardXP(player, currentLevel, gray, green, yellow, xpFactor);
} }
void OnPlayerUpdateCraftingSkill(Player *player, SkillLineAbilityEntry const* skill, uint32 currentLevel, uint32& /*gain*/) override void OnPlayerUpdateCraftingSkill(Player *player, SkillLineAbilityEntry const* skill, uint32 currentLevel, uint32& /*gain*/) override
{ {
PEConfig enabledSetting;
PEConfig experienceSetting; PEConfig experienceSetting;
switch (skill->SkillLine) switch (skill->SkillLine)
{ {
case SKILL_ALCHEMY: case SKILL_ALCHEMY:
enabledSetting = PEConfig::ALCHEMY_ENABLED;
experienceSetting = PEConfig::ALCHEMY_EXPERIENCE; experienceSetting = PEConfig::ALCHEMY_EXPERIENCE;
break; break;
case SKILL_BLACKSMITHING: case SKILL_BLACKSMITHING:
enabledSetting = PEConfig::BLACKSMITH_ENABLED;
experienceSetting = PEConfig::BLACKSMITH_EXPERIENCE; experienceSetting = PEConfig::BLACKSMITH_EXPERIENCE;
break; break;
case SKILL_COOKING: case SKILL_COOKING:
enabledSetting = PEConfig::COOKING_ENABLED;
experienceSetting = PEConfig::COOKING_EXPERIENCE; experienceSetting = PEConfig::COOKING_EXPERIENCE;
break; break;
case SKILL_ENCHANTING: case SKILL_ENCHANTING:
if (skill->Spell == 13262) if (skill->Spell == 13262)
{
enabledSetting = PEConfig::DISENCHANTING_ENABLED;
experienceSetting = PEConfig::DISENCHANTING_EXPERIENCE; experienceSetting = PEConfig::DISENCHANTING_EXPERIENCE;
}
else else
{
enabledSetting = PEConfig::ENCHANTING_ENABLED;
experienceSetting = PEConfig::ENCHANTING_EXPERIENCE; experienceSetting = PEConfig::ENCHANTING_EXPERIENCE;
}
break; break;
case SKILL_ENGINEERING: case SKILL_ENGINEERING:
enabledSetting = PEConfig::ENGINEERING_ENABLED;
experienceSetting = PEConfig::ENGINEERING_EXPERIENCE; experienceSetting = PEConfig::ENGINEERING_EXPERIENCE;
break; break;
case SKILL_FIRST_AID: case SKILL_FIRST_AID:
enabledSetting = PEConfig::FIRST_AID_ENABLED;
experienceSetting = PEConfig::FIRST_AID_EXPERIENCE; experienceSetting = PEConfig::FIRST_AID_EXPERIENCE;
break; break;
case SKILL_INSCRIPTION: case SKILL_INSCRIPTION:
enabledSetting = PEConfig::INSCRIPTION_ENABLED;
experienceSetting = PEConfig::INSCRIPTION_EXPERIENCE; experienceSetting = PEConfig::INSCRIPTION_EXPERIENCE;
break; break;
case SKILL_JEWELCRAFTING: case SKILL_JEWELCRAFTING:
enabledSetting = PEConfig::JEWELCRAFTING_ENABLED;
experienceSetting = PEConfig::JEWELCRAFTING_EXPERIENCE; experienceSetting = PEConfig::JEWELCRAFTING_EXPERIENCE;
break; break;
case SKILL_LEATHERWORKING: case SKILL_LEATHERWORKING:
enabledSetting = PEConfig::LEATHERWORKING_ENABLED;
experienceSetting = PEConfig::LEATHERWORKING_EXPERIENCE; experienceSetting = PEConfig::LEATHERWORKING_EXPERIENCE;
break; break;
case SKILL_MINING: case SKILL_MINING:
enabledSetting = PEConfig::SMELTING_ENABLED;
experienceSetting = PEConfig::SMELTING_EXPERIENCE; experienceSetting = PEConfig::SMELTING_EXPERIENCE;
break; break;
case SKILL_TAILORING: case SKILL_TAILORING:
enabledSetting = PEConfig::TAILORING_ENABLED;
experienceSetting = PEConfig::TAILORING_EXPERIENCE; experienceSetting = PEConfig::TAILORING_EXPERIENCE;
break; break;
default: default:
return; return;
} }
if (peConfigData.GetConfigValue<bool>(enabledSetting)) if (float xpFactor = peConfigData.GetConfigValue<float>(experienceSetting))
{ {
uint32 gray = skill->TrivialSkillLineRankHigh; uint32 gray = skill->TrivialSkillLineRankHigh;
uint32 green = (skill->TrivialSkillLineRankHigh + skill->TrivialSkillLineRankLow) / 2; uint32 green = (skill->TrivialSkillLineRankHigh + skill->TrivialSkillLineRankLow) / 2;
uint32 yellow = skill->TrivialSkillLineRankLow; uint32 yellow = skill->TrivialSkillLineRankLow;
RewardXP(player, currentLevel, gray, green, yellow, peConfigData.GetConfigValue<float>(experienceSetting)); RewardXP(player, currentLevel, gray, green, yellow, xpFactor);
} }
} }