From c272df37f7f45399dfb8e84fe125a145a3db5d0b Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Mon, 22 Nov 2021 00:15:12 +0100 Subject: [PATCH] Fix New Blood not fully working --- .../java/forge/game/ability/effects/ChangeTextEffect.java | 8 +++++--- forge-game/src/main/java/forge/game/card/Card.java | 8 +++----- forge-game/src/main/java/forge/game/card/CardView.java | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeTextEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeTextEffect.java index d7174ab3bac..115b7bab66d 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeTextEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeTextEffect.java @@ -70,7 +70,7 @@ public class ChangeTextEffect extends SpellAbilityEffect { kindOfType = "basic land"; } else if (changedTypeWordsArray[0].equals("ChooseCreatureType")) { validTypes.addAll(CardType.Constant.CREATURE_TYPES); - kindOfType = "creature"; + kindOfType = "Creature"; } changedTypeWordOriginal = sa.getActivatingPlayer().getController().chooseSomeType(kindOfType, sa, validTypes, Lists.newArrayList()); } else { @@ -86,7 +86,7 @@ public class ChangeTextEffect extends SpellAbilityEffect { kindOfType = "basic land"; } else if (changedTypeWordsArray[1].equals("ChooseCreatureType")) { validTypes.addAll(CardType.Constant.CREATURE_TYPES); - kindOfType = "creature"; + kindOfType = "Creature"; } changedTypeWordNew = sa.getActivatingPlayer().getController().chooseSomeType(kindOfType, sa, validTypes, forbiddenTypes); } else { @@ -102,7 +102,7 @@ public class ChangeTextEffect extends SpellAbilityEffect { if (changedColorWordOriginal != null && changedColorWordNew != null) { c.addChangedTextColorWord(changedColorWordOriginal, changedColorWordNew, timestamp, 0); } - if (changedTypeWordOriginal != null && changedTypeWordNew != null ) { + if (changedTypeWordOriginal != null && changedTypeWordNew != null) { c.addChangedTextTypeWord(changedTypeWordOriginal, changedTypeWordNew, timestamp, 0); } @@ -123,6 +123,8 @@ public class ChangeTextEffect extends SpellAbilityEffect { } game.fireEvent(new GameEventCardStatsChanged(c)); + c.updateStateForView(); + c.updateTypesForView(); } } diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index 565250011b4..89f6241c22f 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -3533,7 +3533,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { return getType(currentState); } public final CardTypeView getType(CardState state) { - if (changedCardTypes.isEmpty() && changedCardTypesCharacterDefining.isEmpty()) { + if (changedCardTypes.isEmpty() && changedCardTypesCharacterDefining.isEmpty() && changedTypeByText == null) { return state.getType(); } // CR 506.4 attacked planeswalkers leave combat @@ -3548,14 +3548,12 @@ public class Card extends GameEntity implements Comparable, IHasSVars { public final CardTypeView getOriginalType() { return getOriginalType(currentState); } - public final CardTypeView getOriginalType(CardState state) { return state.getType(); } // TODO add changed type by card text public Iterable getChangedCardTypes() { - Iterable byText = changedTypeByText == null ? ImmutableList.of() : ImmutableList.of(this.changedTypeByText); return Iterables.unmodifiableIterable(Iterables.concat( @@ -3563,7 +3561,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { byText, // Layer 3 by Word Changes, changedCardTypesCharacterDefining.values(), // Layer 4 changedCardTypes.values() // Layer 6 - )); + )); } public Table getChangedCardTypesTable() { @@ -4474,7 +4472,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { final List addKeywords = Lists.newArrayList(); final List removeKeywords = Lists.newArrayList(); // Text Change for intrinsic keywords - for(KeywordInterface kw : beforeKeywords) { + for (KeywordInterface kw : beforeKeywords) { String oldtxt = kw.getOriginal(); final String newtxt = AbilityUtils.applyKeywordTextChangeEffects(oldtxt, this); if (!newtxt.equals(oldtxt)) { diff --git a/forge-game/src/main/java/forge/game/card/CardView.java b/forge-game/src/main/java/forge/game/card/CardView.java index a23e834f198..5cced7cc806 100644 --- a/forge-game/src/main/java/forge/game/card/CardView.java +++ b/forge-game/src/main/java/forge/game/card/CardView.java @@ -874,7 +874,7 @@ public class CardView extends GameEntityView { set(TrackableProperty.Modal, c.isModal()); //backside - if (c.getAlternateState()!=null) + if (c.getAlternateState() != null) updateBackSide(c.getAlternateState().getName(), c.hasBackSide()); final Card cloner = c.getCloner();