From 0048a3b784c58c0141ab82f9fe4e8f21ce962f1e Mon Sep 17 00:00:00 2001 From: Northmoc Date: Tue, 25 Apr 2023 13:32:30 -0400 Subject: [PATCH] various Adventure-related things --- .../src/main/java/forge/game/card/CardProperty.java | 9 ++++++++- .../res/adventure/Shandalar/custom_cards/flame_sword.txt | 8 +++----- forge-gui/res/cardsfolder/p/penregon_besieged.txt | 3 ++- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/forge-game/src/main/java/forge/game/card/CardProperty.java b/forge-game/src/main/java/forge/game/card/CardProperty.java index 4695ff593e7..08244635c41 100644 --- a/forge-game/src/main/java/forge/game/card/CardProperty.java +++ b/forge-game/src/main/java/forge/game/card/CardProperty.java @@ -1316,7 +1316,14 @@ public class CardProperty { } } } else if (property.startsWith("leastToughness")) { - final CardCollectionView cards = CardLists.filter(game.getCardsIn(ZoneType.Battlefield), Presets.CREATURES); + CardCollectionView cards = CardLists.filter(game.getCardsIn(ZoneType.Battlefield), Presets.CREATURES); + if (property.contains("ControlledBy")) { + FCollectionView p = AbilityUtils.getDefinedPlayers(source, property.split("ControlledBy")[1], spellAbility); + cards = CardLists.filterControlledBy(cards, p); + if (!cards.contains(card)) { + return false; + } + } for (final Card crd : cards) { if (crd.getNetToughness() < card.getNetToughness()) { return false; diff --git a/forge-gui/res/adventure/Shandalar/custom_cards/flame_sword.txt b/forge-gui/res/adventure/Shandalar/custom_cards/flame_sword.txt index 764b2c0ca05..a4fc7b51de1 100644 --- a/forge-gui/res/adventure/Shandalar/custom_cards/flame_sword.txt +++ b/forge-gui/res/adventure/Shandalar/custom_cards/flame_sword.txt @@ -1,9 +1,7 @@ Name:Flame Sword Types:Artifact -A:AB$ DealDamage | ActivationLimit$ 1 | Cost$ PayShards<3> | ActivationZone$ Command | ValidTgts$ Any | NumDmg$ Z | SubAbility$ Eject | SpellDescription$ Deal 3 damage to any target. If the target is a tapped creature, deal 5 damage to it instead. -SVar:X:3 -SVar:Y:Targeted$Valid Creature.tapped/Times.2 -SVar:Z:SVar$X/Plus.Y +A:AB$ DealDamage | ActivationLimit$ 1 | Cost$ PayShards<3> | ActivationZone$ Command | ValidTgts$ Any | NumDmg$ X | SubAbility$ Eject | SpellDescription$ CARDNAME deals 3 damage to any target, or 5 damage to target tapped creature. +SVar:X:Count$Compare Y GE1.5.3 +SVar:Y:Targeted$Valid Creature.tapped SVar:Eject:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile Oracle:{M}{M}{M}: Flame Sword deals 3 damage to any target, or 5 damage to target tapped creature. - diff --git a/forge-gui/res/cardsfolder/p/penregon_besieged.txt b/forge-gui/res/cardsfolder/p/penregon_besieged.txt index 4b7805861cd..f8702773efc 100644 --- a/forge-gui/res/cardsfolder/p/penregon_besieged.txt +++ b/forge-gui/res/cardsfolder/p/penregon_besieged.txt @@ -7,4 +7,5 @@ SVar:DBEffect:DB$ Effect | StaticAbilities$ PerpetualDebuff | Name$ Penregon Bes SVar:PerpetualDebuff:Mode$ Continuous | Affected$ Card.ChosenCard | AddPower$ -1 | AddToughness$ -1 | EffectZone$ Command | AffectedZone$ Battlefield,Hand,Graveyard,Exile,Stack,Library,Command | Description$ This creature perpetually gets -1/-1. T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Creature.OppCtrl | PresentCompare$ EQ0 | Execute$ TrigSac | TriggerDescription$ When your opponents control no creatures, sacrifice CARDNAME. SVar:TrigSac:DB$ Sacrifice -Oracle:At the beginning of your end step, choose a creature with the least toughness among creatures your opponents control. It perpetually gets -1/-1.\nWhen your opponents control no creatures, sacrifice Penregon Besieged. \ No newline at end of file +DeckHas:Ability$Sacrifice +Oracle:At the beginning of your end step, choose a creature with the least toughness among creatures your opponents control. It perpetually gets -1/-1.\nWhen your opponents control no creatures, sacrifice Penregon Besieged.