Hi all,
OK i'm stumped again 
I want to have a spell effect that will be autocast on tactical battles, that kills the caster unless they have a particular unitstat. Here's the game modifier I am using from the spell effect:
<GameModifier>
<ModType>Unit</ModType>
<Attribute>CurHealth</Attribute>
<Calculate InternalName="Calc" ValueOwner="CastingUnit">
<Expression><![CDATA[[Unit_GetHPCurrent] * 1]]></Expression>
</Calculate>
<Calculate InternalName="Calc2" ValueOwner="CastingUnit">
<Expression><![CDATA[[UnitStat_JB_CanRideDemonSteed] * [Calc]]]></Expression>
</Calculate>
<Calculate InternalName="Calc3" ValueOwner="CastingUnit">
<Expression><![CDATA[[Calc] - [Calc2]]]></Expression>
</Calculate>
<Calculate InternalName="Value">
<Expression><![CDATA[[Calc3] * -1]]></Expression>
</Calculate>
</GameModifier>
Now it *almost* works. After lots of testing (using my 17HP test Sov who has the appropriate unitstat to survive), I have established that:
1) Calc = 17
2) UnitStat_JB_CanRideDemonSteed = 1
3) Calc2 = 17
But for some reason, the Value comes out as -17 (and the poor fella gets killed).
It should be zero... Calc3 should be 17 - 17 = 0 right? So I think the culprit is Calc3 which seems to be equating to 0 for some reason. I'm new to this spell calculation stuff and it seems there are a few gotchas.
Hoping mqpiffle, HF or something else with knowledge of this area might eb able to help me out (again) 
Thanks.