mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 04:38:00 +00:00
Update cardstates after creating token from prototype (#5676)
* Hotfix for Toggo rock * Force update cardstate * Clean up --------- Co-authored-by: tool4EvEr <tool4EvEr@192.168.0.60>
This commit is contained in:
@@ -114,6 +114,8 @@ public abstract class TokenEffectBase extends SpellAbilityEffect {
|
||||
|
||||
for (int i = 0; i < cellAmount; i++) {
|
||||
Card tok = new CardCopyService(prototype).copyCard(true);
|
||||
// disconnect from prototype
|
||||
tok.getStates().forEach(cs -> tok.getState(cs).resetOriginalHost());
|
||||
// Crafty Cutpurse would change under which control it does enter,
|
||||
// but it shouldn't change who creates the token
|
||||
tok.setOwner(creator);
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
package forge.game.card;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@@ -748,15 +747,26 @@ public class CardState extends GameObject implements IHasSVars {
|
||||
}
|
||||
}
|
||||
|
||||
public ImmutableList<CardTraitBase> getTraits() {
|
||||
return ImmutableList.<CardTraitBase>builder()
|
||||
.addAll(manaAbilities)
|
||||
.addAll(nonManaAbilities)
|
||||
.addAll(triggers)
|
||||
.addAll(replacementEffects)
|
||||
.addAll(staticAbilities)
|
||||
.build();
|
||||
}
|
||||
|
||||
public void resetOriginalHost() {
|
||||
for (final CardTraitBase ctb : getTraits()) {
|
||||
if (ctb.isIntrinsic()) {
|
||||
ctb.setCardState(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void updateChangedText() {
|
||||
final List<CardTraitBase> allAbs = ImmutableList.<CardTraitBase>builder()
|
||||
.addAll(manaAbilities)
|
||||
.addAll(nonManaAbilities)
|
||||
.addAll(triggers)
|
||||
.addAll(replacementEffects)
|
||||
.addAll(staticAbilities)
|
||||
.build();
|
||||
for (final CardTraitBase ctb : allAbs) {
|
||||
for (final CardTraitBase ctb : getTraits()) {
|
||||
if (ctb.isIntrinsic()) {
|
||||
ctb.changeText();
|
||||
}
|
||||
@@ -764,14 +774,7 @@ public class CardState extends GameObject implements IHasSVars {
|
||||
}
|
||||
|
||||
public void changeTextIntrinsic(Map<String,String> colorMap, Map<String,String> typeMap) {
|
||||
final List<CardTraitBase> allAbs = ImmutableList.<CardTraitBase>builder()
|
||||
.addAll(manaAbilities)
|
||||
.addAll(nonManaAbilities)
|
||||
.addAll(triggers)
|
||||
.addAll(replacementEffects)
|
||||
.addAll(staticAbilities)
|
||||
.build();
|
||||
for (final CardTraitBase ctb : allAbs) {
|
||||
for (final CardTraitBase ctb : getTraits()) {
|
||||
if (ctb.isIntrinsic()) {
|
||||
ctb.changeTextIntrinsic(colorMap, typeMap);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user