forked from External/mage
* adding initial day/night support in game state * remove card exclusion for testing * added functional implementation to abilities from main branch * functionally implemented NightCondition * updated DayNightHint * added support for nightbound entering transformed at night * [MID] Implemented Unnatural Moonrise * [MID] Implemented The Celestus * added some docs * changed access for state day/night methods * added transformation to day/night switch * re-added unfinished filter, removed day/night cards * fixed some errors with transforming * added hints to all day/night cards * added transformation prevention plus a test * added Immerwolf test * [MID] Implemented Tovolar, Dire Overlord / Tovolar, The Midnight Scourge * refactored some cards to not use isTransformable * removed transformable parameter * simplified some transform code * fixed null pointer exception * removed unnecessary canTransform method * fixed a small error * reworked implementation of rule 701.28f * small change in transform logic * fixed failiing test * fixed verify failure * small merge change * added support for day/night switching based on spells cast * [MID] Implemented Curse of Leeches / Leeching Lurkers * moved day/night handling to untap step * added tests for cards which set day and trigger from a change * [MID] Implemented Ludevic, Necrogenius / Olag, Ludevic's Hubris * added support for creatures transforming to match day/night when necessary * fixed verify failures * fixed another verify failure * remove temporary verify skip * added transform message * removed unnecessary transform message * [MID] Implemented Angelic Enforcer / Enduring Angel * updated DayNightHint with more information * fixed verify failure * merge fix * fixed Startled Awake / Persistent Nightmare / Moonmist interaction * added another test for Moonmist * merge fix * merge fix * [MID] Implemented Baneblade Scoundrel / Baneclaw Marauder * merge fix * [MID] various text fixes * [MID] a few more text fixes * Merge fix * Improved transform game logs (hints, source), fixed day/night logs, fixed miss game param (due code style); * fixed a test failure * Merge fix Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
57 lines
1.9 KiB
Java
57 lines
1.9 KiB
Java
package mage.cards.b;
|
|
|
|
import mage.MageInt;
|
|
import mage.abilities.common.BecomesBlockedSourceTriggeredAbility;
|
|
import mage.abilities.effects.common.continuous.BoostAllEffect;
|
|
import mage.abilities.keyword.DayboundAbility;
|
|
import mage.abilities.keyword.TransformAbility;
|
|
import mage.cards.CardImpl;
|
|
import mage.cards.CardSetInfo;
|
|
import mage.constants.CardType;
|
|
import mage.constants.Duration;
|
|
import mage.constants.SubType;
|
|
import mage.filter.common.FilterCreaturePermanent;
|
|
import mage.filter.predicate.permanent.BlockingOrBlockedBySourcePredicate;
|
|
|
|
import java.util.UUID;
|
|
|
|
/**
|
|
* @author TheElk801
|
|
*/
|
|
public final class BanebladeScoundrel extends CardImpl {
|
|
|
|
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent();
|
|
|
|
static {
|
|
filter.add(BlockingOrBlockedBySourcePredicate.BLOCKING);
|
|
}
|
|
|
|
public BanebladeScoundrel(UUID ownerId, CardSetInfo setInfo) {
|
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}");
|
|
|
|
this.subtype.add(SubType.HUMAN);
|
|
this.subtype.add(SubType.ROGUE);
|
|
this.subtype.add(SubType.WEREWOLF);
|
|
this.power = new MageInt(4);
|
|
this.toughness = new MageInt(3);
|
|
this.secondSideCardClazz = mage.cards.b.BaneclawMarauder.class;
|
|
|
|
// Whenever Baneblade Scoundrel becomes blocked, each creature blocking it gets -1/-1 until end of turn.
|
|
this.addAbility(new BecomesBlockedSourceTriggeredAbility(new BoostAllEffect(
|
|
-1, -1, Duration.EndOfTurn, filter, false
|
|
).setText("each creature blocking it gets -1/-1 until end of turn"), false));
|
|
|
|
// Daybound
|
|
this.addAbility(new TransformAbility());
|
|
this.addAbility(new DayboundAbility());
|
|
}
|
|
|
|
private BanebladeScoundrel(final BanebladeScoundrel card) {
|
|
super(card);
|
|
}
|
|
|
|
@Override
|
|
public BanebladeScoundrel copy() {
|
|
return new BanebladeScoundrel(this);
|
|
}
|
|
}
|