diff --git a/Mage.Sets/src/mage/cards/a/AutomatedAssemblyLine.java b/Mage.Sets/src/mage/cards/a/AutomatedAssemblyLine.java index 3bf19b3aff3..ba1f028e7de 100644 --- a/Mage.Sets/src/mage/cards/a/AutomatedAssemblyLine.java +++ b/Mage.Sets/src/mage/cards/a/AutomatedAssemblyLine.java @@ -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))); } diff --git a/Mage.Sets/src/mage/cards/m/MrHousePresidentAndCEO.java b/Mage.Sets/src/mage/cards/m/MrHousePresidentAndCEO.java index 5b537b0c5c8..f7840701dcd 100644 --- a/Mage.Sets/src/mage/cards/m/MrHousePresidentAndCEO.java +++ b/Mage.Sets/src/mage/cards/m/MrHousePresidentAndCEO.java @@ -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) { diff --git a/Mage.Sets/src/mage/cards/s/SamiShipsEngineer.java b/Mage.Sets/src/mage/cards/s/SamiShipsEngineer.java new file mode 100644 index 00000000000..18e9fda5562 --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SamiShipsEngineer.java @@ -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); + } +} diff --git a/Mage.Sets/src/mage/sets/EdgeOfEternities.java b/Mage.Sets/src/mage/sets/EdgeOfEternities.java index 354976d5a30..bc50927eb77 100644 --- a/Mage.Sets/src/mage/sets/EdgeOfEternities.java +++ b/Mage.Sets/src/mage/sets/EdgeOfEternities.java @@ -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)); diff --git a/Mage/src/main/java/mage/game/permanent/token/Robot33Token.java b/Mage/src/main/java/mage/game/permanent/token/Robot33Token.java new file mode 100644 index 00000000000..069d3aace94 --- /dev/null +++ b/Mage/src/main/java/mage/game/permanent/token/Robot33Token.java @@ -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); + } +} diff --git a/Mage/src/main/java/mage/game/permanent/token/RobotToken.java b/Mage/src/main/java/mage/game/permanent/token/RobotToken.java index 4829e4c853c..92164fd6074 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RobotToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RobotToken.java @@ -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) { diff --git a/Mage/src/main/resources/tokens-database.txt b/Mage/src/main/resources/tokens-database.txt index d7858933b16..86e1feb5676 100644 --- a/Mage/src/main/resources/tokens-database.txt +++ b/Mage/src/main/resources/tokens-database.txt @@ -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|