- 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/nicol_bolas_god_pharaoh.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/vaevictis_asmadi.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;
}
}
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")) {
final SpellAbility root = sa.getRootAbility();
list = new CardCollection((Card) root.getTriggeringObject(calcX[0].substring(9)));

View File

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

View File

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

View File

@@ -3,7 +3,7 @@ ManaCost:2
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$ 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
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}

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:DBDiscardHand:DB$ Discard | Mode$ Hand | Defined$ You | SubAbility$ DBExileSix
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: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.

View File

@@ -1,7 +1,7 @@
Name:Only Blood Ends Your Nightmares
ManaCost:no cost
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: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

View File

@@ -5,7 +5,7 @@ PT:6/6
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 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
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.

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.