diff --git a/.gitattributes b/.gitattributes index 6fd3edec17a..e1e25f886a8 100644 --- a/.gitattributes +++ b/.gitattributes @@ -13325,6 +13325,7 @@ res/cardsfolder/y/young_pyromancer.txt -text res/cardsfolder/y/young_wei_recruits.txt svneol=native#text/plain res/cardsfolder/y/young_wolf.txt -text res/cardsfolder/y/your_fate_is_thrice_sealed.txt -text +res/cardsfolder/y/your_inescapable_doom.txt -text res/cardsfolder/y/your_puny_minds_cannot_fathom.txt -text res/cardsfolder/y/your_will_is_not_your_own.txt -text res/cardsfolder/y/youthful_knight.txt svneol=native#text/plain diff --git a/res/cardsfolder/y/your_inescapable_doom.txt b/res/cardsfolder/y/your_inescapable_doom.txt new file mode 100644 index 00000000000..531d2c561fb --- /dev/null +++ b/res/cardsfolder/y/your_inescapable_doom.txt @@ -0,0 +1,11 @@ +Name:Your Inescapable Doom +ManaCost:no cost +Types:Ongoing Scheme +T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Command | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your end step, put a doom counter on this scheme, then this scheme deals damage equal to the number of doom counters on it to the opponent with the highest life total among your opponents. If two or more players are tied for highest life total, you choose one. +SVar:TrigPutCounter:AB$ PutCounter | Cost$ 0 | Defined$ Self | CounterType$ DOOM | CounterNum$ 1 | SubAbility$ DBChoosePlayer +SVar:DBChoosePlayer:DB$ ChoosePlayer | Defined$ You | Choices$ Player.Opponent+LifeEquals_X | References$ X | SubAbility$ DBDmg +SVar:DBDmg:DB$ DealDamage | Defined$ ChosenPlayer | NumDmg$ Y | References$ Y +SVar:X:PlayerCountOpponents$HighestLifeTotal +SVar:Y:Count$CardCounters.DOOM +SVar:Picture:http://www.cardforge.org/fpics/lq_schemes/your_inescapable_doom.jpg +Oracle:At the beginning of your end step, put a doom counter on this scheme, then this scheme deals damage equal to the number of doom counters on it to the opponent with the highest life total among your opponents. If two or more players are tied for highest life total, you choose one. diff --git a/src/main/java/forge/card/ability/effects/ChangeZoneEffect.java b/src/main/java/forge/card/ability/effects/ChangeZoneEffect.java index 1916707040a..cae7d7f5e8d 100644 --- a/src/main/java/forge/card/ability/effects/ChangeZoneEffect.java +++ b/src/main/java/forge/card/ability/effects/ChangeZoneEffect.java @@ -19,7 +19,6 @@ import forge.Singletons; import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityEffect; import forge.card.ability.ai.ChangeZoneAi; -import forge.card.cardfactory.CardFactoryUtil; import forge.card.spellability.AbilitySub; import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbilityStackInstance; diff --git a/src/main/java/forge/game/player/Player.java b/src/main/java/forge/game/player/Player.java index e5622cc91fc..ea41f4fd727 100644 --- a/src/main/java/forge/game/player/Player.java +++ b/src/main/java/forge/game/player/Player.java @@ -2465,6 +2465,11 @@ public class Player extends GameEntity implements Comparable { if (source.getChosenPlayer() == null || !source.getChosenPlayer().equals(this)) { return false; } + } else if (property.startsWith("LifeEquals_")) { + int life = AbilityUtils.calculateAmount(source, property.substring(11), null); + if (this.getLife() != life) { + return false; + } } else if (property.startsWith("withMore")) { final String cardType = property.split("sThan")[0].substring(8); final Player controller = "Active".equals(property.split("sThan")[1]) ? game.getPhaseHandler().getPlayerTurn() : sourceController;