Jump to content

Return of Action Skills - perks that level-as-you-use them (Test Release)


Deceptive Pastry

Recommended Posts

@Deceptive Pastry

 

I'm still working with your mods and have a question if I may. I've spent a LOT of hours working with the XML and have yet to figure out the exact sequential syntax. For example, in progression.xml you have 3 <effect_group> tags under xpath "/perks/perk". The first sets the passive values for the perc_add based on perk level. The second is a bit more confusing. I'll paste some of your XML to show.

 

 <effect_group name="AS Mining Tools Lvl Increase">
   <requirement name="CVarCompare" cvar="AS_MiningTools_Lvl" operation="LT" value="100"/>
   <requirement name="CVarCompare" cvar="AS_MiningTools_XP" operation="GTE" value="@AS_MiningTools_LvlNextTotal"/>
   <triggered_effect trigger="onSelfHarvestBlock" action="ModifyCVar" cvar="AS_MiningTools_LvlNextAdd" operation="multiply" value="@AS_XP_Mult"/>
   <triggered_effect trigger="onSelfHarvestBlock" action="ModifyCVar" cvar="AS_MiningTools_LvlNextTotal" operation="add" value="@AS_MiningTools_LvlNextAdd"/>
   <triggered_effect trigger="onSelfHarvestBlock" action="ModifyCVar" cvar="AS_MiningTools_Lvl" operation="add" value="1"/>
   <triggered_effect trigger="onSelfHarvestBlock" action="ShowToolbeltMessage" message="Mining Tools level increased"/>
 </effect_group>

 

According to this, first it verifies that the "AS_MiningTools_Lvl" is LT 100, then "AS_MiningTools_XP" is GTE to "@AS_MiningTools_LvlNextTotal" - At which point it can continue to the following lines inside the <effect_group name="AS Mining Tools Lvl Increase"> tag? The problem I am having is: When and how is this 2nd effect_group tag being called? I'm not following entirely how this works and it is giving me serious hell when trying to duplicate and/or modify your results.

 

(I edited to remove problem #2, I figured out that the 3rd effect_group tag is when you manually add a skill point to the perk.)

 

Thanks a bunch again for your mod and in advance for any help you're willing to provide.

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

Not fully sure of the question. Basically the effect_groups are all triggered not as a group but individually on the triggered_effect's "trigger=", it's just that they all have the same trigger. In the case of Mining Tools, all are triggered on "onSelfHarvestBlock" - every single time you hit a block that you gain materials from, it runs the trigger, but ONLY if it meets the requirements. The main requirement being, AS_MiningTools_XP being Greater than or Equal to the current AS_MiningTools_LvlNextTotal value. Technically this wasn't implemented properly because non-mining tools eg. bare hands were increasing the value too, I ended up adding <requirement name="HoldingItemHasTags" tags="perkMotherLode"/>.

 

Basically you have it right. They don't all trigger at once, but sequentially, so first AS_MiningTools_LvlNextAdd is multiplied by AS_XP_Mult (1.015), THEN the new value is added to AS_MiningTools_LvlNextTotal to give the new XP value needed for next level, etc. But instead of nesting the requirements in each triggered_effect, I have them placed outside at the top of the effect_group so all triggers in the effect_group have the same requirements. But the triggers are being called and the requirements checked every onSelfHarvestBlock.

 

Also yea re: 3rd effect_group. I realized that the AS_MiningTools_Lvl LT 100 requirement wasn't right as if you added a point manually it would have thrown the total off and you would still be getting level-up messages post-100. It wasn't a big deal, it can't go above 100 anyway, but it may be confusing for the player. I came up with a work-around but if I end up having no manually placed skill points anyway it's a non-issue.

 

Also I said I'd release an update once we hit stable, didn't realize that was going to happen this fast heh. I'll prob get it out in the next few days. Very interested in feedback regarding leveling speeds of the various skills. I ended up speeding up weapon leveling a little, mining leveling seems pretty reasonable as is.

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

Also yea re: 3rd effect_group. I realized that the AS_MiningTools_Lvl LT 100 requirement wasn't right as if you added a point manually it would have thrown the total off and you would still be getting level-up messages post-100. It wasn't a big deal, it can't go above 100 anyway, but it may be confusing for the player. I came up with a work-around but if I end up having no manually placed skill points anyway it's a non-issue.

 

Also I said I'd release an update once we hit stable, didn't realize that was going to happen this fast heh. I'll prob get it out in the next few days. Very interested in feedback regarding leveling speeds of the various skills. I ended up speeding up weapon leveling a little, mining leveling seems pretty reasonable as is.

 

The main thing really is that I am trying to understand what the purpose of 3 separate effect groups are. As in, why are there 3 and do they need to be set up that way? The 3rd was easy to figure out. The 1st appears to perhaps be an "initialization" group, maybe? It's the 2nd effect_group that is being called and I can't really figure out how or where from or essentially what causes the 2nd effect_group to become processed.

 

In response to the speeds of leveling, well... I suppose that will be subjective to nearly everyone who has an opinion. Those who want it different badly enough, can change it themselves otherwise perhaps the logical choice may be to try and mimic the A16 speeds.

 

Looking forward to your updates, Thank you. While I'm not doing exactly what you are the concept and logistics of auto-leveling has been immensely useful. Much appreciated and I'll give credit for your work and help when I go live.

Link to comment
Share on other sites

Ah. Well the reason for multiple effect_groups is so that I don't need to nest requirements inside each triggered_effect, it's just cleaner and easier this way. The first effect_group of the perk is just for setting level bonuses, increased damage etc. These all have the same requirement, "HoldingItemHasTags" tags="perkMotherLode", so I just put them all into one effect_group with that one requirement. Same for effect_group 2, they all need the same 2 requirements so it's easier to just make a new effect_group and have the reqs apply to entire group. They are all active at all times essentially, the groups themselves aren't activated by anything. It's just for ease of setting requirements and also ease of configuring.

 

Check out buffs.xml (base game not the mod) and the buff "reqtest".

 

<effect_group>
<triggered_effect trigger="onSelfBuffUpdate" action="LogMessage" message="Dysentery present">
	<requirement name="HasBuff" buff="buffIllDysentery0"/>
</triggered_effect>
<triggered_effect trigger="onSelfBuffUpdate" action="LogMessage" message="Dysentery NOT present">
	<requirement name="NotHasBuff" buff="buffIllDysentery0"/>
</triggered_effect>
</effect_group>

 

Here each triggered_effect has an individual requirement that only affects the triggered_effect it's nested in.

 

<effect_group>
<requirements compare_type="or">
	<requirement name="HasBuff" buff="buffIllDysentery0"/>
	<requirement name="HasBuff" buff="buffIllFoodPoisoning0"/>
</requirements>
<triggered_effect trigger="onSelfBuffUpdate" action="LogMessage" message="ReqGroup: One or both of them present"/>
</effect_group>

 

And here the requirements are not nested within an _effect, so they will affect every triggered or passive _effect in the effect_group. You'll also notice here they are within their own <requirements> tag. You don't really need that unless you want to change the compare_type to "or" - only one req needs to be met. By default requirements are "and" - requires all to be met.

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

Would it be possible to have Unarmed as a skill that can increase by punching zombies and stuff? (can't remember if that was a thing in the past)

 

And forgive me for asking, I'm a complete noob now with the redone (ruined) progression system, is it possible to for example add a magazine item that would let you learn a recipie permanent like it was in the past?

(In the past I modded out all the "magical learn this from killing zombies" from progression.xml and forced the player to find a book to learn the item. it was glorious! could take weeks before we even found a forge recipe, but with the new xml system I'm at a loss how to do it)

Link to comment
Share on other sites

Would it be possible to have Unarmed as a skill that can increase by punching zombies and stuff? (can't remember if that was a thing in the past)

 

And forgive me for asking, I'm a complete noob now with the redone (ruined) progression system, is it possible to for example add a magazine item that would let you learn a recipie permanent like it was in the past?

(In the past I modded out all the "magical learn this from killing zombies" from progression.xml and forced the player to find a book to learn the item. it was glorious! could take weeks before we even found a forge recipe, but with the new xml system I'm at a loss how to do it)

 

Yes to both.

 

Unarmed would require a little shenanigans to get working as you'd have to apply a tag to the players fist weapon (I think it's handPlayer, don't remember exactly off the top of my head) and have the skill level up only when using that and only apply it's effects when bare-handed, but it CAN be done.

 

Books/Schematics are easy. Here's an example of one that was commented out and I put it back in.

 

<item name="meleeToolAugerSchematic">
<property name="Extends" value="unlockBookMaster"/>
<property name="CustomIcon" value="augerSchematic" />
<property name="CreativeMode" value="Player"/>
<property name="EconomicValue" value="500"/>
<property class="Action0">
	<requirement name="CVarCompare" cvar="meleeToolAuger" operation="Equals" value="0"/>
</property>
<effect_group tiered="false">
	<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="meleeToolAuger" operation="set" value="1"/>
</effect_group>
<property name="PickupJournalEntry" value="gunAssemblyTip"/>
</item>

 

The downside is you can't press A to read it. It MUST be on the hotbar and is activated by left click. A recipe must be tagged as learnable for it to be unlocked via perk or book/schematic.

Link to comment
Share on other sites

Got a little delayed, but should have an update very soon. Have been working on an Unarmed perk to go along with the Unarmed action skill a few people asked for, introduces a couple simple quick combos you can do and upon completing a combo gives you a brief speed boost to dodge. Quite fun to play with.

Link to comment
Share on other sites

just out of curiosity! just added this to my dedi server, and its really cool! when a new update comes, can i just download and extract the new file over the old one? or will that make players loose their old points?

if so, is there any way to keep the old points, tho also use the newest update?

Link to comment
Share on other sites

Hmm, I may be able to make an "upgrade" version. The CVars should be stored on the server (or the player's local saves for that server) and should be fine. I set the base XP needed for each skill's lvl 1 on a fresh player by checking for all XP = 0. The issue comes in with adding new skills, since the players XP won't all = 0 it won't properly set the new skill's CVars to base values. But I can make second download to upgrade from this version.

 

Edit: Actuallly, I don't know why I just thought of this now. I can just make it so each skill's base XP is set by individually checking for that skill's XP = 0. Lol. That should make things way easier.

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

A quick question about how this works. First of all fantastic job and thank you for getting this to work.

 

As Im using my weapons I noticed its giving me a text that I levelled. When i go into the perks screen, it shows in green that i have levelled 25/100 for blunt weapons. But the only one unlocked is the first one. The rest have green padlocks. Do I also need to purchase the skill to get the bonuses or are the bonuses already added, and buying it does nothing.

 

Thank you again for such an awesome mod, and I look forwArd to seeing how you expand on it.

Link to comment
Share on other sites

Looking forward to more updates on this modlet!

 

Been doing a lot of experimenting myself with the return of 'action skills'.

 

Trying to do things like add cooking levels, farming levels, etc., but have been unable as of yet to figure out how to determine what block or block group is being harvested or destroyed.

 

Keep up the awesome work Deceptive Pastry.

Link to comment
Share on other sites

Is it still possible to unlock recipies from gaining levels in skills, for example adding back blacksmithing skill like it was in the past that unlocks more things the more you use/learn it?

 

And many thanks for this mod, it really adds a bit of fun back into the game!

Link to comment
Share on other sites

Is it still possible to unlock recipies from gaining levels in skills, for example adding back blacksmithing skill like it was in the past that unlocks more things the more you use/learn it?

 

And many thanks for this mod, it really adds a bit of fun back into the game!

 

Yes you can. I tested it out. :)

 

Basically, you would need something like this.

 

<perk name="perkASConstructionTools" parent="skillASTools" max_level="100" base_skill_point_cost="1" name_key="Construction Tools" desc_key="perkASConstructionToolsDesc" icon="ui_game_symbol_hammer">
<effect_group>
	<passive_effect name="RecipeTagUnlocked" operation="base_set" value="1" level="15,100" tags="forge"/>
</effect_group>

 

That unlocks the forge recipe once you hit level 15 of construction tools. The ,100 is needed to keep it unlocked after level 15 otherwise it will re-lock itself.

Link to comment
Share on other sites

Is it still possible to unlock recipies from gaining levels in skills, for example adding back blacksmithing skill like it was in the past that unlocks more things the more you use/learn it?

 

Yes it is.

 

OOps someone else answered but I apparently missed it. Just editing to smack myself for a redundant reply lol.

Link to comment
Share on other sites

  • 4 weeks later...
A quick question about how this works. First of all fantastic job and thank you for getting this to work.

 

As Im using my weapons I noticed its giving me a text that I levelled. When i go into the perks screen, it shows in green that i have levelled 25/100 for blunt weapons. But the only one unlocked is the first one. The rest have green padlocks. Do I also need to purchase the skill to get the bonuses or are the bonuses already added, and buying it does nothing.

 

Thank you again for such an awesome mod, and I look forwArd to seeing how you expand on it.

 

I noticed this aswell. Has anyone discovered the answer?

Link to comment
Share on other sites

  • 1 month later...

Awesome, I have been looking for something like this for some time. Thanks for sharing.

 

Is it just to follow this recipe for other skills such as construction, athletics, scavenging and armor?

Is it possible to make this skills also give exp to player level?

 

Thanks for any thoughts.

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

  • 2 weeks later...

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