If you include the "call CalcValue" in your script, it will cause anything with a 0 in its Value field to become inactive. That's one way of doing it.
And yes, there is a way to turn off the bootstrap, or rather, to keep it from appearing on your Specials list (and to keep the script from being produced). At the top of each script, you can place (I'm working from memory):
Code:
doneif (tagis[Helper.SpcDisable] <> 0)
What this will do, is if you assign the Helper.SpcDisable tag in your script to the appropriate pick (the relevant bootstrap), it will not run your script. You can also remove the specials display tag to remove it from the special list:
Code:
perform hero.child[xxx].delete[Helper.ShowSpec]
This will remove it from the specials list. Now the problem becomes the boostrap. If a bootstrapped ability also has a bootstrap on it, as it appears yours does, then you have to deactivate it as a condition. As a programmer myself, it took me months to understand the complicated nature of how bootstraps work with conditions and timing properly. As a first attempt at coding, it is a daunting task, because there is a lot of things going on in HL that you don't see that affects how bootstraps work. I avoid having to use conditions on bootstraps until it is the only option.
Looking at what you want your prestige class to do, you have alot of disparate abilities, and my suggestion is to make different ones. It gets very difficult to make disparate abilities to work hand in hand as one ability (it can be done, but is it work the head trauma?). Much of what you are doing will just be descriptive text and won't actually have to make changes in HL, so removing the Helper.ShowSpec is the way to go on those.
Listen, I've been doing HL long enough that I've got a handle on most of the ins and outs of the program. There are some things that still baffle me though, and it is just because they won't allow me to look at the guts of the program. I'd love to tinker with HL, but that's not going to happen. I've accepted that some things (and they are few) can't be done in HL. Most of the time, I get what I want out of HL, even if it is less than what I expected (live states, ergh). But I digress.
I'll give you an example of something I did recently. I had figured out a way to add racial spell-like abilities as spells to my monsters. I do it by bootstrapping the spells to a Special called spell-like abilities, then I bootstrap the spell-like abilities Special to the monster (the dreaded bootstrap on a bootstrap). Now, I was doing the Titan like this, when I noticed that a Titan gets additional spells based on whether they are Good/Neutral or Evil. The first condition I set up was to look for the Alignment.xxx tag, but I could place anything in my bootstrap condition before First/2500 when the Alignment.xxx tag isn't seen by HL until First/10001. Essentially, I couldn't discover the alignment until after I needed the condition set, which wouldn't allow any of the additional spells to show up. So, I had to think it through, and come up with an alternate way of approaching the problem. What I know is, there is a place where the alignment is stored (and things get a little complicated here, so bear with me) before the hero is assigned a tag. This was in something called component.Alignment, which allowed me to iterate through the thing with that component and look for the appropriate Alignment.xxx tag that was actually found there (before being assigned to the hero). This all occurred before First/2500, so I was then safe to use it. Unfortunately, I can't script an interation in the condition, so I had to script it in spell-like abilities Special (again before First/2500) to do that and set the spell-like abilities Special's Value field so that I could access it through the conditions on a bootstrap using the fieldval:Value check. That is how I got that to work. Painful as a process, but it takes some digging to find a way.
My suggestion to you, as a beginner, is to make thorough use of the debugging tools. You can access this through the main HL screen (make sure you have something loaded up with the relevant thing you want to look at) under Develop->Floating Info Windows->Show...
You can also access some things directly by right-clicking its info button (the gray and white question mark next to it) and selecting one of those. There you can see all the Tags and Fields on a thing, as well as the Timing (Tasks) which tell you, abstractly in some cases, what is occurring at each timing phase, and whether you need to make a change before or after it to get the results you want.
I hope this is some help to you. Don't be discouraged! Feel free to ask for help from me anytime, if I know or don't know, I will usually respond in a prompt manner. The more specific you are (including your code) the more likely I can help.