TheSaffen Posted November 30, 2018 Share Posted November 30, 2018 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 ) 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 More sharing options...
CyrusBlaze Posted November 30, 2018 Share Posted November 30, 2018 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 More sharing options...
TheSaffen Posted November 30, 2018 Author Share Posted November 30, 2018 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 More sharing options...
Russiandood Posted November 30, 2018 Share Posted November 30, 2018 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 More sharing options...
TheSaffen Posted November 30, 2018 Author Share Posted November 30, 2018 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 More sharing options...
CyrusBlaze Posted November 30, 2018 Share Posted November 30, 2018 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 More sharing options...
Russiandood Posted November 30, 2018 Share Posted November 30, 2018 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 More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.