• Please note: In an effort to ensure that all of our users feel welcome on our forums, we’ve updated our forum rules. You can review the updated rules here: http://forums.wolflair.com/showthread.php?t=5528.

    If a fellow Community member is not following the forum rules, please report the post by clicking the Report button (the red yield sign on the left) located on every post. This will notify the moderators directly. If you have any questions about these new rules, please contact support@wolflair.com.

    - The Lone Wolf Development Team

Item Selection Custom Expressions list?

glandis

Member
Is there documentation somewhere for the names used in the Custom Expressions list? I'm trying to create a version of Heirloom Weapon I'm calling "Gifted Weapon" that follows the Simple or Martial rule for the current Heirloom (Maneuver version, at the moment), but can be applied to a masterwork or even magic weapon (if you pay for it, of course).

So it would seem I would need to change the Custom Expression "component.BaseWep & !Helper.NoSelect & !wCategory.Amm? & !wProfReq.Exotic & !Helper.Helper" to remove .BaseWep and replace it with ... AllWeps? SimpleWep & MartialWep? Picking "All Weapons" in the "Select From" box does NOT work (masterwork will not appear in the list), although oddly "Melee Weapons" will include the masterwork - as long it is a melee weapon...

Any thoughts? Thanks in advance for whatever you've got!
 
I'm having trouble figuring out what you're trying to accomplish. Please describe the game rules you're trying to implement.
 
I'm having trouble figuring out what you're trying to accomplish. Please describe the game rules you're trying to implement.
The specific task at hand is: take the "Heirloom Weapon (Manuever)" Trait, and remove the non-masterwork restriction. Keep the Simple and Martial only restriction. Hopefully that allows it to be attributed to just about any non-Exotic weapon.

But the general question - is there a listing somewhere of what names like "component.BaseWep", "wCategory.Amm" & "wProfReq.Exotic" are available for use in a custom expression? - would also be nice to know.
 
Make sure Data File Debuging is on and you can look at the tags that are on items. Add the item to a charcter and right click on the item and select view tags.
 
What your asking for is the "Tags" that control what a Thing is associated too. Video#4 shows how to start figuring this type of information out.

Basically you need to go to "Tools->Enable data file debugging". Then you can add a weapon to your character and "right" click on the "?". You will get a new list of options including showing the "Tags" on the Thing. Those are what Custom Expressions are searching for.
 
OK, thanks! I'd seen in the 3rd video how to go ahead and look at the BIG lists from the Develop menu, but hadn't gotten to the right-click on a particular context part of the next video. With that, it became clear that "component.BaseWep was NOT a way to determine if something was masterwork. Experimentation revealed that removing "& !Helper.NoSelect" from the custom expression mostly produced the result I was looking for. I'm not sure why "no primary weapon" appears in the pick list, but I can live with it.

Still - where can I find out what Helper.NoSelect is actually checking for? Or even what component.BaseWep is doing?
 
Helper.NoSelect is specifically there to exclude "no primary weapon". EVERY weapon has component.BaseWep, so component.BaseWep is there to tell Hero Lab you're selecting from weapons, and not armor, or normal gear, or feats.
 
First of all - thanks for all the help! Is there a reference for that kind of info about component.BaseWep, Helper.NoSelect, & etc., or are they just things we figure out by experience & looking at debug data (in other words, should I just have looked those up in the durned file/manual/wiki/whatever rather than pestering y'all about it)?

And then - removing Helper.NoSelect seems to also make selecting a weapon from the "Magic, Custom and Masterwork" section possible, whereas such weapons are excluded when it is present (at least, when used in my new Trait that I created by looking at & copying the Heirloom Weapon (Maneuver) Trait). Is there any other way to exclude "no primary weapon", or some other way to include "Magic, Custom and Masterwork" weapons?
 
Study the debug data - compare similar items, and see exactly what differs in their tags. For example, add a masterwork longsword, a regular longsword, and a +1 weapon, and then compare the tag lists in each case.

Also, in the Develop menu, choose "Floating Info Windows"..."Show Selection Tags", and then find "No Primary Weapon" in that list, and look at its tags. Is there something else that will exclude it without excluding the custom/magic weapons?
 
"No primary weapon" is a pick called wMainHand, I think, so you can put in "!thingid.wMainHand" if you only want to exclude that. If you want to exclude all custom and specific magic weapons, it looks like they all have "component.BaseMagicI" tags, so you could exclude that from the candidate expression.
 
Specifically excluding something based on a thingid should be a last resort. I'm sure there's a more generic tag available to exclude it than using a thingid tag.
 
My immediate problem is basically solved - thanks, all! - but for my own education and others who might read this, let me run down the details: The original expression from Heirloom Weapon (Manuever) is:
Code:
component.BaseWep & !Helper.NoSelect & !wCategory.Amm? & !wProfReq.Exotic & !Helper.Helper.
It works great for the rules of that Trait: pick a non-exotic, non-masterwork (and thus, non-special material and non-magic) weapon on the current character. The problem with it is that in my new Trait I want Magic, Custom & Masterwork Weapons to be available, and that seems to be prevented by !Helper.NoSelect. Removing !Helper.NoSelect mostly works, but "No primary weapon" appears in the list - apparently, it was also suppressed by Helper.NoSelect. It can be inelegantly suppressed by adding !thingid.wMainHand.

So the new expression
Code:
component.BaseWep & !thingid.wMainHand & !wCategory.Amm? & !wProfReq.Exotic & !Helper.Helper
works to create a list of all non-Exotic weapons on the current character.

Some more thoughts, so at the very least future searches for things like "Helper.NoSelect" or "component.BaseWep" will yield some kind of hit/information:

It looks like Helper.NoSelect is doing double-duty, both to identify the "no primary weapon" for suppression and to identify non-masterwork weapons (or maybe, to identify weapons created in "Magic, Custom and Masterwork Weapons" rather than in "Other Weapons"). As far as I can tell, there is no easy way to identify if a weapon is masterwork. Debug-comparing a normal weapon to a masterwork version (boy do I wish that the text in the floating windows was selectable so that they could be pasted in a spreadsheet and/or searched/diff'd as text), it looks like all that happens with masterwork is gCost & wAttBonus are raised and sbName includes "Masterwork."

I haven't found "no primary weapon" or wMainHand in a debug window anywhere yet, so I'm not sure how to identify a more generic tag associated with it and not associated with items I want in the list.

Helper.Helper. What is this one for, anyway, and if I should be able to figure out the answer to that without pestering this board, how would I do so? Well, one way is I could remove it and see what happens - and the answer is, in the original expression, it keeps Unarmed Strike out of the list. Without !Helper.NoSelect in the expression, Melee Touch, Ranged Touch, and Shield Bash Attacks would be in the list - but !Helper.Helper keeps them out, too.

The Shield Bash is an interesting case and potential problem. It actually counts as a weapon, I'd think, but gets put in the "Magic, Custom and Masterwork Weapons" section even if its just a plain old shield. So the base Heirloom Weapon Trait won't EVER include it in the list ... that may actually be a bug. But getting it included would require removing !Helper.NoSelect AND !Helper.Helper - which adds things we DON'T want to the list, so those things then need a DIFFERENT filter, and like "no primary weapon" I've not found a place to get 'em into a debug window. So no idea how to find other ways to suppress 'em...

component.BaseMagicI. For EXclusion, using this might work, but I'm looking at INclusion - and BaseMagicI is true for magic armor (and other items? I didn't check) as well.

component.NormalWep. Seems to be the exactly the same as BaseWep - so far, I've seen no weapon that isn't a NormalWep.

OK, that's it. Thanks again for the help! Maybe I'll go ahead and enter a bug on the shield issue ...
 
Back
Top