This commit is contained in:
tool4ever
2022-11-27 23:51:42 +01:00
committed by GitHub
parent 0517613fd3
commit 57c8644469
28 changed files with 95 additions and 100 deletions

View File

@@ -1708,7 +1708,7 @@ public class ComputerUtilCard {
pumped.addPTBoost(power + berserkPower, toughness, timestamp, 0); pumped.addPTBoost(power + berserkPower, toughness, timestamp, 0);
if (!kws.isEmpty()) { if (!kws.isEmpty()) {
pumped.addChangedCardKeywords(kws, null, false, timestamp, 0); pumped.addChangedCardKeywords(kws, null, false, timestamp, 0, false);
} }
if (!hiddenKws.isEmpty()) { if (!hiddenKws.isEmpty()) {
pumped.addHiddenExtrinsicKeywords(timestamp, 0, hiddenKws); pumped.addHiddenExtrinsicKeywords(timestamp, 0, hiddenKws);
@@ -1729,7 +1729,7 @@ public class ComputerUtilCard {
} }
} }
final long timestamp2 = c.getGame().getNextTimestamp(); //is this necessary or can the timestamp be re-used? final long timestamp2 = c.getGame().getNextTimestamp(); //is this necessary or can the timestamp be re-used?
pumped.addChangedCardKeywordsInternal(toCopy, null, false, timestamp2, 0, true); pumped.addChangedCardKeywordsInternal(toCopy, null, false, timestamp2, 0, false);
applyStaticContPT(ai.getGame(), pumped, new CardCollection(c)); applyStaticContPT(ai.getGame(), pumped, new CardCollection(c));
return pumped; return pumped;
} }

View File

@@ -21,7 +21,6 @@ public class ManaCostBeingPaidTest {
} }
private void runConvokeTest(String initialCost, byte[] colorsToPay, String[] expectedRemainder) { private void runConvokeTest(String initialCost, byte[] colorsToPay, String[] expectedRemainder) {
ManaCostBeingPaid costBeingPaid = createManaCostBeingPaid(initialCost); ManaCostBeingPaid costBeingPaid = createManaCostBeingPaid(initialCost);
for (int i = 0; i < colorsToPay.length; i++) { for (int i = 0; i < colorsToPay.length; i++) {

View File

@@ -34,7 +34,6 @@ public class SimulationTest {
private static boolean initialized = false; private static boolean initialized = false;
protected Game initAndCreateGame() { protected Game initAndCreateGame() {
if (!initialized) { if (!initialized) {
GuiBase.setInterface(new GuiDesktop()); GuiBase.setInterface(new GuiDesktop());
FModel.initialize(null, new Function<ForgePreferences, Void>() { FModel.initialize(null, new Function<ForgePreferences, Void>() {

View File

@@ -153,7 +153,6 @@ public class DeckHintsTest {
Assert.assertEquals(1, hints.filter(list).size()); Assert.assertEquals(1, hints.filter(list).size());
} }
/** /**
* Create a CardPrinted from the given filename. * Create a CardPrinted from the given filename.
* *

View File

@@ -4,5 +4,5 @@ Types:Artifact Equipment
K:Equip:2 K:Equip:2
S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 2 | AddToughness$ 2 | AddKeyword$ Infect | Description$ Equipped creature gets +2/+2 and has infect. (It deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters.) S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 2 | AddToughness$ 2 | AddKeyword$ Infect | Description$ Equipped creature gets +2/+2 and has infect. (It deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters.)
T:Mode$ Unattach | ValidAttachment$ Card.Self | ValidObject$ Permanent | Execute$ TrigSac | TriggerDescription$ Whenever CARDNAME becomes unattached from a permanent, sacrifice that permanent. T:Mode$ Unattach | ValidAttachment$ Card.Self | ValidObject$ Permanent | Execute$ TrigSac | TriggerDescription$ Whenever CARDNAME becomes unattached from a permanent, sacrifice that permanent.
SVar:TrigSac:DB$ Sacrifice | Defined$ You | SacValid$ TriggeredObject SVar:TrigSac:DB$ SacrificeAll | Defined$ TriggeredObjectLKICopy | Controller$ You
Oracle:Equipped creature gets +2/+2 and has infect. (It deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters.)\nWhenever Grafted Exoskeleton becomes unattached from a permanent, sacrifice that permanent.\nEquip {2} Oracle:Equipped creature gets +2/+2 and has infect. (It deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters.)\nWhenever Grafted Exoskeleton becomes unattached from a permanent, sacrifice that permanent.\nEquip {2}

View File

@@ -4,5 +4,5 @@ Types:Artifact Equipment
K:Equip:0 K:Equip:0
S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 3 | AddToughness$ 2 | Description$ Equipped creature gets +3/+2. S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 3 | AddToughness$ 2 | Description$ Equipped creature gets +3/+2.
T:Mode$ Unattach | ValidAttachment$ Card.Self | ValidObject$ Permanent | Execute$ TrigSac | TriggerDescription$ Whenever CARDNAME becomes unattached from a permanent, sacrifice that permanent. T:Mode$ Unattach | ValidAttachment$ Card.Self | ValidObject$ Permanent | Execute$ TrigSac | TriggerDescription$ Whenever CARDNAME becomes unattached from a permanent, sacrifice that permanent.
SVar:TrigSac:DB$ Sacrifice | Defined$ You | SacValid$ TriggeredObject | SacMessage$ equipped permanent SVar:TrigSac:DB$ SacrificeAll | Defined$ TriggeredObjectLKICopy | Controller$ You
Oracle:Equipped creature gets +3/+2.\nWhenever Grafted Wargear becomes unattached from a permanent, sacrifice that permanent.\nEquip {0} ({0}: Attach to target creature you control. Equip only as a sorcery.) Oracle:Equipped creature gets +3/+2.\nWhenever Grafted Wargear becomes unattached from a permanent, sacrifice that permanent.\nEquip {0} ({0}: Attach to target creature you control. Equip only as a sorcery.)

View File

@@ -7,12 +7,11 @@ SVar:TrigPump:DB$ Pump | RememberObjects$ TriggeredCard
T:Mode$ ChangesZone | Origin$ Graveyard | Destination$ Any | ValidCard$ Card.IsRemembered | TriggerZones$ Battlefield | Execute$ LoseTrack | Static$ True T:Mode$ ChangesZone | Origin$ Graveyard | Destination$ Any | ValidCard$ Card.IsRemembered | TriggerZones$ Battlefield | Execute$ LoseTrack | Static$ True
SVar:LoseTrack:DB$ Pump | ForgetObjects$ TriggeredCard SVar:LoseTrack:DB$ Pump | ForgetObjects$ TriggeredCard
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ DBCleanup | Static$ True T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ DBCleanup | Static$ True
T:Mode$ ChangesController | ValidCard$ Card.Self | Execute$ DBCleanup | Static$ True
T:Mode$ TurnBegin | Execute$ DBCleanup2 | Static$ True T:Mode$ TurnBegin | Execute$ DBCleanup2 | Static$ True
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Player | TriggerZones$ Battlefield | CheckSVar$ X | SVarCompare$ GE1 | IsPresent$ Card.Self | Execute$ TrigChange | TriggerDescription$ At the beginning of each end step, if a creature dealt damage by CARDNAME this turn died, put that card onto the battlefield under your control. Sacrifice it when you lose control of CARDNAME. T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Player | TriggerZones$ Battlefield | CheckSVar$ X | SVarCompare$ GE1 | IsPresent$ Card.Self | Execute$ TrigChange | TriggerDescription$ At the beginning of each end step, if a creature dealt damage by CARDNAME this turn died, put that card onto the battlefield under your control. Sacrifice it when you lose control of CARDNAME.
SVar:TrigChange:DB$ ChangeZoneAll | ChangeType$ Creature.IsRemembered+ThisTurnEnteredFrom_Battlefield | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | RememberChanged$ True | ForgetOtherRemembered$ True | SubAbility$ TrigDelay SVar:TrigChange:DB$ ChangeZoneAll | ChangeType$ Creature.IsRemembered+ThisTurnEnteredFrom_Battlefield | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | RememberChanged$ True | ForgetOtherRemembered$ True | SubAbility$ TrigDelay
SVar:TrigDelay:DB$ DelayedTrigger | Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | RememberObjects$ Remembered | Execute$ TrigSac | Secondary$ True | SubAbility$ TrigDelay2 | SpellDescription$ Sacrifice it when you lose control of CARDNAME. SVar:TrigDelay:DB$ DelayedTrigger | Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.StrictlySelf | RememberObjects$ RememberedLKI | Execute$ TrigSac | SubAbility$ TrigDelay2 | SpellDescription$ Sacrifice it when you lose control of CARDNAME.
SVar:TrigDelay2:DB$ DelayedTrigger | Mode$ ChangesController | ValidCard$ Card.Self | RememberObjects$ Remembered | Execute$ TrigSac | Secondary$ True | SubAbility$ DBCleanup2 | SpellDescription$ Sacrifice it when you lose control of CARDNAME. SVar:TrigDelay2:DB$ DelayedTrigger | Mode$ ChangesController | ValidCard$ Card.StrictlySelf | ValidOriginalController$ You | RememberObjects$ RememberedLKI | Execute$ TrigSac | SubAbility$ DBCleanup2 | SpellDescription$ Sacrifice it when you lose control of CARDNAME.
SVar:TrigSac:DB$ SacrificeAll | Defined$ DelayTriggerRememberedLKI | Controller$ You SVar:TrigSac:DB$ SacrificeAll | Defined$ DelayTriggerRememberedLKI | Controller$ You
SVar:DBCleanup:DB$ Cleanup | ClearTriggered$ True | SubAbility$ DBCleanup2 SVar:DBCleanup:DB$ Cleanup | ClearTriggered$ True | SubAbility$ DBCleanup2
SVar:DBCleanup2:DB$ Cleanup | ClearRemembered$ True SVar:DBCleanup2:DB$ Cleanup | ClearRemembered$ True

View File

@@ -3,13 +3,12 @@ ManaCost:6 W
Types:Creature Angel Types:Creature Angel
PT:4/4 PT:4/4
K:Flying K:Flying
T:Mode$ ChangesZone | ValidCard$ Creature.DamagedBy | Origin$ Battlefield | Destination$ Graveyard | Execute$ DelTrigReturn | TriggerZones$ Battlefield | TriggerDescription$ Whenever a creature dealt damage by CARDNAME this turn dies, put that card onto the battlefield under your control at the beginning of the next end step. T:Mode$ ChangesZone | ValidCard$ Creature.DamagedBy | Origin$ Battlefield | Destination$ Graveyard | Execute$ DelTrigReturn | TriggerZones$ Battlefield | TriggerDescription$ Whenever a creature dealt damage by CARDNAME this turn dies, put that card onto the battlefield under your control at the beginning of the next end step. Sacrifice the creature when you lose control of CARDNAME.
SVar:DelTrigReturn:DB$ DelayedTrigger | Mode$ Phase | Phase$ End Of Turn | Execute$ DBReturn | RememberObjects$ TriggeredNewCardLKICopy | TriggerDescription$ Return that card to the battlefield at the beginning of the next end step. SVar:DelTrigReturn:DB$ DelayedTrigger | Mode$ Phase | Phase$ End Of Turn | Execute$ DBReturn | RememberObjects$ TriggeredNewCardLKICopy | TriggerDescription$ Return that card to the battlefield at the beginning of the next end step.
SVar:DBReturn:DB$ ChangeZone | Defined$ DelayTriggerRememberedLKI | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | RememberChanged$ True SVar:DBReturn:DB$ ChangeZone | Defined$ DelayTriggerRememberedLKI | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | RememberChanged$ True | SubAbility$ TrigDelay
#TODO make the sacrifice part as another delayed Trigger SVar:TrigDelay:DB$ DelayedTrigger | Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.StrictlySelf | RememberObjects$ RememberedLKI | Execute$ TrigSac | SubAbility$ TrigDelay2 | SpellDescription$ Sacrifice the creature when you lose control of CARDNAME.
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered | Execute$ DBForget SVar:TrigDelay2:DB$ DelayedTrigger | Mode$ ChangesController | ValidCard$ Card.StrictlySelf | ValidOriginalController$ You | RememberObjects$ RememberedLKI | Execute$ TrigSac | SubAbility$ DBCleanup | SpellDescription$ Sacrifice the creature when you lose control of CARDNAME.
SVar:DBForget:DB$ Pump | ForgetObjects$ TriggeredCard SVar:TrigSac:DB$ SacrificeAll | Defined$ DelayTriggerRememberedLKI | Controller$ You | SubAbility$ DBCleanup2
T:Mode$ ChangesController | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ Sacrifice | TriggerDescription$ Sacrifice the creature when you lose control of CARDNAME.
SVar:Sacrifice:DB$ SacrificeAll | ValidCards$ Card.IsRemembered | Controller$ You | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBCleanup2:DB$ Cleanup | ClearTriggered$ True
Oracle:Flying\nWhenever a creature dealt damage by Seraph this turn dies, put that card onto the battlefield under your control at the beginning of the next end step. Sacrifice the creature when you lose control of Seraph. Oracle:Flying\nWhenever a creature dealt damage by Seraph this turn dies, put that card onto the battlefield under your control at the beginning of the next end step. Sacrifice the creature when you lose control of Seraph.

View File

@@ -5,6 +5,6 @@ S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 3 | AddToughness$
T:Mode$ Attacks | ValidCard$ Card.EquippedBy | Execute$ StayTapped | TriggerDescription$ Whenever equipped creature attacks, it doesn't untap during its controller's next untap step. T:Mode$ Attacks | ValidCard$ Card.EquippedBy | Execute$ StayTapped | TriggerDescription$ Whenever equipped creature attacks, it doesn't untap during its controller's next untap step.
SVar:StayTapped:DB$ Pump | KW$ HIDDEN This card doesn't untap during your next untap step. | Defined$ TriggeredAttackerLKICopy | Duration$ Permanent SVar:StayTapped:DB$ Pump | KW$ HIDDEN This card doesn't untap during your next untap step. | Defined$ TriggeredAttackerLKICopy | Duration$ Permanent
T:Mode$ Unattach | ValidAttachment$ Card.Self | ValidObject$ Permanent | Execute$ TrigSac | TriggerDescription$ Whenever CARDNAME becomes unattached from a permanent, sacrifice that permanent. T:Mode$ Unattach | ValidAttachment$ Card.Self | ValidObject$ Permanent | Execute$ TrigSac | TriggerDescription$ Whenever CARDNAME becomes unattached from a permanent, sacrifice that permanent.
SVar:TrigSac:DB$ Sacrifice | Defined$ You | SacValid$ TriggeredObject SVar:TrigSac:DB$ SacrificeAll | Defined$ TriggeredObjectLKICopy | Controller$ You
K:Equip:2 K:Equip:2
Oracle:Equipped creature gets +3/+3.\nWhenever equipped creature attacks, it doesn't untap during its controller's next untap step.\nWhenever Stitcher's Graft becomes unattached from a permanent, sacrifice that permanent.\nEquip {2} Oracle:Equipped creature gets +3/+3.\nWhenever equipped creature attacks, it doesn't untap during its controller's next untap step.\nWhenever Stitcher's Graft becomes unattached from a permanent, sacrifice that permanent.\nEquip {2}