mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 20:28:00 +00:00
CardTraitBase & SpellAbility: mapParams need to be copied on clone too so they can be changed.
This commit is contained in:
@@ -29,7 +29,7 @@ public abstract class CardTraitBase extends GameObject implements IHasCardView {
|
||||
protected Card hostCard;
|
||||
|
||||
/** The map params. */
|
||||
protected final Map<String, String> originalMapParams = Maps.newHashMap(),
|
||||
protected Map<String, String> originalMapParams = Maps.newHashMap(),
|
||||
mapParams = Maps.newHashMap();
|
||||
|
||||
/** The is intrinsic. */
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
package forge.game.spellability;
|
||||
|
||||
import com.google.common.collect.Iterables;
|
||||
import com.google.common.collect.Maps;
|
||||
|
||||
import forge.card.mana.ManaCost;
|
||||
import forge.game.CardTraitBase;
|
||||
@@ -645,6 +646,9 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
|
||||
if (clone.hostCard != null && clone.hostCard.getGame() != null) {
|
||||
clone.hostCard.getGame().addSpellAbility(clone.id, clone);
|
||||
}
|
||||
// need to clone the maps too so they can be changed
|
||||
clone.originalMapParams = Maps.newHashMap(this.originalMapParams);
|
||||
clone.mapParams = Maps.newHashMap(this.mapParams);
|
||||
} catch (final CloneNotSupportedException e) {
|
||||
System.err.println(e);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user