mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 20:58:03 +00:00
Card: fixed intrinsic on copied static abilities
This commit is contained in:
@@ -3490,7 +3490,11 @@ public class Card extends GameEntity implements Comparable<Card> {
|
||||
return null;
|
||||
}
|
||||
public final StaticAbility addStaticAbility(final StaticAbility stAb) {
|
||||
return addStaticAbility(stAb, false);
|
||||
}
|
||||
public final StaticAbility addStaticAbility(final StaticAbility stAb, boolean intrinsic) {
|
||||
final StaticAbility stAbCopy = new StaticAbility(stAb, this);
|
||||
stAbCopy.setIntrinsic(intrinsic);
|
||||
currentState.addStaticAbility(stAbCopy);
|
||||
return stAbCopy;
|
||||
}
|
||||
|
||||
@@ -650,8 +650,12 @@ public class CardFactory {
|
||||
to.addSpellAbility(sa.copy());
|
||||
}
|
||||
|
||||
// add static abilities
|
||||
to.getCurrentState().clearStaticAbilities();
|
||||
for (StaticAbility staticAbility : fromCharacteristics.getStaticAbilities()) {
|
||||
to.addStaticAbility(staticAbility);
|
||||
if (staticAbility.isIntrinsic()) {
|
||||
to.addStaticAbility(staticAbility, true);
|
||||
}
|
||||
}
|
||||
// reset state
|
||||
to.setState(oldToState, false);
|
||||
|
||||
@@ -282,6 +282,9 @@ public class CardState {
|
||||
public final void setStaticAbilities(final Iterable<StaticAbility> staticAbilities0) {
|
||||
staticAbilities = new FCollection<StaticAbility>(staticAbilities0);
|
||||
}
|
||||
public final void clearStaticAbilities() {
|
||||
staticAbilities.clear();
|
||||
}
|
||||
|
||||
public final String getImageKey() {
|
||||
return imageKey;
|
||||
@@ -362,7 +365,9 @@ public class CardState {
|
||||
}
|
||||
this.staticAbilities.clear();
|
||||
for (StaticAbility sa : source.getStaticAbilities()) {
|
||||
this.staticAbilities.add(new StaticAbility(sa, c));
|
||||
StaticAbility saCopy = new StaticAbility(sa, c);
|
||||
saCopy.setIntrinsic(sa.isIntrinsic());
|
||||
this.staticAbilities.add(saCopy);
|
||||
}
|
||||
view.updateKeywords(c, this);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user