[MH2] Implemented Kaldra Compleat (#7883)

This commit is contained in:
Daniel Bomar 2021-06-03 20:50:34 -05:00 committed by GitHub
parent 9581fe16e3
commit 90f09dd816
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 89 additions and 0 deletions

View file

@ -0,0 +1,87 @@
package mage.cards.k;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.DealsDamageToACreatureTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.ExileTargetEffect;
import mage.abilities.effects.common.continuous.BoostEquippedEffect;
import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
import mage.abilities.keyword.*;
import mage.constants.*;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.filter.StaticFilters;
/**
*
* @author weirddan455
*/
public final class KaldraCompleat extends CardImpl {
public KaldraCompleat(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{7}");
this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.EQUIPMENT);
// Living weapon
this.addAbility(new LivingWeaponAbility());
// Indestructible
this.addAbility(IndestructibleAbility.getInstance());
// Equipped creature gets +5/+5 and has first strike, trample, indestructible, haste, and "Whenever this creature deals combat damage to a creature, exile that creature."
Ability ability = new SimpleStaticAbility(new BoostEquippedEffect(5, 5));
ability.addEffect(new GainAbilityAttachedEffect(
FirstStrikeAbility.getInstance(),
AttachmentType.EQUIPMENT,
Duration.WhileOnBattlefield,
"and has first strike"
));
ability.addEffect(new GainAbilityAttachedEffect(
TrampleAbility.getInstance(),
AttachmentType.EQUIPMENT,
Duration.WhileOnBattlefield,
", trample"
));
ability.addEffect(new GainAbilityAttachedEffect(
IndestructibleAbility.getInstance(),
AttachmentType.EQUIPMENT,
Duration.WhileOnBattlefield,
", indestructible"
));
ability.addEffect(new GainAbilityAttachedEffect(
HasteAbility.getInstance(),
AttachmentType.EQUIPMENT,
Duration.WhileOnBattlefield,
", haste"
));
ability.addEffect(new GainAbilityAttachedEffect(
new DealsDamageToACreatureTriggeredAbility(
new ExileTargetEffect("exile that creature"),
true,
false,
true,
StaticFilters.FILTER_PERMANENT_CREATURE_A
),
AttachmentType.EQUIPMENT,
Duration.WhileOnBattlefield,
", and \"Whenever this creature deals combat damage to a creature, exile that creature.\""
));
this.addAbility(ability);
// Equip {7}
this.addAbility(new EquipAbility(7));
}
private KaldraCompleat(final KaldraCompleat card) {
super(card);
}
@Override
public KaldraCompleat copy() {
return new KaldraCompleat(this);
}
}

View file

@ -153,6 +153,7 @@ public final class ModernHorizons2 extends ExpansionSet {
cards.add(new SetCardInfo("Jade Avenger", 167, Rarity.COMMON, mage.cards.j.JadeAvenger.class));
cards.add(new SetCardInfo("Jewel-Eyed Cobra", 168, Rarity.COMMON, mage.cards.j.JewelEyedCobra.class));
cards.add(new SetCardInfo("Junk Winder", 48, Rarity.UNCOMMON, mage.cards.j.JunkWinder.class));
cards.add(new SetCardInfo("Kaldra Compleat", 227, Rarity.MYTHIC, mage.cards.k.KaldraCompleat.class));
cards.add(new SetCardInfo("Kaleidoscorch", 133, Rarity.UNCOMMON, mage.cards.k.Kaleidoscorch.class));
cards.add(new SetCardInfo("Karmic Guide", 263, Rarity.RARE, mage.cards.k.KarmicGuide.class));
cards.add(new SetCardInfo("Kitchen Imp", 89, Rarity.COMMON, mage.cards.k.KitchenImp.class));

View file

@ -81,6 +81,7 @@ public class DealsDamageToACreatureTriggeredAbility extends TriggeredAbilityImpl
sb.append("a creature, ");
} else {
sb.append(filter.getMessage());
sb.append(", ");
}
sb.append(super.getRule());
return sb.toString();