Jump to content

Main Stat Changes/Incorrect Buy Price


Recommended Posts

Good Day,


This is in regards to A17 (Not able to change the title).


I have been custom modding everything throughout the ini files and localization and such on just about every part of teh game so far.


I am running into a really odd bug with the stat purchase as well as a few other issues regarding items increasing stats, which then increase your Buy price in skill points.



First up:


I have each of my base stats (Strength, Perception, Agility, etc..) going up to level 20. All of the attributes are correct in both the localization.txt for descriptors, the progression.xml on every section and I already have a few players up at level 18 and 19 in a few of the stats.


The issue with this - Level 1-10 progression cost is fine, however 11-20 gets.. wierd. This is a copy/paste of what the skill requirements to purchase each level are according to the game math and the stock code:


<attributes min_level="1" max_level="20" base_skill_point_cost="1" cost_multiplier_per_level="1.18">


1	2.36
2	3.54
3	4.72
4	5.9
5	7.08
6	8.26
7	9.44
8	10.62
9	11.8
10	12.98
11	14.16
12	15.34
13	16.52
14	17.7
15	18.88
16	20.06
17	21.24
18	22.42
19	23.6
20	24.78


This is the standard stock settings, level cost starts at 1 and then is multiplied by 1.18 for each successive level, rounded down. Levels 1-10 is just fine. Level 11-20 gets.. weird. Very weird. Level 10 costs 6 points to go from 10-11, while level 18 to 19 costs the appropriate 23 points.


In between level 11-16 the points get all sorts of weird and cost WAY less then the files are telling them to. It is neither my math, nor the files I have edited. Something with the game is making it cost really far off from what the files are telling it to. The odd part, is that at level 18 the cost is just fine. It should cost 23 points, and it does cost 23 points both in game and in files.




Does this require a DLL edit? It shouldnt, as this is all controlled via ini and .txt (Progression.xml and Localization.txt) are the only two files that affect anything character stat wise for purchasing/affecting base stats in this section of the menu. If wanted, I can provide my files so someone else can take a look at them. This is just weird as heck.






The second odd part, character death debuff and wearing equipment that affects character stats. Cigar for instance. If you equip a cigar, it increases the Points to Buy on stats. In my case, level 18 to 19 costs 23 points normally, equip a Cigar and it goes all the way up to 27 points needing to level the stat. Unequip it and it goes back to 23 points.


WHat the heck, game? Punish players for equipping items that give stat buffs?


When you die and get -1 to all stats, it also makes stat purchases cheaper. Check it out, huge bug they overlooked.




The three pictures below show level 10-11 cost being bugged and only costing 6 points. Another shows the correct price for a level 18 to 19 Strength purchase. And then the other shows the price increase by wearing a Cigar that gives +1 strength. It not only increases the Buy amount, but also is adding 2-3 levels worth of Strength for Buy points according to the math.


EDIT: Uhh wow. So uploading screenshots is not advisable. The resolution they shrink to is ridiculous!




Link to comment
Share on other sites

For anyone wondering about the description showing what it does, I specifically changed it so each stat represents the actual stats they increase while I create new descriptors for the localization file. It has zero relevance to this, and is only temporary.


Just in case anyone asks.. yes, the 6 point purchase cost at its level is the same across all stats. It should cost 14 points to go from level 10-11.

Link to comment
Share on other sites

A quick follow up with the code for the files, very simple and nothing crazy:


Progression.xml (each of the stats follow the same tree style and descriptor)


<attributes min_level="1" max_level="20" base_skill_point_cost="1" cost_multiplier_per_level="1.18"> <!--values here are simply base values for any attribute that doesn't override it. -->

<attribute name="attPerception" name_key="attPerceptionName" desc_key="attPerceptionDesc" icon="ui_game_symbol_stealth">
	<level_requirements level="1"><requirement name="PlayerLevel" target="self" operation="GTE" value="1" desc_key="reqGenericPoints01"/></level_requirements>
	<level_requirements level="2"><requirement name="PlayerLevel" target="self" operation="GTE" value="1" desc_key="reqGenericPoints02"/></level_requirements>
	<level_requirements level="3"><requirement name="PlayerLevel" target="self" operation="GTE" value="1" desc_key="reqGenericPoints03"/></level_requirements>
	<level_requirements level="4"><requirement name="PlayerLevel" target="self" operation="GTE" value="1" desc_key="reqGenericPoints04"/></level_requirements>
	<level_requirements level="5"><requirement name="PlayerLevel" target="self" operation="GTE" value="1" desc_key="reqGenericPoints05"/></level_requirements>
	<level_requirements level="6"><requirement name="PlayerLevel" target="self" operation="GTE" value="1" desc_key="reqGenericPoints06"/></level_requirements>
	<level_requirements level="7"><requirement name="PlayerLevel" target="self" operation="GTE" value="1" desc_key="reqGenericPoints07"/></level_requirements>
	<level_requirements level="8"><requirement name="PlayerLevel" target="self" operation="GTE" value="1" desc_key="reqGenericPoints08"/></level_requirements>
	<level_requirements level="9"><requirement name="PlayerLevel" target="self" operation="GTE" value="1" desc_key="reqGenericPoints09"/></level_requirements>
	<level_requirements level="10"><requirement name="PlayerLevel" target="self" operation="GTE" value="1" desc_key="reqGenericPoints10"/></level_requirements>
	<level_requirements level="11"><requirement name="PlayerLevel" target="self" operation="GTE" value="1" desc_key="reqGenericPoints11"/></level_requirements>
	<level_requirements level="12"><requirement name="PlayerLevel" target="self" operation="GTE" value="1" desc_key="reqGenericPoints12"/></level_requirements>
	<level_requirements level="13"><requirement name="PlayerLevel" target="self" operation="GTE" value="1" desc_key="reqGenericPoints13"/></level_requirements>
	<level_requirements level="14"><requirement name="PlayerLevel" target="self" operation="GTE" value="1" desc_key="reqGenericPoints14"/></level_requirements>
	<level_requirements level="15"><requirement name="PlayerLevel" target="self" operation="GTE" value="1" desc_key="reqGenericPoints15"/></level_requirements>
	<level_requirements level="16"><requirement name="PlayerLevel" target="self" operation="GTE" value="1" desc_key="reqGenericPoints16"/></level_requirements>
	<level_requirements level="17"><requirement name="PlayerLevel" target="self" operation="GTE" value="1" desc_key="reqGenericPoints17"/></level_requirements>
	<level_requirements level="18"><requirement name="PlayerLevel" target="self" operation="GTE" value="1" desc_key="reqGenericPoints18"/></level_requirements>
	<level_requirements level="19"><requirement name="PlayerLevel" target="self" operation="GTE" value="1" desc_key="reqGenericPoints19"/></level_requirements>
	<level_requirements level="20"><requirement name="PlayerLevel" target="self" operation="GTE" value="1" desc_key="reqGenericPoints20"/></level_requirements>[/Code]

reqGenericPoints01,progression,Attribute,New,Buy: 2 PT,,,,,
reqGenericPoints02,progression,Attribute,New,Buy: 3 PT,,,,,
reqGenericPoints03,progression,Attribute,New,Buy: 4 PT,,,,,
reqGenericPoints04,progression,Attribute,New,Buy: 5 PT,,,,,
reqGenericPoints05,progression,Attribute,New,Buy: 7 PT,,,,,
reqGenericPoints06,progression,Attribute,New,Buy: 8 PT,,,,,
reqGenericPoints07,progression,Attribute,New,Buy: 9 PT,,,,,
reqGenericPoints08,progression,Attribute,New,Buy: 10 PT,,,,,
reqGenericPoints09,progression,Attribute,New,Buy: 11 PT,,,,,
reqGenericPoints10,progression,Attribute,New,Buy: 12 PT,,,,,
reqGenericPoints11,progression,Attribute,New,Buy: 14 PT,,,,,
reqGenericPoints12,progression,Attribute,New,Buy: 15 PT,,,,,
reqGenericPoints13,progression,Attribute,New,Buy: 16 PT,,,,,
reqGenericPoints14,progression,Attribute,New,Buy: 17 PT,,,,,
reqGenericPoints15,progression,Attribute,New,Buy: 18 PT,,,,,
reqGenericPoints16,progression,Attribute,New,Buy: 20 PT,,,,,
reqGenericPoints17,progression,Attribute,New,Buy: 21 PT,,,,,
reqGenericPoints18,progression,Attribute,New,Buy: 22 PT,,,,,
reqGenericPoints19,progression,Attribute,New,Buy: 23 PT,,,,,
reqGenericPoints20,progression,Attribute,New,Buy: 24 PT,,,,,



Those are the only locations that affect the given stats, nothing crazy by any means.. and nothing wrong with how it is implemented.

Link to comment
Share on other sites

Sadly, that wouldnt explain why level 11 suddenly costs 6 skill points and then it ramps up steeply until it is corrected at the same values I have shown.


The formula I have is correct, as my level 18 matches up with it perfectly (18 to 19 costs 23 points). as well as every level prior, minus that super weird middle 11-14 range.


Something very fishy with how the game is mathing in the background. The cost should only go up.. not go from 8, 9, 10 down to 6, 8, 11, 15, 18, 20.


Wasn't sure if there was something anyone noticed in the DLL that might change how it works if it goes past 10 skill points perhaps.

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Create New...