Jump to content

Recommended Posts

Hello, I downloaded and installed The Wasteland overhaul mod and I am really enjoying it. There is something I would like to change but I don't know how. There are books in the overhaul that increases your attributes by one, depending on if its a strength book or Intelligents book ect.

I really like this but the book is a one time use. I would like to edit the XML to have the book give you one attribute point depending on which attribute type per book you find, to the max of 10 per attribute. I have attempted to edit the XML but can't get it to work. If anyone knows how to do this I would really appreciate it. 

Link to comment
Share on other sites

Look at the code to see what the books are extended from.  Perk books are extended from schematicMaster while crafting magazines are extended from masterSkillMagazine.

 

That might work.......

 

<item name="bookFiremansAlmanacHeat">
    <property name="Extends" value="schematicMaster"/>

 

<item name="harvestingToolsSkillMagazine">
    <property name="Extends" value="masterSkillMagazine"/>

 

A known way to work would be to create multiple items to do the same thing, and then add those items to the loot and trader lists

Link to comment
Share on other sites

This is the XML, it is from the Wasteland overhaul mod.

<!-- Attribute Statues -->
        <item name="paStatueStrengthI">
            <property name="HoldType" value="3"/>
            <property name="DisplayType" value="paStatueStrengthI"/>
            <property name="CustomIcon" value="paStatueStrength"/>
            <property name="Meshfile" value="#@modfolder:Resources/TraderJohnny.unity3d?collectible1"/>
            <property name="DropMeshfile" value="#@modfolder:Resources/TraderJohnny.unity3d?collectible1"/>
            <property name="Material" value="Mplastics"/>
            <property name="Stacknumber" value="15"/>
            <property name="Weight" value="50"/>
            <property name="EconomicValue" value="1000"/>
            <property name="Group" value="Resources"/>
            <property class="Action0">
                <property name="Class" value="OpenBundle"/>
                <property name="Delay" value="2"/>
                <property name="Use_time" value="2"/>
                <property name="Sound_start" value=""/>
                <property name="Create_item" value="paStatueStrengthUsed"/>
                <property name="Create_item_count" value="1"/>
            </property>
            <effect_group tiered="false">                
                <triggered_effect trigger="onSelfPrimaryActionEnd" action="AddBuff" target="self" buff="buffAttributeStrength"/>
                <display_value name="dAttributeStr" value="1"/>
            </effect_group>
        </item>
 

 

 

 

all the attribute increase book's XML are identical to this. 

 

BFT2020 that is also I good Idea, though I am very new to XML editing. Making new code for items would be great practice. 

Link to comment
Share on other sites

from the looks of it, when using the item it triggers the buffAttributeStrength. then you need to look for this buff in the file buffs.xml, if you can't solve through this buff, send me the XML of the buff so I understand how it's done. 

Link to comment
Share on other sites

I found the Buff. 

all of the Statue Attribute Buffs are Identical  

 

</buff>
        <!-- Statue Attribute Buffs -->
        <buff name="buffAttributeStrength" hidden="true" remove_on_death="false">
            <duration value="0"/>
            <effect_group>
                <triggered_effect trigger="onSelfBuffStart" action="PlaySound" sound="read_skillbook_final"/>
                <passive_effect name="AttributeLevel" operation="base_add" value="1" tags="attStrength"/>
            </effect_group>
 

Link to comment
Share on other sites

It already increases the attribute directly.

I feel I'm not accurately explaining myself properly, my apologies.

 

I pulled this from the 7 days to die mod site explaining the system in the overhaul I'm talking about. 

 

  • Each player is given 21 SPIFSAL points at the beginning of a game. These are for core attributes only.   
  • Skill points are gained per level as vanilla and are used only to upgrade perks. Each perk level has both a skill point and player level requirement, which can be seen by hovering over the lock icon for each perk level.
  • Once all your SPIFSAL points have been used, the only other ways to boost an attribute level is through wearing the proper clothing items(glasses/bandanas/etc), finding a rare SPIFSAL book in loot(permanent +1 to the book’s attribute) or rare power armor statues(permanent +1 to the book’s attribute).You can gain a temporary boost using certain drug items, just be aware of their side effects.

 

Link to comment
Share on other sites

Now I get it!
So it's not enough just to edit the book!
You have to revise the SPIFSAL points system!
Because the book adds 1 buff that adds 1 level to the attribute with the specified tag!
Nothing more!
As I don't know how these SPIFSAL points work, it's hard to understand!
For example, does it use the skill points from the vanilla game or is it a points system created for the mod?
If it's the vanilla points system, does it restrict the use of points in any way?
Things like that!

Link to comment
Share on other sites

Now I think I understand!
You want books to be able to raise the level of the attribute up to 10?
From what I've seen, the buff adds 1 passive that adds 1 level!

If that's the case, then you need to change all the buffs so that they can stack!

I've never used stack effect, but I think it's something like this:

 

<stack_type value="effect"/>


But maybe it increases the level infinitely when using several books!
 

You can also use

<stack_type value="replace"/>

instead stack effect!
Set a variable that triggers 1 to the value of the variable, something like:

<effect_group>    
	<triggered_effect trigger="onSelfBuffStack" action="ModifyCVar" cvar="buffAttributeStrengthVar" operation="add" value="1">
		<requirement name="ProgressionLevel" progression_name="attStrength" operation="LT" value="10"/>
	</triggered_effect>
  
  	<triggered_effect trigger="onSelfBuffStack" action="PlaySound" sound="read_skillbook_final"/>
	<passive_effect name="AttributeLevel" operation="base_add" value="@buffAttributeStrengthVar" tags="attStrength"/>
</effect_group>


This way, the buff will stack and when it reaches level 10 in the attribute, it stops changing the variable and then doesn't add any more levels to the attribute!
Is that what you want?

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

https://7daystodiemods.com/the-wasteland/

Here is a link to where I downloaded the mod. 

 

It Uses a blend of the vanilla progression system and the mod progression system SPIFSAL.

 

The skill points are used to increase perks on the specific skill trees. 

 

The SPIFSAL system works like this.

 

You start with 21 Attribute points. SPIFSAL is broken up into 7 Attributes, each with there own skill tree, and preks. The more attribute points you put into Strength for example, the more perks are available. (Packmule, Tool Nipper, ect.) To a total of 10. 

 

The kicker is you only get 21 Attribute points total. All other points are temporary or one time uses permanent +1 increase to that specific Attribute.

sorry im a very slow typer haha.

That's fantastic work, Im excited to put that in the xml files to see how it turns out. and I really appreciate all the help, this stuff is a bit confusing to me. Also if you have not tried out the mod, I would recommend it.

Link to comment
Share on other sites

17 minutes ago, Luduaver said:

You can also use

<stack_type value="replace"/>

instead stack effect!
Set a variable that triggers 1 to the value of the variable, something like:

<effect_group>    
	<triggered_effect trigger="onSelfBuffStack" action="ModifyCVar" cvar="buffAttributeStrengthVar" operation="add" value="1">
		<requirement name="ProgressionLevel" progression_name="attStrength" operation="LT" value="10"/>
	</triggered_effect>
  
  	<triggered_effect trigger="onSelfBuffStack" action="PlaySound" sound="read_skillbook_final"/>
	<passive_effect name="AttributeLevel" operation="base_add" value="@buffAttributeStrengthVar" tags="attStrength"/>
</effect_group>

 

Don't forget to add 1 reset to the variable every time you reset the skill points! I don't know how it's reset in The Wasteland!

But in the drinkJarGrandpasForgettingElixir item you can use

<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="buffAttributeStrengthVar" operation="set" value="0">


But that's only if there's some way of removing the points given by the book!
Because the book adds 1 buff and the vanilla Grandpas Forgetting Elixir doesn't remove buffs!

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

Hey so I tried out the XML edits to the game and its not working. I'm not sure what I did wrong. I copy/paste the XML edit and deleted the repeated code. 

Is there a certain way the code has to be layed out to work? I made sure there were no empty spaces between and spaced it how it was, with the added code. 

 

Oh and yes you description of what you said is exactly what I would like.

Link to comment
Share on other sites

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...