Hi Meridian & Yankes,
Congrats for the amazing job you do every day/week/month/year !
I'm quite sure answer will be NO, anyway I will still ask my question, as this is a request I asked far in the past but was impossible to implement, but I'm still interested by it and potentially it may be possible now in OXCE
Would it be possible to put harcoded values regarding experience awards as parameters we could simply overwrite via ruleset ?
What I have in mind hereafter
Current Code (BattleUnit.cpp)
int BattleUnit::improveStat(int exp) const
{
if (exp > 10) return RNG::generate(2, 6);
else if (exp > 5) return RNG::generate(1, 4);
else if (exp > 2) return RNG::generate(1, 3);
else if (exp > 0) return RNG::generate(0, 1);
else return 0;
}
Convert 12 hardcoded values to variables available for overwritting via ruleset
New Ruleset variables (names to be defined properly, below is just an example):
STR_EXP_TRIGGER1 0
STR_EXP_TRIGGER2 2
STR_EXP_TRIGGER3 5
STR_EXP_TRIGGER4 10
STR_EXP_TRIGGER1_MINRNG 0
STR_EXP_TRIGGER2_MINRNG 1
STR_EXP_TRIGGER3_MINRNG 1
STR_EXP_TRIGGER4_MINRNG 2
STR_EXP_TRIGGER1_MAXRNG 1
STR_EXP_TRIGGER2_MAXRNG 3
STR_EXP_TRIGGER3_MAXRNG 4
STR_EXP_TRIGGER4_MAXRNG 6
New code:
int BattleUnit::improveStat(int exp) const
{
if (exp > STR_EXP_TRIGGER1) return RNG::generate(STR_EXP_TRIGGER1_MINRNG, STR_EXP_TRIGGER1_MAXRNG);
else if (exp > STR_EXP_TRIGGER2) return RNG::generate(STR_EXP_TRIGGER2_MINRNG, STR_EXP_TRIGGER2_MAXRNG);
else if (exp > STR_EXP_TRIGGER3) return RNG::generate(STR_EXP_TRIGGER3_MINRNG, STR_EXP_TRIGGER3_MAXRNG);
else if (exp > STR_EXP_TRIGGER4) return RNG::generate(STR_EXP_TRIGGER4_MINRNG, STR_EXP_TRIGGER4_MAXRNG);
else return 0;
}
Please don't hurt me if you find this request has no sense :-[
EDIT: I saw there is now the possibility to play with experience multiplier via scripts, but I'm still interested to have access to these hardoded values