mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 18:28:00 +00:00
SpellAbility: set CardState inside constructor
This commit is contained in:
committed by
Hans Mackowiak
parent
057dd867a8
commit
104bc8fc55
@@ -434,15 +434,10 @@ public class CardState extends GameObject implements IHasSVars, ITranslatable {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getCard().isInPlay()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
CardTypeView type = getTypeWithChanges();
|
CardTypeView type = getTypeWithChanges();
|
||||||
if (type.isLand()) {
|
if (type.isLand()) {
|
||||||
if (landAbility == null) {
|
if (landAbility == null) {
|
||||||
landAbility = new LandAbility(card);
|
landAbility = new LandAbility(card, this);
|
||||||
landAbility.setCardState(this);
|
|
||||||
}
|
}
|
||||||
newCol.add(landAbility);
|
newCol.add(landAbility);
|
||||||
} else if (type.isAura()) {
|
} else if (type.isAura()) {
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import com.esotericsoftware.minlog.Log;
|
|||||||
import forge.card.mana.ManaCost;
|
import forge.card.mana.ManaCost;
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
|
import forge.game.card.CardState;
|
||||||
import forge.game.cost.Cost;
|
import forge.game.cost.Cost;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -37,6 +38,9 @@ public abstract class Ability extends SpellAbility {
|
|||||||
protected Ability(final Card sourceCard, final ManaCost manaCost) {
|
protected Ability(final Card sourceCard, final ManaCost manaCost) {
|
||||||
this(sourceCard, new Cost(manaCost, true), null);
|
this(sourceCard, new Cost(manaCost, true), null);
|
||||||
}
|
}
|
||||||
|
protected Ability(final Card sourceCard, final ManaCost manaCost, final CardState state) {
|
||||||
|
super(sourceCard, new Cost(manaCost, true), null, state);
|
||||||
|
}
|
||||||
protected Ability(final Card sourceCard, final ManaCost manaCost, SpellAbilityView view0) {
|
protected Ability(final Card sourceCard, final ManaCost manaCost, SpellAbilityView view0) {
|
||||||
this(sourceCard, new Cost(manaCost, true), view0);
|
this(sourceCard, new Cost(manaCost, true), view0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ package forge.game.spellability;
|
|||||||
|
|
||||||
import forge.card.mana.ManaCost;
|
import forge.card.mana.ManaCost;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
|
import forge.game.card.CardState;
|
||||||
import forge.game.cost.Cost;
|
import forge.game.cost.Cost;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -43,6 +44,9 @@ public abstract class AbilityStatic extends Ability implements Cloneable {
|
|||||||
public AbilityStatic(final Card sourceCard, final ManaCost manaCost) {
|
public AbilityStatic(final Card sourceCard, final ManaCost manaCost) {
|
||||||
super(sourceCard, manaCost);
|
super(sourceCard, manaCost);
|
||||||
}
|
}
|
||||||
|
public AbilityStatic(final Card sourceCard, final ManaCost manaCost, final CardState state) {
|
||||||
|
super(sourceCard, manaCost, state);
|
||||||
|
}
|
||||||
|
|
||||||
public AbilityStatic(final Card sourceCard, final Cost abCost, final TargetRestrictions tgt) {
|
public AbilityStatic(final Card sourceCard, final Cost abCost, final TargetRestrictions tgt) {
|
||||||
super(sourceCard, abCost);
|
super(sourceCard, abCost);
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import forge.card.CardStateName;
|
|||||||
import forge.card.mana.ManaCost;
|
import forge.card.mana.ManaCost;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
import forge.game.card.CardCopyService;
|
import forge.game.card.CardCopyService;
|
||||||
|
import forge.game.card.CardState;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.staticability.StaticAbility;
|
import forge.game.staticability.StaticAbility;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
@@ -31,8 +32,8 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
|
|
||||||
public class LandAbility extends AbilityStatic {
|
public class LandAbility extends AbilityStatic {
|
||||||
|
|
||||||
public LandAbility(Card sourceCard) {
|
public LandAbility(Card sourceCard, CardState state) {
|
||||||
super(sourceCard, ManaCost.NO_COST);
|
super(sourceCard, ManaCost.NO_COST, state);
|
||||||
|
|
||||||
getRestrictions().setZone(ZoneType.Hand);
|
getRestrictions().setZone(ZoneType.Hand);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -195,12 +195,18 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected SpellAbility(final Card iSourceCard, final Cost toPay) {
|
protected SpellAbility(final Card iSourceCard, final Cost toPay) {
|
||||||
this(iSourceCard, toPay, null);
|
this(iSourceCard, toPay, null, null);
|
||||||
}
|
}
|
||||||
protected SpellAbility(final Card iSourceCard, final Cost toPay, SpellAbilityView view0) {
|
protected SpellAbility(final Card iSourceCard, final Cost toPay, SpellAbilityView view0) {
|
||||||
|
this(iSourceCard, toPay, view0, null);
|
||||||
|
}
|
||||||
|
protected SpellAbility(final Card iSourceCard, final Cost toPay, SpellAbilityView view0, CardState cs) {
|
||||||
id = nextId();
|
id = nextId();
|
||||||
hostCard = iSourceCard;
|
hostCard = iSourceCard;
|
||||||
payCosts = toPay;
|
payCosts = toPay;
|
||||||
|
if (cs != null) {
|
||||||
|
cardState = cs;
|
||||||
|
}
|
||||||
if (view0 == null) {
|
if (view0 == null) {
|
||||||
view0 = new SpellAbilityView(this);
|
view0 = new SpellAbilityView(this);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user