mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 11:48:02 +00:00
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:
@@ -75,7 +75,7 @@ public class DamageDealAi extends DamageAiBase {
|
|||||||
|
|
||||||
// Set PayX here to maximum value.
|
// Set PayX here to maximum value.
|
||||||
dmg = ComputerUtilMana.determineLeftoverMana(sa, ai);
|
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)) {
|
} 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
|
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.
|
// 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)) {
|
} 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
|
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")) {
|
} 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()) {
|
if (sourceName.equals("Crater's Claws") && ai.hasFerocious()) {
|
||||||
actualPay = actualPay > 2 ? actualPay - 2 : 0;
|
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")) {
|
if (damage.equals("X") && sa.getSVar(damage).equals("Count$xPaid")) {
|
||||||
// Set PayX here to maximum value.
|
// Set PayX here to maximum value.
|
||||||
dmg = ComputerUtilMana.determineLeftoverMana(sa, ai);
|
dmg = ComputerUtilMana.determineLeftoverMana(sa, ai);
|
||||||
sa.setSVar("PayX", Integer.toString(dmg));
|
source.setSVar("PayX", Integer.toString(dmg));
|
||||||
}
|
}
|
||||||
|
|
||||||
final TargetRestrictions tgt = sa.getTargetRestrictions();
|
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.resetTargets();
|
||||||
saTgt.getTargets().add(tgtCreature != null && dmg < opponent.getLife() ? tgtCreature : opponent);
|
saTgt.getTargets().add(tgtCreature != null && dmg < opponent.getLife() ? tgtCreature : opponent);
|
||||||
|
|
||||||
sa.setSVar("PayX", Integer.toString(dmg));
|
source.setSVar("PayX", Integer.toString(dmg));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
17
forge-gui/res/puzzle/PS_WAR4.pzl
Normal file
17
forge-gui/res/puzzle/PS_WAR4.pzl
Normal 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
|
||||||
Reference in New Issue
Block a user