mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 18:28:00 +00:00
Merge branch 'Card-Forge:master' into master
This commit is contained in:
@@ -275,7 +275,7 @@ public abstract class GameEntity extends GameObject implements IIdentifiable {
|
||||
tgt = sa.getTargetRestrictions();
|
||||
}
|
||||
|
||||
return !((tgt != null) && !isValid(tgt.getValidTgts(), aura.getController(), aura, sa));
|
||||
return tgt != null && isValid(tgt.getValidTgts(), aura.getController(), aura, sa);
|
||||
}
|
||||
|
||||
// Counters!
|
||||
|
||||
@@ -1450,7 +1450,11 @@ public class AbilityUtils {
|
||||
|
||||
// Needed - Equip an untapped creature with Sword of the Paruns then cast Deadshot on it. Should deal 2 more damage.
|
||||
game.getAction().checkStaticAbilities(); // this will refresh continuous abilities for players and permanents.
|
||||
game.getTriggerHandler().collectTriggerForWaiting();
|
||||
if (sa.isReplacementAbility()) {
|
||||
game.getTriggerHandler().collectTriggerForWaiting();
|
||||
} else {
|
||||
game.getTriggerHandler().resetActiveTriggers();
|
||||
}
|
||||
AbilityUtils.resolveApiAbility(abSub, game);
|
||||
}
|
||||
|
||||
|
||||
@@ -6340,7 +6340,7 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
|
||||
return isValid(tgt.getValidTgts(), aura.getController(), aura, sa);
|
||||
}
|
||||
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -5,8 +5,8 @@ PT:12/12
|
||||
K:ETBReplacement:Other:LandTapped
|
||||
SVar:LandTapped:DB$ Tap | Defined$ Self | SubAbility$ DBAddCounter | ETB$ True | SpellDescription$ CARDNAME enters the battlefield tapped with five slumber counters on it.
|
||||
SVar:DBAddCounter:DB$ PutCounter | Defined$ Self | ETB$ True | CounterType$ SLUMBER | CounterNum$ 5
|
||||
S:Mode$ Continuous | Affected$ Card.Self+counters_GE1_SLUMBER | AddType$ Land | RemoveCardTypes$ True | Description$ As long as CARDNAME has a slumber counter on it, it's a land. (It's not a creature.)
|
||||
T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ You | Execute$ TrigRemoveCounter | TriggerZones$ Battlefield | OptionalDecider$ You | TriggerDescription$ Whenever you cast a spell, you may remove a slumber counter from CARDNAME.
|
||||
S:Mode$ Continuous | Affected$ Card.Self+counters_GE1_SLUMBER | AddType$ Land | RemoveCardTypes$ True | Description$ As long as NICKNAME has a slumber counter on it, it's a land. (It's not a creature.)
|
||||
T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ You | Execute$ TrigRemoveCounter | TriggerZones$ Battlefield | OptionalDecider$ You | TriggerDescription$ Whenever you cast a spell, you may remove a slumber counter from NICKNAME.
|
||||
SVar:TrigRemoveCounter:DB$ RemoveCounter | Defined$ Self | CounterType$ SLUMBER | CounterNum$ 1 | AILogic$ Always
|
||||
A:AB$ Mana | Cost$ T | Produced$ G U | SpellDescription$ Add {G}{U}.
|
||||
Oracle:Arixmethes, Slumbering Isle enters the battlefield tapped with five slumber counters on it.\nAs long as Arixmethes has a slumber counter on it, it's a land. (It's not a creature.)\nWhenever you cast a spell, you may remove a slumber counter from Arixmethes.\n{T}: Add {G}{U}.
|
||||
|
||||
8
forge-gui/res/cardsfolder/upcoming/elven_farsight.txt
Normal file
8
forge-gui/res/cardsfolder/upcoming/elven_farsight.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
Name:Elven Farsight
|
||||
ManaCost:G
|
||||
Types:Sorcery
|
||||
A:SP$ Scry | ScryNum$ 3 | SubAbility$ DBPeekAndReveal | SpellDescription$ Scry 3, then you may reveal the top card of your library. If it's a creature card, draw a card.
|
||||
SVar:DBPeekAndReveal:DB$ PeekAndReveal | RevealOptional$ True | NoPeek$ True | RememberRevealed$ True | SubAbility$ DBDraw
|
||||
SVar:DBDraw:DB$ Draw | ConditionDefined$ Remembered | ConditionPresent$ Card.Creature | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
Oracle:Scry 3, then you may reveal the top card of your library. If it's a creature card, draw a card.
|
||||
7
forge-gui/res/cardsfolder/upcoming/ent_draught_basin.txt
Normal file
7
forge-gui/res/cardsfolder/upcoming/ent_draught_basin.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Name:Ent-Draught Basin
|
||||
ManaCost:2
|
||||
Types:Artifact
|
||||
A:AB$ PutCounter | Cost$ X | CounterType$ P1P1 | ValidTgts$ Creature.powerEQX | TgtPrompt$ Select target creature with power X | CounterNum$ 1 | SorcerySpeed$ True | SpellDescription$ Put a +1/+1 counter on target creature with power X. Activate only as a sorcery.
|
||||
SVar:X:Count$xPaid
|
||||
DeckHas:Ability$Counters
|
||||
Oracle:{X}, {T}: Put a +1/+1 counter on target creature with power X. Activate only as a sorcery.
|
||||
10
forge-gui/res/cardsfolder/upcoming/entish_restoration.txt
Normal file
10
forge-gui/res/cardsfolder/upcoming/entish_restoration.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
Name:Entish Restoration
|
||||
ManaCost:2 G
|
||||
Types:Instant
|
||||
A:SP$ Sacrifice | Defined$ You | SacValid$ Land | SubAbility$ DBChangeZone | SpellDescription$ Sacrifice a land. Search your library for up to two basic land cards, put them onto the battlefield tapped, then shuffle. If you control a creature with power 4 or greater, instead search your library for up to three basic land cards, put them onto the battlefield tapped, then shuffle.
|
||||
SVar:DBChangeZone:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | ChangeType$ Land.Basic | ChangeNum$ X | Tapped$ True
|
||||
SVar:AIPreference:SacCost$Land.Basic+tapped
|
||||
SVar:X:Count$Compare Y GE1.3.2
|
||||
SVar:Y:Count$Valid Creature.YouCtrl+powerGE4
|
||||
DeckHas:Ability$Sacrifice
|
||||
Oracle:Sacrifice a land. Search your library for up to two basic land cards, put them onto the battlefield tapped, then shuffle. If you control a creature with power 4 or greater, instead search your library for up to three basic land cards, put them onto the battlefield tapped, then shuffle.
|
||||
@@ -0,0 +1,10 @@
|
||||
Name:Eomer of the Riddermark
|
||||
ManaCost:4 R
|
||||
Types:Legendary Creature Human Knight
|
||||
PT:5/4
|
||||
K:Haste
|
||||
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigToken | IsPresent$ Creature.greatestPower+YouCtrl | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME attacks, if you control a creature with the greatest power among creatures on the battlefield, create a 1/1 white Human Soldier creature token.
|
||||
SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ w_1_1_human_soldier | TokenOwner$ You
|
||||
DeckHas:Ability$Token & Type$Soldier
|
||||
SVar:HasAttackEffect:TRUE
|
||||
Oracle:Haste\nWhenever Eomer of the Riddermark attacks, if you control a creature with the greatest power among creatures on the battlefield, create a 1/1 white Human Soldier creature token.
|
||||
13
forge-gui/res/cardsfolder/upcoming/eowyn_lady_of_rohan.txt
Normal file
13
forge-gui/res/cardsfolder/upcoming/eowyn_lady_of_rohan.txt
Normal file
@@ -0,0 +1,13 @@
|
||||
Name:Eowyn, Lady of Rohan
|
||||
ManaCost:2 W
|
||||
Types:Legendary Creature Human Noble
|
||||
PT:2/4
|
||||
T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ At the beginning of combat on your turn, target creature gains your choice of first strike or vigilance until end of turn. If that creature is equipped, it gains first strike and vigilance until end of turn instead.
|
||||
SVar:TrigPump:DB$ Pump | ValidTgts$ Creature | SubAbility$ DBBranch
|
||||
SVar:DBBranch:DB$ Branch | BranchConditionSVar$ X | BranchConditionSVarCompare$ EQ1 | TrueSubAbility$ Equipped | FalseSubAbility$ NotEquipped
|
||||
SVar:Equipped:DB$ Pump | Defined$ Targeted | KW$ First Strike & Vigilance
|
||||
SVar:NotEquipped:DB$ Pump | KWChoice$ First Strike,Vigilance | Defined$ Targeted
|
||||
SVar:X:Targeted$Valid Card.equipped
|
||||
S:Mode$ ReduceCost | ValidCard$ Card | ValidSpell$ Activated.Equip | Activator$ You | Amount$ 1 | Description$ Equip abilities you activate cost {1} less to activate.
|
||||
DeckHints:Type$Equipment
|
||||
Oracle:At the beginning of combat on your turn, target creature gains your choice of first strike or vigilance until end of turn. If that creature is equipped, it gains first strike and vigilance until end of turn instead.\nEquip abilities you activate cost {1} less to activate.
|
||||
8
forge-gui/res/cardsfolder/upcoming/erebor_flamesmith.txt
Normal file
8
forge-gui/res/cardsfolder/upcoming/erebor_flamesmith.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
Name:Erebor Flamesmith
|
||||
ManaCost:1 R
|
||||
Types:Creature Dwarf Artificer
|
||||
PT:2/1
|
||||
T:Mode$ SpellCast | ValidCard$ Instant,Sorcery | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Whenever you cast an instant or sorcery spell, CARDNAME deals 1 damage to each opponent.
|
||||
SVar:TrigDamage:DB$ DealDamage | Defined$ Player.Opponent | NumDmg$ 1
|
||||
DeckHints:Type$Instant|Sorcery
|
||||
Oracle:Whenever you cast an instant or sorcery spell, Erebor Flamesmith deals 1 damage to each opponent.
|
||||
@@ -0,0 +1,9 @@
|
||||
Name:Errand-Rider of Gondor
|
||||
ManaCost:2 W
|
||||
Types:Creature Human Soldier
|
||||
PT:3/2
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDraw | TriggerDescription$ When CARDNAME enters the battlefield, draw a card. Then if you don't control a legendary creature, put a card from your hand on the bottom of your library.
|
||||
SVar:TrigDraw:DB$ Draw | SubAbility$ DBChangeZone
|
||||
SVar:DBChangeZone:DB$ ChangeZone | Origin$ Hand | Destination$ Library | ChangeNum$ 1 | Mandatory$ True | LibraryPosition$ -1 | ConditionPresent$ Creature.Legendary+YouCtrl | ConditionCompare$ EQ0
|
||||
DeckHints:Type$Legendary & Type$Creature
|
||||
Oracle:When Errand-Rider of Gondor enters the battlefield, draw a card. Then if you don't control a legendary creature, put a card from your hand on the bottom of your library.
|
||||
@@ -0,0 +1,6 @@
|
||||
Name:Escape from Orthanc
|
||||
ManaCost:2 W
|
||||
Types:Instant
|
||||
A:SP$ Pump | ValidTgts$ Creature | NumAtt$ 1 | NumDef$ 3 | KW$ Flying | SubAbility$ DBUntap | SpellDescription$ Target creature gets +1/+3 and gains flying until end of turn. Untap it.
|
||||
SVar:DBUntap:DB$ Untap | Defined$ Targeted
|
||||
Oracle:Target creature gets +1/+3 and gains flying until end of turn. Untap it.
|
||||
10
forge-gui/res/cardsfolder/upcoming/esquire_of_the_king.txt
Normal file
10
forge-gui/res/cardsfolder/upcoming/esquire_of_the_king.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
Name:Esquire of the King
|
||||
ManaCost:W
|
||||
Types:Creature Human Soldier
|
||||
PT:1/1
|
||||
K:Flying
|
||||
A:AB$ PumpAll | NumAtt$ +1 | NumDef$ +1 | Cost$ 4 W T | ValidCards$ Creature.YouCtrl | ReduceCost$ X | SpellDescription$ Creatures you control get +1/+1 until end of turn. This ability costs {2} less to activate if you control a legendary creature.
|
||||
SVar:X:Count$Compare Y GE1.2.0
|
||||
SVar:Y:Count$Valid Creature.Legendary+YouCtrl
|
||||
DeckHints:Type$Legendary & Type$Creature
|
||||
Oracle:{4}{W}, {T}: Creatures you control get +1/+1 until end of turn. This ability costs {2} less to activate if you control a legendary creature.
|
||||
@@ -0,0 +1,9 @@
|
||||
Name:Fall of Cair Andros
|
||||
ManaCost:2 R
|
||||
Types:Enchantment
|
||||
T:Mode$ ExcessDamage | ValidTarget$ Creature.OppCtrl | CombatDamage$ False | TriggerZones$ Battlefield | Execute$ TrigAmass | TriggerDescription$ Whenever a creature an opponent controls is dealt excess noncombat damage, amass Orcs X, where X is that excess damage. (Put X +1/+1 counters on an Army you control. It's also an Orc. If you don't control an Army, create a 0/0 black Orc Army creature token first.)
|
||||
SVar:TrigAmass:DB$ Amass | Type$ Orc | Num$ X
|
||||
SVar:X:TriggerCount$DamageAmount
|
||||
A:AB$ DealDamage | Cost$ 7 R | ValidTgts$ Creature | NumDmg$ 7 | SpellDescription$ CARDNAME deals 7 damage to target creature.
|
||||
DeckHas:Ability$Token|Counters & Type$Orc|Army
|
||||
Oracle:Whenever a creature an opponent controls is dealt excess noncombat damage, amass Orcs X, where X is that excess damage. (Put X +1/+1 counters on an Army you control. It's also an Orc. If you don't control an Army, create a 0/0 black Orc Army creature token first.)\n{7}{R}: Fall of Cair Andros deals 7 damage to target creature.
|
||||
@@ -0,0 +1,8 @@
|
||||
Name:Grey Havens Navigator
|
||||
ManaCost:2 U
|
||||
Types:Creature Elf Pilot
|
||||
PT:3/2
|
||||
K:Flash
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigScry | TriggerDescription$ When CARDNAME enters the battlefield, scry 1.
|
||||
SVar:TrigScry:DB$ Scry | ScryNum$ 1
|
||||
Oracle:Flash\nWhen Grey Havens Navigator enters the battlefield, scry 1.
|
||||
@@ -0,0 +1,9 @@
|
||||
Name:Haradrim Spearmaster
|
||||
ManaCost:2 R
|
||||
Types:Creature Human Warrior
|
||||
PT:2/3
|
||||
K:Reach
|
||||
T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of combat on your turn, another target creature you control gets +1/+0 until end of turn.
|
||||
SVar:TrigPump:DB$ Pump | ValidTgts$ Creature.Other+YouCtrl | TgtPrompt$ Select another target creature you control | NumAtt$ 1
|
||||
SVar:PlayMain1:TRUE
|
||||
Oracle:Reach\nAt the beginning of combat on your turn, another target creature you control gets +1/+0 until end of turn.
|
||||
7
forge-gui/res/cardsfolder/upcoming/hithlain_knots.txt
Normal file
7
forge-gui/res/cardsfolder/upcoming/hithlain_knots.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Name:Hithlain Knots
|
||||
ManaCost:1 U
|
||||
Types:Instant
|
||||
A:SP$ Tap | ValidTgts$ Creature | SubAbility$ DBScry | SpellDescription$ Tap target creature. Scry 1.
|
||||
SVar:DBScry:DB$ Scry | ScryNum$ 1 | SubAbility$ DBDraw
|
||||
SVar:DBDraw:DB$ Draw | NumCards$ 1 | SpellDescription$ Draw a card.
|
||||
Oracle:Tap target creature. Scry 1.\nDraw a card.
|
||||
@@ -0,0 +1,8 @@
|
||||
Name:Ioreth of the Healing House
|
||||
ManaCost:2 U
|
||||
Types:Legendary Creature Human Cleric
|
||||
PT:1/4
|
||||
A:AB$ Untap | Cost$ T | ValidTgts$ Permanent.Other | TgtPrompt$ Select another target permanent | SpellDescription$ Untap another target permanent.
|
||||
A:AB$ Untap | Cost$ T | ValidTgts$ Creature.Legendary | TgtPrompt$ Select two other legendary creatures | SpellDescription$ Untap two other target legendary creatures.
|
||||
DeckHints:Type$Legendary & Type$Creature
|
||||
Oracle:{T}: Untap another target permanent.\n{T}: Untap two other target legendary creatures.
|
||||
@@ -0,0 +1,5 @@
|
||||
Name:Isolation at Orthanc
|
||||
ManaCost:3 U
|
||||
Types:Instant
|
||||
A:SP$ ChangeZone | Origin$ Battlefield | Destination$ Library | ValidTgts$ Creature | LibraryPosition$ 1 | SpellDescription$ Put target creature into its owner's library second from the top.
|
||||
Oracle:Put target creature into its owner's library second from the top.
|
||||
@@ -0,0 +1,9 @@
|
||||
Name:Ithilien Kingfisher
|
||||
ManaCost:2 U
|
||||
Types:Creature Bird
|
||||
PT:2/1
|
||||
K:Flying
|
||||
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigDraw | TriggerDescription$ When CARDNAME dies, draw a card.
|
||||
SVar:TrigDraw:DB$ Draw | Defined$ TriggeredCardController | NumCards$ 1
|
||||
SVar:SacMe:1
|
||||
Oracle:Flying\nWhen Ithilien Kingfisher dies, draw a card.
|
||||
7
forge-gui/res/cardsfolder/upcoming/lorien_revealed.txt
Normal file
7
forge-gui/res/cardsfolder/upcoming/lorien_revealed.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Name:Lorien Revealed
|
||||
ManaCost:3 U U
|
||||
Types:Sorcery
|
||||
A:SP$ Draw | NumCards$ 3 | SpellDescription$ Draw three cards.
|
||||
K:TypeCycling:Island:1
|
||||
DeckHas:Ability$Discard
|
||||
Oracle:Draw three cards.\nIslandcycling {1} ({1}, Discard this card: Search your library for an Island card, reveal it, put it into your hand, then shuffle.)
|
||||
@@ -0,0 +1,8 @@
|
||||
Name:The Balrog, Flame of Udun
|
||||
ManaCost:3 B R
|
||||
Types:Legendary Creature Avatar Demon
|
||||
PT:7/7
|
||||
K:Trample
|
||||
T:Mode$ ChangesZone | Origin$ Battlefield | TriggerZones$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.Legendary+OppCtrl | Execute$ TrigChange | TriggerDescription$ When a legendary creature an opponent controls dies, put CARDNAME on the bottom of its owner's library.
|
||||
SVar:TrigChange:DB$ ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Library | LibraryPosition$ -1
|
||||
Oracle:Trample\nWhen a legendary creature an opponent controls dies, put The Balrog, Flame of Udûn on the bottom of its owner's library.
|
||||
11
forge-gui/res/cardsfolder/upcoming/the_bath_song.txt
Normal file
11
forge-gui/res/cardsfolder/upcoming/the_bath_song.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
Name:The Bath Song
|
||||
ManaCost:3 U
|
||||
Types:Enchantment Saga
|
||||
K:Saga:3:DBDraw,DBDraw,DBShuffle
|
||||
SVar:DBDraw:DB$ Draw | NumCards$ 2 | SubAbility$ DBDiscard | SpellDescription$ Draw two cards, then discard a card.
|
||||
SVar:DBDiscard:DB$ Discard | Defined$ You | NumCards$ 1 | Mode$ TgtChoose
|
||||
SVar:DBShuffle:DB$ ChangeZone | TargetMin$ 0 | TargetMax$ X | Origin$ Graveyard | Destination$ Library | Shuffle$ True | SubAbility$ DBAdd | TgtPrompt$ Choose any target cards in your graveyard | ValidTgts$ Card.YouCtrl | SpellDescription$ Shuffle any number of target cards from your graveyard into your library. Add {U}{U}.
|
||||
SVar:DBAdd:DB$ Mana | Produced$ U | Amount$ 2
|
||||
SVar:X:Count$InYourYard
|
||||
DeckHas:Ability$Discard|Graveyard
|
||||
Oracle:(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.)\nI, II — Draw two cards, then discard a card.\nIII — Shuffle any number of target cards from your graveyard into your library. Add {U}{U}.
|
||||
@@ -0,0 +1,10 @@
|
||||
Name:Witch-king, Bringer of Ruin
|
||||
ManaCost:4 B B
|
||||
Types:Legendary Creature Wraith Noble
|
||||
PT:5/3
|
||||
K:Flying
|
||||
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigSac | TriggerDescription$ Whenever CARDNAME attacks, defending player sacrifices a creature with the least power among creatures they control.
|
||||
SVar:TrigSac:DB$ Sacrifice | Defined$ TriggeredDefendingPlayer | SacValid$ Creature.leastPowerControlledBy TriggeredDefendingPlayer
|
||||
SVar:HasAttackEffect:True
|
||||
DeckHas:Ability$Sacrifice
|
||||
Oracle:Flying\nWhenever Witch-king, Bringer of Ruin attacks, defending player sacrifices a creature with the least power among creatures they control.
|
||||
Reference in New Issue
Block a user