[LH 2.0, Bug] Assassin's Strike, Crushing Blow and Curse of Cyndrum

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>

 

6,206 views 0 replies