From 1ccb76745f9e8297d5eea4b6bf4fbd8aa706c730 Mon Sep 17 00:00:00 2001 From: TabletopGeneral <56438137+jjayers99@users.noreply.github.com> Date: Wed, 23 Aug 2023 16:15:25 -0700 Subject: [PATCH] Minor Adventure bug fixes (#3683) Prevent NPE with invalid event history Correct transition from aggro to previous movement behavior with dungeon mobs --- .../src/forge/adventure/character/EnemySprite.java | 2 ++ .../src/forge/adventure/player/PlayerStatistic.java | 6 +++++- forge-gui/res/cardsfolder/d/demonic_lore.txt | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/forge-gui-mobile/src/forge/adventure/character/EnemySprite.java b/forge-gui-mobile/src/forge/adventure/character/EnemySprite.java index 42fdc921be0..c630f0e15c3 100644 --- a/forge-gui-mobile/src/forge/adventure/character/EnemySprite.java +++ b/forge-gui-mobile/src/forge/adventure/character/EnemySprite.java @@ -361,6 +361,8 @@ public class EnemySprite extends CharacterSprite implements Steerable { } if (aggro && spriteToPlayer.len() > pursueRange) { aggro = false; + if (navPath != null) + navPath.clear(); initializeBaseMovementBehavior(); } } diff --git a/forge-gui-mobile/src/forge/adventure/player/PlayerStatistic.java b/forge-gui-mobile/src/forge/adventure/player/PlayerStatistic.java index d71e36ce7c2..ffdaad29a01 100644 --- a/forge-gui-mobile/src/forge/adventure/player/PlayerStatistic.java +++ b/forge-gui-mobile/src/forge/adventure/player/PlayerStatistic.java @@ -110,8 +110,12 @@ public class PlayerStatistic implements SaveFileContent { else winLossRecord.clear(); - if (data!=null&&data.containsKey("completedEvents")) + if (data!=null&&data.containsKey("completedEvents")) { completedEvents = (ArrayList) data.readObject("completedEvents"); + if (completedEvents == null) { + completedEvents = new ArrayList<>(); + } + } else completedEvents.clear(); } diff --git a/forge-gui/res/cardsfolder/d/demonic_lore.txt b/forge-gui/res/cardsfolder/d/demonic_lore.txt index bae99ea1d95..80b857f50db 100644 --- a/forge-gui/res/cardsfolder/d/demonic_lore.txt +++ b/forge-gui/res/cardsfolder/d/demonic_lore.txt @@ -8,3 +8,4 @@ SVar:TrigLoseLife:DB$ LoseLife | LifeAmount$ X SVar:X:Count$InYourHand/Times.2 SVar:DonateMe:5 Oracle:When Demonic Lore enters the battlefield, draw three cards.\nAt the beginning of your end step, you lose 2 life for each card in your hand. +AI:Remove:Random