[EOE] Implement Thrumming Hivepool

This commit is contained in:
theelk801 2025-07-08 15:53:51 -04:00
parent 6a68948a1d
commit 14f17dff91
3 changed files with 60 additions and 0 deletions

View file

@ -0,0 +1,57 @@
package mage.cards.t;
import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
import mage.abilities.keyword.AffinityAbility;
import mage.abilities.keyword.DoubleStrikeAbility;
import mage.abilities.keyword.HasteAbility;
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.AffinityType;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledPermanent;
import mage.game.permanent.token.SliverToken;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class ThrummingHivepool extends CardImpl {
private static final FilterPermanent filter = new FilterControlledPermanent(SubType.SLIVER, "Slivers");
public ThrummingHivepool(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{6}");
// Affinity for Slivers
this.addAbility(new AffinityAbility(AffinityType.SLIVERS));
// Slivers you control have double strike and haste.
Ability ability = new SimpleStaticAbility(new GainAbilityControlledEffect(
DoubleStrikeAbility.getInstance(), Duration.WhileOnBattlefield, filter
));
ability.addEffect(new GainAbilityControlledEffect(
HasteAbility.getInstance(), Duration.WhileOnBattlefield, filter
).setText("and haste"));
this.addAbility(ability);
// At the beginning of your upkeep, create two 1/1 colorless Sliver creature tokens.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new SliverToken(), 2)));
}
private ThrummingHivepool(final ThrummingHivepool card) {
super(card);
}
@Override
public ThrummingHivepool copy() {
return new ThrummingHivepool(this);
}
}

View file

@ -65,6 +65,8 @@ public final class EdgeOfEternities extends ExpansionSet {
cards.add(new SetCardInfo("Temporal Intervention", 120, Rarity.COMMON, mage.cards.t.TemporalIntervention.class)); cards.add(new SetCardInfo("Temporal Intervention", 120, Rarity.COMMON, mage.cards.t.TemporalIntervention.class));
cards.add(new SetCardInfo("Tezzeret, Cruel Captain", 2, Rarity.MYTHIC, mage.cards.t.TezzeretCruelCaptain.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Tezzeret, Cruel Captain", 2, Rarity.MYTHIC, mage.cards.t.TezzeretCruelCaptain.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Tezzeret, Cruel Captain", 287, Rarity.MYTHIC, mage.cards.t.TezzeretCruelCaptain.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Tezzeret, Cruel Captain", 287, Rarity.MYTHIC, mage.cards.t.TezzeretCruelCaptain.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Thrumming Hivepool", 247, Rarity.RARE, mage.cards.t.ThrummingHivepool.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Thrumming Hivepool", 356, Rarity.RARE, mage.cards.t.ThrummingHivepool.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Watery Grave", 261, Rarity.RARE, mage.cards.w.WateryGrave.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Watery Grave", 261, Rarity.RARE, mage.cards.w.WateryGrave.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Watery Grave", 286, Rarity.RARE, mage.cards.w.WateryGrave.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Watery Grave", 286, Rarity.RARE, mage.cards.w.WateryGrave.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Watery Grave", 381, Rarity.RARE, mage.cards.w.WateryGrave.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Watery Grave", 381, Rarity.RARE, mage.cards.w.WateryGrave.class, NON_FULL_USE_VARIOUS));

View file

@ -41,6 +41,7 @@ public enum AffinityType {
LIZARDS(new FilterControlledPermanent(SubType.LIZARD, "Lizards")), LIZARDS(new FilterControlledPermanent(SubType.LIZARD, "Lizards")),
BIRDS(new FilterControlledPermanent(SubType.BIRD, "Birds")), BIRDS(new FilterControlledPermanent(SubType.BIRD, "Birds")),
CITIZENS(new FilterControlledPermanent(SubType.CITIZEN, "Citizens")), CITIZENS(new FilterControlledPermanent(SubType.CITIZEN, "Citizens")),
SLIVERS(new FilterControlledPermanent(SubType.SLIVER, "Slivers")),
TOWNS(new FilterControlledPermanent(SubType.TOWN, "Towns")), TOWNS(new FilterControlledPermanent(SubType.TOWN, "Towns")),
GATES(new FilterControlledPermanent(SubType.GATE, "Gates"), GatesYouControlHint.instance), GATES(new FilterControlledPermanent(SubType.GATE, "Gates"), GatesYouControlHint.instance),
SNOW_LANDS(AffinityFilters.SNOW_LANDS), SNOW_LANDS(AffinityFilters.SNOW_LANDS),