mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-14 17:58:01 +00:00
Merge branch 'Card-Forge:master' into master
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
10
forge-gui/res/cardsfolder/upcoming/park_heights_pegasus.txt
Normal file
10
forge-gui/res/cardsfolder/upcoming/park_heights_pegasus.txt
Normal 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.
|
||||
11
forge-gui/res/cardsfolder/upcoming/scheming_fence.txt
Normal file
11
forge-gui/res/cardsfolder/upcoming/scheming_fence.txt
Normal 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.
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user