@@ -36,12 +36,8 @@ enum class PEConfig
3636 LEATHERWORKING_EXPERIENCE,
3737 LOCKPICK_ENABLED,
3838 LOCKPICK_EXPERIENCE,
39- MILLING_ENABLED,
40- MILLING_EXPERIENCE,
4139 MINING_ENABLED,
4240 MINING_EXPERIENCE,
43- PROSPECTING_ENABLED,
44- PROSPECTING_EXPERIENCE,
4541 SKINNING_ENABLED,
4642 SKINNING_EXPERIENCE,
4743 SMELTING_ENABLED,
@@ -52,6 +48,12 @@ enum class PEConfig
5248 MULT_GREEN,
5349 MULT_YELLOW,
5450 MULT_ORANGE,
51+ MULT_APPRENTICE,
52+ MULT_JOURNEYMAN,
53+ MULT_EXPERT,
54+ MULT_ARTISAN,
55+ MULT_MASTER,
56+ MULT_GRANDMASTER,
5557
5658 NUM_CONFIGS,
5759};
@@ -118,6 +120,14 @@ class PEConfigData : public ConfigValueCache<PEConfig>
118120 SetConfigValue<float >(PEConfig::MULT_GREEN, " ProfessionExperience.MultGreen" , 0 .75f , ConfigValueCache::Reloadable::Yes, [](float const & value) { return value >= 0 .0f ; }, " >= 0" );
119121 SetConfigValue<float >(PEConfig::MULT_YELLOW, " ProfessionExperience.MultYellow" , 1 .0f , ConfigValueCache::Reloadable::Yes, [](float const & value) { return value >= 0 .0f ; }, " >= 0" );
120122 SetConfigValue<float >(PEConfig::MULT_ORANGE, " ProfessionExperience.MultOrange" , 1 .25f , ConfigValueCache::Reloadable::Yes, [](float const & value) { return value >= 0 .0f ; }, " >= 0" );
123+
124+ SetConfigValue<float >(PEConfig::MULT_APPRENTICE, " ProfessionExperience.MultApprentice" , 1 .0f , ConfigValueCache::Reloadable::Yes, [](float const & value) { return value >= 0 .0f ; }, " >= 0" );
125+ SetConfigValue<float >(PEConfig::MULT_JOURNEYMAN, " ProfessionExperience.MultJourneyman" , 2 .0f , ConfigValueCache::Reloadable::Yes, [](float const & value) { return value >= 0 .0f ; }, " >= 0" );
126+ SetConfigValue<float >(PEConfig::MULT_EXPERT, " ProfessionExperience.MultExpert" , 3 .0f , ConfigValueCache::Reloadable::Yes, [](float const & value) { return value >= 0 .0f ; }, " >= 0" );
127+ SetConfigValue<float >(PEConfig::MULT_ARTISAN, " ProfessionExperience.MultArtisan" , 4 .0f , ConfigValueCache::Reloadable::Yes, [](float const & value) { return value >= 0 .0f ; }, " >= 0" );
128+ SetConfigValue<float >(PEConfig::MULT_MASTER, " ProfessionExperience.MultMaster" , 5 .0f , ConfigValueCache::Reloadable::Yes, [](float const & value) { return value >= 0 .0f ; }, " >= 0" );
129+ SetConfigValue<float >(PEConfig::MULT_GRANDMASTER," ProfessionExperience.MultGrandMaster" ,6 .0f , ConfigValueCache::Reloadable::Yes, [](float const & value) { return value >= 0 .0f ; }, " >= 0" );
130+
121131 }
122132};
123133static PEConfigData peConfigData;
@@ -251,6 +261,19 @@ RewardExperienceScript() : PlayerScript("RewardExperienceScript", {
251261 else
252262 xp = xp * peConfigData.GetConfigValue <float >(PEConfig::MULT_ORANGE);
253263
264+ if (gray > 375 )
265+ xp = xp * peConfigData.GetConfigValue <float >(PEConfig::MULT_GRANDMASTER);
266+ else if (gray > 300 )
267+ xp = xp * peConfigData.GetConfigValue <float >(PEConfig::MULT_MASTER);
268+ else if (gray > 225 )
269+ xp = xp * peConfigData.GetConfigValue <float >(PEConfig::MULT_ARTISAN);
270+ else if (gray > 150 )
271+ xp = xp * peConfigData.GetConfigValue <float >(PEConfig::MULT_EXPERT);
272+ else if (gray > 75 )
273+ xp = xp * peConfigData.GetConfigValue <float >(PEConfig::MULT_JOURNEYMAN);
274+ else
275+ xp = xp * peConfigData.GetConfigValue <float >(PEConfig::MULT_APPRENTICE);
276+
254277 player->GiveXP (xp, nullptr );
255278 }
256279};
0 commit comments