mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 19:28:01 +00:00
Few fixes (#1649)
This commit is contained in:
@@ -4,7 +4,6 @@ import java.util.Collections;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import com.google.common.collect.Maps;
|
|
||||||
|
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.ability.AbilityKey;
|
import forge.game.ability.AbilityKey;
|
||||||
@@ -34,7 +33,7 @@ public class PermanentEffect extends SpellAbilityEffect {
|
|||||||
CardCollectionView lastStateBattlefield = game.copyLastStateBattlefield();
|
CardCollectionView lastStateBattlefield = game.copyLastStateBattlefield();
|
||||||
CardCollectionView lastStateGraveyard = game.copyLastStateGraveyard();
|
CardCollectionView lastStateGraveyard = game.copyLastStateGraveyard();
|
||||||
|
|
||||||
Map<AbilityKey, Object> moveParams = Maps.newEnumMap(AbilityKey.class);
|
Map<AbilityKey, Object> moveParams = AbilityKey.newMap();
|
||||||
moveParams.put(AbilityKey.LastStateBattlefield, lastStateBattlefield);
|
moveParams.put(AbilityKey.LastStateBattlefield, lastStateBattlefield);
|
||||||
moveParams.put(AbilityKey.LastStateGraveyard, lastStateGraveyard);
|
moveParams.put(AbilityKey.LastStateGraveyard, lastStateGraveyard);
|
||||||
|
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ public class TriggerAbilityTriggered extends Trigger {
|
|||||||
Map<AbilityKey, Object> newRunParams = AbilityKey.newMap();
|
Map<AbilityKey, Object> newRunParams = AbilityKey.newMap();
|
||||||
newRunParams.put(AbilityKey.Mode, regtrig.getMode().toString());
|
newRunParams.put(AbilityKey.Mode, regtrig.getMode().toString());
|
||||||
if (regtrig.getMode() == TriggerType.ChangesZone) {
|
if (regtrig.getMode() == TriggerType.ChangesZone) {
|
||||||
newRunParams.put(AbilityKey.Destination, runParams.get(AbilityKey.Destination));
|
newRunParams.put(AbilityKey.Destination, runParams.getOrDefault(AbilityKey.Destination, ""));
|
||||||
newRunParams.put(AbilityKey.Cause, ImmutableList.of(runParams.get(AbilityKey.Card)));
|
newRunParams.put(AbilityKey.Cause, ImmutableList.of(runParams.get(AbilityKey.Card)));
|
||||||
} else if (regtrig.getMode() == TriggerType.ChangesZoneAll) {
|
} else if (regtrig.getMode() == TriggerType.ChangesZoneAll) {
|
||||||
final CardZoneTable table = (CardZoneTable) runParams.get(AbilityKey.Cards);
|
final CardZoneTable table = (CardZoneTable) runParams.get(AbilityKey.Cards);
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ ManaCost:1 W U
|
|||||||
Types:Enchantment
|
Types:Enchantment
|
||||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | OptionalDecider$ You | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, you may exile target nonland permanent not named CARDNAME and all other permanents with the same name as that permanent.
|
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | OptionalDecider$ You | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, you may exile target nonland permanent not named CARDNAME and all other permanents with the same name as that permanent.
|
||||||
SVar:TrigExile:DB$ Pump | ValidTgts$ Permanent.nonLand+notnamedDetention Sphere | TgtPrompt$ Choose target nonland permanent not named Detention Sphere | SubAbility$ DBChangeZoneAll
|
SVar:TrigExile:DB$ Pump | ValidTgts$ Permanent.nonLand+notnamedDetention Sphere | TgtPrompt$ Choose target nonland permanent not named Detention Sphere | SubAbility$ DBChangeZoneAll
|
||||||
SVar:DBChangeZoneAll:DB$ ChangeZoneAll | ChangeType$ TargetedCard.Self,Remembered.sameName+NotDefinedTargeted | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True
|
SVar:DBChangeZoneAll:DB$ ChangeZoneAll | ChangeType$ Targeted.sameName | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True
|
||||||
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ TrigReturn | TriggerDescription$ When CARDNAME leaves the battlefield, return the exiled cards to the battlefield under their owner's control.
|
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ TrigReturn | TriggerDescription$ When CARDNAME leaves the battlefield, return the exiled cards to the battlefield under their owner's control.
|
||||||
SVar:TrigReturn:DB$ ChangeZoneAll | ChangeType$ Card.IsRemembered | Origin$ Exile | Destination$ Battlefield
|
SVar:TrigReturn:DB$ ChangeZoneAll | ChangeType$ Card.IsRemembered | Origin$ Exile | Destination$ Battlefield
|
||||||
SVar:OblivionRing:TRUE
|
SVar:OblivionRing:TRUE
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ Colors:green
|
|||||||
Types:Enchantment Creature Egg
|
Types:Enchantment Creature Egg
|
||||||
PT:0/1
|
PT:0/1
|
||||||
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self,Dragon.YouCtrl | Execute$ TrigPlay | TriggerDescription$ Whenever CARDNAME or a Dragon you control dies, you may cast a creature spell from among cards you own in exile with hatching counters on them without paying its mana cost.
|
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self,Dragon.YouCtrl | Execute$ TrigPlay | TriggerDescription$ Whenever CARDNAME or a Dragon you control dies, you may cast a creature spell from among cards you own in exile with hatching counters on them without paying its mana cost.
|
||||||
SVar:TrigPlay:DB$ Play | Valid$ Creature.YouOwn+counters_GE1_HATCHING | ValidZone$ Exile | Controller$ You | WithoutManaCost$ True | Optional$ True
|
SVar:TrigPlay:DB$ Play | Valid$ Creature.YouOwn+counters_GE1_HATCHING | ValidSA$ Spell.Creature | ValidZone$ Exile | Controller$ You | WithoutManaCost$ True | Optional$ True
|
||||||
SVar:SacMe:5
|
SVar:SacMe:5
|
||||||
DeckHints:Type$Dragon
|
DeckHints:Type$Dragon
|
||||||
Oracle:Whenever Dragon-Kami's Egg or a Dragon you control dies, you may cast a creature spell from among cards you own in exile with hatching counters on them without paying its mana cost.
|
Oracle:Whenever Dragon-Kami's Egg or a Dragon you control dies, you may cast a creature spell from among cards you own in exile with hatching counters on them without paying its mana cost.
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ ManaCost:4 B
|
|||||||
Types:Legendary Artifact Creature Necron
|
Types:Legendary Artifact Creature Necron
|
||||||
PT:4/4
|
PT:4/4
|
||||||
T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigCast | OptionalDecider$ You | TriggerDescription$ Whenever CARDNAME attacks, you may cast an artifact spell from your hand or graveyard by paying life equal to its mana value rather than paying its mana cost.
|
T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigCast | OptionalDecider$ You | TriggerDescription$ Whenever CARDNAME attacks, you may cast an artifact spell from your hand or graveyard by paying life equal to its mana value rather than paying its mana cost.
|
||||||
SVar:TrigCast:DB$ Play | ValidZone$ Hand | Valid$ Artifact.YouOwn | ValidSA$ Spell | Controller$ You | ValidZone$ Hand,Graveyard | Optional$ True | Amount$ 1 | PlayCost$ PayLife<ConvertedManaCost>
|
SVar:TrigCast:DB$ Play | ValidZone$ Hand,Graveyard | Valid$ Artifact.YouOwn | ValidSA$ Spell | Controller$ You | Optional$ True | Amount$ 1 | PlayCost$ PayLife<ConvertedManaCost>
|
||||||
SVar:HasAttackEffect:TRUE
|
SVar:HasAttackEffect:TRUE
|
||||||
DeckHas:Ability$Graveyard
|
DeckHas:Ability$Graveyard
|
||||||
DeckHints:Type$Artifact
|
DeckHints:Type$Artifact
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ S:Mode$ Continuous | AffectedZone$ Hand | MayLookAt$ Player | Description$ Playe
|
|||||||
R:Event$ Draw | ActiveZones$ Battlefield | ValidPlayer$ Player | ReplaceWith$ RevealTop | Description$ If a player would draw a card, they reveal it instead. Then any other player may pay 2 life. If a player does, put that card into its owner's graveyard. Otherwise, that player draws a card.
|
R:Event$ Draw | ActiveZones$ Battlefield | ValidPlayer$ Player | ReplaceWith$ RevealTop | Description$ If a player would draw a card, they reveal it instead. Then any other player may pay 2 life. If a player does, put that card into its owner's graveyard. Otherwise, that player draws a card.
|
||||||
SVar:RevealTop:DB$ PeekAndReveal | Defined$ ReplacedPlayer | NoPeek$ True | SubAbility$ DBMill
|
SVar:RevealTop:DB$ PeekAndReveal | Defined$ ReplacedPlayer | NoPeek$ True | SubAbility$ DBMill
|
||||||
SVar:DBMill:DB$ Dig | Defined$ ReplacedPlayer | DestinationZone$ Graveyard | SubAbility$ DBDraw | UnlessPayer$ NonReplacedPlayer | UnlessCost$ PayLife<2> | UnlessSwitched$ True | UnlessResolveSubs$ WhenNotPaid | StackDescription$ None
|
SVar:DBMill:DB$ Dig | Defined$ ReplacedPlayer | DestinationZone$ Graveyard | SubAbility$ DBDraw | UnlessPayer$ NonReplacedPlayer | UnlessCost$ PayLife<2> | UnlessSwitched$ True | UnlessResolveSubs$ WhenNotPaid | StackDescription$ None
|
||||||
SVar:DBDraw:DB$ Draw | Defined$ ReplacedPlayer | NumCards$ 1 | SubAbility$ DBReset | StackDescription$ that player draws a card
|
SVar:DBDraw:DB$ Draw | Defined$ ReplacedPlayer | NumCards$ 1 | StackDescription$ that player draws a card
|
||||||
SVar:NonStackingEffect:True
|
SVar:NonStackingEffect:True
|
||||||
AI:RemoveDeck:All
|
AI:RemoveDeck:All
|
||||||
Oracle:Players play with their hands revealed.\nIf a player would draw a card, they reveal it instead. Then any other player may pay 2 life. If a player does, put that card into its owner's graveyard. Otherwise, that player draws a card.
|
Oracle:Players play with their hands revealed.\nIf a player would draw a card, they reveal it instead. Then any other player may pay 2 life. If a player does, put that card into its owner's graveyard. Otherwise, that player draws a card.
|
||||||
|
|||||||
Reference in New Issue
Block a user