Merge branch 'colorsCtrlFix' into 'master'

CardFactoryUtil: make ColorsCtrl only check the players battlefield

See merge request core-developers/forge!3507
This commit is contained in:
Anthony Calosa
2020-12-09 13:06:50 +00:00
9 changed files with 9 additions and 22 deletions

View File

@@ -1100,7 +1100,7 @@ public class CardFactoryUtil {
if (sq[0].contains("ColorsCtrl")) { if (sq[0].contains("ColorsCtrl")) {
final String restriction = l[0].substring(11); final String restriction = l[0].substring(11);
final String[] rest = restriction.split(","); final String[] rest = restriction.split(",");
final CardCollection list = CardLists.getValidCards(cc.getGame().getCardsInGame(), rest, cc, c, null); final CardCollection list = CardLists.getValidCards(cc.getCardsIn(ZoneType.Battlefield), rest, cc, c, null);
byte n = 0; byte n = 0;
for (final Card card : list) { for (final Card card : list) {
n |= card.determineColor().getColor(); n |= card.determineColor().getColor();
@@ -1540,15 +1540,6 @@ public class CardFactoryUtil {
SpellAbility castSA = c.getCastSA(); SpellAbility castSA = c.getCastSA();
return doXMath(castSA == null ? 0 : castSA.getPayingColors().countColors(), m, c); return doXMath(castSA == null ? 0 : castSA.getPayingColors().countColors(), m, c);
} }
// Count$ColoredCreatures *a DOMAIN for creatures*
if (sq[0].contains("ColoredCreatures")) {
int mask = 0;
CardCollection someCards = CardLists.filter(cc.getCardsIn(ZoneType.Battlefield), Presets.CREATURES);
for (final Card crd : someCards) {
mask |= CardUtil.getColors(crd).getColor();
}
return doXMath(ColorSet.fromMask(mask).countColors(), m, c);
}
// Count$CardMulticolor.<numMC>.<numNotMC> // Count$CardMulticolor.<numMC>.<numNotMC>
if (sq[0].contains("CardMulticolor")) { if (sq[0].contains("CardMulticolor")) {

View File

@@ -5,5 +5,5 @@ S:Mode$ Continuous | Affected$ You | ManaColorConversion$ Additive | WhiteConver
SVar:NonStackingEffect:True SVar:NonStackingEffect:True
A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 5 | SpellDescription$ Add {C}{C}{C}{C}{C}. A:AB$ Mana | Cost$ T | Produced$ C | Amount$ 5 | SpellDescription$ Add {C}{C}{C}{C}{C}.
A:AB$ Draw | Cost$ 5 T | NumCards$ X | References$ X | SpellDescription$ Draw a card for each color among permanents you control. A:AB$ Draw | Cost$ 5 T | NumCards$ X | References$ X | SpellDescription$ Draw a card for each color among permanents you control.
SVar:X:Count$ColorsCtrl Permanent.YouCtrl+inZoneBattlefield SVar:X:Count$ColorsCtrl Permanent
Oracle:You may spend mana as though it were mana of any color.\n{T}: Add {C}{C}{C}{C}{C}.\n{5}, {T}: Draw a card for each color among permanents you control. Oracle:You may spend mana as though it were mana of any color.\n{T}: Add {C}{C}{C}{C}{C}.\n{5}, {T}: Draw a card for each color among permanents you control.

View File

@@ -2,9 +2,8 @@ Name:Coalition Victory
ManaCost:3 W U B R G ManaCost:3 W U B R G
Types:Sorcery Types:Sorcery
A:SP$ WinsGame | Cost$ 3 W U B R G | Defined$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ10 | References$ X,Y,Z | SpellDescription$ You win the game if you control a land of each basic land type and a creature of each color. A:SP$ WinsGame | Cost$ 3 W U B R G | Defined$ You | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ10 | References$ X,Y,Z | SpellDescription$ You win the game if you control a land of each basic land type and a creature of each color.
SVar:Z:Count$ColoredCreatures SVar:Z:Count$ColorsCtrl Creature
SVar:Y:Count$Domain SVar:Y:Count$Domain
SVar:X:SVar$Y/Plus.Z SVar:X:SVar$Y/Plus.Z
AI:RemoveDeck:Random AI:RemoveDeck:Random
SVar:Picture:http://www.wizards.com/global/images/magic/general/coalition_victory.jpg
Oracle:You win the game if you control a land of each basic land type and a creature of each color. Oracle:You win the game if you control a land of each basic land type and a creature of each color.

View File

@@ -3,7 +3,6 @@ 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 Permanent.YouCtrl+inZoneBattlefield SVar:X:Count$ColorsCtrl Permanent
K:Equip:2 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} 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

@@ -4,7 +4,7 @@ Types:Creature Treefolk Druid
PT:0/0 PT:0/0
K:Vigilance K:Vigilance
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | Description$ CARDNAME gets +1/+1 for each color among permanents you control. S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | Description$ CARDNAME gets +1/+1 for each color among permanents you control.
SVar:X:Count$ColorsCtrl Permanent.YouCtrl+inZoneBattlefield SVar:X:Count$ColorsCtrl Permanent
A:AB$ Mana | Cost$ T | Produced$ Special EachColorAmong_Permanent.YouCtrl | SpellDescription$ For each color among permanents you control, add one mana of that color. A:AB$ Mana | Cost$ T | Produced$ Special EachColorAmong_Permanent.YouCtrl | SpellDescription$ For each color among permanents you control, add one mana of that color.
AI:RemoveDeck:All AI:RemoveDeck:All
Oracle:Vigilance\nFaeburrow Elder gets +1/+1 for each color among permanents you control.\n{T}: For each color among permanents you control, add one mana of that color. Oracle:Vigilance\nFaeburrow Elder gets +1/+1 for each color among permanents you control.\n{T}: For each color among permanents you control, add one mana of that color.

View File

@@ -6,7 +6,7 @@ SVar:TrigGainLife:DB$ GainLife | Defined$ Player | LifeAmount$ 5 | SubAbility$ D
SVar:DBDraw:DB$ Draw | Defined$ Player | NumCards$ 1 SVar:DBDraw:DB$ Draw | Defined$ Player | NumCards$ 1
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | CheckSVar$ Z | SVarCompare$ EQ11 | LifeTotal$ You | LifeAmount$ GEW | References$ X,Y,Z,W | Execute$ TrigWin | TriggerDescription$ At the beginning of your upkeep, if there are five colors among permanents you control, there are six or more card types among permanents you control and/or cards in your graveyard, and your life total is greater than or equal to your starting life total, you win the game. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | CheckSVar$ Z | SVarCompare$ EQ11 | LifeTotal$ You | LifeAmount$ GEW | References$ X,Y,Z,W | Execute$ TrigWin | TriggerDescription$ At the beginning of your upkeep, if there are five colors among permanents you control, there are six or more card types among permanents you control and/or cards in your graveyard, and your life total is greater than or equal to your starting life total, you win the game.
SVar:TrigWin:DB$ WinsGame | Defined$ You SVar:TrigWin:DB$ WinsGame | Defined$ You
SVar:X:Count$ColorsCtrl Permanent.YouCtrl+inZoneBattlefield/LimitMax.5 SVar:X:Count$ColorsCtrl Permanent/LimitMax.5
SVar:Y:Count$CardControllerTypes.Battlefield,Graveyard/LimitMax.6 SVar:Y:Count$CardControllerTypes.Battlefield,Graveyard/LimitMax.6
SVar:Z:SVar$X/Plus.Y SVar:Z:SVar$X/Plus.Y
SVar:W:Count$YourStartingLife SVar:W:Count$YourStartingLife

View File

@@ -5,7 +5,6 @@ PT:4/4
K:Flying K:Flying
T:Mode$ SpellCast | ValidActivatingPlayer$ You | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast a spell, put a +1/+1 counter on CARDNAME for each of that spell's colors. T:Mode$ SpellCast | ValidActivatingPlayer$ You | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast a spell, put a +1/+1 counter on CARDNAME for each of that spell's colors.
SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ X | References$ X SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ X | References$ X
SVar:X:TriggeredCard$ColorsCtrl Card.Self SVar:X:TriggeredCard$CardNumColors
A:AB$ Mana | Cost$ SubCounter<5/P1P1> | Produced$ W W U U B B R R G G | ActivationLimit$ 1 | SpellDescription$ Add {W}{W}{U}{U}{B}{B}{R}{R}{G}{G}. Activate this ability only once each turn. A:AB$ Mana | Cost$ SubCounter<5/P1P1> | Produced$ W W U U B B R R G G | ActivationLimit$ 1 | SpellDescription$ Add {W}{W}{U}{U}{B}{B}{R}{R}{G}{G}. Activate this ability only once each turn.
SVar:Picture:http://www.wizards.com/global/images/magic/general/ramos_dragon_engine.jpg
Oracle:Flying\nWhenever you cast a spell, put a +1/+1 counter on Ramos, Dragon Engine for each of that spell's colors.\nRemove five +1/+1 counters from Ramos: Add {W}{W}{U}{U}{B}{B}{R}{R}{G}{G}. Activate this ability only once each turn. Oracle:Flying\nWhenever you cast a spell, put a +1/+1 counter on Ramos, Dragon Engine for each of that spell's colors.\nRemove five +1/+1 counters from Ramos: Add {W}{W}{U}{U}{B}{B}{R}{R}{G}{G}. Activate this ability only once each turn.

View File

@@ -3,7 +3,7 @@ ManaCost:2 W
Types:Legendary Creature Human Soldier Types:Legendary Creature Human Soldier
PT:2/2 PT:2/2
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | References$ X | Description$ CARDNAME gets +1/+1 for each color among other legendary permanents you control. S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | References$ X | Description$ CARDNAME gets +1/+1 for each color among other legendary permanents you control.
SVar:X:Count$ColorsCtrl Permanent.YouCtrl+Other+Legendary+inZoneBattlefield SVar:X:Count$ColorsCtrl Permanent.Other+Legendary
A:AB$ ChangeZone | Cost$ W U B R G | Origin$ Library | Destination$ Battlefield | ChangeType$ Permanent.Legendary+cmcLTY | ChangeNum$ 1 | References$ Y | SpellDescription$ Search your library for a legendary permanent card with converted mana cost less than NICKNAME's power, put that card onto the battlefield, then shuffle your library. A:AB$ ChangeZone | Cost$ W U B R G | Origin$ Library | Destination$ Battlefield | ChangeType$ Permanent.Legendary+cmcLTY | ChangeNum$ 1 | References$ Y | SpellDescription$ Search your library for a legendary permanent card with converted mana cost less than NICKNAME's power, put that card onto the battlefield, then shuffle your library.
SVar:Y:Count$CardPower SVar:Y:Count$CardPower
DeckHints:Type$Legendary DeckHints:Type$Legendary

View File

@@ -5,7 +5,6 @@ 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 Permanent.YouCtrl+inZoneBattlefield SVar:X:Count$ColorsCtrl Permanent
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
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.