• Please note: In an effort to ensure that all of our users feel welcome on our forums, we’ve updated our forum rules. You can review the updated rules here: http://forums.wolflair.com/showthread.php?t=5528.

    If a fellow Community member is not following the forum rules, please report the post by clicking the Report button (the red yield sign on the left) located on every post. This will notify the moderators directly. If you have any questions about these new rules, please contact support@wolflair.com.

    - The Lone Wolf Development Team

Converting Eberron

Also, another thought is that you've started off working in Hero Lab with one of the harder projects you could have picked. If you have any other Eberron projects you want to work on, you might want to start with simpler parts of your project. Feats are where I'd start - most of them have simpler effects.
 
Last edited:
Ah, thank you for the tip to look at the Sawtooth Sabre!!

Can someone explain to me why my weapon's BonEnhance, wAttack, and wBonus values are in the container of the pick, and not the pick itself? What is the pick's context when the item has been added through the Custom/Magic Weapon UI?

I also learned that the BonEnhance field isn't set until the Post-Levels phase, and the wAttack and wBonus fields aren't set until Lone Wolf's Final phase has completed (or at least it's after priority 1000) -- I wasn't able to see those fields set until the Validation phase.

Thanks again!

If anyone cares, below is the working thing definition. I think I still need to figure out how to capture "special" magic properties of the container pick and apply them to the slam, but that's probably a task for another day -- or later today.
Code:
  <thing id="wBtlFist" name="Battlefist" description="This weapon resembles a massively oversized spiked gauntlet; one designed for a Medium warforged looks like a gauntlet designed for an ogre. It attaches to the arm of a warforged, completely covering the hand. This component only operates when attached and locked in place.\n\nA battlefist increases the damage dealt by the character’s natural slam attack to 1d8 points of bludgeoning and piercing damage (assuming a Medium character). \n\nA warforged monk who uses a battlefist deals increased unarmed damage as though the character were one size larger than actual, and he can add the battlefist’s enhancement bonus to his unarmed attack and damage rolls." compset="Weapon" uniqueness="unique" holdable="no">
    <fieldval field="gSizeCost" value="300"/>
    <fieldval field="gWeight" value="6"/>
    <tag group="EquipType" tag="Metal"/>
    <tag group="wMain" tag="1d3_3"/>
    <tag group="wProfReq" tag="Simple"/>
    <tag group="wCritMin" tag="20"/>
    <tag group="wCritMult" tag="2"/>
    <tag group="wClass" tag="Light"/>
    <tag group="wFtrGroup" tag="Natural"/>
    <tag group="wCategory" tag="Unarmed"/>
    <tag group="wType" tag="B"/>
    <tag group="wType" tag="P"/>
    <tag group="Helper" tag="GearNoSize"/>
    <tag group="Helper" tag="NoPathSoc"/>
    <tag group="Helper" tag="NoSelect"/>
    <tag group="Helper" tag="MagicOnly"/>
    <eval phase="Final" priority="1000" index="2">var enhBonus as number
if (container.ishero = 0) then  
  enhBonus = container.parent.field[BonEnhance].value
  #applybonus[BonEnhance, hero.child[wSlam], enhBonus]
endif</eval>
    <eval phase="UserPreLv" priority="10000">perform hero.child[wSlam].assign[Helper.DamageUp]
perform hero.child[wSlam].assign[Helper.DamageUp]</eval>
    <evalrule phase="UserPostLv" message="This weapon has to have at least a +1 Enhancement Bonus"><![CDATA[@valid = 0
if (container.ishero = 0) then
  if (container.parent.field[BonEnhance].value > 0) then
    @valid = 1
  endif
endif]]></evalrule>
    <exprreq message=""><![CDATA[#hasrace[rWarforged] <> 0]]></exprreq>
    </thing>
 
Last edited:
Because it's the Custom/Magic Weapon that is the magic weapon - not the weapon within it. All that's there for is so that the Custom/Magic Weapon can look up its values, so it knows what weapon it's pretending to be this time.

Try Final/10000 or Final/100000 instead of going to the Validation phase - Validation is supposed to be for validating the results - nothing's supposed to change during that period.
 
Because it's the Custom/Magic Weapon that is the magic weapon - not the weapon within it. All that's there for is so that the Custom/Magic Weapon can look up its values, so it knows what weapon it's pretending to be this time.

Try Final/10000 or Final/100000 instead of going to the Validation phase - Validation is supposed to be for validating the results - nothing's supposed to change during that period.
Ah, that makes -- thanks for all your help. You're a rockstar! :)
 
Okay, so implementing the Wand Sheath and I have it mostly working, but have a few questions:

1) I have the name of the Wand in the gearlist -- is there a way I can find the sCustomWand pick that matches it? I see there's a container.firstchild which takes a sort expression -- is this how I'd do it? If so, where might I find an example of a sort expression? If not, how would I go about finding the matching pick? Once I have this, I can use it to remove it from the Tracked Resources and track them on the Wand Sheath instead.

2) Is it possible to remove a pick from this pick's gearlist if it either isn't appropriate (e.g. not a wand) or if it's out of charges?

Here's the Eval Script I have at this point:
Code:
if (this.field[gHeldCount].value = 1) then
  var wandName as string
  wandName = this.gearlist[";",Helper.WandLevReq]
  if (empty(wandName) = 0) then
    this.field[livename].text = "Wand Sheath (" & wandName & ")"
    perform this.assign[User.Tracker]
  endif
endif
 
Last edited:
I apologize, but I don't understand what you're trying to accomplish with this.

Hero Lab already displays the names of the held gear for a holder when you mouse over the bag icon, and includes them in the printout. What else are you trying to add?
 
Hero Lab already displays the names of the held gear for a holder when you mouse over the bag icon, and includes them in the printout.
I typically reference my Character sheet using the Hero Lab application through SplashTop on an iPad. Switching tabs and mousing over things is time consuming and difficult. I want to navigate as few tabs as possible (In-Play, Adjust, Spells, and Condition), with as little mousing over as possible. I don't really like the format of Hero Lab's printouts -- when I want a printed sheet, I transcribe the data to an editable PDF. That hasn't happened in months, since I figured out how to use Hero Lab on my iPad directly.
What else are you trying to add?
I want to add two things:

1) There are specific rules regarding what can be placed in a wand sheath, when, and how its activated (shown below). I want to know which wand is in the sheath from the In-Play tab, and track its charges from there. I see two ways to do this: a) modify the livename of sCustomWand pick for the wand in question to indicate it's in the Wand Sheath, or b) add a Tracker to the Wand Sheath and remove the sCustomWand's tracker. Either way, I need to get a handle to the sCustomWand pick that I've added to the gearlist.

2) Rules enforcement. Right now, the Eval Rule script merely flags an item as containing errors. I want to script corrective action. To do this, I need to manipulate the gearlist through the script.

This narrow sheath is embedded in the forearm and hand of a warforged character, occupying space on the body as if it were a bracer. Once it is in place, the warforged can insert a normal magic wand into the sheath, whereupon it merges with the character’s body. The sheath can hold a single wand. Once a wand is inserted, it cannot be removed until all its charges are used up, at which point the wand drops out of the sheath and a new one can be inserted.

A character can activate a sheathed wand (assuming the character could activate the wand normally) without having to retrieve it, simply by pointing a finger and thinking about activating it. Thus, the character can activate it in an area of silence or while grappling without difficulty.
 
Last edited:
Yes, but it can be removed if the user makes a mistake and puts the wrong wand into it, and wants to fix that. It can also be removed with GM's Fiat.

Frankly, I'd call all of those extra rules more work then they're worth to implement, and just trust the user to follow the rules of the item. Just let them track the charges on the wand itself, instead of the sheath.
 
Yes, but it can be removed if the user makes a mistake and puts the wrong wand into it, and wants to fix that. It can also be removed with GM's Fiat.

Frankly, I'd call all of those extra rules more work then they're worth to implement, and just trust the user to follow the rules of the item. Just let them track the charges on the wand itself, instead of the sheath.
Point taken -- I had not considered users making mistakes when adding a wand to the sheath.

I'd still like to edit the livename of the wand in the Sheath to indicate it's in the Sheath so I can see it in the In-Play tab. Is this possible?
 
It looks like you can use the gearholder transition to go from the wand to the sheath, but there's no option to travel the other direction. Sorry.
 
It looks like you can use the gearholder transition to go from the wand to the sheath, but there's no option to travel the other direction. Sorry.
Oooh, so I could iterate all of the wands on the hero and find any in a Sheath and then modify the livename of that pick, yes?

This seems to work and accomplish what I wanted:
Code:
if (this.field[gHeldCount].value = 1) then
  var wandName as string
  wandName = this.gearlist[";",Helper.WandLevReq]
  if (empty(wandName) = 0) then
    this.field[livename].text = "Wand Sheath (" & wandName & ")"
    foreach pick in hero where "Helper.WandLevReq"
      if (eachpick.isgearheld <> 0) then
        if (eachpick.field[livename].text = wandName) then
          eachpick.field[livename].text &= " (Wand Sheath)"
        endif
      endif
    nexteach
  endif
endif
 
Last edited:
Back
Top