Jump to content

(A21 and 1.0) Black Wolf's better vanilla perks


Black_Wolf

Recommended Posts

1 hour ago, Black_Wolf said:

I am already aware that this doesn't work, and honestly i have no idea on how to fix it, i'll try to make it work, if unable, i will probably remove it.

Also, this code structure seems to be from an older version of the mod.

 

I did try to replace only the descriptions but i couldn't figure out the code that would do it.

Therefore, that's what you will get, nobody cared enough to help me when i needed it, so i had to find my own solution. 

 

The crafting tier is probably some remaining code of when i tried to make another mod work after 1.0 experimental released, will be removed in the next update.

Just try it out - it should work just fine (about my shared code). Also, i not downloaded older versions of this mod, so cannot say anything about structure similarities, but instead can share where i get the idea - check out buff buffFarmerSetBonus in gamefiles (line 1733 in buffs.xml).

 

Here's an example code on how to change only description:

<set xpath="/progression/perks/perk[@name='perkDeepCuts']/effect_group[1]/effect_description[@long_desc_key='perkDeepCutsRank1LongDesc']@long_desc_key">yourDescriptionName</set>

Also, please check out this thread which can answer most of the questions that may arise when creating mods. Guide was created, i think, when alpha 17 was released and since then helped me to create my own mods and edit other's people (though i don't share anything yet from my collection 😅)

Edited by stich196
clarification about what i'm talking (see edit history)
Link to comment
Share on other sites

1 hour ago, stich196 said:

Just try it out - it should work just fine (about my shared code). Also, i not downloaded older versions of this mod, so cannot say anything about structure similarities, but instead can share where i get the idea - check out buff buffFarmerSetBonus in gamefiles (line 1733 in buffs.xml).

 

Here's an example code on how to change only description:

<set xpath="/progression/perks/perk[@name='perkDeepCuts']/effect_group[1]/effect_description[@long_desc_key='perkDeepCutsRank1LongDesc']@long_desc_key">yourDescriptionName</set>

Also, please check out this thread which can answer most of the questions that may arise when creating mods. Guide was created, i think, when alpha 17 was released and since then helped me to create my own mods and edit other's people (though i don't share anything yet from my collection 😅)

Thank you, and yeah farmer armor is exactly where i started from when making MasterChef improvement, though it still didn't work, I'll try more tho

Link to comment
Share on other sites

51 minutes ago, Black_Wolf said:

Thank you, and yeah farmer armor is exactly where i started from when making MasterChef improvement, though it still didn't work, I'll try more tho

Hm... So my code didn't work for you? Strange... I want to help with this - do you mind if we contact through discord?

 

Also found another bug - description in Parkour looks weird. You need to encapsulate it in brackets (file Localization.txt), otherwise description in game follow only to first comma.

Edit: Parkour 3rd description - 50% dmg increase for 24s? 😅

Edit2: also dmg buff lasts 1 second longer that in description (for each parkour lvl) - is this a bug or that was intentional?

Edited by stich196 (see edit history)
Link to comment
Share on other sites

Posted (edited)
1 hour ago, stich196 said:

Hm... So my code didn't work for you? Strange... I want to help with this - do you mind if we contact through discord?

 

Also found another bug - description in Parkour looks weird. You need to encapsulate it in brackets (file Localization.txt), otherwise description in game follow only to first comma.

Edit: Parkour 3rd description - 50% dmg increase for 24s? 😅

Edit2: also dmg buff lasts 1 second longer that in description (for each parkour lvl) - is this a bug or that was intentional?

The bonus lasting 1s longer is intended, because when the buff gets applied, the UI timer will always start 1 second after.

I'll look into the Parkour description.

 

And your code works, i'm talking about the food bonus refusing to work on Masterchef. If you have any suggestion on how to make it work, feel free to leave it here, as for Discord, yes i have it, but let's take it slow now, i will of course add you evnetually, if needed.

 

This is how it currently looks like.

 

				<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.1">
				<requirement name="HoldingItemHasTags" tags="food,drinks"/>
				<requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="1"/>
				</triggered_effect>

				<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.3">
				<requirement name="HoldingItemHasTags" tags="food,drinks"/>
				<requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="2"/>
				</triggered_effect>
				
				<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.5">
				<requirement name="HoldingItemHasTags" tags="food,drinks"/>
				<requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="3"/>
				</triggered_effect>

 

Edited by Black_Wolf (see edit history)
Link to comment
Share on other sites

  

1 hour ago, Black_Wolf said:

The bonus lasting 1s longer is intended, because when the buff gets applied, the UI timer will always start 1 second after.

I'll look into the Parkour description.

 

And your code works, i'm talking about the food bonus refusing to work on Masterchef. If you have any suggestion on how to make it work, feel free to leave it here, as for Discord, yes i have it, but let's take it slow now, i will of course add you evnetually, if needed.

 

This is how it currently looks like.

 

				<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.1">
				<requirement name="HoldingItemHasTags" tags="food,drinks"/>
				<requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="1"/>
				</triggered_effect>

				<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.3">
				<requirement name="HoldingItemHasTags" tags="food,drinks"/>
				<requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="2"/>
				</triggered_effect>
				
				<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.5">
				<requirement name="HoldingItemHasTags" tags="food,drinks"/>
				<requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="3"/>
				</triggered_effect>

 

Wait, i'm slightly confused: if my code works, then doesn't that mean, that your problem is fixed?

I mean i changed code by myself in your mod and shared that code from there. So, if you just copy/paste it - issue with non-working food effectiveness should gone.

About your current code: if you noticed - it works, though partially - when you eat food, only Health gain is multiplied. In-game variable foodHealthAmount is represents how many HP you gain after consumed food. So, to make it more perfectly, you also need 2 other variables ($foodAmountAdd and $waterAmountAdd) which represent amount food and water you get respectively. Which is exactly what I did in my code. But i changed it slightly to avoid repeating code. Because if we followed your coding style, then there should 6 more almost identical paragraphs:

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.1">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="1"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.3">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="2"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.5">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="3"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$foodAmountAdd" operation="multiply" value="1.1">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="1"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$foodAmountAdd" operation="multiply" value="1.3">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="2"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$foodAmountAdd" operation="multiply" value="1.5">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="3"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$waterAmountAdd" operation="multiply" value="1.1">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="1"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$waterAmountAdd" operation="multiply" value="1.3">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="2"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$waterAmountAdd" operation="multiply" value="1.5">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="3"/>
</triggered_effect>

It's not looking so good. That's why i put the "requirement" out of brackets:

<effect_group>
	<requirements>
		<requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="1"/>
	</requirements>
		<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.1">
			<requirement name="ItemHasTags" tags="food,drinks"/>
		</triggered_effect>
		<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$foodAmountAdd" operation="multiply" value="1.1">
			<requirement name="ItemHasTags" tags="food,drinks"/>
		</triggered_effect>
		<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$waterAmountAdd" operation="multiply" value="1.1">
			<requirement name="ItemHasTags" tags="food,drinks"/>
		</triggered_effect>
</effect_group>

From my understanding, if "requirement" outside "triggered_effect" it applies to all "triggered_effect" and "passive_effect" that follows after it. But if there's more than 1 requirement outside the brackets

<effect_group>
	<requirements>
		some requirement
	</requirements>
		some_effects
	
	<requirements>
		some requirement 2
	</requirements>
		some_effects 2
</effect_group>

that effect_group stops working (tested it). And that's why i put them into 3 different "effect_group"s.

 

 

 

While I was explaining how it works, i noticed that my code can be improved slightly:

<buff name="buffMasterChef" hidden="true" remove_on_death="false">
	<effect_group>
		<requirements>
			<requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="1"/>
			<requirement name="ItemHasTags" tags="food,drinks"/>
		</requirements>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.1"/>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$foodAmountAdd" operation="multiply" value="1.1"/>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$waterAmountAdd" operation="multiply" value="1.1"/>
	</effect_group>
	<effect_group>
		<requirements>
			<requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="2"/>
			<requirement name="ItemHasTags" tags="food,drinks"/>
		</requirements>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.3"/>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$foodAmountAdd" operation="multiply" value="1.3"/>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$waterAmountAdd" operation="multiply" value="1.3"/>
	</effect_group>
	<effect_group>
		<requirements>
			<requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="3"/>
			<requirement name="ItemHasTags" tags="food,drinks"/>
		</requirements>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.5"/>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$foodAmountAdd" operation="multiply" value="1.5"/>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$waterAmountAdd" operation="multiply" value="1.5"/>
	</effect_group>
</buff>

It's even more readable now than before.

Link to comment
Share on other sites

10 minutes ago, stich196 said:

  

Wait, i'm slightly confused: if my code works, then doesn't that mean, that your problem is fixed?

I mean i changed code by myself in your mod and shared that code from there. So, if you just copy/paste it - issue with non-working food effectiveness should gone.

About your current code: if you noticed - it works, though partially - when you eat food, only Health gain is multiplied. In-game variable foodHealthAmount is represents how many HP you gain after consumed food. So, to make it more perfectly, you also need 2 other variables ($foodAmountAdd and $waterAmountAdd) which represent amount food and water you get respectively. Which is exactly what I did in my code. But i changed it slightly to avoid repeating code. Because if we followed your coding style, then there should 6 more almost identical paragraphs:

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.1">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="1"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.3">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="2"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.5">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="3"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$foodAmountAdd" operation="multiply" value="1.1">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="1"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$foodAmountAdd" operation="multiply" value="1.3">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="2"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$foodAmountAdd" operation="multiply" value="1.5">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="3"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$waterAmountAdd" operation="multiply" value="1.1">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="1"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$waterAmountAdd" operation="multiply" value="1.3">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="2"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$waterAmountAdd" operation="multiply" value="1.5">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="3"/>
</triggered_effect>

It's not looking so good. That's why i put the "requirement" out of brackets:

<effect_group>
	<requirements>
		<requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="1"/>
	</requirements>
		<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.1">
			<requirement name="ItemHasTags" tags="food,drinks"/>
		</triggered_effect>
		<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$foodAmountAdd" operation="multiply" value="1.1">
			<requirement name="ItemHasTags" tags="food,drinks"/>
		</triggered_effect>
		<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$waterAmountAdd" operation="multiply" value="1.1">
			<requirement name="ItemHasTags" tags="food,drinks"/>
		</triggered_effect>
</effect_group>

From my understanding, if "requirement" outside "triggered_effect" it applies to all "triggered_effect" and "passive_effect" that follows after it. But if there's more than 1 requirement outside the brackets

<effect_group>
	<requirements>
		some requirement
	</requirements>
		some_effects
	
	<requirements>
		some requirement 2
	</requirements>
		some_effects 2
</effect_group>

that effect_group stops working (tested it). And that's why i put them into 3 different "effect_group"s.

 

 

 

While I was explaining how it works, i noticed that my code can be improved slightly:

<buff name="buffMasterChef" hidden="true" remove_on_death="false">
	<effect_group>
		<requirements>
			<requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="1"/>
			<requirement name="ItemHasTags" tags="food,drinks"/>
		</requirements>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.1"/>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$foodAmountAdd" operation="multiply" value="1.1"/>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$waterAmountAdd" operation="multiply" value="1.1"/>
	</effect_group>
	<effect_group>
		<requirements>
			<requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="2"/>
			<requirement name="ItemHasTags" tags="food,drinks"/>
		</requirements>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.3"/>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$foodAmountAdd" operation="multiply" value="1.3"/>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$waterAmountAdd" operation="multiply" value="1.3"/>
	</effect_group>
	<effect_group>
		<requirements>
			<requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="3"/>
			<requirement name="ItemHasTags" tags="food,drinks"/>
		</requirements>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.5"/>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$foodAmountAdd" operation="multiply" value="1.5"/>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$waterAmountAdd" operation="multiply" value="1.5"/>
	</effect_group>
</buff>

It's even more readable now than before.

Oh sorry, that's why i got confused and thought you were using an older version of the mod, sorry, i will try it now

Link to comment
Share on other sites

14 hours ago, stich196 said:

  

Wait, i'm slightly confused: if my code works, then doesn't that mean, that your problem is fixed?

I mean i changed code by myself in your mod and shared that code from there. So, if you just copy/paste it - issue with non-working food effectiveness should gone.

About your current code: if you noticed - it works, though partially - when you eat food, only Health gain is multiplied. In-game variable foodHealthAmount is represents how many HP you gain after consumed food. So, to make it more perfectly, you also need 2 other variables ($foodAmountAdd and $waterAmountAdd) which represent amount food and water you get respectively. Which is exactly what I did in my code. But i changed it slightly to avoid repeating code. Because if we followed your coding style, then there should 6 more almost identical paragraphs:

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.1">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="1"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.3">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="2"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.5">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="3"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$foodAmountAdd" operation="multiply" value="1.1">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="1"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$foodAmountAdd" operation="multiply" value="1.3">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="2"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$foodAmountAdd" operation="multiply" value="1.5">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="3"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$waterAmountAdd" operation="multiply" value="1.1">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="1"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$waterAmountAdd" operation="multiply" value="1.3">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="2"/>
</triggered_effect>

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$waterAmountAdd" operation="multiply" value="1.5">
  <requirement name="HoldingItemHasTags" tags="food,drinks"/>
  <requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="3"/>
</triggered_effect>

It's not looking so good. That's why i put the "requirement" out of brackets:

<effect_group>
	<requirements>
		<requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="1"/>
	</requirements>
		<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.1">
			<requirement name="ItemHasTags" tags="food,drinks"/>
		</triggered_effect>
		<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$foodAmountAdd" operation="multiply" value="1.1">
			<requirement name="ItemHasTags" tags="food,drinks"/>
		</triggered_effect>
		<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$waterAmountAdd" operation="multiply" value="1.1">
			<requirement name="ItemHasTags" tags="food,drinks"/>
		</triggered_effect>
</effect_group>

From my understanding, if "requirement" outside "triggered_effect" it applies to all "triggered_effect" and "passive_effect" that follows after it. But if there's more than 1 requirement outside the brackets

<effect_group>
	<requirements>
		some requirement
	</requirements>
		some_effects
	
	<requirements>
		some requirement 2
	</requirements>
		some_effects 2
</effect_group>

that effect_group stops working (tested it). And that's why i put them into 3 different "effect_group"s.

 

 

 

While I was explaining how it works, i noticed that my code can be improved slightly:

<buff name="buffMasterChef" hidden="true" remove_on_death="false">
	<effect_group>
		<requirements>
			<requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="1"/>
			<requirement name="ItemHasTags" tags="food,drinks"/>
		</requirements>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.1"/>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$foodAmountAdd" operation="multiply" value="1.1"/>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$waterAmountAdd" operation="multiply" value="1.1"/>
	</effect_group>
	<effect_group>
		<requirements>
			<requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="2"/>
			<requirement name="ItemHasTags" tags="food,drinks"/>
		</requirements>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.3"/>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$foodAmountAdd" operation="multiply" value="1.3"/>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$waterAmountAdd" operation="multiply" value="1.3"/>
	</effect_group>
	<effect_group>
		<requirements>
			<requirement name="ProgressionLevel" progression_name="perkMasterChef" operation="Equals" value="3"/>
			<requirement name="ItemHasTags" tags="food,drinks"/>
		</requirements>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="foodHealthAmount" operation="multiply" value="1.5"/>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$foodAmountAdd" operation="multiply" value="1.5"/>
			<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="$waterAmountAdd" operation="multiply" value="1.5"/>
	</effect_group>
</buff>

It's even more readable now than before.

Your code works! Thank you really much!

Link to comment
Share on other sites

  • 2 weeks later...

About Pack Mule and Armor Storage Pocket mods: if i understood your description correctly, then what you mean by "Pocket mods now provide 1/2/3/4/5 time the amount of their base slots" is multiplying it's capacity by lvl of Pack Mule perk. If so, then this mods give you x1 more capacity than in description (meaning on lvl 1 Pack Mule pocket mods give you 2/4/6/8 unlocked slots instead of 1/2/3/4 (from ordinary to quad); and on lvl 5 Pack Mule - 6/12/18/24 instead of 5/10/15/20).

If it's not as intended, then please consider make changes in item_modifiers.xml file something like this:

	<remove xpath="/item_modifiers/item_modifier[@name='modArmorStoragePocket']/effect_group[1]/passive_effect[@name='CarryCapacity']"/>
	<append xpath="/item_modifiers/item_modifier[@name='modArmorStoragePocket']">
		<effect_group>
			<passive_effect name="CarryCapacity" operation="base_add" value="1">
				<requirement name="ProgressionLevel" progression_name="perkPackMule" operation="LTE" value="1"/>
			</passive_effect>
			
			<passive_effect name="CarryCapacity" operation="base_add" value="2">
				<requirement name="ProgressionLevel" progression_name="perkPackMule" operation="Equals" value="2"/>
			</passive_effect>
			
			<passive_effect name="CarryCapacity" operation="base_add" value="3">
				<requirement name="ProgressionLevel" progression_name="perkPackMule" operation="Equals" value="3"/>
			</passive_effect>
			
			<passive_effect name="CarryCapacity" operation="base_add" value="4">
				<requirement name="ProgressionLevel" progression_name="perkPackMule" operation="Equals" value="4"/>
			</passive_effect>
			
			<passive_effect name="CarryCapacity" operation="base_add" value="5">
				<requirement name="ProgressionLevel" progression_name="perkPackMule" operation="Equals" value="5"/>
			</passive_effect>
		</effect_group>
	</append>

There're 2 changes to your original code: first we removed CarryCapacity from its original place (to make sure that it doesn't stack up with your code); and then we are changing "operation" in first requirement from "Equal" to "LTE" to make sure that even if we don't lvl up perk Pack Mule, Storage Pocket mods always unlock some space.

Edited by stich196
grammar mistake (see edit history)
Link to comment
Share on other sites

On 12/17/2023 at 7:25 AM, Black_Wolf said:

Light Armor:
Level 4 now grants bonus movement speed.
-Level 4: 5% bonus movement speed for each piece of armor equipped. Stacks.

It does not appear this perk shows up. I am not locating a light armor perk in my list of perks, only medium and heavy. Attempted on single and multi-player games. I decide to dig into the progression.xml and also am not seeing the perk there. Unless I'm missing something. 

Edited by Picklefart (see edit history)
Link to comment
Share on other sites

Hi,

 

 

Might be a silly question, but how do You install it? I've copied config into config file and can't run either 1.0 ( i presume it's for v1.0 or A21 )

 

Could anyone advise please, really looking forward to play on such changes as per this mod :D 

 

I've noticed can't replace because the files provided only contain changes right? Shall i copy it all to mod folder inside 7d2d?

Edited by Alisz (see edit history)
Link to comment
Share on other sites

Posted (edited)
18 hours ago, Picklefart said:

It does not appear this perk shows up. I am not locating a light armor perk in my list of perks, only medium and heavy. Attempted on single and multi-player games. I decide to dig into the progression.xml and also am not seeing the perk there. Unless I'm missing something. 

I simply forgot to edit the description on here, "light armor" perk was the perk's name in A21, it is now "medium armor" in 1.0

On 8/18/2024 at 8:50 AM, stich196 said:

About Pack Mule and Armor Storage Pocket mods: if i understood your description correctly, then what you mean by "Pocket mods now provide 1/2/3/4/5 time the amount of their base slots" is multiplying it's capacity by lvl of Pack Mule perk. If so, then this mods give you x1 more capacity than in description (meaning on lvl 1 Pack Mule pocket mods give you 2/4/6/8 unlocked slots instead of 1/2/3/4 (from ordinary to quad); and on lvl 5 Pack Mule - 6/12/18/24 instead of 5/10/15/20).

If it's not as intended, then please consider make changes in item_modifiers.xml file something like this:

	<remove xpath="/item_modifiers/item_modifier[@name='modArmorStoragePocket']/effect_group[1]/passive_effect[@name='CarryCapacity']"/>
	<append xpath="/item_modifiers/item_modifier[@name='modArmorStoragePocket']">
		<effect_group>
			<passive_effect name="CarryCapacity" operation="base_add" value="1">
				<requirement name="ProgressionLevel" progression_name="perkPackMule" operation="LTE" value="1"/>
			</passive_effect>
			
			<passive_effect name="CarryCapacity" operation="base_add" value="2">
				<requirement name="ProgressionLevel" progression_name="perkPackMule" operation="Equals" value="2"/>
			</passive_effect>
			
			<passive_effect name="CarryCapacity" operation="base_add" value="3">
				<requirement name="ProgressionLevel" progression_name="perkPackMule" operation="Equals" value="3"/>
			</passive_effect>
			
			<passive_effect name="CarryCapacity" operation="base_add" value="4">
				<requirement name="ProgressionLevel" progression_name="perkPackMule" operation="Equals" value="4"/>
			</passive_effect>
			
			<passive_effect name="CarryCapacity" operation="base_add" value="5">
				<requirement name="ProgressionLevel" progression_name="perkPackMule" operation="Equals" value="5"/>
			</passive_effect>
		</effect_group>
	</append>

There're 2 changes to your original code: first we removed CarryCapacity from its original place (to make sure that it doesn't stack up with your code); and then we are changing "operation" in first requirement from "Equal" to "LTE" to make sure that even if we don't lvl up perk Pack Mule, Storage Pocket mods always unlock some space.

This is intended and not changing. This change was made on purpose fo players that use mods that increase backpack size. Slots get added to stack with the base amount.

1 hour ago, Alisz said:

Hi,

 

 

Might be a silly question, but how do You install it? I've copied config into config file and can't run either 1.0 ( i presume it's for v1.0 or A21 )

 

Could anyone advise please, really looking forward to play on such changes as per this mod :D 

 

I've noticed can't replace because the files provided only contain changes right? Shall i copy it all to mod folder inside 7d2d?

Create a "Mods" folder into your / days to die folder

steamapps -> common -> 7Days To Die -> Mods

(actually the folder should already be there because it contains TFP Harmony)

Once there, simply extract my mod in there, it's zipped, and needs to be extracted.

Edited by Black_Wolf (see edit history)
Link to comment
Share on other sites

5 hours ago, Black_Wolf said:

I simply forgot to edit the description on here, "light armor" perk was the perk's name in A21, it is now "medium armor" in 1.0

Okay so if I'm understanding correctly then the rogue armor (light armor) would fall under the medium armor perk when using your better armor mod with the better perks mod? 

Link to comment
Share on other sites

Posted (edited)
14 hours ago, Picklefart said:

Okay so if I'm understanding correctly then the rogue armor (light armor) would fall under the medium armor perk when using your better armor mod with the better perks mod? 

Unfortunately, no, light armors don't seem to get touched by any current perk so unless including it somehow it doesn't work.

Would you like that to be changed?

Edited by Black_Wolf (see edit history)
Link to comment
Share on other sites

5 hours ago, Black_Wolf said:

Unfortunately, no, light armors don't seem to get touched by any current perk so unless including it somehow it doesn't work.

Would you like that to be changed?

Attaching the light armor to a perk would be awesome, that way it gets some sort of buff to it like the other armors. If you care to add it under an armor spec that would be appreciated. I'm not sure how difficult it would be to create a light armor perk in one of the classes but if you wouldnt mind to that would be awesome (perhaps agility) or even adding it attached to the medium armor perk. 

Link to comment
Share on other sites

Posted (edited)
16 hours ago, Picklefart said:

Attaching the light armor to a perk would be awesome, that way it gets some sort of buff to it like the other armors. If you care to add it under an armor spec that would be appreciated. I'm not sure how difficult it would be to create a light armor perk in one of the classes but if you wouldnt mind to that would be awesome (perhaps agility) or even adding it attached to the medium armor perk. 

I will attach it to the medium armor perk, yeah it's possible to make a new perk but that's a lot of effort and I'm too busy with other things to do that, then again it wouldn't be "better vanilla perks" anymore, I would like to not add stuff unrelated to vanilla

EDIT: i won't, too much work to do, sorry, however i will give a unique bonus to light armor that is directly dependant on the medium armor perk.

Edited by Black_Wolf (see edit history)
Link to comment
Share on other sites

9 hours ago, Picklefart said:

Attaching the light armor to a perk would be awesome, that way it gets some sort of buff to it like the other armors. If you care to add it under an armor spec that would be appreciated. I'm not sure how difficult it would be to create a light armor perk in one of the classes but if you wouldnt mind to that would be awesome (perhaps agility) or even adding it attached to the medium armor perk. 


Well the base code is already there... omitted by The Fun Pimps.
I would take the templates they use for the Medium and Heavy Armors and use that for the light.
Then you could make similar adjustments to perk lines for Light Armors like they did for the other two and assign it for either the old stuff or assign it to something new if you want, logically, RPG style, etc.

Im sure more armor sets will be made in the future. We already have some.
We can take the base game's setup for making the light armor sets.
I even thought we could use old assets like the clothing (maybe combine pants/shirts for the cosmetic looks or maybe just have pants with boots and the cosmetic be the pants, simply because people like the looks of shirts and pants over the look of shoes tbh).  That way we could see some of  the old stuff (or new for some modders here who already do that stuff in other games), and assign attributes and light armor tags to it to create sets.

Then just add them to the loot tables and/or traders, or make them drop only specials or reward only specials.. However you want to do it.
The path is there, just have to clean it up and do it, then test it.

Link to comment
Share on other sites

On 8/21/2024 at 11:45 PM, Picklefart said:

That would be awesome, much appreciated. Always put life first! 

Actually, i messed up big time, now it everything actually works, just re-download the mod and you'll get those light armor bonuses.

Link to comment
Share on other sites

18 hours ago, Black_Wolf said:

Actually, i messed up big time, now it everything actually works, just re-download the mod and you'll get those light armor bonuses.

Sounds good. Ready for some game time this weekend. Thanks for the update. 

Link to comment
Share on other sites

  • Black_Wolf changed the title to (A21 and 1.0) Black Wolf's better vanilla perks

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...