mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 10:18:01 +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;
|
||||
}
|
||||
|
||||
if (getCard().isInPlay()) {
|
||||
return;
|
||||
}
|
||||
|
||||
CardTypeView type = getTypeWithChanges();
|
||||
if (type.isLand()) {
|
||||
if (landAbility == null) {
|
||||
landAbility = new LandAbility(card);
|
||||
landAbility.setCardState(this);
|
||||
landAbility = new LandAbility(card, this);
|
||||
}
|
||||
newCol.add(landAbility);
|
||||
} else if (type.isAura()) {
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.esotericsoftware.minlog.Log;
|
||||
import forge.card.mana.ManaCost;
|
||||
import forge.game.Game;
|
||||
import forge.game.card.Card;
|
||||
import forge.game.card.CardState;
|
||||
import forge.game.cost.Cost;
|
||||
|
||||
/**
|
||||
@@ -37,6 +38,9 @@ public abstract class Ability extends SpellAbility {
|
||||
protected Ability(final Card sourceCard, final ManaCost manaCost) {
|
||||
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) {
|
||||
this(sourceCard, new Cost(manaCost, true), view0);
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ package forge.game.spellability;
|
||||
|
||||
import forge.card.mana.ManaCost;
|
||||
import forge.game.card.Card;
|
||||
import forge.game.card.CardState;
|
||||
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) {
|
||||
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) {
|
||||
super(sourceCard, abCost);
|
||||
|
||||
@@ -21,6 +21,7 @@ import forge.card.CardStateName;
|
||||
import forge.card.mana.ManaCost;
|
||||
import forge.game.card.Card;
|
||||
import forge.game.card.CardCopyService;
|
||||
import forge.game.card.CardState;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.staticability.StaticAbility;
|
||||
import forge.game.zone.ZoneType;
|
||||
@@ -31,8 +32,8 @@ import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
public class LandAbility extends AbilityStatic {
|
||||
|
||||
public LandAbility(Card sourceCard) {
|
||||
super(sourceCard, ManaCost.NO_COST);
|
||||
public LandAbility(Card sourceCard, CardState state) {
|
||||
super(sourceCard, ManaCost.NO_COST, state);
|
||||
|
||||
getRestrictions().setZone(ZoneType.Hand);
|
||||
}
|
||||
|
||||
@@ -195,12 +195,18 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
|
||||
}
|
||||
|
||||
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) {
|
||||
this(iSourceCard, toPay, view0, null);
|
||||
}
|
||||
protected SpellAbility(final Card iSourceCard, final Cost toPay, SpellAbilityView view0, CardState cs) {
|
||||
id = nextId();
|
||||
hostCard = iSourceCard;
|
||||
payCosts = toPay;
|
||||
if (cs != null) {
|
||||
cardState = cs;
|
||||
}
|
||||
if (view0 == null) {
|
||||
view0 = new SpellAbilityView(this);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user