[DSK] Implement Greenhouse / Rickety Gazebo

This commit is contained in:
theelk801 2025-12-07 11:51:26 -05:00
parent caba72094e
commit b9052103bb
3 changed files with 52 additions and 8 deletions

View file

@ -0,0 +1,48 @@
package mage.cards.g;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.common.UnlockThisDoorTriggeredAbility;
import mage.abilities.effects.ContinuousEffect;
import mage.abilities.effects.common.MillThenPutInHandEffect;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
import mage.abilities.mana.AnyColorManaAbility;
import mage.cards.CardSetInfo;
import mage.cards.RoomCard;
import mage.constants.CardType;
import mage.constants.DependencyType;
import mage.constants.Duration;
import mage.filter.StaticFilters;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class GreenhouseRicketyGazebo extends RoomCard {
public GreenhouseRicketyGazebo(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}", "{3}{G}");
// Greenhouse
// Lands you control have "{T}: Add one mana of any color."
ContinuousEffect effect = new GainAbilityControlledEffect(
new AnyColorManaAbility(), Duration.WhileOnBattlefield, StaticFilters.FILTER_LANDS, false
);
effect.addDependedToType(DependencyType.BecomeNonbasicLand);
this.getLeftHalfCard().addAbility(new SimpleStaticAbility(effect));
// Rickety Gazebo
// When you unlock this door, mill four cards, then return up to two permanent cards from among them to your hand.
this.getRightHalfCard().addAbility(new UnlockThisDoorTriggeredAbility(new MillThenPutInHandEffect(
4, StaticFilters.FILTER_CARD_PERMANENTS, null, true, 2
), false, false));
}
private GreenhouseRicketyGazebo(final GreenhouseRicketyGazebo card) {
super(card);
}
@Override
public GreenhouseRicketyGazebo copy() {
return new GreenhouseRicketyGazebo(this);
}
}

View file

@ -161,6 +161,7 @@ public final class DuskmournHouseOfHorror extends ExpansionSet {
cards.add(new SetCardInfo("Grand Entryway // Elegant Rotunda", 287, Rarity.COMMON, mage.cards.g.GrandEntrywayElegantRotunda.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Grand Entryway // Elegant Rotunda", 15, Rarity.COMMON, mage.cards.g.GrandEntrywayElegantRotunda.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Grasping Longneck", 180, Rarity.COMMON, mage.cards.g.GraspingLongneck.class));
cards.add(new SetCardInfo("Greenhouse // Rickety Gazebo", 181, Rarity.UNCOMMON, mage.cards.g.GreenhouseRicketyGazebo.class));
cards.add(new SetCardInfo("Gremlin Tamer", 215, Rarity.UNCOMMON, mage.cards.g.GremlinTamer.class));
cards.add(new SetCardInfo("Grievous Wound", 102, Rarity.RARE, mage.cards.g.GrievousWound.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Grievous Wound", 375, Rarity.RARE, mage.cards.g.GrievousWound.class, NON_FULL_USE_VARIOUS));

View file

@ -3,7 +3,7 @@ package mage.cards.[=$cardNameFirstLetter=];
import java.util.UUID;
[=$abilitiesImports=]
import mage.cards.CardSetInfo;
import mage.cards.SplitCard;
import mage.cards.RoomCard;
import mage.constants.CardType;
import mage.constants.SpellAbilityType;
@ -11,17 +11,12 @@ import mage.constants.SpellAbilityType;
*
* @author [=$author=]
*/
public final class [=$className=] extends SplitCard {
public final class [=$className=] extends RoomCard {
public [=$className=](UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{[=$type=]}, new CardType[]{??}, "[=$manaCost=]", "??", SpellAbilityType.SPLIT_AFTERMATH);
[=$subType=][=$colors=]
super(ownerId, setInfo, new CardType[]{[=$type=]}, "[=$manaCost=]", "??");
[= if ($power || $power eq 0) {
$OUT .= "\n this.power = new MageInt($power);";
$OUT .= "\n this.toughness = new MageInt($toughness);";} =][=$abilities=]
// getLeftHalfCard().getSpellAbility().addEffect(new Effect());
// getRightHalfCard().getSpellAbility().addEffect(new Effect());
}
private [=$className=](final [=$className=] card) {