mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 02:30:08 -08:00
[EOE] Implement Sami, Ship's Engineer
This commit is contained in:
parent
7b3082c3b5
commit
8ff2a59981
7 changed files with 100 additions and 8 deletions
|
|
@ -11,7 +11,7 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.game.permanent.token.RobotToken;
|
||||
import mage.game.permanent.token.Robot33Token;
|
||||
|
||||
/**
|
||||
* @author Cguy7777
|
||||
|
|
@ -27,7 +27,7 @@ public final class AutomatedAssemblyLine extends CardImpl {
|
|||
|
||||
// Pay {E}{E}{E}: Create a tapped 3/3 colorless Robot artifact creature token.
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new CreateTokenEffect(new RobotToken(), 1, true),
|
||||
new CreateTokenEffect(new Robot33Token(), 1, true),
|
||||
new PayEnergyCost(3)));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import mage.cards.CardSetInfo;
|
|||
import mage.game.Game;
|
||||
import mage.game.events.DieRolledEvent;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.permanent.token.RobotToken;
|
||||
import mage.game.permanent.token.Robot33Token;
|
||||
import mage.game.permanent.token.Token;
|
||||
import mage.game.permanent.token.TreasureToken;
|
||||
import mage.players.Player;
|
||||
|
|
@ -116,7 +116,7 @@ class MrHousePresidentAndCEOTokenEffect extends OneShotEffect {
|
|||
int amount = (Integer) getValue("rolled");
|
||||
|
||||
if (amount >= 4) {
|
||||
Token robotToken = new RobotToken();
|
||||
Token robotToken = new Robot33Token();
|
||||
robotToken.putOntoBattlefield(1, game, source);
|
||||
}
|
||||
if (amount >= 6) {
|
||||
|
|
|
|||
63
Mage.Sets/src/mage/cards/s/SamiShipsEngineer.java
Normal file
63
Mage.Sets/src/mage/cards/s/SamiShipsEngineer.java
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
package mage.cards.s;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.condition.Condition;
|
||||
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
||||
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
||||
import mage.abilities.effects.common.CreateTokenEffect;
|
||||
import mage.abilities.hint.Hint;
|
||||
import mage.abilities.hint.ValueHint;
|
||||
import mage.abilities.triggers.BeginningOfEndStepTriggeredAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.SuperType;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||
import mage.filter.predicate.permanent.TappedPredicate;
|
||||
import mage.game.permanent.token.RobotToken;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class SamiShipsEngineer extends CardImpl {
|
||||
|
||||
private static final FilterPermanent filter
|
||||
= new FilterControlledCreaturePermanent("you control two or more tapped creatures");
|
||||
|
||||
static {
|
||||
filter.add(TappedPredicate.TAPPED);
|
||||
}
|
||||
|
||||
private static final Condition condition = new PermanentsOnTheBattlefieldCondition(filter);
|
||||
private static final Hint hint = new ValueHint(
|
||||
"Tapped creatures you control", new PermanentsOnBattlefieldCount(filter)
|
||||
);
|
||||
|
||||
public SamiShipsEngineer(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{W}");
|
||||
|
||||
this.supertype.add(SuperType.LEGENDARY);
|
||||
this.subtype.add(SubType.HUMAN);
|
||||
this.subtype.add(SubType.ARTIFICER);
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(4);
|
||||
|
||||
// At the beginning of your end step, if you control two or more tapped creatures, create a tapped 2/2 colorless Robot artifact creature token.
|
||||
this.addAbility(new BeginningOfEndStepTriggeredAbility(
|
||||
new CreateTokenEffect(new RobotToken(), 1, true)
|
||||
).withInterveningIf(condition).addHint(hint));
|
||||
}
|
||||
|
||||
private SamiShipsEngineer(final SamiShipsEngineer card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SamiShipsEngineer copy() {
|
||||
return new SamiShipsEngineer(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -24,6 +24,7 @@ public final class EdgeOfEternities extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Breeding Pool", 251, Rarity.RARE, mage.cards.b.BreedingPool.class));
|
||||
cards.add(new SetCardInfo("Godless Shrine", 254, Rarity.RARE, mage.cards.g.GodlessShrine.class));
|
||||
cards.add(new SetCardInfo("Sacred Foundry", 256, Rarity.RARE, mage.cards.s.SacredFoundry.class));
|
||||
cards.add(new SetCardInfo("Sami, Ship's Engineer", 225, Rarity.UNCOMMON, mage.cards.s.SamiShipsEngineer.class));
|
||||
cards.add(new SetCardInfo("Stomping Ground", 258, Rarity.RARE, mage.cards.s.StompingGround.class));
|
||||
cards.add(new SetCardInfo("Tezzeret, Cruel Captain", 2, Rarity.MYTHIC, mage.cards.t.TezzeretCruelCaptain.class));
|
||||
cards.add(new SetCardInfo("Watery Grave", 261, Rarity.RARE, mage.cards.w.WateryGrave.class));
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class Robot33Token extends TokenImpl {
|
||||
|
||||
public Robot33Token() {
|
||||
super("Robot Token", "3/3 colorless Robot artifact creature token");
|
||||
cardType.add(CardType.ARTIFACT);
|
||||
cardType.add(CardType.CREATURE);
|
||||
subtype.add(SubType.ROBOT);
|
||||
power = new MageInt(3);
|
||||
toughness = new MageInt(3);
|
||||
}
|
||||
|
||||
private Robot33Token(final Robot33Token token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public Robot33Token copy() {
|
||||
return new Robot33Token(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -10,12 +10,12 @@ import mage.constants.SubType;
|
|||
public final class RobotToken extends TokenImpl {
|
||||
|
||||
public RobotToken() {
|
||||
super("Robot Token", "3/3 colorless Robot artifact creature token");
|
||||
super("Robot Token", "2/2 colorless Robot artifact creature token");
|
||||
cardType.add(CardType.ARTIFACT);
|
||||
cardType.add(CardType.CREATURE);
|
||||
subtype.add(SubType.ROBOT);
|
||||
power = new MageInt(3);
|
||||
toughness = new MageInt(3);
|
||||
power = new MageInt(2);
|
||||
toughness = new MageInt(2);
|
||||
}
|
||||
|
||||
private RobotToken(final RobotToken token) {
|
||||
|
|
|
|||
|
|
@ -2270,7 +2270,7 @@
|
|||
|Generate|TOK:PIP|Human Knight|||ThePrydwenSteelFlagshipHumanKnightToken|
|
||||
|Generate|TOK:PIP|Human Soldier|||HumanSoldierToken|
|
||||
|Generate|TOK:PIP|Junk|||JunkToken|
|
||||
|Generate|TOK:PIP|Robot|||RobotToken|
|
||||
|Generate|TOK:PIP|Robot|||Robot33Token|
|
||||
|Generate|TOK:PIP|Settlement|||SettlementToken|
|
||||
|Generate|TOK:PIP|Soldier|1||SoldierTokenWithHaste|
|
||||
|Generate|TOK:PIP|Soldier|2||SoldierToken|
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue