- Archenemy Nicol Bolas: Add a scheme

- Update scripts and add codes for C17 leaks
This commit is contained in:
swordshine
2017-06-10 14:07:13 +00:00
parent 33ac16eba6
commit dd2e76ec65
9 changed files with 41 additions and 11 deletions

1
.gitattributes vendored
View File

@@ -16947,6 +16947,7 @@ forge-gui/res/cardsfolder/upcoming/behold_my_grandeur.txt -text
forge-gui/res/cardsfolder/upcoming/bontus_last_reckoning.txt -text forge-gui/res/cardsfolder/upcoming/bontus_last_reckoning.txt -text
forge-gui/res/cardsfolder/upcoming/nicol_bolas_god_pharaoh.txt -text forge-gui/res/cardsfolder/upcoming/nicol_bolas_god_pharaoh.txt -text
forge-gui/res/cardsfolder/upcoming/samut_the_tested.txt -text forge-gui/res/cardsfolder/upcoming/samut_the_tested.txt -text
forge-gui/res/cardsfolder/upcoming/when_will_you_learn.txt -text
forge-gui/res/cardsfolder/v/vacuumelt.txt svneol=native#text/plain forge-gui/res/cardsfolder/v/vacuumelt.txt svneol=native#text/plain
forge-gui/res/cardsfolder/v/vaevictis_asmadi.txt svneol=native#text/plain forge-gui/res/cardsfolder/v/vaevictis_asmadi.txt svneol=native#text/plain
forge-gui/res/cardsfolder/v/vagrant_plowbeasts.txt svneol=native#text/plain forge-gui/res/cardsfolder/v/vagrant_plowbeasts.txt svneol=native#text/plain

View File

@@ -663,6 +663,10 @@ public class AbilityUtils {
list = null; list = null;
} }
} }
else if (calcX[0].startsWith("TriggerObjects")) {
final SpellAbility root = sa.getRootAbility();
list = (CardCollection) root.getTriggeringObject(calcX[0].substring(14));
}
else if (calcX[0].startsWith("Triggered")) { else if (calcX[0].startsWith("Triggered")) {
final SpellAbility root = sa.getRootAbility(); final SpellAbility root = sa.getRootAbility();
list = new CardCollection((Card) root.getTriggeringObject(calcX[0].substring(9))); list = new CardCollection((Card) root.getTriggeringObject(calcX[0].substring(9)));

View File

@@ -1071,13 +1071,15 @@ public class CardFactoryUtil {
} }
if (sq[0].contains("ColorsCtrl")) { if (sq[0].contains("ColorsCtrl")) {
final CardCollectionView list = cc.getCardsIn(ZoneType.Battlefield); final String restriction = l[0].substring(11);
int n = 0; final String[] rest = restriction.split(",");
for (final byte col : MagicColor.WUBRG) { final CardCollection list = CardLists.getValidCards(cc.getGame().getCardsInGame(), rest, cc, c, null);
if (!CardLists.getColor(list, col).isEmpty()) { int n = 0;
n++; for (final byte col : MagicColor.WUBRG) {
} if (!CardLists.getColor(list, col).isEmpty()) {
n++;
} }
}
return doXMath(n, m, c); return doXMath(n, m, c);
} }

View File

@@ -23,6 +23,7 @@ import forge.game.spellability.SpellAbility;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
/** /**
* TODO Write javadoc for this type. * TODO Write javadoc for this type.
@@ -45,6 +46,7 @@ public class TriggerAttackersDeclared extends Trigger {
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@SuppressWarnings("unchecked")
@Override @Override
public final boolean performTest(final Map<String, Object> runParams2) { public final boolean performTest(final Map<String, Object> runParams2) {
if (this.mapParams.containsKey("AttackingPlayer")) { if (this.mapParams.containsKey("AttackingPlayer")) {
@@ -55,7 +57,6 @@ public class TriggerAttackersDeclared extends Trigger {
} }
if (this.mapParams.containsKey("AttackedTarget")) { if (this.mapParams.containsKey("AttackedTarget")) {
boolean valid = false; boolean valid = false;
@SuppressWarnings("unchecked")
List<GameEntity> list = (List<GameEntity>) runParams2.get("AttackedTarget"); List<GameEntity> list = (List<GameEntity>) runParams2.get("AttackedTarget");
for (GameEntity b : list) { for (GameEntity b : list) {
if (matchesValid(b, this.mapParams.get("AttackedTarget").split(","), this.getHostCard())) { if (matchesValid(b, this.mapParams.get("AttackedTarget").split(","), this.getHostCard())) {
@@ -67,6 +68,19 @@ public class TriggerAttackersDeclared extends Trigger {
return false; return false;
} }
} }
if (this.mapParams.containsKey("ValidAttackers")) {
boolean valid = false;
final Set<Card> srcs = (Set<Card>) runParams2.get("Attackers");
for (Card c : srcs) {
if (c.isValid(this.mapParams.get("ValidAttackers").split(","), this.getHostCard().getController(), this.getHostCard(), null)) {
valid = true;
}
}
if (!valid) {
return false;
}
}
return true; return true;
} }

View File

@@ -3,7 +3,7 @@ ManaCost:2
Types:Artifact Equipment Types:Artifact Equipment
S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ X | AddToughness$ X | References$ X | Description$ Equipped creature gets +1/+1 for each color among permanents you control. S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ X | AddToughness$ X | References$ X | Description$ Equipped creature gets +1/+1 for each color among permanents you control.
S:Mode$ CantBeCast | ValidCard$ Card | Condition$ PlayerTurn | Caster$ Opponent | IsPresent$ Card.Self+AttachedTo Creature | Description$ As long as Conqueror's Flail is attached to a creature, your opponents can't cast spells during your turn. S:Mode$ CantBeCast | ValidCard$ Card | Condition$ PlayerTurn | Caster$ Opponent | IsPresent$ Card.Self+AttachedTo Creature | Description$ As long as Conqueror's Flail is attached to a creature, your opponents can't cast spells during your turn.
SVar:X:Count$ColorsCtrl SVar:X:Count$ColorsCtrl Permanent.YouCtrl+inZoneBattlefield
K:Equip 2 K:Equip 2
SVar:Picture:http://www.wizards.com/global/images/magic/general/conquerors_flail.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/conquerors_flail.jpg
Oracle:Equipped creature gets +1/+1 for each color among permanents you control.\nAs long as Conqueror's Flail is attached to a creature, your opponents can't cast spells during your turn.\nEquip {2} Oracle:Equipped creature gets +1/+1 for each color among permanents you control.\nAs long as Conqueror's Flail is attached to a creature, your opponents can't cast spells during your turn.\nEquip {2}

View File

@@ -7,7 +7,7 @@ T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage
SVar:TrigSacrifice:AB$ SacrificeAll | Cost$ 0 | ValidCards$ Permanent.YouCtrl+Other | SubAbility$ DBDiscardHand SVar:TrigSacrifice:AB$ SacrificeAll | Cost$ 0 | ValidCards$ Permanent.YouCtrl+Other | SubAbility$ DBDiscardHand
SVar:DBDiscardHand:DB$ Discard | Mode$ Hand | Defined$ You | SubAbility$ DBExileSix SVar:DBDiscardHand:DB$ Discard | Mode$ Hand | Defined$ You | SubAbility$ DBExileSix
SVar:DBExileSix:DB$ Mill | Destination$ Exile | RememberMilled$ True | NumCards$ 6 | SubAbility$ DBPlayThem SVar:DBExileSix:DB$ Mill | Destination$ Exile | RememberMilled$ True | NumCards$ 6 | SubAbility$ DBPlayThem
SVar:DBPlayThem:DB$ Play | Valid$ Card.IsRemembered+nonLand | ValidZone$ Exile | Controller$ You | WithoutManaCost$ True | Amount$ 6 | Optional$ True | SubAbility$ DBHellCleanup SVar:DBPlayThem:DB$ Play | Valid$ Card.IsRemembered+nonLand | ValidZone$ Exile | Controller$ You | WithoutManaCost$ True | Amount$ All | Optional$ True | SubAbility$ DBHellCleanup
SVar:DBHellCleanup:DB$ Cleanup | ClearRemembered$ True SVar:DBHellCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/hellcarver_demon.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/hellcarver_demon.jpg
Oracle:Flying\nWhenever Hellcarver Demon deals combat damage to a player, sacrifice all other permanents you control and discard your hand. Exile the top six cards of your library. You may cast any number of nonland cards exiled this way without paying their mana costs. Oracle:Flying\nWhenever Hellcarver Demon deals combat damage to a player, sacrifice all other permanents you control and discard your hand. Exile the top six cards of your library. You may cast any number of nonland cards exiled this way without paying their mana costs.

View File

@@ -1,7 +1,7 @@
Name:Only Blood Ends Your Nightmares Name:Only Blood Ends Your Nightmares
ManaCost:no cost ManaCost:no cost
Types:Scheme Types:Scheme
T:Mode$ SetInMotion | ValidCard$ Card.Self | Execute$ TrigSacEach | TriggerZones$ Command | OptionalDecider$ You | TriggerDescription$ When you set this scheme in motion, each opponent sacrifices a creature. Then each opponent who didn't sacrifice a creature discards two cards. T:Mode$ SetInMotion | ValidCard$ Card.Self | Execute$ TrigSacEach | TriggerZones$ Command | TriggerDescription$ When you set this scheme in motion, each opponent sacrifices a creature. Then each opponent who didn't sacrifice a creature discards two cards.
SVar:TrigSacEach:AB$ Sacrifice | Cost$ 0 | Defined$ Player.Opponent | SacValid$ Creature | RememberSacrificed$ True | SubAbility$ DBRepeat SVar:TrigSacEach:AB$ Sacrifice | Cost$ 0 | Defined$ Player.Opponent | SacValid$ Creature | RememberSacrificed$ True | SubAbility$ DBRepeat
SVar:DBRepeat:DB$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBDiscard | SubAbility$ DBCleanup SVar:DBRepeat:DB$ RepeatEach | RepeatPlayers$ Player.Opponent | RepeatSubAbility$ DBDiscard | SubAbility$ DBCleanup
SVar:DBDiscard:DB$ Discard | Defined$ Player.IsRemembered | Mode$ TgtChoose | NumCards$ 2 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | References$ X SVar:DBDiscard:DB$ Discard | Defined$ Player.IsRemembered | Mode$ TgtChoose | NumCards$ 2 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | References$ X

View File

@@ -5,7 +5,7 @@ PT:6/6
K:Flying K:Flying
A:AB$ Draw | Cost$ 5 U U | NumCards$ X | References$ X | SpellDescription$ Draw a card for each color among permanents you control. A:AB$ Draw | Cost$ 5 U U | NumCards$ X | References$ X | SpellDescription$ Draw a card for each color among permanents you control.
A:AB$ Draw | Cost$ 5 U U ExileFromGrave<1/CARDNAME> | ActivationZone$ Graveyard | NumCards$ X | References$ X | SpellDescription$ Draw a card for each color among permanents you control. A:AB$ Draw | Cost$ 5 U U ExileFromGrave<1/CARDNAME> | ActivationZone$ Graveyard | NumCards$ X | References$ X | SpellDescription$ Draw a card for each color among permanents you control.
SVar:X:Count$ColorsCtrl SVar:X:Count$ColorsCtrl Permanent.YouCtrl+inZoneBattlefield
DeckNeeds:Color$White|Red|Green|Black DeckNeeds:Color$White|Red|Green|Black
SVar:Picture:http://www.wizards.com/global/images/magic/general/soul_of_ravnica.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/soul_of_ravnica.jpg
Oracle:Flying\n{5}{U}{U}: Draw a card for each color among permanents you control.\n{5}{U}{U}, Exile Soul of Ravnica from your graveyard: Draw a card for each color among permanents you control. Oracle:Flying\n{5}{U}{U}: Draw a card for each color among permanents you control.\n{5}{U}{U}, Exile Soul of Ravnica from your graveyard: Draw a card for each color among permanents you control.

View File

@@ -0,0 +1,9 @@
Name:When Will You Learn?
ManaCost:no cost
Types:Scheme
T:Mode$ SetInMotion | ValidCard$ Card.Self | Execute$ DBExile | TriggerZones$ Command | TriggerDescription$ When you set this scheme in motion, each opponent exiles the top card of his or her library. You may cast any number of nonland cards exiled this way without paying their mana costs.
SVar:DBExile:DB$ Mill | Defined$ Player.Opponent | Destination$ Exile | NumCards$ 1 | RememberMilled$ True | SubAbility$ DBPlay
SVar:DBPlay:DB$ Play | Valid$ Card.IsRemembered+nonLand | ValidZone$ Exile | Controller$ You | WithoutManaCost$ True | Amount$ All | Optional$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:Picture:https://downloads.cardforge.org/images/cards/ARC/When Will You Learn.full.jpg
Oracle:When you set this scheme in motion, each opponent exiles the top card of his or her library. You may cast any number of nonland cards exiled this way without paying their mana costs.