Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - Savage Worlds

Notices

Reply
 
Thread Tools Display Modes
Seeker1728
Member
 
Join Date: Mar 2013
Location: LV, NV
Posts: 61

Old March 1st, 2021, 03:53 PM
Quote:
Originally Posted by CapedCrusader View Post
message #1 -
Am I reading that right? One Attribute Advance every FOUR Ranks? Wow, that's really rough. Are you sure you want to do that? I could probably come up with a way for you, you just have to replace the validation step that checks for that. It just sounds way harsh. You're talking about only getting 1 or 2 changes in Attributes over an entire campaign.

You can set up bonus Edges at each Rank, either by granting an extra Advance point or by adding a creation point and have the player unlock the Hero on the Advance tab to add the Edge.
Hi CC;
THANKS for reply, I appreciate the time you made to post. Followed your directions for removing Atlanteans, worked like a charm.

As to the above, I should've done a better job of communicating my want. I'm wanting to grant an extra + free Attribute advancement, but schedule it for every 4 ranks.

Then to your 2nd point about bonus Edges at each rank, I've made use of Zarlor's common code thread (that thread is practically my bible, many thanks for all who contributed to it) and have often made use of things posted there in my .user file, but I haven't connected the dots on how to grant something for free based on acquiring an advancement. While I have been slowly deducing things from reading posts/wiki and experimenting, that one continues to elude me


Quote:
Originally Posted by CapedCrusader View Post
OK message #2 -
1. There are some things assigned to it later that need the gizmo to be there. It's like a place to hang things from.

2. Bootstraps and Tags are really different. Yes, they both get attached to an item, but where a bootstrap is another pre-existing thing being connected to the target, a tag is just that - a standard text tag that can be read by other processes very quickly. You can use a simple tagis test to see if a given tag is present, plus do things like count them and manipulate them. Tags are really flexible, and should be used whenever possible. Bootstrapping has some limitations, things like bootstrapped gear cannot be removed.
RE: #2 above
Yes, I'm beginning to discover this, my developer buddy has been walking me through framing one's thoughts to see how tag's are more useful than bootstraps. Up till he did this, I didn't quite grasp their usefulness as a tool lacking the greater context of their value. Basically my approach so far has been very linear and merely aping what I see rather than understanding how to use them. Not saying I'm completely there yet, but getting there.

RE: #1 above
I'm trying to accomplish something with a Faction that following the examples in the tutorial hasn't seen any success with, not sure what I'm doing wrong, and perhaps it's not possible.

I can get my Faction to add things to the Hero by making choices from the menu below the description field without issue. (I.E. Valid Powers, Skills, Edges). But we're using the SPC-2 at Pulp level to represent the supernatural abilities, and I can't get these to show up as choices for the faction.

Example:
I want to give followers of the Faction the Super power of "Attack-Ranged" to represent they're the kid of a god of fire, but none of the Super Powers show up as a valid choice. I've checked the SPC as a source, and attached the same gizmo to the Faction (I.E. SPCPower), but the powers themselves don't appear on the "Valid Powers" list as options. Is this something that's possible to do and I'm just doing it wrong?

Thanks again for the help CC, it IS appreciated
Seeker1728 is offline   #11 Reply With Quote
CapedCrusader
Senior Member
Volunteer Data File Contributor
 
Join Date: Aug 2009
Posts: 1,467

Old March 1st, 2021, 11:04 PM
Well, there's a resource counter that tracks how many Advances a hero has been given called resAdvance. #resmax[resAdvance] is the current maximum, #resleft[resAdvance] is how many are unspent. Four Advances per Rank.

It depends on how you want it to work. Is it dependent on reaching a specific Advance you want want to leverage? (When they reach 6 Advances, x happens).

To give them a free Attribute Die adjustment without messing up their level progression, you'll want to sidestep Advances completely. Add to the resAttrib resource counter and have them unlock their character and choose which Attribute to increase and add it like when they were building the character. You can't add a free Advance because that will also be counted for their Rank since it's all driven by Advances instead of XP's now.

For that you'd have to bootstrap a power to the Faction. The problem here is that unless the hero has an Arcane Background the Arcane tab won't show up. And when you bootstrap the Power, you need to tell it which Arcane Background it belongs to by adding the proper Arcane tag to the bootstrap. Now, I haven't added a Power via bootstrapping it to something like a Faction/Group since we went to multiple Arcane Backgrounds with this latest update. Adding just a Power like that would be the same if you added it to a Racial template. Adding Powers without Arcane Backgrounds has always been tricky because of the interconnected nature of everything. Spells get attached to Arcane Backgrounds, thus having access to Power Points and such like, and the Arcane Background tag tells the Arcane tab to display.

_
Currently Running: Savage Seven Worlds (Book 3)
Currently on Pandemic Hold: Savage Grimnoir, Savage PsiWorld, D&D 5E, Savage Wearing the Cape
Setting Files: Deadlands: Reloaded, Flash Gordon, Gaslight, Hellfrost, Interface Zero 2.0, Slipstream, Solomon Kane, Seven Worlds
CapedCrusader is offline   #12 Reply With Quote
CapedCrusader
Senior Member
Volunteer Data File Contributor
 
Join Date: Aug 2009
Posts: 1,467

Old March 2nd, 2021, 11:58 PM
Another way to handle the Attribute Advances is to simply use a Permanent Adjustment at the appropriate time...

_
Currently Running: Savage Seven Worlds (Book 3)
Currently on Pandemic Hold: Savage Grimnoir, Savage PsiWorld, D&D 5E, Savage Wearing the Cape
Setting Files: Deadlands: Reloaded, Flash Gordon, Gaslight, Hellfrost, Interface Zero 2.0, Slipstream, Solomon Kane, Seven Worlds
CapedCrusader is offline   #13 Reply With Quote
Seeker1728
Member
 
Join Date: Mar 2013
Location: LV, NV
Posts: 61

Old March 16th, 2021, 11:10 AM
Thanks for the suggestions CC, and btw, I'm really grateful HL allows for multiple AB's, that has been extremely helpful in what I'm doing here.

I have a coding question which I haven't been able to figure out, as I'm not sure where to find my answer, probably a eval rule/script?

I've been making use of Precludes to "trim the fat" from my .user file to hide a number of things that aren't appropriate for the campaign, but now I'm in a unusual fix to customize elements from the SPC where Precludes are too all or nothing.

What I want to be able to do is selectively eliminate generic modifiers (i.e. Invent, Device, etc.) from specific powers, but not from others. Any suggestions?
Seeker1728 is offline   #14 Reply With Quote
CapedCrusader
Senior Member
Volunteer Data File Contributor
 
Join Date: Aug 2009
Posts: 1,467

Old March 16th, 2021, 05:31 PM
You should be able to set up a Mechanic to do this. Create a Mechanic, and assign it to your source. This way it runs for each character with that Source. Add an Eval script to it to do the work you need.

Then in the eval script cycle through the Powers with a foreach. You just need to go through and find the powers you want to alter this on, and delete the SPCPwrMod tag associated with the Mod you want to remove from that Power. The generic tags get assigned at Initialize/500 so you need to do this after that timing-wise. Here's one that will remove the first level of Device from the Armor Power...

Code:
      foreach pick in hero where "component.Power"
        if (eachpick.tagis[SPCPowers.s2cArmor] <> 0) then
          perform eachpick.delete[SPCPwrMod.s2mDevice1]
          ~ you can do more of these deletes to remove other Modifiers
          endif
        ~ you can add more if statements to check for other Powers. Only do the foreach once, they are expensive 
        nexteach

_
Currently Running: Savage Seven Worlds (Book 3)
Currently on Pandemic Hold: Savage Grimnoir, Savage PsiWorld, D&D 5E, Savage Wearing the Cape
Setting Files: Deadlands: Reloaded, Flash Gordon, Gaslight, Hellfrost, Interface Zero 2.0, Slipstream, Solomon Kane, Seven Worlds

Last edited by CapedCrusader; March 16th, 2021 at 06:13 PM.
CapedCrusader is offline   #15 Reply With Quote
Seeker1728
Member
 
Join Date: Mar 2013
Location: LV, NV
Posts: 61

Old March 18th, 2021, 12:54 PM
CC: Thanks Brother, made use of your suggested code and does what I need it to. However I'm a bit confused on a couple of points and was hoping you had the time/inclination to provide clarity/guidance.

In your remark, you said "Only do this once, they are expensive", I'm assuming you're referring to how much effort HL has to do to process such things, and that if I have too many in the .user file that it makes the tool sluggish. What I'm confused on is where the suggestion of restraint factors in, is in how many Mechanics I create or how many powers I want to hide modifiers from?

Tangential to the above question, lets say I have 10 powers that I want to preclude two power modifiers from. For the sake of clarity, lets say i want all 10 of these powers to not be able to access the Switchable modifiers of Primary/Alternate. And lets say that on 3 of these powers, I also don't want them to be able to choose the "Limitation 1/2" power mods.

Do I:
A) Create a mechanic for each power separately, I.E. create a mechanic for power #1, then the same mechanic but for power #2, etc?

B) Put all 10 powers in one eval script?

In anticipation that your answer is B, I'm not sure if my understanding of script writing is proper so a quick example to see if I would be doing this correctly or if it makes you fall off your chair laughing hysterically

Code:
foreach pick in hero where "component.Power"
        if (eachpick.tagis[SPCPower.spcSCFire] <> 0) 
        if (eachpick.tagis[SPCPower.spcSCBeast] <> 0)
        if (eachpick.tagis[SPCPower.spcSCBeuty] <> 0)
        if (eachpick.tagis[SPCPower.spcSCChaos] <> 0) 
then
          perform eachpick.delete[SPCPwrMod.s2mSwitchB]
          perform eachpick.delete[SPCPwrMod.s2mSwitchA]

          endif
        nexteach

Again, assuming your answer is B above, assuming that powers 8-10 have 2 additional power modifiers to be excluded, do I write the script as follows?


Code:
foreach pick in hero where "component.Power"
        if (eachpick.tagis[SPCPower.spcSCFire] <> 0) 
        if (eachpick.tagis[SPCPower.spcSCBeast] <> 0)
        if (eachpick.tagis[SPCPower.spcSCBeuty] <> 0)
        if (eachpick.tagis[SPCPower.spcSCChaos] <> 0) 
then
          perform eachpick.delete[SPCPwrMod.s2mSwitchB]
          perform eachpick.delete[SPCPwrMod.s2mSwitchA]

          endif
foreach pick in hero where "component.Power"
        if (eachpick.tagis[SPCPower.spcSCFire] <> 0)
        if (eachpick.tagis[SPCPower.spcSCBeast] <> 0)
then
          perform eachpick.delete[SPCPwrMod.s2mLimit1]
          perform eachpick.delete[SPCPwrMod.s2mLimit2]

          endif
 
        nexteach
Seeker1728 is offline   #16 Reply With Quote
CapedCrusader
Senior Member
Volunteer Data File Contributor
 
Join Date: Aug 2009
Posts: 1,467

Old March 18th, 2021, 04:41 PM
What I meant was you only need to do one foreach loop. You only need to go through the Powers once.

It can't do stacked if's like that. However, one advantage of tags is we can do this:

Code:
if (eachpick.tagis[SPCPower.spcSCFire] + eachpick.tagis[SPCPower.spcSCBeast] + 
        eachpick.tagis[SPCPower.spcSCBeuty] + eachpick.tagis[SPCPower.spcSCChaos] <> 0)  then
Since all you are looking for is if any one of those tags is active.

And then just put in another if statement for the next group of Powers... In your example the second if can go inside the same foreach loop. No need to do a second one.

_
Currently Running: Savage Seven Worlds (Book 3)
Currently on Pandemic Hold: Savage Grimnoir, Savage PsiWorld, D&D 5E, Savage Wearing the Cape
Setting Files: Deadlands: Reloaded, Flash Gordon, Gaslight, Hellfrost, Interface Zero 2.0, Slipstream, Solomon Kane, Seven Worlds
CapedCrusader is offline   #17 Reply With Quote
Seeker1728
Member
 
Join Date: Mar 2013
Location: LV, NV
Posts: 61

Old March 29th, 2021, 11:40 AM
CC, thanks Brother, your guidance has been a great help! I won't be so presumptuous as to say I now have full command of these "Ifs", but I'm getting there

So hopefully I'm not turning into a pest (too late? ) but I got another issue i can't figure out. I've had to create some custom content for the SPC, there are some things in SW that are either arranged somewhat silly to my sensibilities, and I wanted to add more choices/effects. I'm having the same problem showing up on each custom power set, but I'll illustrate it via the following example:

Immunity Poison, Disease, Ageless, all seem to me to be related and should be part of a table like Heightened Senses has enhanced senses. I'm influenced by M&M way of doing it, so I created a power called "Immunities", wrote up the 3 just mentioned and about a dozen more, attached them to the Immunities power and it loads and allows players to choose what immunities they have without any problems except one. I keep getting the same error message reading "Immunities: A power level must be selected via the chooser", flagging the table red on the character sheet.

Heightened Senses was my guide (especially as I created my own version of super senses to replace it and its got the same problems) with a micro comb, I mimicked its structure and how the power modifiers are coded in the editor exactly, and that warning refuses to go away. Things I've done are:

Name: Immunities Unique ID: spcMRimun Uniqueness; No Gizmo: SPCPower

Just like with Heightened Senses, everything else beneath the "Summary Text" is blank, i attached via the "Power Modifiers" the various powers to be included, specified my two sources: SPC and the HouseRule.user file. My tags consist of all the power mods I created for table, including copying a tag from Heightened Senses with the following properties:

Group ID: thing Tag Id: holder_top Name: Top Holder Abbrev: ???

I even mimicked putting the above tag at the very bottom of the tag table, double-checked my spelling, even resorted to doing a copy/paste in each field of the tag just in case there was something I couldn't see. Then I mimicked how the power mods for Heightened Senses were constructed, all of them have the "Add" operation, a numerical entry in the "Value" field, same sources, and "Uniqueness" set to Unique.

At first, due to the warning message, I figured "Oh, look in the SPC Power Levels" tab dummy, copy what Heightened Senses did there. I know how to add power levels to a power, I've constructed several such powers (though they're simplistic, very little in the way of scripts or rules) and went looking for examples in that tab, but Heightened Senses isn't present, so near as I can tell, it's unnecessary. So what the hell am I missing?
Seeker1728 is offline   #18 Reply With Quote
CapedCrusader
Senior Member
Volunteer Data File Contributor
 
Join Date: Aug 2009
Posts: 1,467

Old March 29th, 2021, 11:52 AM
OK, the reason you are getting that error message and Heightened Senses doesn't is because there is a specific exception in that validation for Heightened Senses. I never considered someone wanting to set up another power with the same structure. I'll change it to look for a tag instead next time I work on it, but that doesn't help you now.

I can't think of a work-around that doesn't mess it up. That validation message will just need to be ignored.

_
Currently Running: Savage Seven Worlds (Book 3)
Currently on Pandemic Hold: Savage Grimnoir, Savage PsiWorld, D&D 5E, Savage Wearing the Cape
Setting Files: Deadlands: Reloaded, Flash Gordon, Gaslight, Hellfrost, Interface Zero 2.0, Slipstream, Solomon Kane, Seven Worlds

Last edited by CapedCrusader; March 29th, 2021 at 12:22 PM.
CapedCrusader is offline   #19 Reply With Quote
CapedCrusader
Senior Member
Volunteer Data File Contributor
 
Join Date: Aug 2009
Posts: 1,467

Old March 29th, 2021, 05:20 PM
That exception is on Heightened Senses and Super Skills for different reasons. Heightened Senses works where each additional Sense is counted as another Power Level, so no initial point cost and no set power levels (1, 2, 3...). Super Skills is because no matter how many new Skills or Skill modifiers the hero takes, they count as a single Power for the purposes of Modifiers. Hence the 0 point cost for the Super Skill Power itself, and no Power Levels. Usually a 0 initial point cost means the Power uses Power Levels. It was only these two that violated that rule, so I exempted them specifically. I've added the SPCPwrType.SkipPwrLvl tag to cover this and added it to the all the applicable places in the version of the code here. So when the next update gets released you can use that to disable that message and also stop the Power Level chooser from showing up.

_
Currently Running: Savage Seven Worlds (Book 3)
Currently on Pandemic Hold: Savage Grimnoir, Savage PsiWorld, D&D 5E, Savage Wearing the Cape
Setting Files: Deadlands: Reloaded, Flash Gordon, Gaslight, Hellfrost, Interface Zero 2.0, Slipstream, Solomon Kane, Seven Worlds
CapedCrusader is offline   #20 Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 04:40 PM.


Powered by vBulletin® - Copyright ©2000 - 2021, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.