From 1b138b11f89f99df95d11514d3a4f15b54bf3113 Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Tue, 11 Jun 2019 05:33:12 +0000 Subject: [PATCH] cards: refactor Reveal the first card you draw into Static Trigger --- .../main/java/forge/game/player/Player.java | 18 ------------------ .../cardsfolder/k/keranos_god_of_storms.txt | 8 +++++--- .../res/cardsfolder/p/primitive_etchings.txt | 6 ++++-- forge-gui/res/cardsfolder/r/rowen.txt | 6 ++++-- 4 files changed, 13 insertions(+), 25 deletions(-) diff --git a/forge-game/src/main/java/forge/game/player/Player.java b/forge-game/src/main/java/forge/game/player/Player.java index 9a8fe794d1e..bfc182abb7c 100644 --- a/forge-game/src/main/java/forge/game/player/Player.java +++ b/forge-game/src/main/java/forge/game/player/Player.java @@ -1405,24 +1405,6 @@ public class Player extends GameEntity implements Comparable { revealed.add(c); } - if (numDrawnThisTurn == 0) { - boolean reveal = false; - final CardCollectionView cards = getCardsIn(ZoneType.Battlefield); - for (final Card card : cards) { - if (card.hasKeyword("Reveal the first card you draw each turn") - || (card.hasKeyword("Reveal the first card you draw on each of your turns") && game.getPhaseHandler().isPlayerTurn(this))) { - reveal = true; - break; - } - } - if (reveal) { - game.getAction().reveal(drawn, this, true, "Revealing the first card drawn from "); - if (revealed.contains(c)) { - revealed.remove(c); - } - } - } - setLastDrawnCard(c); c.setDrawnThisTurn(true); numDrawnThisTurn++; diff --git a/forge-gui/res/cardsfolder/k/keranos_god_of_storms.txt b/forge-gui/res/cardsfolder/k/keranos_god_of_storms.txt index 98ed104ec45..667b56058fd 100644 --- a/forge-gui/res/cardsfolder/k/keranos_god_of_storms.txt +++ b/forge-gui/res/cardsfolder/k/keranos_god_of_storms.txt @@ -5,11 +5,13 @@ PT:6/5 K:Indestructible S:Mode$ Continuous | Affected$ Card.Self | RemoveType$ Creature | RemoveCreatureTypes$ True | CheckSVar$ X | SVarCompare$ LT7 | References$ X | Description$ As long as your devotion to blue and red is less than seven, CARDNAME isn't a creature. SVar:X:Count$DevotionDual.Blue.Red -K:Reveal the first card you draw on each of your turns -T:Mode$ Drawn | ValidCard$ Card.Land+YouCtrl | PlayerTurn$ True | TriggerZones$ Battlefield | Number$ 1 | Execute$ TrigDraw | TriggerDescription$ Whenever you reveal a land card this way, draw a card. +T:Mode$ Drawn | ValidCard$ Card.YouOwn | Number$ 1 | Static$ True | Execute$ DBReveal | TriggerZones$ Battlefield | PlayerTurn$ True | TriggerDescription$ Reveal the first card you draw on each of your turns. Whenever you reveal a land card this way, draw a card. Whenever you reveal a nonland card this way, CARDNAME deals 3 damage to any target. +SVar:DBReveal:DB$ Reveal | Defined$ You | RevealDefined$ TriggeredCard | RememberRevealed$ True | SubAbility$ DBTriggerLand +SVar:DBTriggerLand:DB$ ImmediateTrigger | ConditionDefined$ Remembered | ConditionPresent$ Card.Land+YouCtrl | SubAbility$ DBTriggerNonLand | Execute$ TrigDraw | TriggerDescription$ Whenever you reveal a land card this way, draw a card. +SVar:DBTriggerNonLand:DB$ ImmediateTrigger | ConditionDefined$ Remembered | ConditionPresent$ Card.nonLand+YouCtrl | SubAbility$ DBCleanup | Execute$ TrigDmg | TriggerDescription$ Whenever you reveal a nonland card this way, CARDNAME deals 3 damage to any target. SVar:TrigDraw:DB$ Draw | NumCards$ 1 -T:Mode$ Drawn | ValidCard$ Card.nonLand+YouCtrl | PlayerTurn$ True | TriggerZones$ Battlefield | Number$ 1 | Execute$ TrigDmg | TriggerDescription$ Whenever you reveal a nonland card this way, Keranos deals 3 damage to any target. SVar:TrigDmg:DB$ DealDamage | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ 3 +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:BuffedBy:Permanent.Blue,Permanent.Red SVar:Picture:http://www.wizards.com/global/images/magic/general/keranos_god_of_storms.jpg Oracle:Indestructible\nAs long as your devotion to blue and red is less than seven, Keranos isn't a creature.\nReveal the first card you draw on each of your turns. Whenever you reveal a land card this way, draw a card. Whenever you reveal a nonland card this way, Keranos deals 3 damage to any target. diff --git a/forge-gui/res/cardsfolder/p/primitive_etchings.txt b/forge-gui/res/cardsfolder/p/primitive_etchings.txt index 914bf75462f..f039755c685 100644 --- a/forge-gui/res/cardsfolder/p/primitive_etchings.txt +++ b/forge-gui/res/cardsfolder/p/primitive_etchings.txt @@ -1,8 +1,10 @@ Name:Primitive Etchings ManaCost:2 G G Types:Enchantment -K:Reveal the first card you draw each turn -T:Mode$ Drawn | ValidCard$ Creature.YouCtrl | TriggerZones$ Battlefield | Number$ 1 | Execute$ TrigDraw | TriggerDescription$ Whenever you reveal a creature card this way, draw a card. +T:Mode$ Drawn | ValidCard$ Card.YouOwn | Number$ 1 | Static$ True | Execute$ DBReveal | TriggerZones$ Battlefield | TriggerDescription$ Reveal the first card you draw each turn. Whenever you reveal a creature card this way, draw a card. +SVar:DBReveal:DB$ Reveal | Defined$ You | RevealDefined$ TriggeredCard | RememberRevealed$ True | SubAbility$ DBTrigger +SVar:DBTrigger:DB$ ImmediateTrigger | ConditionDefined$ Remembered | ConditionPresent$ Creature+YouCtrl | SubAbility$ DBCleanup | Execute$ TrigDraw | TriggerDescription$ Whenever you reveal a creature card this way, draw a card. SVar:TrigDraw:DB$Draw | NumCards$ 1 +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:Picture:http://www.wizards.com/global/images/magic/general/primitive_etchings.jpg Oracle:Reveal the first card you draw each turn. Whenever you reveal a creature card this way, draw a card. diff --git a/forge-gui/res/cardsfolder/r/rowen.txt b/forge-gui/res/cardsfolder/r/rowen.txt index c4586fd2668..0e1962d9d52 100644 --- a/forge-gui/res/cardsfolder/r/rowen.txt +++ b/forge-gui/res/cardsfolder/r/rowen.txt @@ -1,8 +1,10 @@ Name:Rowen ManaCost:2 G G Types:Enchantment -K:Reveal the first card you draw each turn -T:Mode$ Drawn | ValidCard$ Land.Basic+YouCtrl | TriggerZones$ Battlefield | Number$ 1 | Execute$ TrigDraw | TriggerDescription$ Whenever you reveal a basic land card this way, draw a card. +T:Mode$ Drawn | ValidCard$ Card.YouOwn | Number$ 1 | Static$ True | Execute$ DBReveal | TriggerZones$ Battlefield | TriggerDescription$ Reveal the first card you draw each turn. Whenever you reveal a basic land card this way, draw a card. +SVar:DBReveal:DB$ Reveal | Defined$ You | RevealDefined$ TriggeredCard | RememberRevealed$ True | SubAbility$ DBTrigger +SVar:DBTrigger:DB$ ImmediateTrigger | ConditionDefined$ Remembered | ConditionPresent$ Land.Basic+YouCtrl | SubAbility$ DBCleanup | Execute$ TrigDraw | TriggerDescription$ Whenever you reveal a basic land card this way, draw a card. SVar:TrigDraw:DB$Draw | NumCards$ 1 +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:Picture:http://www.wizards.com/global/images/magic/general/rowen.jpg Oracle:Reveal the first card you draw each turn. Whenever you reveal a basic land card this way, draw a card.