From 6ccb41cfa6120f42d1fe0b14ada2c066c450c7e5 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Thu, 5 Aug 2021 17:48:27 +0200 Subject: [PATCH 1/2] NPE protection --- forge-game/src/main/java/forge/game/combat/Combat.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/forge-game/src/main/java/forge/game/combat/Combat.java b/forge-game/src/main/java/forge/game/combat/Combat.java index 4fccef7ba91..8c0c93f5999 100644 --- a/forge-game/src/main/java/forge/game/combat/Combat.java +++ b/forge-game/src/main/java/forge/game/combat/Combat.java @@ -301,7 +301,7 @@ public class Combat { return ab; } } - CombatLki lki = lkiCache.get(c).getCombatLKI(); + CombatLki lki = lkiCache.get(c) != null ? lkiCache.get(c).getCombatLKI() : null; return lki == null || !lki.isAttacker ? null : lki.getFirstBand(); } @@ -911,7 +911,7 @@ public class Combat { return false; } - CombatLki lki = lkiCache.get(blocker).getCombatLKI(); + CombatLki lki = lkiCache.get(blocker) != null ? lkiCache.get(blocker).getCombatLKI() : null; return null != lki && !lki.isAttacker; // was blocking something anyway } @@ -926,7 +926,7 @@ public class Combat { return false; } - CombatLki lki = lkiCache.get(blocker).getCombatLKI(); + CombatLki lki = lkiCache.get(blocker) != null ? lkiCache.get(blocker).getCombatLKI() : null; return null != lki && !lki.isAttacker && lki.relatedBands.contains(ab); // was blocking that very band } From bb2c967f6eb2a6f094ef6ee2db8068107c3d3dca Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Thu, 5 Aug 2021 17:48:51 +0200 Subject: [PATCH 2/2] Fix Minimus Containment on equipment --- forge-ai/src/main/java/forge/ai/ability/CountersMoveAi.java | 3 +-- forge-game/src/main/java/forge/game/card/Card.java | 1 - forge-gui/res/cardsfolder/m/minimus_containment.txt | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ability/CountersMoveAi.java b/forge-ai/src/main/java/forge/ai/ability/CountersMoveAi.java index 32e995d7f70..bb33b00f10e 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CountersMoveAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CountersMoveAi.java @@ -370,8 +370,7 @@ public class CountersMoveAi extends SpellAbilityAi { Card lki = CardUtil.getLKICopy(src); if (cType == null) { lki.clearCounters(); - } - else { + } else { lki.setCounters(cType, 0); } // go for opponent when higher value implies debuff 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 87709e6c219..bbe94cf9749 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -3450,7 +3450,6 @@ public class Card extends GameEntity implements Comparable, IHasSVars { runParams.put(AbilityKey.AttachSource, this); runParams.put(AbilityKey.AttachTarget, entity); getController().getGame().getTriggerHandler().runTrigger(TriggerType.Attached, runParams, false); - } public final void unattachFromEntity(final GameEntity entity) { diff --git a/forge-gui/res/cardsfolder/m/minimus_containment.txt b/forge-gui/res/cardsfolder/m/minimus_containment.txt index 63153821610..e489e8c3321 100644 --- a/forge-gui/res/cardsfolder/m/minimus_containment.txt +++ b/forge-gui/res/cardsfolder/m/minimus_containment.txt @@ -3,6 +3,6 @@ ManaCost:2 W Types:Enchantment Aura K:Enchant nonland permanent A:SP$ Attach | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | AILogic$ Curse -S:Mode$ Continuous | Affected$ Permanent.EnchantedBy | AddType$ Artifact & Treasure | RemoveCardTypes$ True | AddAbility$ TreasureSac | RemoveAllAbilities$ True | Description$ Enchanted permanent is a Treasure artifact with "{T}, Sacrifice this artifact: Add one mana of any color," and it loses all other abilities. (If it was a creature, it's no longer a creature.) +S:Mode$ Continuous | Affected$ Permanent.EnchantedBy | AddType$ Artifact & Treasure | RemoveCardTypes$ True | RemoveArtifactTypes$ True | AddAbility$ TreasureSac | RemoveAllAbilities$ True | Description$ Enchanted permanent is a Treasure artifact with "{T}, Sacrifice this artifact: Add one mana of any color," and it loses all other abilities. (If it was a creature, it's no longer a creature.) SVar:TreasureSac:AB$ Mana | Cost$ T Sac<1/CARDNAME> | Produced$ Any | SpellDescription$ Add one mana of any color. Oracle:Enchant nonland permanent\nEnchanted permanent is a Treasure artifact with "{T}, Sacrifice this artifact: Add one mana of any color," and it loses all other abilities. (If it was a creature, it's no longer a creature.)