Merge branch 'master' into 'master'

Added puzzle PS_WAR4 (Possibility Storm - War of the Spark 04)

Closes #1017

See merge request core-developers/forge!1725
This commit is contained in:
Michael Kamensky
2019-05-28 05:07:41 +00:00
2 changed files with 23 additions and 6 deletions

View File

@@ -75,7 +75,7 @@ public class DamageDealAi extends DamageAiBase {
// Set PayX here to maximum value.
dmg = ComputerUtilMana.determineLeftoverMana(sa, ai);
sa.setSVar("PayX", Integer.toString(dmg));
source.setSVar("PayX", Integer.toString(dmg));
} else if (sa.getSVar(damage).equals("Count$CardsInYourHand") && source.getZone().is(ZoneType.Hand)) {
dmg--; // the card will be spent casting the spell, so actual damage is 1 less
}
@@ -115,7 +115,7 @@ public class DamageDealAi extends DamageAiBase {
}
// Set PayX here to maximum value. It will be adjusted later depending on the target.
sa.setSVar("PayX", Integer.toString(dmg));
source.setSVar("PayX", Integer.toString(dmg));
} else if (sa.getSVar(damage).contains("InYourHand") && source.getZone().is(ZoneType.Hand)) {
dmg = CardFactoryUtil.xCount(source, sa.getSVar(damage)) - 1; // the card will be spent casting the spell, so actual damage is 1 less
} else if (sa.getSVar(damage).equals("TargetedPlayer$CardsInHand")) {
@@ -283,7 +283,7 @@ public class DamageDealAi extends DamageAiBase {
if (sourceName.equals("Crater's Claws") && ai.hasFerocious()) {
actualPay = actualPay > 2 ? actualPay - 2 : 0;
}
sa.setSVar("PayX", Integer.toString(actualPay));
source.setSVar("PayX", Integer.toString(actualPay));
}
}
@@ -941,7 +941,7 @@ public class DamageDealAi extends DamageAiBase {
if (damage.equals("X") && sa.getSVar(damage).equals("Count$xPaid")) {
// Set PayX here to maximum value.
dmg = ComputerUtilMana.determineLeftoverMana(sa, ai);
sa.setSVar("PayX", Integer.toString(dmg));
source.setSVar("PayX", Integer.toString(dmg));
}
final TargetRestrictions tgt = sa.getTargetRestrictions();
@@ -971,7 +971,7 @@ public class DamageDealAi extends DamageAiBase {
}
}
sa.setSVar("PayX", Integer.toString(actualPay));
source.setSVar("PayX", Integer.toString(actualPay));
}
}
@@ -1031,7 +1031,7 @@ public class DamageDealAi extends DamageAiBase {
saTgt.resetTargets();
saTgt.getTargets().add(tgtCreature != null && dmg < opponent.getLife() ? tgtCreature : opponent);
sa.setSVar("PayX", Integer.toString(dmg));
source.setSVar("PayX", Integer.toString(dmg));
return true;
}

View File

@@ -0,0 +1,17 @@
[metadata]
Name:Possibility Storm - War of the Spark #04
URL:http://www.possibilitystorm.com/wp-content/uploads/2019/05/114.-WAR4.jpg
Goal:Win
Turns:1
Difficulty:Mythic
Description:Win this turn. Assume your opponent has no cards in hand. Assume your library has 6 lands remaining, all of which are basics in your colors. All other cards in your library are irrelevant.
[state]
humanlife=20
ailife=19
turn=1
activeplayer=human
activephase=MAIN1
humanhand=Vivien Reid;Forest;Sylvan Awakening;Scapeshift;Kaya's Ghostform
humanlibrary=Swamp;Swamp;Mountain;Mountain;Forest;Forest;No Escape;No Escape;No Escape;No Escape
humanbattlefield=Evolution Sage;Angrath, the Flame-Chained|Counters:LOYALTY=4;Vraska, Relic Seeker|Counters:LOYALTY=1;Marwyn, the Nurturer|Counters:P1P1=1;Overgrown Tomb|NoETBTrigs;Overgrown Tomb|NoETBTrigs;Overgrown Tomb|NoETBTrigs;Stomping Ground|NoETBTrigs;Stomping Ground|NoETBTrigs
aibattlefield=World Shaper;Benalish Marshal;Pelt Collector;Siegehorn Ceratops