From 2db05868dbc6c1800ba376da7316f56a67092a92 Mon Sep 17 00:00:00 2001 From: ArsenalNut Date: Sun, 30 Sep 2012 16:00:59 +0000 Subject: [PATCH] added TriggedPlayer to calculateAmount method. added Havoc Festival --- .gitattributes | 1 + res/cardsfolder/h/havoc_festival.txt | 13 +++++++++++++ .../forge/card/abilityfactory/AbilityFactory.java | 9 +++++++++ 3 files changed, 23 insertions(+) create mode 100644 res/cardsfolder/h/havoc_festival.txt diff --git a/.gitattributes b/.gitattributes index 8d8974d3524..ecca0d53d76 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4377,6 +4377,7 @@ res/cardsfolder/h/havenwood_battleground.txt svneol=native#text/plain res/cardsfolder/h/havenwood_wurm.txt svneol=native#text/plain res/cardsfolder/h/havoc.txt svneol=native#text/plain res/cardsfolder/h/havoc_demon.txt svneol=native#text/plain +res/cardsfolder/h/havoc_festival.txt -text res/cardsfolder/h/hawkeater_moth.txt svneol=native#text/plain res/cardsfolder/h/haze_of_rage.txt svneol=native#text/plain res/cardsfolder/h/hazerider_drake.txt svneol=native#text/plain diff --git a/res/cardsfolder/h/havoc_festival.txt b/res/cardsfolder/h/havoc_festival.txt new file mode 100644 index 00000000000..9c5c3028a14 --- /dev/null +++ b/res/cardsfolder/h/havoc_festival.txt @@ -0,0 +1,13 @@ +Name:Havoc Festival +ManaCost:4 B R +Types:Enchantment +Text:no text +S:Mode$ Continuous | Affected$ Player | AddKeyword$ You can't gain life. | Description$ Players can't gain life. +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigLoseLife | TriggerDescription$ At the beginning of each player's upkeep, that player loses half his or her life, rounded up. +SVar:TrigLoseLife:AB$ LoseLife | Cost$ 0 | Defined$ TriggeredPlayer | LifeAmount$ HavocX +SVar:HavocX:TriggeredPlayer$LifeTotal/HalfUp +SVar:Rarity:Rare +SVar:Picture:http://www.wizards.com/global/images/magic/general/havoc_festival.jpg +SetInfo:RTR|Rare|http://magiccards.info/scans/en/rtr/166.jpg +Oracle:Players can't gain life.\nAt the beginning of each player's upkeep, that player loses half his or her life, rounded up. +End \ No newline at end of file diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactory.java b/src/main/java/forge/card/abilityfactory/AbilityFactory.java index 2513d3bee05..a91c2f30583 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactory.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactory.java @@ -1703,6 +1703,15 @@ public class AbilityFactory { } return CardFactoryUtil.playerXCount(players, calcX[1], card) * multiplier; } + if (calcX[0].startsWith("TriggeredPlayer")) { + final SpellAbility root = ability.getRootSpellAbility(); + Object o = root.getTriggeringObject("Player"); + final ArrayList players = new ArrayList(); + if (o instanceof Player) { + players.add((Player) o); + } + return CardFactoryUtil.playerXCount(players, calcX[1], card) * multiplier; + } CardList list = new CardList(); if (calcX[0].startsWith("Sacrificed")) {