mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 03:08:02 +00:00
Try to fix Keyword Creation on CardState#copy
This commit is contained in:
@@ -81,9 +81,9 @@ public class CardFactory {
|
||||
out.setToken(true);
|
||||
|
||||
// add abilities
|
||||
for (SpellAbility sa : in.getIntrinsicSpellAbilities()) {
|
||||
out.addSpellAbility(sa);
|
||||
}
|
||||
//for (SpellAbility sa : in.getIntrinsicSpellAbilities()) {
|
||||
// out.addSpellAbility(sa);
|
||||
//}
|
||||
}
|
||||
|
||||
for (final CardStateName state : in.getStates()) {
|
||||
|
||||
@@ -367,17 +367,28 @@ public class CardState extends GameObject {
|
||||
setColor(source.getColor());
|
||||
setBasePower(source.getBasePower());
|
||||
setBaseToughness(source.getBaseToughness());
|
||||
setSVars(source.getSVars());
|
||||
|
||||
this.manaAbilities.clear();
|
||||
for (SpellAbility sa : source.manaAbilities) {
|
||||
this.manaAbilities.add(sa.copy());
|
||||
}
|
||||
|
||||
this.nonManaAbilities.clear();
|
||||
for (SpellAbility sa : source.nonManaAbilities) {
|
||||
this.nonManaAbilities.add(sa.copy());
|
||||
}
|
||||
|
||||
setIntrinsicKeywords(source.intrinsicKeywords);
|
||||
setImageKey(source.getImageKey());
|
||||
setRarity(source.rarity);
|
||||
setSetCode(source.setCode);
|
||||
setSVars(source.getSVars());
|
||||
replacementEffects = new FCollection<ReplacementEffect>();
|
||||
for (ReplacementEffect RE : source.getReplacementEffects()) {
|
||||
replacementEffects.clear();
|
||||
for (ReplacementEffect RE : source.replacementEffects) {
|
||||
replacementEffects.add(RE.getCopy());
|
||||
}
|
||||
this.staticAbilities.clear();
|
||||
for (StaticAbility sa : source.getStaticAbilities()) {
|
||||
for (StaticAbility sa : source.staticAbilities) {
|
||||
StaticAbility saCopy = new StaticAbility(sa, this.card);
|
||||
saCopy.setIntrinsic(sa.isIntrinsic());
|
||||
this.staticAbilities.add(saCopy);
|
||||
|
||||
@@ -30,7 +30,7 @@ import forge.game.player.Player;
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
*/
|
||||
public abstract class AbilityStatic extends Ability {
|
||||
public abstract class AbilityStatic extends Ability implements Cloneable {
|
||||
/**
|
||||
* <p>
|
||||
* Constructor for Ability_Static.
|
||||
@@ -62,4 +62,14 @@ public abstract class AbilityStatic extends Ability {
|
||||
|
||||
return this.getRestrictions().canPlay(c, this);
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public final Object clone() {
|
||||
try {
|
||||
return super.clone();
|
||||
} catch (final Exception ex) {
|
||||
throw new RuntimeException("AbilityStatic : clone() error, " + ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user