- Converting MorphUp to AbilityStatic

This commit is contained in:
Sol
2012-04-12 23:17:05 +00:00
parent ab755b777b
commit 653f5df122
3 changed files with 20 additions and 8 deletions

View File

@@ -971,20 +971,20 @@ public class CardFactoryUtil {
* a int.
* @return a {@link forge.card.spellability.AbilityActivated} object.
*/
public static AbilityActivated abilityMorphUp(final Card sourceCard, final Cost cost, final String orgManaCost,
public static AbilityStatic abilityMorphUp(final Card sourceCard, final Cost cost, final String orgManaCost,
final int a, final int d) {
final AbilityActivated morphUp = new AbilityActivated(sourceCard, cost, null) {
final AbilityStatic morphUp = new AbilityStatic(sourceCard, cost, null) {
private static final long serialVersionUID = -3663857013937085953L;
@Override
public void resolve() {
sourceCard.turnFaceUp();
if (sourceCard.turnFaceUp()) {
// Run triggers
final Map<String, Object> runParams = new TreeMap<String, Object>();
runParams.put("Card", sourceCard);
AllZone.getTriggerHandler().runTrigger(TriggerType.TurnFaceUp, runParams);
}
}
@Override
public boolean canPlay() {

View File

@@ -18,6 +18,7 @@
package forge.card.spellability;
import forge.Card;
import forge.card.cost.Cost;
/**
* <p>
@@ -41,4 +42,13 @@ public abstract class AbilityStatic extends Ability {
public AbilityStatic(final Card sourceCard, final String manaCost) {
super(sourceCard, manaCost);
}
public AbilityStatic(final Card sourceCard, final Cost abCost, final Target tgt) {
super(sourceCard, abCost.getTotalMana());
this.setManaCost(abCost.getTotalMana());
this.setPayCosts(abCost);
if ((tgt != null) && tgt.doesTarget()) {
this.setTarget(tgt);
}
}
}

View File

@@ -450,6 +450,8 @@ public class MagicStack extends MyObservable {
if ((sp instanceof AbilityTriggered) || (sp instanceof AbilityStatic)) {
// TODO: make working triggered ability
sp.resolve();
Singletons.getModel().getGameAction().checkStateEffects();
GuiDisplayUtil.updateGUI();
} else {
if (sp.isKickerAbility()) {
sp.getSourceCard().setKicked(true);