PIP: C.A.M.P. + support

This commit is contained in:
Northmoc
2024-03-27 11:34:24 -04:00
committed by Chris H
parent 806a654ee4
commit 1172e6d3d6
3 changed files with 18 additions and 1 deletions

View File

@@ -748,6 +748,14 @@ public class CardProperty {
return false;
}
break;
case "TriggeredProduced":
final SpellAbility root = ((SpellAbility) spellAbility).getRootAbility();
final Object prod = (Object) root.getTriggeringObject(AbilityKey.Produced);
if (!(prod instanceof String)) return false;
String produced = (String) prod;
ColorSet cs = ColorSet.fromNames(produced.split(" "));
if (!card.getColor().hasAnyColor(cs.getColor())) return false;
break;
default:
if (!Iterables.any(AbilityUtils.getDefinedCards(source, restriction, spellAbility), CardPredicates.sharesColorWith(card))) {
return false;

View File

@@ -5,7 +5,7 @@ S:Mode$ ManaConvert | ValidPlayer$ You | ValidCard$ Creature.YouCtrl+inZoneBattl
S:Mode$ Continuous | Affected$ Creature.YouCtrl+counters_GE1_P1P1 | EffectZone$ Battlefield | GainsAbilitiesOf$ Creature.ExiledWithSource | GainsAbilitiesOfZones$ Exile | Description$ Creatures you control with +1/+1 counters on them have all activated abilities of all creature cards exiled with CARDNAME.
A:AB$ ChangeZone | Cost$ T | Origin$ Graveyard | Destination$ Exile | TgtPrompt$ Choose target card in a graveyard | RememberChanged$ True | ValidTgts$ Card | SubAbility$ TrigImmediateTrig | SpellDescription$ Exile target card from a graveyard. When a creature card is exiled this way, put a +1/+1 counter on target creature you control.
SVar:TrigImmediateTrig:DB$ ImmediateTrigger | ConditionDefined$ Remembered | ConditionPresent$ Creature | ConditionCompare$ GE1 | Execute$ TrigPutCounter | SubAbility$ DBCleanup | TriggerDescription$ When a creature card is exiled this way, put a +1/+1 counter on target creature you control.
SVar:TrigPutCounter:DB$ PutCounter | ValidTgts$ Creature.YouCtrl | CounterType$ P1P1 | CounterNum$ 1
SVar:TrigPutCounter:DB$ PutCounter | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | CounterType$ P1P1 | CounterNum$ 1
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
DeckHas:Ability$Graveyard|Counters
DeckHints:Ability$Counters

View File

@@ -0,0 +1,9 @@
Name:C.A.M.P.
ManaCost:3
Types:Artifact Fortification
T:Mode$ TapsForMana | ValidCard$ Card.FortifiedBy | Execute$ TrigPutCounter | TriggerDescription$ Whenever fortified land is tapped for mana, put a +1/+1 counter on target creature you control. If that creature shares a color with the mana that land produced, create a Junk token. (It's an artifact with "{T}, Sacrifice this artifact: Exile the top card of your library. You may play that card this turn. Activate only as a sorcery.")
SVar:TrigPutCounter:DB$ PutCounter | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | CounterType$ P1P1 | SubAbility$ DBJunk
SVar:DBJunk:DB$ Token | ConditionDefined$ Targeted | ConditionPresent$ Card.SharesColorWith TriggeredProduced | TokenScript$ c_a_junk_sac_exileplay
K:Fortify:3
DeckHas:Ability$Counters|Token|Sacrifice & Type$Artifact|Junk
Oracle:Whenever fortified land is tapped for mana, put a +1/+1 counter on target creature you control. If that creature shares a color with the mana that land produced, create a Junk token. (It's an artifact with "{T}, Sacrifice this artifact: Exile the top card of your library. You may play that card this turn. Activate only as a sorcery.")\nFortify {3} ({3}: Attach to target land you control. Fortify only as a sorcery.)