diff --git a/src/main/java/forge/card/spellability/SpellAbility_Condition.java b/src/main/java/forge/card/spellability/SpellAbility_Condition.java index e569c3838d8..22d3fc537ea 100644 --- a/src/main/java/forge/card/spellability/SpellAbility_Condition.java +++ b/src/main/java/forge/card/spellability/SpellAbility_Condition.java @@ -98,6 +98,15 @@ public class SpellAbility_Condition extends SpellAbility_Variables { if(params.containsKey("ConditionManaSpent")) { setManaSpent(params.get("ConditionManaSpent")); } + + if (params.containsKey("CheckSVar")) { + setSvarToCheck(params.get("CheckSVar")); + } + if (params.containsKey("SVarCompare")) { + setSvarOperator(params.get("SVarCompare").substring(0, 2)); + setSvarOperand(params.get("SVarCompare").substring(2)); + } + }//setConditions /** @@ -210,6 +219,15 @@ public class SpellAbility_Condition extends SpellAbility_Variables { return false; } } + + if (svarToCheck != null) { + int svarValue = AbilityFactory.calculateAmount(sa.getSourceCard(), svarToCheck, sa); + int operandValue = AbilityFactory.calculateAmount(sa.getSourceCard(), svarOperand, sa); + + if (!AllZoneUtil.compare(svarValue, svarOperator, operandValue)) + return false; + + } return true; }