Skip to content

Commit

Permalink
Simplify Hazel's Brewmaster
Browse files Browse the repository at this point in the history
  • Loading branch information
PurpleCrowbar committed Aug 14, 2024
1 parent 9733df0 commit 51ba062
Showing 1 changed file with 2 additions and 31 deletions.
33 changes: 2 additions & 31 deletions Mage.Sets/src/mage/cards/h/HazelsBrewmaster.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,9 @@
import mage.abilities.common.EntersBattlefieldOrAttacksSourceTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.ContinuousEffectImpl;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.ExileTargetEffect;
import mage.abilities.keyword.MenaceAbility;
import mage.cards.Card;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
Expand All @@ -18,7 +17,6 @@
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.game.permanent.token.FoodToken;
import mage.players.Player;
import mage.target.common.TargetCardInGraveyard;
import mage.util.CardUtil;

Expand All @@ -42,7 +40,7 @@ public HazelsBrewmaster(UUID ownerId, CardSetInfo setInfo) {
this.addAbility(new MenaceAbility(false));

// Whenever Hazel's Brewmaster enters or attacks, exile up to one target card from a graveyard and create a Food token.
Ability ability = new EntersBattlefieldOrAttacksSourceTriggeredAbility(new HazelsBrewmasterExileEffect());
Ability ability = new EntersBattlefieldOrAttacksSourceTriggeredAbility(new ExileTargetEffect().setToSourceExileZone(true));
ability.addTarget(new TargetCardInGraveyard(0, 1));
ability.addEffect(new CreateTokenEffect(new FoodToken()).concatBy("and"));
this.addAbility(ability);
Expand All @@ -61,33 +59,6 @@ public HazelsBrewmaster copy() {
}
}

class HazelsBrewmasterExileEffect extends OneShotEffect {

HazelsBrewmasterExileEffect() {
super(Outcome.Benefit);
staticText = "exile up to one target card from a graveyard";
}

private HazelsBrewmasterExileEffect(final HazelsBrewmasterExileEffect effect) {
super(effect);
}

@Override
public HazelsBrewmasterExileEffect copy() {
return new HazelsBrewmasterExileEffect(this);
}

@Override
public boolean apply(Game game, Ability source) {
Player player = game.getPlayer(source.getControllerId());
Card card = game.getCard(source.getFirstTarget());
if (player == null || card == null) {
return false;
}
return player.moveCardsToExile(card, source, game, true, CardUtil.getExileZoneId(game, source), CardUtil.getSourceName(game, source));
}
}

class HazelsBrewmasterAbilityEffect extends ContinuousEffectImpl {

private static final FilterControlledPermanent filter = new FilterControlledPermanent(SubType.FOOD, "Foods you control");
Expand Down

0 comments on commit 51ba062

Please sign in to comment.