Announcement

Collapse
No announcement yet.

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

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #16
    FYI another way to do recipe unlocks if you didn't already know. From buffs.xml:

    "<passive_effect name="RecipeTagUnlocked" tags="ammo44MagnumBulletAP,ammoShotgunSlug"/>, or set a cvar named "ammo44MagnumBulletAP""

    So I just did this:

    Code:
    <append xpath="/items/item[@name='schematicMaster']">
    	<property class="Action0">
    		<property name="Class" value="Eat"/>
    		<property name="Consume" value="true"/>
    		<property name="Delay" value="1.0"/>
    		<property name="Use_time" value="..."/>
    		<property name="ActionExpBonusMultiplier" value="0"/>
    		<property name="Sound_start" value="recipe_unlocked"/>
    	</property>
    </append>
    	
    <!-- Gun Mod Schematics -->
    
    <append xpath="/items/item[@name='modGunBarrelExtenderSchematic']">
    	<property class="Action0">
    		<requirement name="CVarCompare" cvar="modGunBarrelExtender" operation="Equals" value="0"/>
    	</property>
    	<effect_group tiered="false">
    		<triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="modGunBarrelExtender" operation="set" value="1"/>
    		<triggered_effect trigger="onSelfPrimaryActionEnd" action="ShowToolbeltMessage" message="Learned how to craft Barrel Extender Mod"/>
    	</effect_group>
    </append>
    I ended up changing progression, but I was also going to leave the option to just buy the YeahScience perks for same reasons, RNG.
    Last edited by Deceptive Pastry; 12-14-2018, 08:57 PM.

    Comment


      #17
      That's pretty much what I did to turn recipes into perks.

      Code:
      	<perk name="perkPistol" parent="skillsItemRecipes" max_level="1" base_skill_point_cost="1" cost_multiplier_per_level="1" name_key="perkPistolName" desc_key="perkPistolDesc" icon="ui_game_symbol_pistol">
      		<level_requirements level="1"><requirement name="PlayerLevel" target="self" operation="GTE" value="15" desc_base="Player Level 15"/></level_requirements>
      
      		<effect_group>
      			<passive_effect name="RecipeTagUnlocked" operation="base_set" level="1" value="1" tags="gunPistol,DFpistolParts,DFpistolBarrel,DFpistolGrip,DFpistolFrame"/>
      			<effect_description level="1" desc_key="perkPistolRank1Desc"/>
      		</effect_group>
      	</perk>
      Then the schematic just unlocks that.

      Comment


        #18
        Ah I see you're working on re-adding weapon parts too? Haha. I originally had them as recipe ingredients but wanted a way to get them back out of the gun, so I re-purposed them as mods for mod slots and increased mod slots on the gun. Base pistol has 0 magazine count, a magazine part adds the ammo back. Base pistol has 1,1 degradation, pistol_parts adds the durability back 249,499. Etc. It was the best way I could think of being able to move parts on/off a gun and making them necessary for the gun to function properly. So many works-in-progress atm...

        Comment


          #19
          Yep!

          I did cheat and just use them in the recipe though, but then I also reduced the amount of parts in general (so pistols all use the same base 3 parts + 1 unique to each pistol) and upped the stack size to 25 so you don't need an entire chest JUST for parts.

          Comment


            #20
            I wish there were an easy way to get multiple items out of scrapping an item. Apparently that used to be a thing. The only issues that remain so far are:

            - Don't think it's possible through XML to make mods degrade. Not a big deal, may be better having the simplicity of just repairing the base weapon. I miss the 1-600 quality system and how you lost quality on each repair, made continuing to find new parts after a while necessary.
            - I can get guns to spawn with 1-4 part mods pre-installed, but no matter what I do I can't get the loot quality templates to apply to the mods it spawns with. Lots of lvl 1 pistols spawning with quality 3-5 parts.

            Comment


              #21
              Yeah, when we had the crafting grid method, you could put a complete item into the grid and it'd separate out into parts that you could just remove as you wanted.

              The only way I know of to get things back from "disassembly" is to use the quest system. I did it for arrows just to test.

              Comment


                #22
                Just wanted to post a progress update. I have only had one issue where the XP CVars got reset after the most recent update. I had figured the CVars were stored within the player data of the individual world save so I don't know why an update would wipe those, unless the update changed how/where CVars are saved. There isn't too much more to do with this to be honest beyond a bit of balancing which I have slowly been tweaking as I play. Due to the CVar reset and their frequent back and forth with progression atm, I may wait until stable to release what I'd consider a "full release" of this.

                - Perk requirements for weapon perks such as Gunslinger, DeadEye, also mining like Miner69r will be tied to your action skill level. Haven't decided yet between Lvl 1-5 requiring either Lvls 0,10,20,40,60 or 10,20,40,60,80.

                - Will add Construction Tools, possibly re-add explosive weapons, scavenging, and maybe make bartering into an action skill. Wanted to tie Living Off The Land to a farming action skill but until they hook up the triggers for gaining items and allow me to specify plants I haven't figured out how to make it work properly without being abusable. Edit: I just got the idea to try target_tags="cropHarvest". Will see...

                - I've also been playing around with the rest of the standard skills. Going back to 6 skill points per player level with increasing points per level on both attributes and perks. Given that I think I'm going to stick with not allowing skill points to be spent leveling action skills, only level-by-doing or reading books, it's not quite as big of a deal but I may still release two versions - action skills only and the entire progression overhaul.
                Last edited by Deceptive Pastry; 12-22-2018, 10:02 AM.

                Comment


                  #23
                  Fantastic mod. Been trying to figure this one out myself for quite a while. Glad it exists and looking forward to more updates.

                  With that being said, is it possible to bring back the "your cardio improves the more exercise you perform"?

                  Thank you.

                  Comment


                    #24
                    Originally posted by Deceptive Pastry View Post
                    So I'm wondering what people's thoughts are on the direction the mod goes in.

                    1. Make it more like A16. Let you spend 1 skill point to get 1 level of an Action Skill, but increase the amount of skill points you receive per player level up and also increase the amount of points needed per perk. More points needed for higher levels.

                    2. Make Action Skills ONLY level on-use or by reading magazines, keep the rest of the perks at 1 skill point per level as they are.

                    I am also considering changing the requirements from attribute/player level based to tied with an associated action skill, or perhaps a combination of attribute and Action Skill without level reqs on the attributes. Want lvl 2 of Gunslinger? Get to lvl 20 in Pistol Weapons, etc.
                    I would go with option 2, learn by doing, not by a magical buttonpress earned from doing something completely unrelated!

                    Also. Greeeeeat initiative for a mod! soon A17 might be fun to actually play!
                    Last edited by -Holo-; 12-25-2018, 08:48 AM.

                    Comment


                      #25
                      Originally posted by Deceptive Pastry View Post
                      So I'm wondering what people's thoughts are on the direction the mod goes in.

                      1. Make it more like A16. Let you spend 1 skill point to get 1 level of an Action Skill, but increase the amount of skill points you receive per player level up and also increase the amount of points needed per perk. More points needed for higher levels.

                      2. Make Action Skills ONLY level on-use or by reading magazines, keep the rest of the perks at 1 skill point per level as they are.

                      I am also considering changing the requirements from attribute/player level based to tied with an associated action skill, or perhaps a combination of attribute and Action Skill without level reqs on the attributes. Want lvl 2 of Gunslinger? Get to lvl 20 in Pistol Weapons, etc.
                      I would prefer option 1 allowing for more freedom for the user, which is never a bad thing.

                      Comment


                        #26
                        @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.

                        Code:
                          <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.
                        Last edited by FringeRecall; 12-27-2018, 09:14 AM.

                        Comment


                          #27
                          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.
                          Last edited by Deceptive Pastry; 12-27-2018, 09:43 AM.

                          Comment


                            #28
                            Originally posted by Deceptive Pastry View Post
                            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.

                            Comment


                              #29
                              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".

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

                              Code:
                              <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.
                              Last edited by Deceptive Pastry; 12-27-2018, 08:55 PM.

                              Comment


                                #30
                                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)

                                Comment

                                Working...
                                X