- Added Emberwilde Djinn

This commit is contained in:
swordshine
2014-03-09 06:19:30 +00:00
parent ffab69b0b4
commit 5abb581109
3 changed files with 25 additions and 8 deletions

1
.gitattributes vendored
View File

@@ -4057,6 +4057,7 @@ forge-gui/res/cardsfolder/e/embersmith.txt svneol=native#text/plain
forge-gui/res/cardsfolder/e/emberstrike_duo.txt svneol=native#text/plain forge-gui/res/cardsfolder/e/emberstrike_duo.txt svneol=native#text/plain
forge-gui/res/cardsfolder/e/emberwilde_augur.txt svneol=native#text/plain forge-gui/res/cardsfolder/e/emberwilde_augur.txt svneol=native#text/plain
forge-gui/res/cardsfolder/e/emberwilde_caliph.txt svneol=native#text/plain forge-gui/res/cardsfolder/e/emberwilde_caliph.txt svneol=native#text/plain
forge-gui/res/cardsfolder/e/emberwilde_djinn.txt -text
forge-gui/res/cardsfolder/e/emblem_of_the_warmind.txt svneol=native#text/plain forge-gui/res/cardsfolder/e/emblem_of_the_warmind.txt svneol=native#text/plain
forge-gui/res/cardsfolder/e/embolden.txt -text forge-gui/res/cardsfolder/e/embolden.txt -text
forge-gui/res/cardsfolder/e/embrace_my_diabolical_vision.txt -text forge-gui/res/cardsfolder/e/embrace_my_diabolical_vision.txt -text

View File

@@ -350,20 +350,25 @@ public class ComputerUtilCost {
public static boolean willPayUnlessCost(SpellAbility sa, Player payer, Cost cost, boolean alreadyPaid, List<Player> payers) { public static boolean willPayUnlessCost(SpellAbility sa, Player payer, Cost cost, boolean alreadyPaid, List<Player> payers) {
final Card source = sa.getHostCard(); final Card source = sa.getHostCard();
boolean payForOwnOnly = "OnlyOwn".equals(sa.getParam("UnlessAI")); final String aiLogic = sa.getParam("UnlessAI");
boolean payOwner = sa.hasParam("UnlessAI") ? sa.getParam("UnlessAI").startsWith("Defined") : false; boolean payForOwnOnly = "OnlyOwn".equals(aiLogic);
boolean payNever = "Never".equals(sa.getParam("UnlessAI")); boolean payOwner = sa.hasParam("UnlessAI") ? aiLogic.startsWith("Defined") : false;
boolean shockland = "Shockland".equals(sa.getParam("UnlessAI")); boolean payNever = "Never".equals(aiLogic);
boolean shockland = "Shockland".equals(aiLogic);
boolean isMine = sa.getActivatingPlayer().equals(payer); boolean isMine = sa.getActivatingPlayer().equals(payer);
if (payNever) { return false; } if (payNever) { return false; }
if (payForOwnOnly && !isMine) { return false; } if (payForOwnOnly && !isMine) { return false; }
if (payOwner) { if (payOwner) {
final String defined = sa.getParam("UnlessAI").substring(7); final String defined = aiLogic.substring(7);
final Player player = AbilityUtils.getDefinedPlayers(source, defined, sa).get(0); final Player player = AbilityUtils.getDefinedPlayers(source, defined, sa).get(0);
if (!payer.equals(player)) { if (!payer.equals(player)) {
return false; return false;
} }
} else if ("OnlyDontControl".equals(aiLogic)) {
if (sa.getHostCard() == null || payer.equals(sa.getHostCard().getController())) {
return false;
}
} else if (shockland) { } else if (shockland) {
if (payer.getLife() > 3 && payer.canPayLife(2)) { if (payer.getLife() > 3 && payer.canPayLife(2)) {
// If the new land size would equal the CMC of a card in AIs hand, play it untapped // If the new land size would equal the CMC of a card in AIs hand, play it untapped
@@ -375,18 +380,18 @@ public class ComputerUtilCost {
} }
} }
return false; return false;
} else if ("Paralyze".equals(sa.getParam("UnlessAI"))) { } else if ("Paralyze".equals(aiLogic)) {
final Card c = source.getEnchantingCard(); final Card c = source.getEnchantingCard();
if (c == null || c.isUntapped()) { if (c == null || c.isUntapped()) {
return false; return false;
} }
} else if ("MorePowerful".equals(sa.getParam("UnlessAI"))) { } else if ("MorePowerful".equals(aiLogic)) {
final int sourceCreatures = sa.getActivatingPlayer().getCreaturesInPlay().size(); final int sourceCreatures = sa.getActivatingPlayer().getCreaturesInPlay().size();
final int payerCreatures = payer.getCreaturesInPlay().size(); final int payerCreatures = payer.getCreaturesInPlay().size();
if (payerCreatures > sourceCreatures + 1) { if (payerCreatures > sourceCreatures + 1) {
return false; return false;
} }
} else if ("LifeLE2".equals(sa.getParam("UnlessAI"))) { } else if ("LifeLE2".equals(aiLogic)) {
if (payer.getLife() < 3) { if (payer.getLife() < 3) {
return true; return true;
} }

View File

@@ -0,0 +1,11 @@
Name:Emberwilde Djinn
ManaCost:2 R R
Types:Creature Djinn
PT:5/4
K:Flying
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigChoose | TriggerDescription$ At the beginning of each player's upkeep, that player may pay {R}{R} or 2 life. If he or she does, the player gains control of CARDNAME.
SVar:TrigChoose:DB$ GenericChoice | Defined$ TriggeredPlayer | AILogic$ PayUnlessCost | Choices$ PayRR,Pay2Life
SVar:PayRR:DB$ GainControl | Defined$ Self | NewController$ TriggeredPlayer | UnlessCost$ R R | UnlessPayer$ TriggeredPlayer | UnlessSwitched$ True | UnlessAI$ OnlyDontControl | SpellDescription$ Pay R R to gain control of CARDNAME
SVar:Pay2Life:DB$ GainControl | Defined$ Self | NewController$ TriggeredPlayer | UnlessCost$ PayLife<2> | UnlessPayer$ TriggeredPlayer | UnlessSwitched$ True | UnlessAI$ OnlyDontControl | SpellDescription$ Pay 2 life to gain control of CARDNAME
SVar:Picture:http://www.wizards.com/global/images/magic/general/emberwilde_djinn.jpg
Oracle:Flying\nAt the beginning of each player's upkeep, that player may pay {R}{R} or 2 life. If he or she does, the player gains control of Emberwilde Djinn.