Skip to content

Commit d22ffa4

Browse files
committed
multiplicators by profession rank
1 parent c212b6b commit d22ffa4

File tree

2 files changed

+50
-4
lines changed

2 files changed

+50
-4
lines changed

conf/mod-profession-experience.conf.dist

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,29 @@ ProfessionExperience.MultYellow = 1.0
2424
ProfessionExperience.MultOrange = 1.25
2525

2626

27+
#
28+
# ProfessionExperience.MultApprentice 1-75
29+
# ProfessionExperience.MultJourneyman 76-150
30+
# ProfessionExperience.MultExpert 151-225
31+
# ProfessionExperience.MultArtisan 226-300
32+
# ProfessionExperience.MultMaster 301-375
33+
# ProfessionExperience.MultGrandMaster 376-450
34+
# Description: Multiplicator to experience when using a skill in this skill range
35+
# Default: 1.0 - (ProfessionExperience.MultApprentice)
36+
# 2.0 - (ProfessionExperience.MultJourneyman)
37+
# 3.0 - (ProfessionExperience.MultExpert)
38+
# 4.0 - (ProfessionExperience.MultArtisan)
39+
# 5.0 - (ProfessionExperience.MultMaster)
40+
# 6.0 - (ProfessionExperience.MultGrandMaster)
41+
42+
ProfessionExperience.MultApprentice = 1.0
43+
ProfessionExperience.MultJourneyman = 2.0
44+
ProfessionExperience.MultExpert = 3.0
45+
ProfessionExperience.MultArtisan = 4.0
46+
ProfessionExperience.MultMaster = 5.0
47+
ProfessionExperience.MultGrandMaster = 6.0
48+
49+
2750
#
2851
# ProfessionExperience.*.Enabled
2952
# Description: Enable experience gain when crafting or gathering with this profession

src/ProfessionExp.cpp

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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
};
123133
static 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

Comments
 (0)