Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - D&D 5th Edition SRD

Notices

Reply
 
Thread Tools Display Modes
smokeh
Junior Member
 
Join Date: Jun 2016
Posts: 23

Old March 8th, 2018, 07:48 AM
Edit: In the end, I was going to have the weapons chosen be added to a minion, but I forgot that an eval script can't add a pick. I'm still interested to see why my list below wasn't working. I'm going to see if there is some bootstrap method that might work.

I'm trying to create a usrCandid1 field that will display a list of all non-magical items that are part of the 'Simple' weapon proficiency.

If I use this for my expression, I was expecting to get a list of items that have the NormalWep component, as well as the Simple weapon proficiency.

Code:
field[usrCandid1].text = " component.NormalWep & wProfReq.Simple "
If I just use that, the dropdown list will only contain weapons that match those requirements that my character currently has on them.

If I switch the 'restrict First List' drop down to 'All Things', it fills the list up with magical and non magical versions of the Simple Weapon proficiency as well. So, this is getting closer, but I'm not sure why it isn't honoring my NormalWep component.

Last edited by smokeh; March 8th, 2018 at 08:39 AM.
smokeh is offline   #1 Reply With Quote
dungeonguru
Senior Member
 
Join Date: May 2016
Posts: 608

Old March 8th, 2018, 08:52 AM
I believe that in many cases, especially staffs, the bootstrapped weapon that is attached to the magic item has to be a "normal" weapon due to timing errors that are generated from magical weapons.

Since a lot of the magic staff "weapons" are actually helper items, you might be able to drop some more off by changing your code to be:

Code:
field[usrCandid1].text = "component.NormalWep & wProfReq.Simple & !Helper.Helper"
!Helper.Helper says anything that does not have the Helper.Helper tag.
dungeonguru is offline   #2 Reply With Quote
smokeh
Junior Member
 
Join Date: Jun 2016
Posts: 23

Old March 8th, 2018, 10:02 AM
Perfect, your solution worked great, thanks for your quick reply!
smokeh is offline   #3 Reply With Quote
smokeh
Junior Member
 
Join Date: Jun 2016
Posts: 23

Old March 11th, 2018, 06:17 AM
Since i couldn't figure out how to bootstrap the chosen item to the minion, my plan was just to have the player manually add the weapons they chose to the minion. After spending 3 more days deep into the editor, and solving a problem with adding a Swim speed to the minion due to an upgrade, I came up with a solution to adding the weapons. The problem is it seems fairly inelegant, and I'm wondering if there is a smarter way to do this. I have tested this out, and it does work as I describe it.

Basically, I'm pre-bootstrapping every simple weapon (and eventually martial weapons due to another upgrade) to the Minion at the start. I'm then assigning a Condition to the bootstrap that checks for the existence of a custom tag on the minion that I'm setting via the player's choice from the menu. In order to handle the user picking 2 of the same weapon I will need to double all of the weapon bootstraps and add a second level of custom tags and conditions (like Custom.Con_wClub2).

Code:
field[usrCandid1].text = " component.NormalWep & wProfReq.Simple & !Helper.Helper "

field[usrCandid2].text = " component.NormalWep & wProfReq.Simple & !Helper.Helper "

if (field[usrChosen1].ischosen <> 0) then

If (field[usrChosen1].chosen.tagis[thingid.wClub] <> 0) Then
perform minion[Familiar].assign[Custom.Con_wClub]
endif
endif
Is there a better way to do this? I don't mind spending the time entering the data, but if there is a smarter path than I would love to try that first!
smokeh is offline   #4 Reply With Quote
dungeonguru
Senior Member
 
Join Date: May 2016
Posts: 608

Old March 12th, 2018, 03:07 AM
Could you give a better explanation of what you're trying to accomplish? Is this a magically summoned minion or something where you don't want the players to have to touch the minion object at all?
dungeonguru is offline   #5 Reply With Quote
smokeh
Junior Member
 
Join Date: Jun 2016
Posts: 23

Old March 12th, 2018, 04:41 AM
Absolutely! I'm trying to convert this variation on the UA Artificer class that includes a Mechanist specialist. The Mechanist specialist starts with a companion where they choose a Chassis and Build, eventually at level 3 they get this ability:

Quote:
Combat-Ready Construct
Starting at 3rd level you are able to create weapon components for your construct. Choose 2 simple weapons, the mechanical servant is considered proficient with the chosen weapons. The constuct gains the attack action, and follows the normal rules for wielding weapons and attacking.

These weapons may take a different form than a normal weapon. For example, curved blades may be attached to the wings of a flying construct, enabling it to deal slashing damage like a simitar. Whatever its physical description, you can use the game statistics provided for the weapon in chapter 5 of the Player's Handbook.

Additionally, the construct gains proficiency in all saving throws.
You helped me get the dropdown list filtering properly to restrict to simple weapons, and now when chosen the ability looks like this:

Weapon Components.png

At the time, I figured it was good enough and I would just instruct the player to manually add the weapons onto their Construct and they would have reference on their character sheet. However, as I started adding some Upgrade Components I figured out pre-bootstrapping to the minion, and creating a Custom tag to trigger something from the HERO onto the MINION, since Conditions can only reference their own pick.

It isn't absolutely necessary for the weapons to automatically appear on the minion, I'm having fun trying to problem solve some of these issues and get solutions as well as it being slicker if it automatically adds them.

Adding the proficiency's was fairly straightforward, although there may be a ProfSave.all that I couldn't find. I'm also 'cheating' by just adding all Simple Weapons as proficiency, instead of just the weapons chosen by the player. I was eventually going to try to fix that as well, and just assign 2 weapon proficiency.

Code:
if (#levelcount[EPArtific] >= 3) then
perform minion[Familiar].assign[ArmProfGrp.WepSimple]
perform minion[Familiar].assign[ProfSave.svCON]
perform minion[Familiar].assign[ProfSave.svINT]
perform minion[Familiar].assign[ProfSave.svWIS]
perform minion[Familiar].assign[ProfSave.svDEX]
perform minion[Familiar].assign[ProfSave.svCHA]
perform minion[Familiar].assign[ProfSave.svSTR]
endif
I will also need to duplicate this skill as a Construct upgrade that allows the same thing for Martial Weapons.
smokeh is offline   #6 Reply With Quote
dungeonguru
Senior Member
 
Join Date: May 2016
Posts: 608

Old March 12th, 2018, 09:43 AM
Yep, that's a tough one to imagine tackling.

Have you tried grabbing the WepProf tags from the weapon chosen and pushing only the weapon proficiency to the minion? That way you don't have to grant all simple weapons.

Should be something like (pre-levels/10000) :

Code:
perform field[usrChosen1].chosen.pulltags[WepProf.?]
perform minion.pushtags[WepProf.?]
I haven't tested that against a minion, but the code works for hero, so it should work the same.

Also, the all saving throws is svAll so you can drop to a single line

Code:
perform minion[Familiar].assign[ProfSave.svAll]
when you write the script with the editor, you can hit the Find Thing... button and type in save or even just sv and it should pick things that have the word save.

One way to try and tackle this would be to create two Helper weapons (they have the Helper.Helper tag to keep them from showing in the normal selection boxes). Don't give those weapons any information other than a name like Built-in Weapon 1 - no damage or anything other than the Simple proficiency. Bootstrap those two weapons to the minion and then step through each of your chosen weapons and copy the damage fields from them into the appropriate bootstrapped weapon.
Something like:

Code:
perform field[usrChosen1].chosen.pulltags[?.?]
perform minion.childfound[BuiltinWeapon1ID].pushtags[?.?]
minion.childfound[BuiltinWeapon1ID].field[wDieSize].value = field[usrChosen1].chosen.field[wDieSize].value
minion.childfound[BuiltinWeapon1ID].field[wDieCount].value = field[usrChosen1].chosen.field[wDieCount].value
... etc ...
Disclaimer: I have not tested the code so I may have mistyped something.

YOu would replace the BuiltinWeapon1ID with your 1st weapons' ID of course.
dungeonguru is offline   #7 Reply With Quote
smokeh
Junior Member
 
Join Date: Jun 2016
Posts: 23

Old March 12th, 2018, 10:40 AM
Interesting, very interesting. I like the idea of a blank 'helper' weapon that is then overwritten with the appropriate stats. It scales up to simple and martial weapons, and would also allow for additional weapons to be added without modifying the class.

I'm going to play around with all of these options, and I'll update here in case anyone else ends up with a similar question.
smokeh is offline   #8 Reply With Quote
smokeh
Junior Member
 
Join Date: Jun 2016
Posts: 23

Old March 12th, 2018, 02:15 PM
I actually remember I tried ProfSave.svAll for assigning all saves, but for whatever reason that tag doesn't get added to the minion when the individual ones work.

The weapon proficiency code works great, it adds the specific weapon proficiency to the minion when it's chosen.

I started looking into implementing the weapons script, but I'm getting an error with trying to pull all the tags from my choice with this: pulltags[?.?]. It doesn't seem to allow you to wildcard the tag group. I'm looking to see if there is another way to copy all of the tags off of a specific pick from the hlkitwiki.
smokeh is offline   #9 Reply With Quote
dungeonguru
Senior Member
 
Join Date: May 2016
Posts: 608

Old March 13th, 2018, 07:32 AM
Yeah, forgot about that on the pull you have to have the group ID.

Pulling all the tags would be overkill, maybe stick to the tag groups like [wProperty.?], [DamageType.?] and pull/push those. Between that and the base damage fields, it would cover most of what you're trying to do while you tweak it.
dungeonguru is offline   #10 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 03:32 AM.


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