Ok more work, mostly working finally.
Code:
<thing id="pFixWELU" name="Fix Wild Empath to live update" description="Fixup
Wild Empath to display a special." compset="InPlay" summary="Update Wild Empathy
for Druidic Avenger">
<tag group="Helper" tag="NoIncr" name="NoIncr" abbrev="NoIncr"/>
<eval phase="Render" priority="1"><![CDATA[~ If we're not enabled, get out n
ow
doneif (field[pIsOn].value = 0)
var debugme as number
debugme = 1
var levs as number
if (debugme <> 0) then
debug "Enabled debug on Fix Wild Empathy"
endif
~ Calculate Wild Empathy 1d20 + Druid Level + CHA mod
if (hero.childfound[cDrdWildE].field[xTotalLev].value <> 0) then
levs = hero.childfound[cDrdWildE].field[xExtraLev].value + hero.childfound[
cDrdWildE].field[xTotalLev].value + hero.childfound[aCHA].field[aBonus].value
if (debugme <> 0) then
debug "Wild Empathy found levs=" & levs
endif
if (hero.tagis[ClassVary.varDruAven] <> 0) then
levs -= 4
if (debugme <> 0) then
debug "Druid Avenger found levs=" & levs
endif
endif
if (hero.childfound[ioSkinKale].field[gIsEquip].value <> 0) then
levs -= 6
if (debugme <> 0) then
debug "Druid Avenger found levs=" & levs
endif
endif
var pm as string
if (levs >= 0) then
pm = " +"
else
pm = " "
endif
hero.childfound[cDrdWildE].field[livename].text = hero.childfound[cDrdWildE
].field[thingname].text & " 1d20" & pm & levs
if (debugme <> 0) then
debug "livename changed for Wild Empathy"
endif
endif]]></eval>
</thing>
I'm not sure how to modify Wild Empathy to apply an item's -6 penalty. When I put negative levels in xExtraLevs (to offset it) HL stops displaying Wild Empathy. Any fix for that? Otherwise I detected if the item is being worn, and if so apply in my fix the -6 penalty.