Right now Assassin's strike doesn't seem anywhere near as effective as it says it is. I suspect the spell was supposed to increase attack by stamina * 3 not by stamina * 1.
Assassin's Strike reads as:
<GameModifier>
<ModType>Unit</ModType>
<Attribute>DefendableDamage</Attribute>
<AttackStat>UnitStat_Attack_Pierce</AttackStat>
<IsForFormattedDescription>1</IsForFormattedDescription>
<Calculate InternalName="Calc" ValueOwner="CastingUnit">
<Expression><![CDATA[[UnitStat_CombinedAttack]]]></Expression>
</Calculate>
<Calculate InternalName="Calc2" ValueOwner="CastingUnit">
<Expression><![CDATA[[UnitStat_Stamina] * 3]]></Expression>
</Calculate>
<Calculate InternalName="Calc3" ValueOwner="CastingUnit">
<Expression><![CDATA[[Calc] + [Calc2]]]></Expression>
</Calculate>
<Calculate InternalName="Value">
<Expression><![CDATA[[Calc]]]></Expression>
</Calculate>
<Calculate InternalName="ValueForFormattedDescription">
<Expression><![CDATA[[Calc3]]]></Expression>
</Calculate>
</GameModifier>
<GameModifier>
<ModType>Unit</ModType>
<Attribute>AdjustUnitStat</Attribute>
<StrVal>UnitStat_Attack_Boost</StrVal>
<ApplyToCaster>1</ApplyToCaster>
<Duration>1</Duration>
<Calculate InternalName="Calc" ValueOwner="CastingUnit">
<Expression><![CDATA[[UnitStat_Stamina]]]></Expression>
</Calculate>
<Calculate InternalName="Value">
<Expression><![CDATA[[Calc]]]></Expression>
</Calculate>
</GameModifier>
<GameModifier>
<ModType>Unit</ModType>
<Attribute>AdjustUnitStat</Attribute>
<StrVal>UnitStat_Stamina</StrVal>
<ApplyToCaster>1</ApplyToCaster>
<Calculate InternalName="Calc" ValueOwner="CastingUnit">
<Expression><![CDATA[[UnitStat_Stamina] * -1]]></Expression>
</Calculate>
<Calculate InternalName="Value">
<Expression><![CDATA[[Calc]]]></Expression>
</Calculate>
</GameModifier>
It should read as
<GameModifier>
<ModType>Unit</ModType>
<Attribute>DefendableDamage</Attribute>
<AttackStat>UnitStat_Attack_Pierce</AttackStat>
<IsForFormattedDescription>1</IsForFormattedDescription>
<Calculate InternalName="Calc" ValueOwner="CastingUnit">
<Expression><![CDATA[[UnitStat_CombinedAttack]]]></Expression>
</Calculate>
<Calculate InternalName="Calc2" ValueOwner="CastingUnit">
<Expression><![CDATA[[UnitStat_Stamina] * 3]]></Expression>
</Calculate>
<Calculate InternalName="Calc3" ValueOwner="CastingUnit">
<Expression><![CDATA[[Calc] + [Calc2]]]></Expression>
</Calculate>
<Calculate InternalName="Value">
<Expression><![CDATA[[Calc]]]></Expression>
</Calculate>
<Calculate InternalName="ValueForFormattedDescription">
<Expression><![CDATA[[Calc3]]]></Expression>
</Calculate>
</GameModifier>
<GameModifier>
<ModType>Unit</ModType>
<Attribute>AdjustUnitStat</Attribute>
<StrVal>UnitStat_Attack_Boost</StrVal>
<ApplyToCaster>1</ApplyToCaster>
<Duration>1</Duration>
<Calculate InternalName="Calc" ValueOwner="CastingUnit">
<Expression><![CDATA[[UnitStat_Stamina] * 3]]></Expression>
</Calculate>
<Calculate InternalName="Value">
<Expression><![CDATA[[Calc]]]></Expression>
</Calculate>
</GameModifier>
<GameModifier>
<ModType>Unit</ModType>
<Attribute>AdjustUnitStat</Attribute>
<StrVal>UnitStat_Stamina</StrVal>
<ApplyToCaster>1</ApplyToCaster>
<Calculate InternalName="Calc" ValueOwner="CastingUnit">
<Expression><![CDATA[[UnitStat_Stamina] * -1]]></Expression>
</Calculate>
<Calculate InternalName="Value">
<Expression><![CDATA[[Calc]]]></Expression>
</Calculate>
</GameModifier>
Crushing Blow says it deals more damage than it does. This appears to be because it consumes stamina as a cost before reading the stamina. In other words, it should read like this:
<GameModifier>
<ModType>Unit</ModType>
<Attribute>DefendableDamage</Attribute>
<AttackStat>UnitStat_Attack_Pierce</AttackStat>
<IsForFormattedDescription>1</IsForFormattedDescription>
<Calculate InternalName="Calc" ValueOwner="CastingUnit">
<Expression><![CDATA[[UnitStat_CombinedAttack] + [UnitStat_Stamina]]]></Expression>
</Calculate>
<Calculate InternalName="Calc2" ValueOwner="CastingUnit">
<Expression><![CDATA[[Calc] * [UnitStat_BonusCrushingBlow]]]></Expression>
</Calculate>
<Calculate InternalName="Calc3" ValueOwner="CastingUnit">
<Expression><![CDATA[[Unit_GetTroopCount] * 3]]></Expression>
</Calculate>
<Calculate InternalName="Calc4" ValueOwner="CastingUnit">
<Expression><![CDATA[[Calc3] * [UnitStat_BonusCrushingBlow]]]></Expression>
</Calculate>
<Calculate InternalName="Calc5" ValueOwner="CastingUnit">
<Expression><![CDATA[[Calc2] - [Calc4]]]></Expression>
</Calculate>
<Calculate InternalName="Value">
<Expression><![CDATA[[Calc2]]]></Expression>
</Calculate>
<Calculate InternalName="ValueForFormattedDescription">
<Expression><![CDATA[[Calc5]]]></Expression>
</Calculate>
</GameModifier>
Or as this:
<GameModifier>
<ModType>Unit</ModType>
<Attribute>DefendableDamage</Attribute>
<AttackStat>UnitStat_Attack_Pierce</AttackStat>
<IsForFormattedDescription>1</IsForFormattedDescription>
<Calculate InternalName="Calc" ValueOwner="CastingUnit">
<Expression><![CDATA[[UnitStat_CombinedAttack] + [UnitStat_Stamina]]]></Expression>
</Calculate>
<Calculate InternalName="Calc2" ValueOwner="CastingUnit">
<Expression><![CDATA[[Unit_GetTroopCount] * 3]]></Expression>
</Calculate>
<Calculate InternalName="Calc3" ValueOwner="CastingUnit">
<Expression><![CDATA[[Calc] + [Calc2]]]></Expression>
</Calculate>
<Calculate InternalName="Calc4" ValueOwner="CastingUnit">
<Expression><![CDATA[[Calc3] * [UnitStat_BonusCrushingBlow]]]></Expression>
</Calculate>
<Calculate InternalName="Calc5" ValueOwner="CastingUnit">
<Expression><![CDATA[[UnitStat_BonusCrushingBlow] * [Unit_GetTroopCount]]]></Expression>
</Calculate>
<Calculate InternalName="Calc6" ValueOwner="CastingUnit">
<Expression><![CDATA[[Calc5] * 3]]></Expression>
</Calculate>
<Calculate InternalName="Calc7" ValueOwner="CastingUnit">
<Expression><![CDATA[[Calc4] - [Calc6]]]></Expression>
</Calculate>
<Calculate InternalName="Value">
<Expression><![CDATA[[Calc4]]]></Expression>
</Calculate>
<Calculate InternalName="ValueForFormattedDescription">
<Expression><![CDATA[[Calc7]]]></Expression>
</Calculate>
</GameModifier>
Curse of Cyndrum currently attacks the enemy using the user's attack power. IE, it does damage even if the user is at full life.
It reads:
<GameModifier>
<ModType>Unit</ModType>
<Attribute>DefendableDamage</Attribute>
<AttackStat>UnitStat_Attack_Poison</AttackStat>
<Calculate InternalName="Calc" ValueOwner="CastingUnit">
<Expression><![CDATA[[Unit_GetCurrentDamage]]]></Expression>
</Calculate>
<Calculate InternalName="Value">
<Expression><![CDATA[[Calc]]]></Expression>
</Calculate>
</GameModifier>
<GameModifier>
<ModType>Unit</ModType>
<Attribute>CurHealth</Attribute>
<ApplyToCaster>1</ApplyToCaster>
<Calculate InternalName="Calc" ValueOwner="CastingUnit">
<Expression><![CDATA[[Unit_GetCurrentDamage]]]></Expression>
</Calculate>
<Calculate InternalName="Value">
<Expression><![CDATA[[Calc]]]></Expression>
</Calculate>
</GameModifier>
It works as described if extra modifiers are added, removing the user's attack when the ability is executed AKA:
<GameModifier>
<ModType>Unit</ModType>
<Attribute>SetUnitStat</Attribute>
<ApplyToCaster>1</ApplyToCaster>
<StrVal>UnitStat_Attack_Pierce</StrVal>
<Duration>1</Duration>
<Value>0</Value>
</GameModifier>
<GameModifier>
<ModType>Unit</ModType>
<Attribute>SetUnitStat</Attribute>
<ApplyToCaster>1</ApplyToCaster>
<StrVal>UnitStat_Attack_Boost</StrVal>
<Duration>1</Duration>
<Value>0</Value>
</GameModifier>
<GameModifier>
<ModType>Unit</ModType>
<Attribute>SetUnitStat</Attribute>
<ApplyToCaster>1</ApplyToCaster>
<StrVal>UnitStat_Attack_Cold</StrVal>
<Duration>1</Duration>
<Value>0</Value>
</GameModifier>
<GameModifier>
<ModType>Unit</ModType>
<Attribute>SetUnitStat</Attribute>
<ApplyToCaster>1</ApplyToCaster>
<StrVal>UnitStat_Attack_Fire</StrVal>
<Duration>1</Duration>
<Value>0</Value>
</GameModifier>
<GameModifier>
<ModType>Unit</ModType>
<Attribute>SetUnitStat</Attribute>
<ApplyToCaster>1</ApplyToCaster>
<StrVal>UnitStat_Attack_Lightning</StrVal>
<Duration>1</Duration>
<Value>0</Value>
</GameModifier>
<GameModifier>
<ModType>Unit</ModType>
<Attribute>SetUnitStat</Attribute>
<ApplyToCaster>1</ApplyToCaster>
<StrVal>UnitStat_Attack_Poison</StrVal>
<Duration>1</Duration>
<Calculate InternalName="Calc" ValueOwner="CastingUnit">
<Expression><![CDATA[[Unit_GetCurrentDamage]]]></Expression>
</Calculate>
<Calculate InternalName="Value">
<Expression><![CDATA[[Calc]]]></Expression>
</Calculate>
</GameModifier>
<GameModifier>
<ModType>Unit</ModType>
<Attribute>DefendableDamage</Attribute>
<AttackStat>UnitStat_Attack_Poison</AttackStat>
<Calculate InternalName="Calc" ValueOwner="CastingUnit">
<Expression><![CDATA[[UnitStat_Attack_Poison]]]></Expression>
</Calculate>
<Calculate InternalName="Value">
<Expression><![CDATA[[Calc]]]></Expression>
</Calculate>
</GameModifier>
<GameModifier>
<ModType>Unit</ModType>
<Attribute>CurHealth</Attribute>
<ApplyToCaster>1</ApplyToCaster>
<Calculate InternalName="Calc" ValueOwner="CastingUnit">
<Expression><![CDATA[[Unit_GetCurrentDamage]]]></Expression>
</Calculate>
<Calculate InternalName="Value">
<Expression><![CDATA[[Calc]]]></Expression>
</Calculate>
</GameModifier>