View Single Post
dungeonguru
Senior Member
 
Join Date: May 2016
Posts: 596

Old February 7th, 2020, 05:22 AM
OK, I actually have a quarterstaff/bow in my personal files. I've modified my code to be a greataxe (with reach)/greatsword combo. On the In-Play tab there's an activation checkbox. When it is checked, the sword stats apply. When it is not, the axe stats apply. The only thing that is bad is that you start with all 5 charges - you'll have to manually change that or play with it in your scripts.

You can also add a second script in final timing that changes the livename and sbName fields of the item itself to show like "Switch-axe (axe form)" or "Switch-axe (sword form)" if that would help. It'll look weird because I've removed the normal gizmo that comes with magic weapons and hard-coded the fields for a heavy, two-handed martial melee weapon directly into the base stats.

Here it is in the .user format (you can copy/paste the entire thing into your .user file) to play with.

<thing id="mwXXSwitchAxe" name="Switch-Axe" description="Add a description here." compset="MagicWep">
<fieldval field="trkMax" value="5"/>
<fieldval field="actName" value="Sword Form"/>
<fieldval field="wDieCount" value="1"/>
<fieldval field="wDieSize" value="12"/>
<tag group="ItemRarity" tag="Legendary"/>
<tag group="User" tag="Activation"/>
<tag group="Helper" tag="NeedAttune"/>
<tag group="User" tag="Tracker"/>
<tag group="Usage" tag="Charges"/>
<tag group="wProfReq" tag="Martial"/>
<tag group="wCategory" tag="Melee"/>
<tag group="wProperty" tag="Heavy"/>
<tag group="wProperty" tag="TwoHanded"/>
<tag group="DamageType" tag="dtSlashing"/>
<eval phase="PostAttr" priority="10000"><![CDATA[~ Get out if we're not equipped
doneif (field[gIsEquip].value = 0)
~ Get out if we're not attuned
doneif (field[gIsAttuned].value = 0)

if (field[abilActive].value <> 0) then
~ If sword form is activated change the damage to 2d6
~ remove the reach property
field[wDieCount].value = 2
field[wDieSize].value = 6
field[wAttackEff].text = "As a bonus action you can expend as many charges available to increased the damage by 1d8."
perform delete[wProperty.Reach]

else
~ We are in axe form, add the reach tag.
field[wDieCount].value = 1
field[wDieSize].value = 12
field[wAttackEff].text = "On a critical hit, gain 1 charge to use in sword form."
perform assign[wProperty.Reach]

endif]]></eval>
</thing>
dungeonguru is offline   #3 Reply With Quote