mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18: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;
|
protected Card hostCard;
|
||||||
|
|
||||||
/** The map params. */
|
/** The map params. */
|
||||||
protected final Map<String, String> originalMapParams = Maps.newHashMap(),
|
protected Map<String, String> originalMapParams = Maps.newHashMap(),
|
||||||
mapParams = Maps.newHashMap();
|
mapParams = Maps.newHashMap();
|
||||||
|
|
||||||
/** The is intrinsic. */
|
/** The is intrinsic. */
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
package forge.game.spellability;
|
package forge.game.spellability;
|
||||||
|
|
||||||
import com.google.common.collect.Iterables;
|
import com.google.common.collect.Iterables;
|
||||||
|
import com.google.common.collect.Maps;
|
||||||
|
|
||||||
import forge.card.mana.ManaCost;
|
import forge.card.mana.ManaCost;
|
||||||
import forge.game.CardTraitBase;
|
import forge.game.CardTraitBase;
|
||||||
@@ -645,6 +646,9 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
|
|||||||
if (clone.hostCard != null && clone.hostCard.getGame() != null) {
|
if (clone.hostCard != null && clone.hostCard.getGame() != null) {
|
||||||
clone.hostCard.getGame().addSpellAbility(clone.id, clone);
|
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) {
|
} catch (final CloneNotSupportedException e) {
|
||||||
System.err.println(e);
|
System.err.println(e);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user