mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +00:00
- Added Pools of Becoming
This commit is contained in:
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -8638,6 +8638,7 @@ forge-gui/res/cardsfolder/p/ponder.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/p/pongify.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/p/pontiff_of_blight.txt -text
|
||||
forge-gui/res/cardsfolder/p/pooling_venom.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/p/pools_of_becoming.txt -text
|
||||
forge-gui/res/cardsfolder/p/porcelain_legionnaire.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/p/porphyry_nodes.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/p/port_inspector.txt svneol=native#text/plain
|
||||
@@ -14956,6 +14957,7 @@ forge-gui/src/main/java/forge/game/ability/effects/RestartGameEffect.java -text
|
||||
forge-gui/src/main/java/forge/game/ability/effects/RevealEffect.java -text
|
||||
forge-gui/src/main/java/forge/game/ability/effects/RevealHandEffect.java -text
|
||||
forge-gui/src/main/java/forge/game/ability/effects/RollPlanarDiceEffect.java -text
|
||||
forge-gui/src/main/java/forge/game/ability/effects/RunSVarAbilityEffect.java -text
|
||||
forge-gui/src/main/java/forge/game/ability/effects/SacrificeAllEffect.java -text
|
||||
forge-gui/src/main/java/forge/game/ability/effects/SacrificeEffect.java -text
|
||||
forge-gui/src/main/java/forge/game/ability/effects/ScryEffect.java -text
|
||||
|
||||
@@ -4,7 +4,7 @@ Types:Plane Lorwyn
|
||||
T:Mode$ ChangesZone | ValidCard$ Land | Destination$ Battlefield | Execute$ TripleGoat | TriggerZones$ Command | TriggerDescription$ Whenever a land enters the battlefield, that land's controller puts three 0/1 white Goat creature tokens onto the battlefield.
|
||||
SVar:TripleGoat:AB$ Token | Cost$ 0 | TokenName$ Goat | TokenTypes$ Creature,Goat | TokenPower$ 0 | TokenToughness$ 1 | TokenColors$ White | TokenOwner$ TriggeredCardController | TokenImage$ W 0 1 Goat | TokenAmount$ 3
|
||||
T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll {C}, put a 0/1 white Goat creature token onto the battlefield.
|
||||
SVar:RolledChaos:AB$ Token | Cost$ 0 | TokenName$ Goat | TokenTypes$ Creature,Goat | TokenPower$ 0 | TokenToughness$ 1 | TokenColors$ White | TokenOwner$ TriggeredPlayer | TokenImage$ W 0 1 Goat | TokenAmount$ 1
|
||||
SVar:RolledChaos:AB$ Token | Cost$ 0 | TokenName$ Goat | TokenTypes$ Creature,Goat | TokenPower$ 0 | TokenToughness$ 1 | TokenColors$ White | TokenOwner$ You | TokenImage$ W 0 1 Goat | TokenAmount$ 1
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/goldmeadow.jpg
|
||||
SVar:AIRollPlanarDieParams:Mode$ Always | LowPriority$ True | MaxRollsPerTurn$ 9
|
||||
Oracle:Whenever a land enters the battlefield, that land's controller puts three 0/1 white Goat creature tokens onto the battlefield.\nWhenever you roll {C}, put a 0/1 white Goat creature token onto the battlefield.
|
||||
@@ -6,7 +6,7 @@ SVar:BuildPressure:AB$ PutCounter | Cost$ 0 | Defined$ Self | CounterType$ PRESS
|
||||
T:Mode$ PlaneswalkedFrom | ValidCard$ Plane.Self | Execute$ Eruption | TriggerDescription$ When you planeswalk away from CARDNAME, it deals damage equal to the number of pressure counters on it to each creature and each planeswalker.
|
||||
SVar:Eruption:AB$ DamageAll | Cost$ 0 | ValidCards$ Creature,Planeswalker | ValidDescription$ each creature and each planeswalker. | NumDmg$ KeraliaX | References$ KeraliaX
|
||||
T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll {C}, prevent all damage that planes named CARDNAME would deal this game to permanents you control.
|
||||
SVar:RolledChaos:AB$ Effect | Cost$ 0 | Name$ Mount Keralia Effect | StaticAbilities$ KeraliaProtection | EffectOwner$ TriggeredPlayer | Duration$ Permanent | SpellDescription$ Prevent all damage that planes named CARDNAME would deal this game to permanents you control.
|
||||
SVar:RolledChaos:AB$ Effect | Cost$ 0 | Name$ Mount Keralia Effect | StaticAbilities$ KeraliaProtection | EffectOwner$ You | Duration$ Permanent | SpellDescription$ Prevent all damage that planes named CARDNAME would deal this game to permanents you control.
|
||||
SVar:KeraliaProtection:Mode$ PreventDamage | EffectZone$ Command | Target$ Permanent.YouCtrl | Source$ Plane.namedMount Keralia | Description$ Prevent all damage that planes named Mount Keralia would deal this game to permanents you control.
|
||||
SVar:KeraliaX:TriggeredSource$CardCounters.PRESSURE
|
||||
SVar:AIRollPlanarDieParams:Mode$ Always | LowPriority$ True
|
||||
|
||||
15
forge-gui/res/cardsfolder/p/pools_of_becoming.txt
Normal file
15
forge-gui/res/cardsfolder/p/pools_of_becoming.txt
Normal file
@@ -0,0 +1,15 @@
|
||||
Name:Pools of Becoming
|
||||
ManaCost:no cost
|
||||
Types:Plane Bolas's Meditation Realm
|
||||
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Command | Execute$ TrigChangeZone | TriggerDescription$ At the beginning of your end step, put the cards in your hand on the bottom of your library in any order, then draw that many cards.
|
||||
SVar:TrigChangeZone:AB$ ChangeZoneAll | Cost$ 0 | ChangeType$ Card.YouOwn | Origin$ Hand | Destination$ Library | LibraryPosition$ -1 | RememberChanged$ True | SubAbility$ DBDraw
|
||||
SVar:DBDraw:DB$ Draw | NumCards$ Y | References$ Y | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:Y:Remembered$Amount
|
||||
T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll {C}, reveal the top three cards of your planar deck. Each of the revealed cards' {C} abilities triggers. Then put the revealed cards on the bottom of your planar deck in any order.
|
||||
SVar:RolledChaos:AB$ Dig | Cost$ 0 | DigNum$ 3 | NoMove$ True | Reveal$ True | SourceZone$ PlanarDeck | RememberRevealed$ True | SubAbility$ DBRunChaos
|
||||
SVar:DBRunChaos:DB$ RunSVarAbility | Defined$ Remembered | SVars$ RolledChaos | IsTrigger$ True | SubAbility$ DBChangeZone
|
||||
SVar:DBChangeZone:DB$ ChangeZoneAll | ChangeType$ Card.IsRemembered | Origin$ PlanarDeck | Destination$ PlanarDeck | LibraryPosition$ -1 | SubAbility$ DBCleanup
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/pools_of_becoming.jpg
|
||||
SVar:AIRollPlanarDieParams:Mode$ Always
|
||||
Oracle:At the beginning of your end step, put the cards in your hand on the bottom of your library in any order, then draw that many cards.\nWhenever you roll {C}, reveal the top three cards of your planar deck. Each of the revealed cards' {C} abilities triggers. Then put the revealed cards on the bottom of your planar deck in any order.
|
||||
@@ -108,6 +108,7 @@ public enum ApiType {
|
||||
Reveal (RevealEffect.class, RevealAi.class),
|
||||
RevealHand (RevealHandEffect.class, RevealHandAi.class),
|
||||
RollPlanarDice (RollPlanarDiceEffect.class, RollPlanarDiceAi.class),
|
||||
RunSVarAbility (RunSVarAbilityEffect.class, AlwaysPlayAi.class),
|
||||
Sacrifice (SacrificeEffect.class, SacrificeAi.class),
|
||||
SacrificeAll (SacrificeAllEffect.class, SacrificeAllAi.class),
|
||||
Scry (ScryEffect.class, ScryAi.class),
|
||||
|
||||
@@ -85,7 +85,8 @@ public class ChangeZoneAllEffect extends SpellAbilityEffect {
|
||||
|
||||
final int libraryPos = sa.hasParam("LibraryPosition") ? Integer.parseInt(sa.getParam("LibraryPosition")) : 0;
|
||||
|
||||
if (destination.equals(ZoneType.Library) && !sa.hasParam("Shuffle") && cards.size() >= 2 && !random) {
|
||||
if ((destination == ZoneType.Library || destination == ZoneType.PlanarDeck)
|
||||
&& !sa.hasParam("Shuffle") && cards.size() >= 2 && !random) {
|
||||
cards = sa.getActivatingPlayer().getController().orderMoveToZoneList(cards, destination);
|
||||
}
|
||||
|
||||
@@ -94,7 +95,7 @@ public class ChangeZoneAllEffect extends SpellAbilityEffect {
|
||||
}
|
||||
|
||||
for (final Card c : cards) {
|
||||
if (destination.equals(ZoneType.Battlefield)) {
|
||||
if (destination == ZoneType.Battlefield) {
|
||||
// Auras without Candidates stay in their current location
|
||||
if (c.isAura()) {
|
||||
final SpellAbility saAura = AttachEffect.getAttachSpellAbility(c);
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
package forge.game.ability.effects;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import forge.game.ability.AbilityFactory;
|
||||
import forge.game.ability.SpellAbilityEffect;
|
||||
import forge.game.card.Card;
|
||||
import forge.game.spellability.SpellAbility;
|
||||
|
||||
public class RunSVarAbilityEffect extends SpellAbilityEffect {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.card.abilityfactory.SpellEffect#resolve(forge.card.spellability.SpellAbility)
|
||||
*/
|
||||
@Override
|
||||
public void resolve(SpellAbility sa) {
|
||||
String sVars = sa.getParam("SVars");
|
||||
List<Card> cards = getTargetCards(sa);
|
||||
if (sVars == null || cards.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
List<SpellAbility> validSA = new ArrayList<SpellAbility>();
|
||||
final boolean isTrigger = sa.hasParam("IsTrigger");
|
||||
for (final Card tgtC : cards) {
|
||||
if (!tgtC.hasSVar(sVars)) {
|
||||
continue;
|
||||
}
|
||||
final SpellAbility actualSA = AbilityFactory.getAbility(tgtC.getSVar(sVars), tgtC);
|
||||
actualSA.setTrigger(isTrigger);
|
||||
actualSA.setActivatingPlayer(sa.getActivatingPlayer());
|
||||
actualSA.setDescription(tgtC.getName() + "'s ability");
|
||||
validSA.add(actualSA);
|
||||
}
|
||||
sa.getActivatingPlayer().getController().orderAndPlaySimultaneousSa(validSA);
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user