mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 03:08:02 +00:00
- Archenemy Nicol Bolas: Add a scheme
- Update scripts and add codes for C17 leaks
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -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
|
||||||
|
|||||||
@@ -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)));
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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}
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
||||||
Reference in New Issue
Block a user