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 f1762cf8de5..d6062e2279c 100644 --- a/forge-game/src/main/java/forge/game/player/Player.java +++ b/forge-game/src/main/java/forge/game/player/Player.java @@ -405,6 +405,7 @@ public class Player extends GameEntity implements Comparable { final Map runParams = Maps.newHashMap(); runParams.put("Player", this); runParams.put("LifeAmount", lifeGain); + runParams.put("Source", source); game.getTriggerHandler().runTrigger(TriggerType.LifeGained, runParams, false); game.fireEvent(new GameEventPlayerLivesChanged(this, oldLife, life)); diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerLifeGained.java b/forge-game/src/main/java/forge/game/trigger/TriggerLifeGained.java index 6c520df4570..ebd9dc56f5b 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerLifeGained.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerLifeGained.java @@ -55,6 +55,12 @@ public class TriggerLifeGained extends Trigger { return false; } } + if (this.mapParams.containsKey("ValidSource")) { + if (!matchesValid(runParams2.get("Source"), this.mapParams.get("ValidSource").split(","), + this.getHostCard())) { + return false; + } + } return true; } diff --git a/forge-gui/res/cardsfolder/upcoming/firesong_and_sunspeaker.txt b/forge-gui/res/cardsfolder/upcoming/firesong_and_sunspeaker.txt new file mode 100644 index 00000000000..aea02829915 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/firesong_and_sunspeaker.txt @@ -0,0 +1,9 @@ +Name:Firesong and Sunspeaker +ManaCost:4 R W +Types:Legendary Creature Minotaur Cleric +PT:4/6 +S:Mode$ Continuous | AddKeyword$ Lifelink | Affected$ Instant.Red+YouCtrl,Sorcery.Red+YouCtrl | AffectedZone$ Stack | Description$ Red instant and sorcery spells you control have lifelink. +T:Mode$ LifeGained | ValidPlayer$ You | ValidSource$ Instant.White,Sorcery.White | TriggerZones$ Battlefield | Execute$ TrigDealDamage | TriggerDescription$ Whenever a white instant or sorcery spell causes you to gain life, CARDNAME deals 3 damage to target creature or player. +SVar:TrigDealDamage:DB$ DealDamage | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | NumDmg$ 3 +SVar:Picture:http://www.wizards.com/global/images/magic/general/firesong_and_sunspeaker.jpg +Oracle:Red instant and sorcery spells you control have lifelink.\nWhenever a white instant or sorcery spell causes you to gain life, Firesong and Sunspeaker deals 3 damage to target creature or player.