From 1df114d6940e11fd095ca7df38c6f90cc4443250 Mon Sep 17 00:00:00 2001 From: Northmoc <103371817+Northmoc@users.noreply.github.com> Date: Tue, 5 Jul 2022 01:28:01 -0400 Subject: [PATCH] GN3: Maeve, Insidious Singer (+implement GoadEffect.getStackDescription) (#1034) * maeve_insidious_singer.txt * GoadEffect.getStackDescription --- .../forge/game/ability/effects/GoadEffect.java | 16 ++++++++++++++++ .../upcoming/maeve_insidious_singer.txt | 9 +++++++++ 2 files changed, 25 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/maeve_insidious_singer.txt diff --git a/forge-game/src/main/java/forge/game/ability/effects/GoadEffect.java b/forge-game/src/main/java/forge/game/ability/effects/GoadEffect.java index be2e7579c3d..69efb0dfe33 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/GoadEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/GoadEffect.java @@ -7,9 +7,25 @@ import forge.game.card.Card; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; +import forge.util.Lang; + +import java.util.List; public class GoadEffect extends SpellAbilityEffect { + @Override + protected String getStackDescription(SpellAbility sa) { + final Player player = sa.getActivatingPlayer(); + List tgt = getTargetCards(sa); + if (tgt.size() <= 0) { + return ""; + } else { + final StringBuilder sb = new StringBuilder(); + sb.append(player).append(" goads ").append(Lang.joinHomogenous(tgt)).append("."); + return sb.toString(); + } + } + @Override public void resolve(SpellAbility sa) { final Player player = sa.getActivatingPlayer(); diff --git a/forge-gui/res/cardsfolder/upcoming/maeve_insidious_singer.txt b/forge-gui/res/cardsfolder/upcoming/maeve_insidious_singer.txt new file mode 100644 index 00000000000..26cf9ca628e --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/maeve_insidious_singer.txt @@ -0,0 +1,9 @@ +Name:Maeve, Insidious Singer +ManaCost:2 U U +Types:Legendary Creature Siren +PT:3/4 +A:AB$ Goad | Cost$ 2 U | ValidTgts$ Creature | SubAbility$ DBEffect | SpellDescription$ Goad target creature. +SVar:DBEffect:DB$ Effect | Triggers$ TrigAttacks | RememberObjects$ Targeted | SpellDescription$ Whenever that creature attacks one of your opponents this turn, you draw a card. (A goaded creature attacks each combat if able and attacks a player other than you if able, until your next turn.) +SVar:TrigAttacks:Mode$ Attacks | ValidCard$ Creature.IsRemembered | Attacked$ Opponent | TriggerZones$ Battlefield | Execute$ TrigDraw | TriggerDescription$ Whenever that creature attacks one of your opponents this turn, you draw a card. (A goaded creature attacks each combat if able and attacks a player other than you if able, until your next turn.) +SVar:TrigDraw:DB$ Draw +Oracle:{2}{U}: Goad target creature. Whenever that creature attacks one of your opponents this turn, you draw a card. (A goaded creature attacks each combat if able and attacks a player other than you if able, until your next turn.)