1
0
Fork 0
mirror of https://github.com/correl/mage.git synced 2025-04-03 01:08:59 -09:00

[DMU] Implemented Colossal Growth

This commit is contained in:
Daniel Bomar 2022-08-23 21:20:04 -05:00
parent 3933325573
commit 0f909edbce
No known key found for this signature in database
GPG key ID: C86C8658F4023918
2 changed files with 85 additions and 0 deletions
Mage.Sets/src/mage

View file

@ -0,0 +1,84 @@
package mage.cards.c;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.condition.common.KickedCondition;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
import mage.abilities.keyword.HasteAbility;
import mage.abilities.keyword.KickerAbility;
import mage.abilities.keyword.TrampleAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.common.TargetCreaturePermanent;
import mage.target.targetpointer.FixedTarget;
/**
*
* @author weirddan455
*/
public final class ColossalGrowth extends CardImpl {
public ColossalGrowth(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{G}");
// Kicker {R}
this.addAbility(new KickerAbility("{R}"));
// Target creature gets +3/+3 until end of turn. If this spell was kicked, instead that creature gets +4/+4 and gains trample and haste until end of turn.
this.getSpellAbility().addEffect(new ColossalGrowthEffect());
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
}
private ColossalGrowth(final ColossalGrowth card) {
super(card);
}
@Override
public ColossalGrowth copy() {
return new ColossalGrowth(this);
}
}
class ColossalGrowthEffect extends OneShotEffect {
public ColossalGrowthEffect() {
super(Outcome.BoostCreature);
this.staticText = "Target creature gets +3/+3 until end of turn. If this spell was kicked, instead that creature gets +4/+4 and gains trample and haste until end of turn.";
}
private ColossalGrowthEffect(final ColossalGrowthEffect effect) {
super(effect);
}
@Override
public ColossalGrowthEffect copy() {
return new ColossalGrowthEffect(this);
}
@Override
public boolean apply(Game game, Ability source) {
Permanent permanent = game.getPermanent(source.getFirstTarget());
if (permanent == null) {
return false;
}
if (KickedCondition.ONCE.apply(game, source)) {
game.addEffect(new BoostTargetEffect(4, 4)
.setTargetPointer(new FixedTarget(permanent, game)), source);
game.addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance())
.setTargetPointer(new FixedTarget(permanent, game)), source);
game.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance())
.setTargetPointer(new FixedTarget(permanent, game)), source);
} else {
game.addEffect(new BoostTargetEffect(3, 3)
.setTargetPointer(new FixedTarget(permanent, game)), source);
}
return true;
}
}

View file

@ -47,6 +47,7 @@ public final class DominariaUnited extends ExpansionSet {
cards.add(new SetCardInfo("Charismatic Vanguard", 10, Rarity.COMMON, mage.cards.c.CharismaticVanguard.class));
cards.add(new SetCardInfo("Citizen's Arrest", 11, Rarity.COMMON, mage.cards.c.CitizensArrest.class));
cards.add(new SetCardInfo("Coalition Skyknight", 14, Rarity.UNCOMMON, mage.cards.c.CoalitionSkyknight.class));
cards.add(new SetCardInfo("Colossal Growth", 158, Rarity.COMMON, mage.cards.c.ColossalGrowth.class));
cards.add(new SetCardInfo("Cult Conscript", 88, Rarity.UNCOMMON, mage.cards.c.CultConscript.class));
cards.add(new SetCardInfo("Cut Down", 89, Rarity.UNCOMMON, mage.cards.c.CutDown.class));
cards.add(new SetCardInfo("Dragon Whelp", 120, Rarity.UNCOMMON, mage.cards.d.DragonWhelp.class));