Merge branch 'Card-Forge:master' into master

This commit is contained in:
TheBlackMarvel
2022-04-27 20:02:35 +01:00
committed by GitHub
8 changed files with 34 additions and 5 deletions

View File

@@ -680,6 +680,8 @@ public class ComputerUtilMana {
} else if (mayPlay.hasParam("MayPlayIgnoreType")) {
ignoreType = true;
}
} else if (sa.hasParam("ActivateIgnoreColor")) {
ignoreColor = true;
}
boolean hasConverge = sa.getHostCard().hasConverge();
ListMultimap<ManaCostShard, SpellAbility> sourcesForShards = getSourcesForShards(cost, sa, ai, test,

View File

@@ -813,7 +813,6 @@ public final class StaticAbilityContinuous {
if (params.containsKey("GainsAbilitiesOf") || params.containsKey("GainsAbilitiesOfDefined")) {
CardCollection cardsIGainedAbilitiesFrom = new CardCollection();
final boolean loyaltyAB = params.containsKey("GainsLoyaltyAbilities");
if (params.containsKey("GainsAbilitiesOf")) {
final String[] valids = params.get("GainsAbilitiesOf").split(",");
@@ -832,7 +831,7 @@ public final class StaticAbilityContinuous {
for (Card c : cardsIGainedAbilitiesFrom) {
for (SpellAbility sa : c.getSpellAbilities()) {
if (sa.isActivatedAbility()) {
if (loyaltyAB && !sa.isPwAbility()) {
if (!stAb.matchesValidParam("GainsValidAbilities", sa)) {
continue;
}
SpellAbility newSA = sa.copy(affectedCard, false);
@@ -840,6 +839,9 @@ public final class StaticAbilityContinuous {
newSA.setRestrictions(sa.getRestrictions());
newSA.getRestrictions().setLimitToCheck(params.get("GainsAbilitiesLimitPerTurn"));
}
if (params.containsKey("GainsAbilitiesActivateIgnoreColor")) {
newSA.putParam("ActivateIgnoreColor","True");
}
newSA.setOriginalAbility(sa); // need to be set to get the Once Per turn Clause correct
newSA.setGrantorStatic(stAb);
newSA.setIntrinsic(false);

View File

@@ -2,7 +2,7 @@ Name:Kasmina, Enigma Sage
ManaCost:1 G U
Types:Legendary Planeswalker Kasmina
Loyalty:2
S:Mode$ Continuous | Affected$ Planeswalker.Other+YouCtrl | EffectZone$ Battlefield | GainsAbilitiesOf$ Card.Self | GainsLoyaltyAbilities$ True | Description$ Each other planeswalker you control has the loyalty abilities of CARDNAME.
S:Mode$ Continuous | Affected$ Planeswalker.Other+YouCtrl | EffectZone$ Battlefield | GainsAbilitiesOfDefined$ Self | GainsValidAbilities$ Activated.Loyalty | Description$ Each other planeswalker you control has the loyalty abilities of CARDNAME.
A:AB$ Scry | Cost$ AddCounter<2/LOYALTY> | Planeswalker$ True | ScryNum$ 1 | SpellDescription$ Scry 1.
A:AB$ Token | Cost$ SubCounter<X/LOYALTY> | Planeswalker$ True | TokenScript$ gu_0_0_fractal | SubAbility$ DBPutCounter | RememberTokens$ True | SpellDescription$ Create a 0/0 green and blue Fractal creature token. Put X +1/+1 counters on it.
SVar:DBPutCounter:DB$ PutCounter | Defined$ Remembered | CounterType$ P1P1 | CounterNum$ X | SubAbility$ DBCleanup

View File

@@ -2,7 +2,7 @@ Name:Nicol Bolas, Dragon-God
ManaCost:U B B B R
Types:Legendary Planeswalker Bolas
Loyalty:4
S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ Battlefield | GainsAbilitiesOf$ Planeswalker.Other | GainsLoyaltyAbilities$ True | Description$ CARDNAME has all loyalty abilities of all other planeswalkers on the battlefield.
S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ Battlefield | GainsAbilitiesOf$ Planeswalker.Other | GainsValidAbilities$ Activated.Loyalty | Description$ CARDNAME has all loyalty abilities of all other planeswalkers on the battlefield.
A:AB$ Draw | Cost$ AddCounter<1/LOYALTY> | NumCards$ 1 | SubAbility$ DBChangeZone | Planeswalker$ True | SpellDescription$ You draw a card. Each opponent exiles a card from their hand or a permanent they control.
SVar:DBChangeZone:DB$ ChangeZone | Origin$ Battlefield,Hand | Destination$ Exile | DefinedPlayer$ Player.Opponent | ChangeType$ Card | ChangeNum$ 1 | Mandatory$ True
AI:RemoveDeck:Random

View File

@@ -2,7 +2,7 @@ Name:Shadow Stinger
ManaCost:2 B
Types:Creature Vampire Rogue
PT:1/4
A:AB$ Pump | Cost$ tapXType<1/Rogue> | Defined$ Self | KW$ Deathtouch | SpellDescription$ CARDNAME gains deathtouch until end of turn.
A:AB$ Pump | Cost$ tapXType<1/Rogue.Other> | Defined$ Self | KW$ Deathtouch | SpellDescription$ CARDNAME gains deathtouch until end of turn.
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigMill | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, that player mills three cards. (They put the top three cards of their library into their graveyard.)
SVar:TrigMill:DB$ Mill | Defined$ TriggeredTarget | NumCards$ 3
DeckHas:Ability$Mill

View File

@@ -0,0 +1,10 @@
Name:Park Heights Pegasus
ManaCost:G W
Types:Creature Pegasus
PT:2/1
K:Flying
K:Trample
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigDraw | CheckSVar$ X | SVarCompare$ GE2 | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, draw a card if you had two or more creatures enter the battlefield under your control this turn.
SVar:TrigDraw:DB$ Draw
SVar:X:Count$ThisTurnEntered_Battlefield_Creature.YouCtrl
Oracle:Flying, trample\nWhenever Park Heights Pegasus deals combat damage to a player, draw a card if you had two or more creatures enter the battlefield under your control this turn.

View File

@@ -0,0 +1,11 @@
Name:Scheming Fence
ManaCost:W U
Types:Creature Human Citizen
PT:2/3
K:ETBReplacement:Other:ChooseCard
SVar:ChooseCard:DB$ ChooseCard | Choices$ Permanent.nonLand | MinAmount$ 0 | ChoiceTitle$ You may choose a nonland permanent | AILogic$ OppPreferred | SpellDescription$ As CARDNAME enters the battlefield, you may choose a nonland permanent.
S:Mode$ Continuous | Affected$ Card.ChosenCard | AddHiddenKeyword$ CARDNAME's activated abilities can't be activated. | Description$ Activated abilities of the chosen permanent can't be activated.
S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ Battlefield | GainsAbilitiesOfDefined$ ChosenCard | GainsValidAbilities$ Activated.nonLoyalty | GainsAbilitiesActivateIgnoreColor$ True | Description$ CARDNAME has all activated abilities of the chosen permanent except for loyalty abilities. You may spend mana as though it were mana of any color to activate those abilities.
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | Static$ True | ValidCard$ Card.ChosenCard | Execute$ TrigCleanup
SVar:TrigCleanup:DB$ Cleanup | ClearChosenCard$ True
Oracle:As Scheming Fence enters the battlefield, you may choose a nonland permanent.\nActivated abilities of the chosen permanent can't be activated.\nScheming Fence has all activated abilities of the chosen permanent except for loyalty abilities. You may spend mana as though it were mana of any color to activate those abilities.

View File

@@ -138,6 +138,10 @@ public class HumanPlaySpellAbility {
keywordColor = true;
}
}
if (ability.hasParam("ActivateIgnoreColor")) {
AbilityUtils.applyManaColorConversion(payment, MagicColor.Constant.ANY_COLOR_CONVERSION);
manaColorConversion = true;
}
if (keywordColor) {
AbilityUtils.applyManaColorConversion(payment, params);