Skip to content

Commit

Permalink
Room: First Spell Part
Browse files Browse the repository at this point in the history
  • Loading branch information
Hanmac committed Sep 3, 2024
1 parent a634ffe commit 78f9c35
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 2 deletions.
2 changes: 1 addition & 1 deletion forge-game/src/main/java/forge/game/GameAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ private Card changeZone(final Zone zoneFrom, Zone zoneTo, final Card c, Integer
// Make sure the card returns from the battlefield as the original card with two halves
resetToOriginal = true;
}
} else if (!zoneTo.is(ZoneType.Stack)) {
} else if (!zoneTo.is(ZoneType.Stack) && !zoneTo.is(ZoneType.Battlefield)) {
// For regular splits, recreate the original state unless the card is going to stack as one half
resetToOriginal = true;
}
Expand Down
6 changes: 5 additions & 1 deletion forge-game/src/main/java/forge/game/card/CardFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -415,7 +415,11 @@ private static void readCardFace(Card c, ICardFace face) {
c.setAttractionLights(face.getAttractionLights());

// SpellPermanent only for Original State
if (c.getCurrentStateName() == CardStateName.Original || c.getCurrentStateName() == CardStateName.Modal || c.getCurrentStateName().toString().startsWith("Specialize")) {
if (c.getCurrentStateName() == CardStateName.Original ||
c.getCurrentStateName() == CardStateName.LeftSplit ||
c.getCurrentStateName() == CardStateName.RightSplit ||
c.getCurrentStateName() == CardStateName.Modal ||
c.getCurrentStateName().toString().startsWith("Specialize")) {
if (c.isLand()) {
SpellAbility sa = new LandAbility(c);
sa.setCardState(c.getCurrentState());
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Name:Dollmaker's Shop
ManaCost:1 W
Types:Enchantment Room

T:Mode$ AttackersDeclaredOneTarget | Execute$ TrigToken | AttackedTarget$ Player | ValidAttackers$ Creature.YouCtrl+!Toy | TriggerZones$ Battlefield | AttackingPlayer$ You | TriggerDescription$ Whenever one or more non-Toy creatures you control attack a player, create a 1/1 white Toy artifact creature token.
SVar:TrigToken:DB$ Token | TokenScript$ w_1_1_a_toy
AlternateMode:Split
Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nWhenever one or more non-Toy creatures you control attack a player, create a 1/1 white Toy artifact creature token.

ALTERNATE

Name:Porcelain Gallery
ManaCost:4 W W
Types:Enchantment Room
S:Mode$ Continuous | Affected$ Creature.Other+YouCtrl | AffectedZone$ Battlefield | SetPower$ X | SetToughness$ X | Description$ Creatures you control have base power and toughness each equal to the number of creatures you control.
SVar:X:Count$Valid Creature.YouCtrl
Oracle:(You may cast either half. That door unlocks on the battlefield. As a sorcery, you may pay the mana cost of a locked door to unlock it.)\nCreatures you control have base power and toughness each equal to the number of creatures you control.
1 change: 1 addition & 0 deletions forge-gui/res/lists/TypeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,7 @@ Case
Class
Curse:Curses
Role
Room
Rune
Saga:Sagas
Shrine:Shrines
Expand Down
6 changes: 6 additions & 0 deletions forge-gui/res/tokenscripts/w_1_1_a_toy.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Name:Toy Token
ManaCost:no cost
Types:Artifact Creature Toy
Colors:white
PT:1/1
Oracle:

0 comments on commit 78f9c35

Please sign in to comment.