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
DeltaMasterMind
Senior Member
 
Join Date: Jul 2014
Posts: 412

Old October 18th, 2018, 06:57 AM
So can someone inform me as to why field[rMultiatt] was not added to the compset for subraces? Seems like it would be useful to be there for some races like constructs where they are not all created equal, but are part of the same race.

Edit: Count this post as a request for addition of rMultiatt to subraces.

Forum link for my content work:
Pathfinder Thread
Forum link for SU 5e content work:
5e Steven Universe Thread
This link is for my group, but feel free to play it with:
DMM 5e | "https://www.dropbox.com/s/vsd9w1eodlnwjq0/updatesDMM.xml?dl=1" Copy this link to your update manager to get updates when available.
This adds the Pisky subrace to elves from Berserk! and additional subraces for the Gem Race.
Please post comments in the provided threads above.

Last edited by DeltaMasterMind; October 18th, 2018 at 07:44 AM.
DeltaMasterMind is offline   #1 Reply With Quote
Mergon
Senior Member
 
Join Date: Sep 2012
Location: Ottawa, Canada
Posts: 788

Old October 18th, 2018, 07:53 AM
rMultiatt is strictly for creatures, not for PC's.

Watch your back, Conserve your ammo,
and NEVER cut a deal with a dragon!
Mergon is offline   #2 Reply With Quote
DeltaMasterMind
Senior Member
 
Join Date: Jul 2014
Posts: 412

Old October 18th, 2018, 01:56 PM
Not sure why this should matter from a coding perspective
Quote:
Originally Posted by Mergon View Post
rMultiatt is strictly for creatures, not for PC's.
If say making a a Slaad monster and you want to simplify the coding to have it use subraces to list the variants Green Slaad, Blue Slaad, etc. then why go through the trouble of recreating each slaad as a new race. I realize that is the path that was taken due to the nature of the creatures not being PC's, still it shouldn't mean that I shouldn't be able to. I run monsters (creatures) as possible player characters and I want it to be easy for me to add a subrace with multiattack when the lore calls for it without going through a lot of hoops just to get independent loading support out of my files.

Forum link for my content work:
Pathfinder Thread
Forum link for SU 5e content work:
5e Steven Universe Thread
This link is for my group, but feel free to play it with:
DMM 5e | "https://www.dropbox.com/s/vsd9w1eodlnwjq0/updatesDMM.xml?dl=1" Copy this link to your update manager to get updates when available.
This adds the Pisky subrace to elves from Berserk! and additional subraces for the Gem Race.
Please post comments in the provided threads above.
DeltaMasterMind is offline   #3 Reply With Quote
Mergon
Senior Member
 
Join Date: Sep 2012
Location: Ottawa, Canada
Posts: 788

Old October 18th, 2018, 02:43 PM
If you are talking about using it for creature subraces, its simply a matter of adding the rMultiatt ability as a bootstrap, then configuing it. Just use a creature who has multiatt as an ability as an example.

Watch your back, Conserve your ammo,
and NEVER cut a deal with a dragon!
Mergon is offline   #4 Reply With Quote
DeltaMasterMind
Senior Member
 
Join Date: Jul 2014
Posts: 412

Old October 18th, 2018, 02:51 PM
The ability thingid is xMultiatt and I do have that bootstrapped. However the subrace will not let me add rMultiatt in the field values stating that this field is not within the compset. rMultiatt adds the text that xMultiatt grants to the hero. So I can only do this at the race level. Here is the problem I have a race on the official content file, I made a subrace that is a monster variant and has multiattack, unfortunately transferring this code that lacks field support and not using a base hero field to trigger boot strap conditions instead makes this quite tedious!

Forum link for my content work:
Pathfinder Thread
Forum link for SU 5e content work:
5e Steven Universe Thread
This link is for my group, but feel free to play it with:
DMM 5e | "https://www.dropbox.com/s/vsd9w1eodlnwjq0/updatesDMM.xml?dl=1" Copy this link to your update manager to get updates when available.
This adds the Pisky subrace to elves from Berserk! and additional subraces for the Gem Race.
Please post comments in the provided threads above.
DeltaMasterMind is offline   #5 Reply With Quote
Mergon
Senior Member
 
Join Date: Sep 2012
Location: Ottawa, Canada
Posts: 788

Old October 18th, 2018, 03:01 PM
I'd need to see the coding you are woring with to assign the values you are trying to work with. Hard to say where you might be going wrong otherwise.

Watch your back, Conserve your ammo,
and NEVER cut a deal with a dragon!
Mergon is offline   #6 Reply With Quote
DeltaMasterMind
Senior Member
 
Join Date: Jul 2014
Posts: 412

Old October 18th, 2018, 03:59 PM
So here is the code I am working on:
Quote:
<thing id="srSUCShatr" name="The Shattered" description="You are a monstrosity. Your form consist of multiple other Gem fragments. Your Gem was shattered like the rest of them, but you came out with enough structure to maintain your higher functions, but without the body structure needed to function, instead as you were grouped with other fragments you started to take form. You now control the defuncted shards as a part of you. Attempting to control all these fragments slows down your processing power and makes you bulky." compset="SubRace" uniqueness="unique">
<fieldval field="rSpeed" value="25"/>
<usesource source="SU_5eCS"/>
<tag group="ClVaryName" tag="AppParen" name="Append (in Parentheses)" abbrev="Append (in Parentheses)"/>
<tag group="Helper" tag="ManyLegs"/>
<tag group="SubRace" tag="rSUGem" name="Gem" abbrev="Gem"/>
<tag group="RaceType" tag="Normal" name="Normal (Player) Race" abbrev="Normal (Player) Race"/>
<tag group="Language" tag="lSUGem"/>
<tag group="RaceSize" tag="Large1"/>
<tag group="AlgnForbid" tag="Lawful"/>
<tag group="AlgnForbid" tag="Good"/>
<tag group="Helper" tag="NotHum"/>
<bootstrap thing="xSwim">
<autotag group="Value" tag="15"/>
</bootstrap>
<bootstrap thing="wFist">
<autotag group="AttackTarg" tag="1Target"/>
<assignval field="wDieCount" value="1"/>
<assignval field="wDieSize" value="4"/>
<assignval field="sbName" value="Fist x4"/>
<assignval field="livename" value="MultiAttack Fist x4"/>
</bootstrap>
<bootstrap thing="xMultiatt"></bootstrap>
<bootstrap thing="raSUCShatA"></bootstrap>
<bootstrap thing="wHeadButt">
<autotag group="AttackTarg" tag="1Target"/>
<assignval field="wDieCount" value="1"/>
<assignval field="wDieSize" value="12"/>
</bootstrap>
<bootstrap thing="spSUCShatR">
<autotag group="Helper" tag="RaceSpell"/>
<autotag group="Usage" tag="AtWill"/>
</bootstrap>
<bootstrap thing="tpMonstros"></bootstrap>
<bootstrap thing="raSUCMulAr"></bootstrap>
<bootstrap thing="sShattered"></bootstrap>
<eval phase="First">hero.child[rSUGem].field[rWeightMin].value -= 1</eval>
</thing>
<thing id="raSUCShatA" name="+6 to Str and Con, -6 to Dex,Int,Wis,Cha" description="Grants a +6 bonus to Strength and Constitution.\nBestows a -6 penalty to Dexterity, Intelligence, Wisdom, and Charisma." compset="RaceSpec">
<fieldval field="abValue" value="6"/>
<usesource source="DMM"/>
<tag group="ChooseSrc1" tag="Hero" name="All Picks on Hero" abbrev="All Picks on Hero"/>
<tag group="Custom" tag="AbilScore" name="AbilScore" abbrev="AbilScore"/>
<tag group="RaceSort" tag="Attribute" name="Attribute" abbrev="Attribute"/>
<eval phase="PreAttr" priority="5000"><![CDATA[
~if we've been replaced, get out now
doneif (tagis[Helper.SpcReplace] <> 0)

~ If we're disabled, do nothing
doneif (tagis[Helper.Disable] <> 0)

hero.child[aSTR].field[aStartMod].value += field[abValue].value
hero.child[aSTR].field[aMaxValue].value += field[abValue].value
hero.child[aCON].field[aStartMod].value += field[abValue].value
hero.child[aCON].field[aMaxValue].value += field[abValue].value
hero.child[aDEX].field[aStartMod].value -= field[abValue].value
hero.child[aDEX].field[aMaxValue].value -= field[abValue].value
hero.child[aINT].field[aStartMod].value -= field[abValue].value
hero.child[aINT].field[aMaxValue].value -= field[abValue].value
hero.child[aWIS].field[aStartMod].value -= field[abValue].value
hero.child[aWIS].field[aMaxValue].value -= field[abValue].value
hero.child[aCHA].field[aStartMod].value -= field[abValue].value
hero.child[aCHA].field[aMaxValue].value -= field[abValue].value]]></eval>
</thing>
<thing id="spSUCShatR" name="Energy Adaptation" description="As an bonus action, you give yourself {b}resistance{/b} to acid, cold, fire, or lightning (your choice), which the choice lasts until you are hit with a different type of energy damage, which from then on you have that energy resistance, until hit with another energy type." compset="Spell" summary="You gain resistance to energy of choice">
<fieldval field="sRange" value="Self"/>
<fieldval field="sDuration" value="1 round/lvl"/>
<usesource source="DMM"/>
<usesource source="SU_5eCS"/>
<tag group="sRange" tag="Personal" name="Personal" abbrev="Personal"/>
<tag group="sCastTime" tag="BonusAct1"/>
<tag group="sLevel" tag="1" name="1" abbrev="1"/>
</thing>
<thing id="raSUCMulAr" name="Multi-Armed" description="{b}Benefit{/b}: Members of this subrace possess four or more arms, but may only use 4 at a time. A member of this race can wield multiple weapons, but only one hand is its primary hand, and all others are off hands. It can also use its hands for other purposes that require free hands." compset="RaceSpec">
<usesource source="DMM"/>
<tag group="Helper" tag="SpecUp" name="SpecUp" abbrev="SpecUp"/>
<tag group="AbilType" tag="Extra" name="Extraordinary Ability" abbrev=" (Ex)"/>
<eval phase="PostLevel" priority="10000"><![CDATA[
~if we've been replaced, get out now
doneif (tagis[Helper.SpcDisable] <> 0)

herofield[tNumHands].value += 2]]></eval>
</thing>
Quote:
<thing id="rSUGem" name="Gem" description="&quot;SIMPLIFIED DOWN TO OUR BASIC FORM , GEMS ARE JUST GEMS. OUR BODIES ARE ACTUALLY GENERATED BY OUR GEMSTONE... WELL, PROJECTIONS. THINK OF IT LIKE A HOLOGRAM , BUT WITH MASS . ” -Pearl\n\nGems are a people of the stars, parasitizing entire worlds to propagate their species. Born into a strict-caste system that determines their job and worth from the moment of their birth, most gems have little autonomy to speak of. It takes an incredibly strong-willed gem to break the shackles of its birth , and most are more than happy to live by the purpose for which they are created." compset="Race" uniqueness="useronce">
<fieldval field="rCON" value="2"/>
<fieldval field="rHeightMin" value="48"/>
<fieldval field="rWeightMin" value="1"/>
<fieldval field="rMultiatt" value="The Shattered have parts that can attack independently. When using a full round attack action you attack with a headbutt including up to 4 &quot;fists&quot; (any appendage that isn&apos;t used for movement)."/>
<usesource source="SU_5eCS" parent="pfHBC" name="Steven Universe Campaign Setting"/>
<tag group="RaceType" tag="Normal"/>
<tag group="RaceSize" tag="Medium0"/>
<tag group="Alignment" tag="Lawful"/>
<tag group="Helper" tag="NoAdvLeag"/>
<bootstrap thing="lSUGem">
<autotag group="Promote" tag="Top"/>
</bootstrap>
<bootstrap thing="lCommon"></bootstrap>
<bootstrap thing="raSURebirt"></bootstrap>
<bootstrap thing="ttSUGem"></bootstrap>
<bootstrap thing="spSULightC">
<autotag group="Usage" tag="AtWill"/>
<autotag group="Helper" tag="RaceSpell"/>
</bootstrap>
<bootstrap thing="raSUInorgN"></bootstrap>
<bootstrap thing="xMultiatt"></bootstrap>
<bootstrap thing="tpConst"></bootstrap>
<bootstrap thing="tpHumanoid">
<containerreq phase="First" priority="500"><![CDATA[fieldval:rWeightMin >= 1]]></containerreq>
</bootstrap>
<eval phase="First" index="2"><![CDATA[~ doneif (tagis[thingid.sShattered] = 0)
if (hero.childlives[sShattered] = 0) then
hero.child[rSUGem].field[rMultiatt].text = ""
endif]]></eval>
<eval phase="PreLevel" priority="1000">~ doneif (tagis[thingid.srSUCShatr] = 0)
if (hero.childlives[sShattered] = 0) then
perform hero.child[xMultiatt].delete[FeatureTyp.Action]
perform hero.child[xMultiatt].delete[Helper.ShowSpec]
endif</eval>
</thing>
Each is in a different file with different sources, the issue is the order of loading with this structure. I have no real way to bypass the way this is handled. I still haven't tried the replace feature yet though. I will give it a try tomorrow.

At the end of the second box is me forcing multiattack off when The Shattered is not live. Sadly I had to add the shattered rMultiatt text into the race because the subrace doesn't allow this field. So I have to go (at least this is what I know) in an reversed order to get the results, but this requires me to modify the official source file to do so.

In the first box I am using the races minweight field to trigger a bootstrap condition to make Humanoid type tag go away. Since this variant is a monstrous form of the race. There is a lore reason why I am not doing the monster form as a template.

Forum link for my content work:
Pathfinder Thread
Forum link for SU 5e content work:
5e Steven Universe Thread
This link is for my group, but feel free to play it with:
DMM 5e | "https://www.dropbox.com/s/vsd9w1eodlnwjq0/updatesDMM.xml?dl=1" Copy this link to your update manager to get updates when available.
This adds the Pisky subrace to elves from Berserk! and additional subraces for the Gem Race.
Please post comments in the provided threads above.

Last edited by DeltaMasterMind; October 18th, 2018 at 04:06 PM.
DeltaMasterMind is offline   #7 Reply With Quote
dungeonguru
Senior Member
 
Join Date: May 2016
Posts: 608

Old October 19th, 2018, 03:45 AM
So, here's a method that may work for you.

Step 1. Open or create a Custom tags.1st file for yourself and add something like this between the <document> tags that are in those files (You can look at the Community .1st files and see where there is a tags file you can use to copy):

Code:
  <group id="A2ZMulti" name="Multiattack">
   <value id="yes"      name="yes"/>
   <value id="no"      name="no"/>
 </group>
The above creates a custom tag group with two members:
A2ZMulti.yes
A2ZMulti.no

Whenever you create a .1st file you need to completely exit HL and reload it before anything shows up.

Step 2. On your base race or a copy of your base race that will be used instead of it bootstrap the xMultiatt ability.
On the Conditions button for xMultiatt set the timing to First/150 and the tag expression to

A2ZMulti.yes

This means that xMultiatt will only bootstrap if you have the A2ZMulti.yes tag assigned.

In my test example I have made a copy of the Elf race and given it an id of rA2ZElf.

Step 3. On your subrace that will have multiattack put an Eval Script that runs before Step 2 (First/100). This can be your script:

Code:
hero.childfound[rA2ZElf].field[rMultiatt].text = "I get more attacks."
perform hero.assign[A2ZMulti.yes]
In my example I created a subrace of rA2ZElf, so I know that I'm looking for the rA2ZElf race as my base race. I add my multiattack text and then I assign the custom tag I created in step 1.

I use A2Z as an ID for my example, but you can substitute your personal ID in your files.

This means that you need to replace almost all the races with copies of your own. It's not really that hard to copy/paste the bootstrap line into your .user files if you're willing. The eval scripting, not so much. But from a GM perspective I would only create PC versions of monsters on demand, not everything at once.

Last edited by dungeonguru; October 19th, 2018 at 03:50 AM.
dungeonguru is offline   #8 Reply With Quote
DeltaMasterMind
Senior Member
 
Join Date: Jul 2014
Posts: 412

Old October 19th, 2018, 11:07 PM
xD I completely forgot about 1st files, been over a year since the last one I made. You are definitely right though that will work perfectly. Thank you Dungeonguru.

Forum link for my content work:
Pathfinder Thread
Forum link for SU 5e content work:
5e Steven Universe Thread
This link is for my group, but feel free to play it with:
DMM 5e | "https://www.dropbox.com/s/vsd9w1eodlnwjq0/updatesDMM.xml?dl=1" Copy this link to your update manager to get updates when available.
This adds the Pisky subrace to elves from Berserk! and additional subraces for the Gem Race.
Please post comments in the provided threads above.
DeltaMasterMind is offline   #9 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 11:56 AM.


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