Bootstrapping a gizmo pick from the editor
Another one of those things I just can't seem to wrap my head around despite looking at the examples. A given Race or Command Package can give the player a free skill Specialty. When I had skill Specialties be something that was on the hero itself, rather than a pick on the child entity attached to the Skill, so this was as simple as a bootstrap entry on the Race or Command Package, and an it_bootcustom in the editor entry. Well, that no longer works and I can't quite figure out how to make it work.
A given Specialty has a tag to indicate which skill it's matched up to, e.g. Code:
<!-- Thermal Skill Specialty --> Code:
<entity Code:
<component |
Looks like it's here that explains how to do this, but I can't check until I get home.
|
Hmm... and no, no luck with that. However, I am 90% of the way there. I am currently instead adding a tag to the BGTrait and using the following script to find the relevant Skill and modify it. But I am still figuring out how to actually bootstrap the pick:
Code:
<eval index="2" phase="Setup" priority="3001" name="Add BG Specializations"> |
And... somewhere between posting that and now, I managed to lose it such that the bootstrap is no longer showing up in the BGTrait. Still plugging away at ways of getting at this.
|
1 Attachment(s)
Coming back to this, I'm all the way up to adding the pick to the Gizmo via the script... and I don't know how to go about it. Here are the Gizmo picks for a skill that has a Specialty:
http://forums.wolflair.com/attachmen...1&d=1509196582 The SpecHelper is something that lets me constrain the choices of which Specialties can be picked for that skill and then there's the Beam specialty. How can I add a new one from a script? Or is that something that is possible? |
Following the current pattern, I'd think something like "addChild" to parallel "findChild" but no luck there. If all else fails, I guess I could start by bootstrapping everything and then instead deciding whether to enable it? But, then again, I don't know how that will interact with adding things by tables, plus it seems like that would require adding everything explicitly.
|
Wait, bootstrapping by script? I'm sorry I didn't notice that earlier to keep you from spending time on that. You cannot use a script to create something that needs to run its own scripts, because HL sets up a list of scripts and the order to run them in before running any of them, so it can't add new scripts to that list later on, so it can't have a pick added by a script.
|
Forms don't have to show picks within the gizmo - you can press a button on one pick that opens up a list of picks on the hero - like all the specialties. That's how Shadowrun handles it. And then just build a text list of the specialties for that skill for display on that skill.
That way, the advancements for specialties add them to the hero, like everything else, and then the skills figure out what specialties they've got. |
OK. So no script.
Am I handling it the wrong way above, by making it an entity? That seemed like the only way I could set it up so that the form accessible off of the Skill entry restricted the Specialties to those associated with the skill. |
If you make it an entity, you cannot use an advancement to add picks within that gizmo, because the displacement used by advancements can only be to the hero, not to a different container.
|
I finally got the opportunity to get back to this, and I am hitting a wall again. Currently Skill Specialties added via the form accessed from the Skill add a pick to the skill, and a tag on the Skill. The Eval statement on Specialty also forwards the tag down so that it reaches the Hero. Similarly, Specialties added via the Background, Command Package, and Sophont items add a tag to the Hero and a pick. Now the catch is, I'm really not certain how to get the two to mesh together.
When all of the Specialties were being pulled from the Skills and their gizmos, the code to display a list of them on the Skill Summary space went like this: Code:
var skillText as string Code:
var skillText as string Worse comes to worse, I can go back to the way I was initially doing things where Specialties were picked out of a big table of all of the Specialties, not off of the Skills, which worked well enough, but that's not aesthetically pleasing to say the least. |
Ah. I found a solution for creating the list of Specialties. Now, to figure out how to build that table up...
Code:
var skillText as string |
1 Attachment(s)
Quote:
http://forums.wolflair.com/attachmen...1&d=1511743093 And would I be using the "form" action rather than "edit" since it would not be in a gizmo? |
Quote:
|
Unfortunately, probably not. That's more like what's done with the Domain of skills, which funnily enough I do use for some Specializations...
|
Quote:
|
Quote:
Looking at the code for advancements, it looks like defining the displacement might be as simple as <autotag group="Helper" tag="Displace"/>. I'm guessing something else picks that up. The wiki mentions a displace element, but I have not located code for that yet. ^_^ But that's leading me down a rabbit hole of wiki entries, so hopefully something will come up there. In a semi-related side-note, as mentioned above, I'm also trying to figure out a way to implement a choice of Specialization, which would require a way to add an option among various picks. I'm thinking that this might wind up kind of like Advances with a construct for "SpecPick" or something like that that gets attached to the player, and gets locked down after character creation. |
Bingo! I modified Specialty to include a "<displace target="hero">TRUE</displace>" line and now everything chosen from the Specialty table in the skills shows up! I now see that the tag is used to indicate whether a given item should be displaced. Now, I just need to get the table reached by the button by the skills to realize that it should only display the items the hero doesn't already have...
After that, I plan to build something like an Advance to hold the various bonus abilities from Sophont type, Background, Command Package, etc to allow for things like a choice of Specialization (the code I have works for skills, but that's because it just needs to adjust ranks, not add a pick), which may have the happy side effect of also cleaning up my code a little. |
All times are GMT -8. The time now is 05:22 PM. |
Powered by vBulletin® - Copyright ©2000 - 2024, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.