Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - Authoring Kit
Register FAQ Community Today's Posts Search

Notices

Reply
 
Thread Tools Display Modes
iamarogue
Junior Member
 
Join Date: Feb 2014
Posts: 4

Old January 23rd, 2017, 05:55 AM
I'm making a new system based on the sample data file and I'm having trouble with one thing (okay many things, but one is the most pressing).

The sample game doesn't have a leveling system. I also have the authoring kit from 4e, so I'm borrowing from there, but... here's the question... 4e contains the helper tag Helper.Disable, which is assigned to class features etc that aren't acquired until later. The sample game doesn't include the Helper.Disable tag...

I know where the Helper.Disable tag is defined (tags.1st), but where is the associated script that makes it do the things?

I've defined the Helper.Disable tag, and I've assigned the AtLevel.X tag to a bunch of features, and I've defined the AtLevel component which includes an eval script that says assign Helper.Disable if the character level is not sufficient.

But how do I get Helper.Disable to do something? Can anyone point me to a reference for how this is treated in 4e, or any other game that uses levels or uses Helper.Disable?

Thanks.
iamarogue is offline   #1 Reply With Quote
Mathias
Senior Member
Lone Wolf Staff
 
Join Date: May 2005
Posts: 13,213

Old January 23rd, 2017, 07:14 AM
Do you have a text editor that can open many files at once, and let you search them all?

I just checked, and there are 23 different places where "Helper.Disable" is used in 4e.

There's no special behavior for that tag - it's all based on various scripts that have tests for Helper.Disable, and stop themselves from applying their effects if that tag is present.

components.core, line 1027 and traits.str, lines 2246 and 2430 seem to be the most important tests for it. The other places are cases where the display of a disabled pick is different, or they're places where Helper.Disable is being assigned.
Mathias is offline   #2 Reply With Quote
iamarogue
Junior Member
 
Join Date: Feb 2014
Posts: 4

Old January 23rd, 2017, 12:23 PM
Thanks! It's the traits.str file I needed.

Yes, I have the text editor that lets me search, but the problem is I was getting too many different hits and I wasn't sure what exactly I was looking for. I mean, every thing_ file would return at least one hit.

Thanks for the clarification that there was no hard coded special behaviour... I was driving myself crazy imagining it was somewhere in the procedures or control, or worse, somewhere not in my data files.
iamarogue is offline   #3 Reply With Quote
iamarogue
Junior Member
 
Join Date: Feb 2014
Posts: 4

Old January 31st, 2017, 09:06 AM
Still stuck, so I have a couple more questions:

First, can you tell me what activated does? For example:

if (activated = 0) then
perform assign[Hide.Special]
endif

I can't seem to find any reference to it in the wiki, and it really doesn't seem to be a variable.

Next, can you tell me, in general, what the logic is supposed to be? From what I can tell, it goes something like this:

1. a class bootstraps all the things the class grants, with an atlevel tag
2. then we check to see if we're the right level or not
3. if we aren't the right level, we...???

From what I can tell, we need to set activated to 0, but by itself, what does that do? Does it basically prevent the script from running? And then we additionally need to hide the thing from displaying in output.

For example, let's imagine I have a class called the "Cool Kid" and at level 2 they have gain an ability called "Extra Cool" that grants a +2 bonus to Cool.

So my class the Cool Kid would bootstrap Extra Cool. Then, if I was only level 1, I would check and see that I'm not the right level so I would set activated = 0 for the ability Extra Cool. So at this point, should my Cool stat have the +2 bonus or not? The ability Extra Cool would still display on my list of Abilities and my character sheet and everything. So then I need to perform an additional step to hide it where it would be displayed? Or addend some text to say "Inactive"? Or something?

Do I have the logic right?
iamarogue is offline   #4 Reply With Quote
Mathias
Senior Member
Lone Wolf Staff
 
Join Date: May 2005
Posts: 13,213

Old January 31st, 2017, 09:14 AM
"activated" is a special operation in Hero Lab. It's a way to store whether an item is disabled or not.

I'm not very familiar with 4e, so if you're citing specific parts of that, please be more specific, or copy the code. I can't follow the second part of your script - I think you're referring to particular things in 4e, but there's not enough context for me to figure out what you're talking about.

Look through traits.str for scripts that set activated = 0, rather than places that are testing for what activated's current state is. You can study how various circumstances can disable abilities and other things by setting activated = 0, and then other scripts will note that activated = 0, and not perform their actions.
Mathias is offline   #5 Reply With Quote
Reply


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 01:01 AM.


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