Jump to content

Help please - Modlet for progression changes.


TheSaffen

Recommended Posts

I'm trying to learn how to do modlets, and I have been fiddling with changing the values some perks gives, below is an example of what I tried, it dosn't work (or I wouldn't post :p) but editing the files directly does - so clearly my syntax is wrong. Any help?

 

 

<?xml version="1.0" encoding="utf-8"?>
<configs>
<!-- Change damage for headshots on the perk SkullCrusher-->
<set xpath="/progression/perk[@name='perkSkullCrusher']">
<effect_group>
		<passive_effect name="DamageModifier" operation="perc_add" value="10,40" level="1,4" tags="head"/>
		<passive_effect name="DamageModifier" operation="perc_add" value="50" level="5" tags="head"/>
		<passive_effect name="DismemberChance" operation="base_add" value="0.05,0.15" level="3,5" tags="head"/>
</effect_group>

</set>

Link to comment
Share on other sites

With SET you need to change a specific value in a specific spot.

 

Such as:

<set xpath="/items/item[@name='meleeHandMaster']/property[@class='Action0']/property[@name='Range']/@value">1.35</set>

Changes Range to 1.35

 

 

You will need to separate out your changes and change each one individually rather than lump together like that.

Link to comment
Share on other sites

So this:

 

<set xpath="/progression/perk[@name='perkSkullCrusher']/effect_group/passive_effect[@name='DamageModifier']/@value=">10,40"></set>
<set xpath="/progression/perk[@name='perkSkullCrusher']/effect_group/passive_effect[@name='DamageModifier']/@level=">1,4"></set>
<set xpath="/progression/perk[@name='perkSkullCrusher']/effect_group/passive_effect[@name='DamageModifier']/@value=">50"></set>
<set xpath="/progression/perk[@name='perkSkullCrusher']/effect_group/passive_effect[@name='DamageModifier']/@level=">5"></set>
<set xpath="/progression/perk[@name='perkSkullCrusher']/effect_group/passive_effect[@name='DismemberChance']/@value=">0.10,0.5"></set>
<set xpath="/progression/perk[@name='perkSkullCrusher']/effect_group/passive_effect[@name='DismemberChance']/@level=">1,5"></set>

Would correspond to these lines in the progression.xml ?

 

<passive_effect name="DamageModifier" operation="perc_add" value="10,40" level="1,4" tags="head"/>
<passive_effect name="DamageModifier" operation="perc_add" value="50" level="5" tags="head"/>
<passive_effect name="DismemberChance" operation="base_add" value="0.1,0.5" level="1,5" tags="head"/>

Link to comment
Share on other sites

So this:

 

<set xpath="/progression/perk[@name='perkSkullCrusher']/effect_group/passive_effect[@name='DamageModifier']/@value=">10,40"></set>
<set xpath="/progression/perk[@name='perkSkullCrusher']/effect_group/passive_effect[@name='DamageModifier']/@level=">1,4"></set>
<set xpath="/progression/perk[@name='perkSkullCrusher']/effect_group/passive_effect[@name='DamageModifier']/@value=">50"></set>
<set xpath="/progression/perk[@name='perkSkullCrusher']/effect_group/passive_effect[@name='DamageModifier']/@level=">5"></set>
<set xpath="/progression/perk[@name='perkSkullCrusher']/effect_group/passive_effect[@name='DismemberChance']/@value=">0.10,0.5"></set>
<set xpath="/progression/perk[@name='perkSkullCrusher']/effect_group/passive_effect[@name='DismemberChance']/@level=">1,5"></set>

 

Pretty close! :) You are just missing the parent node of "perk" and you had extra >, = and " in there. This should work for you:

<set xpath="/progression/perks/perk[@name='perkSkullCrusher']/effect_group/passive_effect[@name='DamageModifier']/@value">10,40</set>
<set xpath="/progression/perks/perk[@name='perkSkullCrusher']/effect_group/passive_effect[@name='DamageModifier']/@level">1,4</set>
<set xpath="/progression/perks/perk[@name='perkSkullCrusher']/effect_group/passive_effect[@name='DamageModifier']/@value">50</set>
<set xpath="/progression/perks/perk[@name='perkSkullCrusher']/effect_group/passive_effect[@name='DamageModifier']/@level">5</set>
<set xpath="/progression/perks/perk[@name='perkSkullCrusher']/effect_group/passive_effect[@name='DismemberChance']/@value">0.10,0.5</set>
<set xpath="/progression/perks/perk[@name='perkSkullCrusher']/effect_group/passive_effect[@name='DismemberChance']/@level">1,5</set>

Link to comment
Share on other sites

Okay, that works - except - not quite. Since there is two different lines, one for level 1-4 and one for 5 - and my code (I'm guessing) dosn't see the difference, then is it possible the code does the first (level 1-4) then writes over that with the level 5 one? I don't see a big difference when testing it - but when I commented out the level 5 one I suddenly saw the changes.

 

Is it possible to adjust the code so it sees that difference? The original code (in progression.xml) is:

 

<perk name="perkSkullCrusher" parent="skillMeleeCombat" name_key="perkSkullCrusher" desc_key="perkSkullCrusherDesc" icon="ui_game_symbol_skull_crusher">
	<level_requirements level="1"><requirement name="ProgressionLevel" progression_name="attStrength" operation="GTE" value="1" desc_key="reqStrengthLevel1"/></level_requirements>
	<level_requirements level="2"><requirement name="ProgressionLevel" progression_name="attStrength" operation="GTE" value="3" desc_key="reqStrengthLevel3"/></level_requirements>
	<level_requirements level="3"><requirement name="ProgressionLevel" progression_name="attStrength" operation="GTE" value="5" desc_key="reqStrengthLevel5"/></level_requirements>
	<level_requirements level="4"><requirement name="ProgressionLevel" progression_name="attStrength" operation="GTE" value="7" desc_key="reqStrengthLevel7"/></level_requirements>
	<level_requirements level="5"><requirement name="ProgressionLevel" progression_name="attStrength" operation="GTE" value="10" desc_key="reqStrengthLevel10"/></level_requirements>

	<effect_group>
		<requirement name="HoldingItemHasTags" tags="melee"/>
		<passive_effect name="DamageModifier" operation="perc_add" value="0.25,1" level="1,4" tags="head"/>
		<passive_effect name="DamageModifier" operation="perc_add" value="1.5" level="5" tags="head"/>
		<passive_effect name="DismemberChance" operation="base_add" value="0.05,0.15" level="3,5" tags="head"/>
		<effect_description level="1" desc_key="perkSkullCrusherRank1Desc"/>
		<effect_description level="2" desc_key="perkSkullCrusherRank2Desc"/>
		<effect_description level="3" desc_key="perkSkullCrusherRank3Desc"/>
		<effect_description level="4" desc_key="perkSkullCrusherRank4Desc"/>
		<effect_description level="5" desc_key="perkSkullCrusherRank5Desc"/>
	</effect_group>
</perk>

Link to comment
Share on other sites

You will want to use additional conditions in order to specify which one you are trying to target.

 

Such as: (targets it by name and level)

 

<set xpath="/progression/perk[@name='perkSkullCrusher']/effect_group/passive_effect[@name='DamageModifier' and @level='1,4']/@vaule=">0,40</set>

 

You can add multiple conditionals in your 'search' string so you can narrow it down pretty specifically.

Link to comment
Share on other sites

You will want to use additional conditions in order to specify which one you are trying to target.

 

Such as: (targets it by name and level)

 

<set xpath="/progression/perk[@name='perkSkullCrusher']/effect_group/passive_effect[@name='DamageModifier' and @level='1,4']/@vaule=">0,40</set>

 

You can add multiple conditionals in your 'search' string so you can narrow it down pretty specifically.

 

Just remember to include each parent element in the code. Perk is a child of perks. ;)

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...