mirror of
https://github.com/magefree/mage.git
synced 2026-01-10 12:52:06 -08:00
[BRO] Implemented Urza, Lord Protector / Urza, Planeswalker
This commit is contained in:
parent
5fa9a850b1
commit
9706274141
7 changed files with 241 additions and 3 deletions
|
|
@ -478,7 +478,7 @@ public enum SubType {
|
|||
TIBALT("Tibalt", SubTypeSet.PlaneswalkerType),
|
||||
TYVAR("Tyvar", SubTypeSet.PlaneswalkerType),
|
||||
UGIN("Ugin", SubTypeSet.PlaneswalkerType),
|
||||
URZA("Urza", SubTypeSet.PlaneswalkerType, true), // Unstable
|
||||
URZA("Urza", SubTypeSet.PlaneswalkerType),
|
||||
VENSER("Venser", SubTypeSet.PlaneswalkerType),
|
||||
VIVIEN("Vivien", SubTypeSet.PlaneswalkerType),
|
||||
VRASKA("Vraska", SubTypeSet.PlaneswalkerType),
|
||||
|
|
|
|||
|
|
@ -214,6 +214,8 @@ public interface Permanent extends Card, Controllable {
|
|||
|
||||
void removeAbilities(List<Ability> abilitiesToRemove, UUID sourceId, Game game);
|
||||
|
||||
void incrementLoyaltyActivationsAvailable();
|
||||
|
||||
void addLoyaltyUsed();
|
||||
|
||||
boolean canLoyaltyBeUsed(Game game);
|
||||
|
|
|
|||
|
|
@ -102,6 +102,7 @@ public abstract class PermanentImpl extends CardImpl implements Permanent {
|
|||
protected List<MarkedDamageInfo> markedDamage;
|
||||
protected int markedLifelink;
|
||||
protected int timesLoyaltyUsed = 0;
|
||||
protected int loyaltyActivationsAvailable = 1;
|
||||
protected int transformCount = 0;
|
||||
protected Map<String, String> info;
|
||||
protected int createOrder;
|
||||
|
|
@ -169,6 +170,7 @@ public abstract class PermanentImpl extends CardImpl implements Permanent {
|
|||
this.pairedPermanent = permanent.pairedPermanent;
|
||||
this.bandedCards.addAll(permanent.bandedCards);
|
||||
this.timesLoyaltyUsed = permanent.timesLoyaltyUsed;
|
||||
this.loyaltyActivationsAvailable = permanent.loyaltyActivationsAvailable;
|
||||
this.transformCount = permanent.transformCount;
|
||||
|
||||
this.morphed = permanent.morphed;
|
||||
|
|
@ -211,6 +213,7 @@ public abstract class PermanentImpl extends CardImpl implements Permanent {
|
|||
this.maxBlockedBy = 0;
|
||||
this.copy = false;
|
||||
this.goadingPlayers.clear();
|
||||
this.loyaltyActivationsAvailable = 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -462,6 +465,11 @@ public abstract class PermanentImpl extends CardImpl implements Permanent {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void incrementLoyaltyActivationsAvailable() {
|
||||
this.loyaltyActivationsAvailable++;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addLoyaltyUsed() {
|
||||
this.timesLoyaltyUsed++;
|
||||
|
|
@ -471,7 +479,7 @@ public abstract class PermanentImpl extends CardImpl implements Permanent {
|
|||
public boolean canLoyaltyBeUsed(Game game) {
|
||||
Player controller = game.getPlayer(controllerId);
|
||||
if (controller != null) {
|
||||
return controller.getLoyaltyUsePerTurn() > timesLoyaltyUsed;
|
||||
return Math.max(controller.getLoyaltyUsePerTurn(), loyaltyActivationsAvailable) > timesLoyaltyUsed;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
package mage.game.permanent.token;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class SoldierArtifactToken extends TokenImpl {
|
||||
|
||||
public SoldierArtifactToken() {
|
||||
super("Soldier Token", "1/1 colorless Soldier artifact creature token");
|
||||
cardType.add(CardType.ARTIFACT);
|
||||
cardType.add(CardType.CREATURE);
|
||||
subtype.add(SubType.SOLDIER);
|
||||
power = new MageInt(1);
|
||||
toughness = new MageInt(1);
|
||||
|
||||
availableImageSetCodes = Arrays.asList("BRO");
|
||||
}
|
||||
|
||||
public SoldierArtifactToken(final SoldierArtifactToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public SoldierArtifactToken copy() {
|
||||
return new SoldierArtifactToken(this);
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue