rename MagicObject.isCreature to MagicObject.isCreaturePermanent to avoid confusion with IRenderableCard.isCreature, fixes #698
parent
8150dc8d9b
commit
10ef3adf88
|
@ -4,7 +4,7 @@
|
|||
public MagicEvent executeTrigger(final MagicGame game, final MagicPermanent permanent, final MagicDamage damage) {
|
||||
final int amount = permanent.getCounters(MagicCounterType.Age);
|
||||
final int preventAmount = Math.min(amount, damage.getAmount());
|
||||
if (damage.getSource().isCreature() && damage.isCombat() && damage.getTarget().isFriend(permanent)) {
|
||||
if (damage.getSource().isCreaturePermanent() && damage.isCombat() && damage.getTarget().isFriend(permanent)) {
|
||||
// Replacement effect. Generates no event or action.
|
||||
damage.prevent(amount);
|
||||
game.logAppendMessage(permanent.getController(), "${permanent} prevents (${preventAmount}) damage dealt to (${damage.getTarget()}).");
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicDamage damage) {
|
||||
return (permanent.isOpponent(damage.getTarget()) &&
|
||||
damage.getSource().isCreature() &&
|
||||
damage.getSource().isCreaturePermanent() &&
|
||||
damage.isCombat()) ?
|
||||
new MagicEvent(
|
||||
permanent,
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTarget(game, {
|
||||
final int amount = (it.isCreature() && it.hasColor(MagicColor.Green)) ? 2 : 1;
|
||||
final int amount = (it.isCreaturePermanent() && it.hasColor(MagicColor.Green)) ? 2 : 1;
|
||||
game.doAction(new PreventDamageAction(it,amount));
|
||||
});
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicDamage damage) {
|
||||
if (damage.isCombat()) {
|
||||
final MagicPermanent damageSource = (MagicPermanent)damage.getSource();
|
||||
if (permanent == damage.getTarget() && damageSource.isEnchanted() && damageSource.isCreature()) {
|
||||
if (permanent == damage.getTarget() && damageSource.isEnchanted() && damageSource.isCreaturePermanent()) {
|
||||
damage.prevent();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicDamage damage) {
|
||||
final MagicSource source = damage.getSource();
|
||||
if (permanent.isFriend(source) && source.isCreature()) {
|
||||
if (permanent.isFriend(source) && source.isCreaturePermanent()) {
|
||||
// Generates no event or action.
|
||||
damage.setAmount(damage.getAmount() * 2);
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
new IfDamageWouldBeDealtTrigger(MagicTrigger.REPLACE_DAMAGE) {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicDamage damage) {
|
||||
if (damage.getTarget().isFriend(permanent) && damage.getTarget().isCreature()) {
|
||||
if (damage.getTarget().isFriend(permanent) && damage.getTarget().isCreaturePermanent()) {
|
||||
damage.setAmount(damage.getAmount()-1);
|
||||
}
|
||||
return MagicEvent.NONE;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicDamage damage) {
|
||||
final MagicSource source = damage.getSource()
|
||||
return (source.isCreature() && source.isFriend(permanent) &&
|
||||
return (source.isCreaturePermanent() && source.isFriend(permanent) &&
|
||||
damage.isCombat() && damage.isTargetPlayer()) ?
|
||||
new MagicEvent(
|
||||
source,
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
new DamageIsDealtTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game, final MagicPermanent permanent, final MagicDamage damage) {
|
||||
return (damage.getSource().isCreature() && damage.getSource().isFriend(permanent) && damage.isCombat()) ?
|
||||
return (damage.getSource().isCreaturePermanent() && damage.getSource().isFriend(permanent) && damage.isCombat()) ?
|
||||
new MagicEvent(
|
||||
permanent,
|
||||
damage.getDealtAmount(),
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
return (damage.isCombat() &&
|
||||
damage.isTargetPlayer() &&
|
||||
permanent.isFriend(dmgSource) &&
|
||||
dmgSource.isCreature() &&
|
||||
dmgSource.isCreaturePermanent() &&
|
||||
dmgSource.hasSubType(MagicSubType.Vampire)) ?
|
||||
new MagicEvent(
|
||||
permanent,
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicDamage damage) {
|
||||
final MagicSource source = damage.getSource();
|
||||
return (source.isCreature() && source.isFriend(permanent) &&
|
||||
return (source.isCreaturePermanent() && source.isFriend(permanent) &&
|
||||
damage.isCombat() && damage.isTargetPlayer()) ?
|
||||
new MagicEvent(
|
||||
permanent,
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicDamage damage) {
|
||||
final int amount = damage.getDealtAmount();
|
||||
final MagicSource source = damage.getSource();
|
||||
return (!source.isCreature() && permanent.isFriend(source)) ?
|
||||
return (!source.isCreaturePermanent() && permanent.isFriend(source)) ?
|
||||
new MagicEvent(
|
||||
permanent,
|
||||
amount,
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicDamage damage) {
|
||||
if (permanent.isController(damage.getTarget()) &&
|
||||
damage.isCombat() &&
|
||||
damage.getSource().isCreature() &&
|
||||
damage.getSource().isCreaturePermanent() &&
|
||||
permanent.isUntapped()
|
||||
) {
|
||||
// Prevention effect.
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
int amount = 0;
|
||||
|
||||
if (target != permanent &&
|
||||
target.isCreature() &&
|
||||
target.isCreaturePermanent() &&
|
||||
permanent.isFriend(target)) {
|
||||
amount = damage.prevent();
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
def T = new DamageIsDealtTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicDamage damage) {
|
||||
return (damage.getSource().isCreature() &&
|
||||
return (damage.getSource().isCreaturePermanent() &&
|
||||
damage.isCombat() &&
|
||||
damage.getTarget() == permanent) ?
|
||||
new MagicEvent(
|
||||
|
|
|
@ -59,7 +59,7 @@ public class MagicDamage {
|
|||
}
|
||||
|
||||
public boolean isTargetCreature() {
|
||||
return target.isCreature();
|
||||
return target.isCreaturePermanent();
|
||||
}
|
||||
|
||||
public MagicPlayer getTargetPlayer() {
|
||||
|
|
|
@ -8,8 +8,8 @@ public interface MagicObject extends MagicCopyable {
|
|||
boolean isInstantOrSorcerySpell();
|
||||
boolean isPlayer();
|
||||
boolean isPermanent();
|
||||
boolean isCreature();
|
||||
boolean isPlaneswalker();
|
||||
boolean isCreaturePermanent();
|
||||
boolean isPlaneswalkerPermanent();
|
||||
boolean hasColor(final MagicColor color);
|
||||
boolean hasAbility(final MagicAbility ability);
|
||||
boolean hasType(final MagicType type);
|
||||
|
|
|
@ -17,12 +17,12 @@ public abstract class MagicObjectImpl implements MagicObject {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean isCreature() {
|
||||
public boolean isCreaturePermanent() {
|
||||
return isPermanent() && hasType(MagicType.Creature);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPlaneswalker() {
|
||||
public boolean isPlaneswalkerPermanent() {
|
||||
return isPermanent() && hasType(MagicType.Planeswalker);
|
||||
}
|
||||
|
||||
|
|
|
@ -64,8 +64,8 @@ public class DealDamageAction extends MagicAction {
|
|||
/*
|
||||
119.1. Objects can deal damage to creatures, planeswalkers, and players.
|
||||
*/
|
||||
if (!target.isCreature() &&
|
||||
!target.isPlaneswalker() &&
|
||||
if (!target.isCreaturePermanent() &&
|
||||
!target.isPlaneswalkerPermanent() &&
|
||||
!target.isPlayer()) {
|
||||
return;
|
||||
}
|
||||
|
@ -78,12 +78,12 @@ public class DealDamageAction extends MagicAction {
|
|||
|
||||
final MagicSource source=damage.getSource();
|
||||
|
||||
if (target.isPlaneswalker()) {
|
||||
if (target.isPlaneswalkerPermanent()) {
|
||||
final MagicPermanent targetPermanent=(MagicPermanent)target;
|
||||
game.doAction(new ChangeCountersAction(targetPermanent,MagicCounterType.Loyalty,-dealtAmount));
|
||||
}
|
||||
|
||||
if (target.isCreature()) {
|
||||
if (target.isCreaturePermanent()) {
|
||||
final MagicPermanent targetPermanent=(MagicPermanent)target;
|
||||
if (damage.hasNoRegeneration()) {
|
||||
game.doAction(ChangeStateAction.Set(targetPermanent,MagicPermanentState.CannotBeRegenerated));
|
||||
|
|
|
@ -295,7 +295,7 @@ public abstract class MagicCondition implements MagicMatchedCostEvent {
|
|||
|
||||
public static MagicCondition NOT_CREATURE_CONDITION=new MagicCondition() {
|
||||
public boolean accept(final MagicSource source) {
|
||||
return !source.isCreature();
|
||||
return !source.isCreaturePermanent();
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -611,7 +611,7 @@ public class MagicTargetFilterFactory {
|
|||
public static final MagicTargetFilterImpl CREATURE_OR_PLAYER=new MagicTargetFilterImpl() {
|
||||
public boolean accept(final MagicSource source,final MagicPlayer player,final MagicTarget target) {
|
||||
return target.isPlayer() ||
|
||||
target.isCreature();
|
||||
target.isCreaturePermanent();
|
||||
}
|
||||
public boolean acceptType(final MagicTargetType targetType) {
|
||||
return targetType==MagicTargetType.Permanent ||
|
||||
|
@ -622,7 +622,7 @@ public class MagicTargetFilterFactory {
|
|||
public static final MagicTargetFilterImpl SLIVER_CREATURE_OR_PLAYER=new MagicTargetFilterImpl() {
|
||||
public boolean accept(final MagicSource source,final MagicPlayer player,final MagicTarget target) {
|
||||
return target.isPlayer() ||
|
||||
(target.isCreature() && target.hasSubType(MagicSubType.Sliver));
|
||||
(target.isCreaturePermanent() && target.hasSubType(MagicSubType.Sliver));
|
||||
}
|
||||
public boolean acceptType(final MagicTargetType targetType) {
|
||||
return targetType==MagicTargetType.Permanent ||
|
||||
|
|
|
@ -30,7 +30,6 @@ public interface IRenderableCard {
|
|||
boolean isSplitCard();
|
||||
boolean isDoubleFaced();
|
||||
boolean hasAbility(MagicAbility ability);
|
||||
boolean isPlaneswalker();
|
||||
MagicCardDefinition getCardDefinition();
|
||||
|
||||
default MagicCardDefinition getTransformedDefinition() {
|
||||
|
@ -55,6 +54,10 @@ public interface IRenderableCard {
|
|||
return Collections.disjoint(list, MagicIcon.COLOR_MANA) && !Collections.disjoint(list, MagicIcon.HYBRID_COLOR_MANA);
|
||||
}
|
||||
|
||||
default boolean isPlaneswalker() {
|
||||
return hasType(MagicType.Planeswalker);
|
||||
}
|
||||
|
||||
default boolean isLand() {
|
||||
return hasType(MagicType.Land);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue