mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 11:18:01 +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);
|
out.setToken(true);
|
||||||
|
|
||||||
// add abilities
|
// add abilities
|
||||||
for (SpellAbility sa : in.getIntrinsicSpellAbilities()) {
|
//for (SpellAbility sa : in.getIntrinsicSpellAbilities()) {
|
||||||
out.addSpellAbility(sa);
|
// out.addSpellAbility(sa);
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (final CardStateName state : in.getStates()) {
|
for (final CardStateName state : in.getStates()) {
|
||||||
|
|||||||
@@ -367,17 +367,28 @@ public class CardState extends GameObject {
|
|||||||
setColor(source.getColor());
|
setColor(source.getColor());
|
||||||
setBasePower(source.getBasePower());
|
setBasePower(source.getBasePower());
|
||||||
setBaseToughness(source.getBaseToughness());
|
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);
|
setIntrinsicKeywords(source.intrinsicKeywords);
|
||||||
setImageKey(source.getImageKey());
|
setImageKey(source.getImageKey());
|
||||||
setRarity(source.rarity);
|
setRarity(source.rarity);
|
||||||
setSetCode(source.setCode);
|
setSetCode(source.setCode);
|
||||||
setSVars(source.getSVars());
|
replacementEffects.clear();
|
||||||
replacementEffects = new FCollection<ReplacementEffect>();
|
for (ReplacementEffect RE : source.replacementEffects) {
|
||||||
for (ReplacementEffect RE : source.getReplacementEffects()) {
|
|
||||||
replacementEffects.add(RE.getCopy());
|
replacementEffects.add(RE.getCopy());
|
||||||
}
|
}
|
||||||
this.staticAbilities.clear();
|
this.staticAbilities.clear();
|
||||||
for (StaticAbility sa : source.getStaticAbilities()) {
|
for (StaticAbility sa : source.staticAbilities) {
|
||||||
StaticAbility saCopy = new StaticAbility(sa, this.card);
|
StaticAbility saCopy = new StaticAbility(sa, this.card);
|
||||||
saCopy.setIntrinsic(sa.isIntrinsic());
|
saCopy.setIntrinsic(sa.isIntrinsic());
|
||||||
this.staticAbilities.add(saCopy);
|
this.staticAbilities.add(saCopy);
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ import forge.game.player.Player;
|
|||||||
* @author Forge
|
* @author Forge
|
||||||
* @version $Id$
|
* @version $Id$
|
||||||
*/
|
*/
|
||||||
public abstract class AbilityStatic extends Ability {
|
public abstract class AbilityStatic extends Ability implements Cloneable {
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* Constructor for Ability_Static.
|
* Constructor for Ability_Static.
|
||||||
@@ -62,4 +62,14 @@ public abstract class AbilityStatic extends Ability {
|
|||||||
|
|
||||||
return this.getRestrictions().canPlay(c, this);
|
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