Merge pull request #3812 from Simisays/LTC12

LTC final 8 cards
This commit is contained in:
Paul Hammerton
2023-09-28 08:57:25 +01:00
committed by GitHub
9 changed files with 104 additions and 0 deletions

View File

@@ -11,6 +11,8 @@ import forge.game.ability.SpellAbilityEffect;
import forge.game.card.Card;
import forge.game.card.CardCollection;
import forge.game.card.CardCollectionView;
import forge.game.card.CardLists;
import forge.game.card.CardPredicates;
import forge.game.card.CardZoneTable;
import forge.game.event.GameEventCombatChanged;
import forge.game.player.Player;
@@ -22,6 +24,8 @@ import forge.util.Localizer;
import forge.util.MyRandom;
import org.apache.commons.lang3.StringUtils;
import com.google.common.collect.Maps;
public class DigUntilEffect extends SpellAbilityEffect {
/* (non-Javadoc)
@@ -214,6 +218,23 @@ public class DigUntilEffect extends SpellAbilityEffect {
if (sa.hasParam("GainControl")) {
c.setController(sa.getActivatingPlayer(), game.getNextTimestamp());
}
if (sa.hasParam("AttachedTo")) {
CardCollection list = AbilityUtils.getDefinedCards(c, sa.getParam("AttachedTo"), sa);
if (list.isEmpty()) {
list = CardLists.getValidCards(lastStateBattlefield, sa.getParam("AttachedTo"), c.getController(), c, sa);
}
if (!list.isEmpty()) {
list = CardLists.filter(list, CardPredicates.canBeAttached(c, sa));
}
if (!list.isEmpty()) {
Map<String, Object> params = Maps.newHashMap();
params.put("Attach", c);
Card attachedTo = p.getController().chooseSingleEntityForEffect(list, sa, Localizer.getInstance().getMessage("lblSelectACardAttachSourceTo", c.toString()), params);
c.attachToEntity(game.getCardState(attachedTo), sa, true);
} else {
continue;
}
}
if (sa.hasParam("Tapped")) {
c.setTapped(true);
}

View File

@@ -0,0 +1,11 @@
Name:Mordor on the March
ManaCost:3 B R
Types:Sorcery
K:Storm
A:SP$ ChangeZone | ChangeType$ Creature.YouCtrl | Hidden$ True | ChangeNum$ 1 | RememberChanged$ True | Origin$ Graveyard | Destination$ Exile | ChangeNum$ 1 | SubAbility$ DBCopy | SpellDescription$ Exile a creature card from your graveyard. Create a token that's a copy of it. It gains haste until end of turn. Exile it at the beginning of the next end step.
SVar:DBCopy:DB$ CopyPermanent | Defined$ Remembered | PumpKeywords$ Haste | PumpDuration$ EOT | AtEOT$ Exile | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:PlayMain1:TRUE
DeckHas:Ability$Token
DeckHints:Ability$Graveyard|Mill
Oracle:Exile a creature card from your graveyard. Create a token that's a copy of it. It gains haste until end of turn. Exile it at the beginning of the next end step.\nStorm (When you cast this spell, copy it for each spell cast before it this turn.)

View File

@@ -0,0 +1,10 @@
Name:Nazgul Battle-Mace
ManaCost:5
Types:Artifact Equipment
K:Equip:3
S:Mode$ Continuous | AddTrigger$ SacrificeStatic | Affected$ Creature.EquippedBy | AddKeyword$ Menace & Deathtouch & Annihilator:1 | Description$ Equipped creature has menace, deathtouch, annihilator 1, and "Whenever an opponent sacrifices a nontoken permanent, put that card onto the battlefield under your control unless that player pays 3 life." (Whenever a creature with annihilator 1 attacks, defending player sacrifices a permanent.)
SVar:SacrificeStatic:Mode$ Sacrificed | ValidCard$ Permanent.nonToken+OppCtrl | Execute$ TrigReturn | TriggerZones$ Battlefield | TriggerDescription$ Whenever an opponent sacrifices a nontoken permanent, put that card onto the battlefield under your control unless that player pays 3 life.
SVar:TrigReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | Defined$ TriggeredCard | UnlessCost$ PayLife<3> | UnlessPayer$ TriggeredCardController
SVar:PlayMain1:TRUE
DeckHas:Ability$Sacrifice
Oracle:Equipped creature has menace, deathtouch, annihilator 1, and "Whenever an opponent sacrifices a nontoken permanent, put that card onto the battlefield under your control unless that player pays 3 life." (Whenever a creature with annihilator 1 attacks, defending player sacrifices a permanent.)\nEquip {3}

View File

@@ -0,0 +1,12 @@
Name:Olorin's Searing Light
ManaCost:2 R W
Types:Instant
A:SP$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBChooseCard | SubAbility$ DBExile | SpellDescription$ Each opponent exiles a creature with the greatest power among creatures that player controls.\nSpell mastery — If there are two or more instant and/or sorcery cards in your graveyard, CARDNAME deals damage to each opponent equal to the power of the creature they exiled.
SVar:DBChooseCard:DB$ ChooseCard | Defined$ Player.IsRemembered | Choices$ Creature.greatestPowerControlledByRemembered | ChoiceTitle$ Choose a creature you control with the greatest power | Mandatory$ True | RememberChosen$ True
SVar:DBExile:DB$ ChangeZoneAll | ChangeType$ Card.IsRemembered | Origin$ Battlefield | Destination$ Exile | SubAbility$ RepeatBis | StackDescription$ Each opponent exiles a creature with the greatest power among creatures that player controls.
SVar:RepeatBis:DB$ RepeatEach | RepeatPlayers$ Player.Opponent | DamageMap$ True | RepeatSubAbility$ DBDamage | ConditionZone$ Graveyard | ConditionPresent$ Instant.YouOwn,Sorcery.YouOwn | ConditionCompare$ GE2 | SubAbility$ DBCleanup
SVar:DBDamage:DB$ DealDamage | Defined$ Player.IsRemembered | NumDmg$ X
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:RememberedLKI$FilterControlledByRemembered_CardPower
DeckHints:Ability$Graveyard|Mill
Oracle:Each opponent exiles a creature with the greatest power among creatures that player controls.\nSpell mastery — If there are two or more instant and/or sorcery cards in your graveyard, Olorin's Searing Light deals damage to each opponent equal to the power of the creature they exiled.

View File

@@ -0,0 +1,7 @@
Name:Rally the Galadhrim
ManaCost:2 G U
Types:Sorcery
A:SP$ CopyPermanent | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | SpellDescription$ Create a token that's a copy of target creature you control.
K:Conspire
DeckHas:Ability$Token
Oracle:Create a token that's a copy of target creature you control.\nConspire (As you cast this spell, you may tap two untapped creatures you control that share a color with it. When you do, copy it and you may choose a new target for the copy.)

View File

@@ -0,0 +1,11 @@
Name:Rammas Echor, Ancient Shield
ManaCost:3 W
Types:Legendary Artifact
T:Mode$ SpellCast | ValidCard$ Card.YouCtrl | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDaw | ActivatorThisTurnCast$ EQ2 | TriggerDescription$ Whenever you cast your second spell each turn, draw a card, then create a 0/3 white Wall creature token with defender.
SVar:TrigDaw:DB$ Draw | SubAbility$ DBToken
SVar:DBToken:DB$ Token | TokenScript$ w_0_3_wall_defender
T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of combat on your turn, creatures you control with defender gain exalted until end of turn. (Whenever a creature you control attacks alone, it gets +1/+1 until end of turn for each instance of exalted among permanents you control.)
SVar:TrigPump:DB$ PumpAll | ValidCards$ Creature.withDefender+YouCtrl | KW$ Exalted
DeckHas:Ability$Token & Type$Wall
DeckHints:Keyword$Defender & Type$Wall
Oracle:Whenever you cast your second spell each turn, draw a card, then create a 0/3 white Wall creature token with defender.\nAt the beginning of combat on your turn, creatures you control with defender gain exalted until end of turn. (Whenever a creature you control attacks alone, it gets +1/+1 until end of turn for each instance of exalted among permanents you control.)

View File

@@ -0,0 +1,9 @@
Name:Rohirrim Chargers
ManaCost:2 R W
Types:Creature Human Knight
PT:4/4
S:Mode$ OptionalAttackCost | ValidCard$ Card.Self | Cost$ Exert<1/CARDNAME> | Description$ You may exert CARDNAME as it attacks. (It won't untap during your next untap step.)
T:Mode$ Exerted | ValidCard$ Creature.YouCtrl | Execute$ TrigDig | TriggerZones$ Battlefield | TriggerDescription$ Whenever you exert a creature, reveal cards from the top of your library until you reveal an Equipment card. Put that card onto the battlefield attached to that creature, then put the rest on the bottom of your library in a random order.
SVar:TrigDig:DB$ DigUntil | Defined$ You | Valid$ Equipment | FoundDestination$ Battlefield | RevealedDestination$ Library | RevealedLibraryPosition$ -1 | RevealRandomOrder$ True | AttachedTo$ TriggeredCard
DeckHints:Type$Equipment
Oracle:You may exert Rohirrim Chargers as it attacks. (It won't untap during your next untap step.)\nWhenever you exert a creature, reveal cards from the top of your library until you reveal an Equipment card. Put that card onto the battlefield attached to that creature, then put the rest on the bottom of your library in a random order.

View File

@@ -0,0 +1,8 @@
Name:Sorcerous Squall
ManaCost:6 U U U
Types:Sorcery
K:Delve
A:SP$ Mill | NumCards$ 9 | ValidTgts$ Opponent | TgtPrompt$ Select target opponent to mill | SubAbility$ FishyCast | SpellDescription$ Target opponent mills nine cards, then you may cast an instant or sorcery spell from that player's graveyard without paying its mana cost. If that spell would be put into a graveyard, exile it instead.
SVar:FishyCast:DB$ Play | ValidZone$ Graveyard | Valid$ Instant.TargetedPlayerCtrl,Sorcery.TargetedPlayerCtrl | Controller$ You | WithoutManaCost$ True | ValidSA$ Spell | Optional$ True | Amount$ 1 | ReplaceGraveyard$ Exile
DeckHints:Ability$Mill|Graveyard
Oracle:Delve (Each card you exile from your graveyard while casting this spell pays for {1}.)\nTarget opponent mills nine cards, then you may cast an instant or sorcery spell from that player's graveyard without paying its mana cost. If that spell would be put into a graveyard, exile it instead.

View File

@@ -0,0 +1,15 @@
Name:Witch-king, Sky Scourge
ManaCost:5 B R
Types:Legendary Creature Wraith Noble
PT:5/5
K:Flying
K:Undying
T:Mode$ AttackersDeclared | ValidAttackers$ Wraith | AttackingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigExile | TriggerDescription$ Whenever you attack with one or more Wraiths, exile the top X cards of your library, where X is their total power. You may play those cards this turn.
SVar:TrigExile:DB$ Dig | Defined$ You | DigNum$ X | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect
SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | ForgetOnMoved$ Exile | RememberObjects$ RememberedCard | SubAbility$ DBCleanup
SVar:STPlay:Mode$ Continuous | EffectZone$ Command | Affected$ Card.IsRemembered | MayPlay$ True | AffectedZone$ Exile | Description$ you may play those cards this turn
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:TriggerObjectsAttackers$CardPower
DeckHas:Ability$Counters
DeckHints:Type$Wraith
Oracle:Flying\nWhenever you attack with one or more Wraiths, exile the top X cards of your library, where X is their total power. You may play those cards this turn.\nUndying (When this creature dies, if it had no +1/+1 counters on it, return it to the battlefield under its owner's control with a +1/+1 counter on it.)