mirror of
https://github.com/correl/mage.git
synced 2025-04-10 17:00:08 -09:00
[BRO] Implemented Rust Goliath and dummy Prototype ability
This commit is contained in:
parent
2be61dd7ea
commit
0b0ad8e223
4 changed files with 83 additions and 0 deletions
Mage.Sets/src/mage
Mage/src/main/java/mage/abilities/keyword
Utils
44
Mage.Sets/src/mage/cards/r/RustGoliath.java
Normal file
44
Mage.Sets/src/mage/cards/r/RustGoliath.java
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
package mage.cards.r;
|
||||||
|
|
||||||
|
import mage.MageInt;
|
||||||
|
import mage.abilities.keyword.PrototypeAbility;
|
||||||
|
import mage.abilities.keyword.ReachAbility;
|
||||||
|
import mage.abilities.keyword.TrampleAbility;
|
||||||
|
import mage.cards.CardImpl;
|
||||||
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.SubType;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author TheElk801
|
||||||
|
*/
|
||||||
|
public final class RustGoliath extends CardImpl {
|
||||||
|
|
||||||
|
public RustGoliath(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{10}");
|
||||||
|
|
||||||
|
this.subtype.add(SubType.CONSTRUCT);
|
||||||
|
this.power = new MageInt(10);
|
||||||
|
this.toughness = new MageInt(10);
|
||||||
|
|
||||||
|
// Prototype {3}{G}{G} -- 3/5
|
||||||
|
this.addAbility(new PrototypeAbility(this, "{3}{G}{G}", 3, 5));
|
||||||
|
|
||||||
|
// Reach
|
||||||
|
this.addAbility(ReachAbility.getInstance());
|
||||||
|
|
||||||
|
// Trample
|
||||||
|
this.addAbility(TrampleAbility.getInstance());
|
||||||
|
}
|
||||||
|
|
||||||
|
private RustGoliath(final RustGoliath card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public RustGoliath copy() {
|
||||||
|
return new RustGoliath(this);
|
||||||
|
}
|
||||||
|
}
|
|
@ -4,11 +4,16 @@ import mage.cards.ExpansionSet;
|
||||||
import mage.constants.Rarity;
|
import mage.constants.Rarity;
|
||||||
import mage.constants.SetType;
|
import mage.constants.SetType;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
public final class TheBrothersWar extends ExpansionSet {
|
public final class TheBrothersWar extends ExpansionSet {
|
||||||
|
|
||||||
|
private static final List<String> unfinished = Arrays.asList("Arcane Proxy", "Depth Charge Colossus", "Phyrexian Fleshgorger", "Rust Goliath", "Skitterbeam Battalion");
|
||||||
|
|
||||||
private static final TheBrothersWar instance = new TheBrothersWar();
|
private static final TheBrothersWar instance = new TheBrothersWar();
|
||||||
|
|
||||||
public static TheBrothersWar getInstance() {
|
public static TheBrothersWar getInstance() {
|
||||||
|
@ -48,6 +53,7 @@ public final class TheBrothersWar extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Plains", 278, Rarity.LAND, mage.cards.basiclands.Plains.class, FULL_ART_BFZ_VARIOUS));
|
cards.add(new SetCardInfo("Plains", 278, Rarity.LAND, mage.cards.basiclands.Plains.class, FULL_ART_BFZ_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Queen Kayla bin-Kroog", 218, Rarity.RARE, mage.cards.q.QueenKaylaBinKroog.class));
|
cards.add(new SetCardInfo("Queen Kayla bin-Kroog", 218, Rarity.RARE, mage.cards.q.QueenKaylaBinKroog.class));
|
||||||
cards.add(new SetCardInfo("Recruitment Officer", 23, Rarity.UNCOMMON, mage.cards.r.RecruitmentOfficer.class));
|
cards.add(new SetCardInfo("Recruitment Officer", 23, Rarity.UNCOMMON, mage.cards.r.RecruitmentOfficer.class));
|
||||||
|
cards.add(new SetCardInfo("Rust Goliath", 204, Rarity.COMMON, mage.cards.r.RustGoliath.class));
|
||||||
cards.add(new SetCardInfo("Scrapwork Cohort", 37, Rarity.COMMON, mage.cards.s.ScrapworkCohort.class));
|
cards.add(new SetCardInfo("Scrapwork Cohort", 37, Rarity.COMMON, mage.cards.s.ScrapworkCohort.class));
|
||||||
cards.add(new SetCardInfo("Splitting the Powerstone", 63, Rarity.UNCOMMON, mage.cards.s.SplittingThePowerstone.class));
|
cards.add(new SetCardInfo("Splitting the Powerstone", 63, Rarity.UNCOMMON, mage.cards.s.SplittingThePowerstone.class));
|
||||||
cards.add(new SetCardInfo("Stern Lesson", 64, Rarity.COMMON, mage.cards.s.SternLesson.class));
|
cards.add(new SetCardInfo("Stern Lesson", 64, Rarity.COMMON, mage.cards.s.SternLesson.class));
|
||||||
|
@ -65,6 +71,8 @@ public final class TheBrothersWar extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Urza, Prince of Kroog", 226, Rarity.RARE, mage.cards.u.UrzaPrinceOfKroog.class));
|
cards.add(new SetCardInfo("Urza, Prince of Kroog", 226, Rarity.RARE, mage.cards.u.UrzaPrinceOfKroog.class));
|
||||||
cards.add(new SetCardInfo("Yotian Dissident", 227, Rarity.UNCOMMON, mage.cards.y.YotianDissident.class));
|
cards.add(new SetCardInfo("Yotian Dissident", 227, Rarity.UNCOMMON, mage.cards.y.YotianDissident.class));
|
||||||
cards.add(new SetCardInfo("Yotian Medic", 33, Rarity.COMMON, mage.cards.y.YotianMedic.class));
|
cards.add(new SetCardInfo("Yotian Medic", 33, Rarity.COMMON, mage.cards.y.YotianMedic.class));
|
||||||
|
|
||||||
|
cards.removeIf(setCardInfo -> unfinished.contains(setCardInfo.getName())); // remove when mechanic is implemented
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Override
|
// @Override
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
package mage.abilities.keyword;
|
||||||
|
|
||||||
|
import mage.abilities.SpellAbility;
|
||||||
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
|
import mage.cards.Card;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author TheElk801
|
||||||
|
*/
|
||||||
|
public class PrototypeAbility extends SpellAbility {
|
||||||
|
|
||||||
|
public PrototypeAbility(Card card, String manaString, int power, int toughness) {
|
||||||
|
super(new ManaCostsImpl<>(manaString), card.getName());
|
||||||
|
// TODO: implement this
|
||||||
|
}
|
||||||
|
|
||||||
|
private PrototypeAbility(final PrototypeAbility ability) {
|
||||||
|
super(ability);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PrototypeAbility copy() {
|
||||||
|
return new PrototypeAbility(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getRule() {
|
||||||
|
return "Prototype";
|
||||||
|
}
|
||||||
|
}
|
|
@ -91,6 +91,7 @@ Phasing|instance|
|
||||||
Plainscycling|cost|
|
Plainscycling|cost|
|
||||||
Plainswalk|new|
|
Plainswalk|new|
|
||||||
Poisonous|number|
|
Poisonous|number|
|
||||||
|
Prototype|card, manaString|
|
||||||
Provoke|new|
|
Provoke|new|
|
||||||
Prowess|new|
|
Prowess|new|
|
||||||
Ravenous|new|
|
Ravenous|new|
|
||||||
|
|
Loading…
Add table
Reference in a new issue