I'm working on a new construct modification, for a custom, sentient construct race in a home game, to add extra legs. *note: The price and crafting reqs here are place holders for now, those details are not yet worked out.
The custom race is your standard "humanoid" shape, and the limbs are coded up as alternate race traits, the same as the other construct modifications. The intent is that a character could get these installed later in game either by having Craft Construct and meeting the other reqs and doing it themselves, or having someone else do the upgrade.
I've gotten 95% of my end-goal completed. Limit 2, doesn't allow "Increase Movement Speed" modification using an EXPREQ to prohibit the combination (flavor text will justify this somehow when it's updated), but each leg increases speed by 5 feet. However, adding two legs does not increase the carry capacity for being a quadruped. I've tried a few script combinations, and my latest doesn't generate any errors, but still does not apply the effects.
I'm using a total of 3 scripts:
As I mentioned above, the flavor text is subject to change. I used the Vestigial Arms discovery as a baseline so a lot of the text comes from there for now. The focus at the moment is the mechanics, not the fluff, as my DM and I are still working on those details. I also referenced the extra legs Eidolon evolution for inspiration. The speed increase works, the increased CMD for Trip/Overrun works, so it's recognizing the fact that there are more than 2 legs. But hitting the 4th leg is not increasing carrying capacity.
Any help/guidance is appreciated.
The custom race is your standard "humanoid" shape, and the limbs are coded up as alternate race traits, the same as the other construct modifications. The intent is that a character could get these installed later in game either by having Craft Construct and meeting the other reqs and doing it themselves, or having someone else do the upgrade.
I've gotten 95% of my end-goal completed. Limit 2, doesn't allow "Increase Movement Speed" modification using an EXPREQ to prohibit the combination (flavor text will justify this somehow when it's updated), but each leg increases speed by 5 feet. However, adding two legs does not increase the carry capacity for being a quadruped. I've tried a few script combinations, and my latest doesn't generate any errors, but still does not apply the effects.
I'm using a total of 3 scripts:
Code:
<thing id="raConsXtraLimbLeg" name="Extra Limb (Leg)" description="The construct gains a new leg (left or right) on his torso. The leg is fully under his control and cannot be concealed except with magic or bulky clothing. The leg adds 5 feet to the constructs speed, and increases it's CMD against trip attacks by +1. Further, if the construct has two extra legs, it's carrying capacity increases due to being a quadruped. The leg has its own "foot" magic item slot (though the construct can still only wear two foot magic items at a time). A construct may only have two extra legs added to it's body.\n\n{b}Modification Requirements{/b} Craft Construct; {b}Cost{/b} 1,200 gp" compset="AltRaceTrt" maxlimit="2">
<tag group="AllowRCust" tag="tpConst" name="Construct" abbrev="Construct"/>
<eval phase="PostLevel" priority="10000">~ only run the rest for the first copy
doneif (tagis[Helper.FirstCopy] = 0)
hero.child[Speed].field[tSpeed].value += field[abValue].value</eval>
<eval phase="PostLevel" priority="11000" index="2"><![CDATA[
~ If we're disabled, do nothing
doneif (tagis[Helper.SpcDisable] <> 0)
herofield[tNumLegs].value += 1
if (herofield[tNumLegs].value > 3) then
perform hero.findchild[BaseRace].setfocus
perform focus.assign[Helper.Quadruped]
perform focus.assign[Helper.Undersized]
endif]]></eval>
<eval phase="PostLevel" priority="11000" index="3">~ This procedure declares one copy the first (assigning Helper.FirstCopy)
~ and sets the quickadd to the same copy. All others redirect to this first
~ copy and add some value to it (defined by the incrval variable). The
~ final combined value will be in the abValue field of the first copy (if
~ setval1 = 1) or in the trkMax field of the same (if setval1 = 0).
var incrval as number
var setval1 as number
incrval = 5
setval1 = 1
perform delete[Helper.FirstCopy]
call combocopy
field[abValue2].value = hero.child[Speed].field[tSpeed].value</eval>
<exprreq message="Cannot combine with Increased Movement Speed"><![CDATA[#hasability[raConMoveIncSpd] < 1]]></exprreq>
</thing>
As I mentioned above, the flavor text is subject to change. I used the Vestigial Arms discovery as a baseline so a lot of the text comes from there for now. The focus at the moment is the mechanics, not the fluff, as my DM and I are still working on those details. I also referenced the extra legs Eidolon evolution for inspiration. The speed increase works, the increased CMD for Trip/Overrun works, so it's recognizing the fact that there are more than 2 legs. But hitting the 4th leg is not increasing carrying capacity.
Any help/guidance is appreciated.