File: redsteel.user (line 17 – Thing 'redstl_1' (dynamic tag) – Invalid unique id
<tag group="Helper" tag="Matredstl_1" name="Matredstl_1" abbrev="Matredstl_1"/>
=============================
Here is the full file
=============
<?xml version="1.0" encoding="ISO-8859-1"?>
<document signature="Hero Lab Data">
<thing id="redstl_1" name="Redsteel" description="Metal equipment only.\nAlways Masterwork.\n\nRed Iron: Very rarely found in veins of normal iron ore this metal has an inherent magical effect. This metal enhances all enchantments that are added and more than one ability may be added to this metal. When it is refined into red steel and made into a weapon it is virtually guaranteed to be enchanted to a base +1 due to its inherent nature. Armor gains a reduction to the armor check penality by 1 point. All items made from this metal are stronger and last much longer." compset="Material">
<fieldval field="mtCWAmmo" value="180"/>
<fieldval field="mtCALight" value="6000"/>
<fieldval field="mtCAMedium" value="12000"/>
<fieldval field="mtCAHeavy" value="18000"/>
<fieldval field="mtCAShield" value="1800"/>
<fieldval field="mtCost" value="4000"/>
<fieldval field="mtDesc" value="All items appear as red veined damascus steel"/>
<fieldval field="mtCAArLeMe" value="3000"/>
<fieldval field="mtCAArLeHv" value="3000"/>
<fieldval field="mtCATorMe" value="6000"/>
<fieldval field="mtCATorHv" value="12000"/>
<tag group="Helper" tag="MatForceMs" name="MatForceMs" abbrev="MatForceMs"/>
<tag group="Helper" tag="MatRqMetal" name="Requires Metal" abbrev="Requires Metal"/>
<tag group="Helper" tag="Matredstl_1" name="Matredstl_1" abbrev="Matredstl_1"/>
<tag group="Helper" tag="MatWepOK" abbrev="MatWepOK"/>
<tag group="Helper" tag="MatArmOK" abbrev="MatArmOK"/>
<tag group="Helper" tag="MatShldOK" abbrev="MatShldOK"/>
<tag group="Helper" tag="MastCstInc" name="MastCstInc" abbrev="MastCstInc"/>
<eval phase="First"><![CDATA[
~ Set our custom description
if (container.tagis[IsWeapon.?] <> 0) then
field[mtDesc].text = "Ignore hardness less than 12."
endif]]></eval>
<eval phase="PreLevel" priority="2500" index="2"><![CDATA[
~ If we are using the piecemeal armor rules only reduce our stats if we
~ are a full suit of armor, since all pieces must be of the same material
~ to grant the bonus.
~ We have to wait until now to reduce penalties because our armor check
~ penalty won't have been set until now.
var reduceus as number
if (hero.tagis[source.UCPieceArm] <> 0) then
doneif (container.parent.tagis[ArmorPiece.Piece?] <> 0)
if (container.parent.tagis[component.BaseArmor] <> 0) then
reduceus = 1
endif
else
if (container.parent.tagis[component.BaseArmor] <> 0) then
reduceus = 1
endif
endif
doneif (reduceus = 0)
container.parent.field[arArcFail].value -= 5
container.parent.field[arMaxDex].value += 1
~ Only modify the armor check penalty by 2, because we force masterwork,
~ and that's adding another +1
container.parent.field[arArmorChk].value += 2]]></eval>
<eval phase="PostLevel" priority="4500" index="3"><![CDATA[
~ If we are using the piecemeal armor rules, check that all armor pieces
~ are redsteel and reduce penalties, then apply a tag so that the process
~ is not repeated. We do this here because users need to be able to
~ modify the bonuses rather than having it hard-coded.
doneif (hero.tagis[source.UCPieceArm] = 0)
~ Do we have at least 1 piece of redsteel armor equipped?
doneif (hero.child[PieceArmor].tagcount[Helper.MatRedsteel] = 0)
~ Are all our equipped pieces Redsteel?
doneif (hero.child[PieceArmor].tagcount[ArmorPiece.Piece?] <> hero.child[PieceArmor].tagcount[Helper.MatRedsteel])
~ Have we already done this once?
doneif (hero.child[PieceArmor].tagis[Helper.MatOnce] <> 0)
hero.child[PieceArmor].field[pcMaxDex].value += 1
hero.child[PieceArmor].field[pcArmorChk].value += 1
hero.child[PieceArmor].field[pcSplFail].value -= 5
~ Assign a tag so we only do this once.
perform hero.child[PieceArmor].assign[Helper.MatOnce]]]></eval>
</thing>
</document>
==============
=============================
<tag group="Helper" tag="Matredstl_1" name="Matredstl_1" abbrev="Matredstl_1"/>
=============================
Here is the full file
=============
<?xml version="1.0" encoding="ISO-8859-1"?>
<document signature="Hero Lab Data">
<thing id="redstl_1" name="Redsteel" description="Metal equipment only.\nAlways Masterwork.\n\nRed Iron: Very rarely found in veins of normal iron ore this metal has an inherent magical effect. This metal enhances all enchantments that are added and more than one ability may be added to this metal. When it is refined into red steel and made into a weapon it is virtually guaranteed to be enchanted to a base +1 due to its inherent nature. Armor gains a reduction to the armor check penality by 1 point. All items made from this metal are stronger and last much longer." compset="Material">
<fieldval field="mtCWAmmo" value="180"/>
<fieldval field="mtCALight" value="6000"/>
<fieldval field="mtCAMedium" value="12000"/>
<fieldval field="mtCAHeavy" value="18000"/>
<fieldval field="mtCAShield" value="1800"/>
<fieldval field="mtCost" value="4000"/>
<fieldval field="mtDesc" value="All items appear as red veined damascus steel"/>
<fieldval field="mtCAArLeMe" value="3000"/>
<fieldval field="mtCAArLeHv" value="3000"/>
<fieldval field="mtCATorMe" value="6000"/>
<fieldval field="mtCATorHv" value="12000"/>
<tag group="Helper" tag="MatForceMs" name="MatForceMs" abbrev="MatForceMs"/>
<tag group="Helper" tag="MatRqMetal" name="Requires Metal" abbrev="Requires Metal"/>
<tag group="Helper" tag="Matredstl_1" name="Matredstl_1" abbrev="Matredstl_1"/>
<tag group="Helper" tag="MatWepOK" abbrev="MatWepOK"/>
<tag group="Helper" tag="MatArmOK" abbrev="MatArmOK"/>
<tag group="Helper" tag="MatShldOK" abbrev="MatShldOK"/>
<tag group="Helper" tag="MastCstInc" name="MastCstInc" abbrev="MastCstInc"/>
<eval phase="First"><![CDATA[
~ Set our custom description
if (container.tagis[IsWeapon.?] <> 0) then
field[mtDesc].text = "Ignore hardness less than 12."
endif]]></eval>
<eval phase="PreLevel" priority="2500" index="2"><![CDATA[
~ If we are using the piecemeal armor rules only reduce our stats if we
~ are a full suit of armor, since all pieces must be of the same material
~ to grant the bonus.
~ We have to wait until now to reduce penalties because our armor check
~ penalty won't have been set until now.
var reduceus as number
if (hero.tagis[source.UCPieceArm] <> 0) then
doneif (container.parent.tagis[ArmorPiece.Piece?] <> 0)
if (container.parent.tagis[component.BaseArmor] <> 0) then
reduceus = 1
endif
else
if (container.parent.tagis[component.BaseArmor] <> 0) then
reduceus = 1
endif
endif
doneif (reduceus = 0)
container.parent.field[arArcFail].value -= 5
container.parent.field[arMaxDex].value += 1
~ Only modify the armor check penalty by 2, because we force masterwork,
~ and that's adding another +1
container.parent.field[arArmorChk].value += 2]]></eval>
<eval phase="PostLevel" priority="4500" index="3"><![CDATA[
~ If we are using the piecemeal armor rules, check that all armor pieces
~ are redsteel and reduce penalties, then apply a tag so that the process
~ is not repeated. We do this here because users need to be able to
~ modify the bonuses rather than having it hard-coded.
doneif (hero.tagis[source.UCPieceArm] = 0)
~ Do we have at least 1 piece of redsteel armor equipped?
doneif (hero.child[PieceArmor].tagcount[Helper.MatRedsteel] = 0)
~ Are all our equipped pieces Redsteel?
doneif (hero.child[PieceArmor].tagcount[ArmorPiece.Piece?] <> hero.child[PieceArmor].tagcount[Helper.MatRedsteel])
~ Have we already done this once?
doneif (hero.child[PieceArmor].tagis[Helper.MatOnce] <> 0)
hero.child[PieceArmor].field[pcMaxDex].value += 1
hero.child[PieceArmor].field[pcArmorChk].value += 1
hero.child[PieceArmor].field[pcSplFail].value -= 5
~ Assign a tag so we only do this once.
perform hero.child[PieceArmor].assign[Helper.MatOnce]]]></eval>
</thing>
</document>
==============
=============================