From 60a29560b63b62948336f9c18457574a20a90d32 Mon Sep 17 00:00:00 2001 From: Victor Kim <17victork@gmail.com> Date: Fri, 15 Jul 2022 14:58:56 -0700 Subject: [PATCH] Adding an out of bound check for scry hotkey regarding this error that happens when you try to hotkey a scry card number that is higher than the number of cards shown to you: ```java.lang.IndexOutOfBoundsException: Index: 3, Size: 3 at java.util.ArrayList.rangeCheck(ArrayList.java:657) at java.util.ArrayList.get(ArrayList.java:433) at test447.keycuts.patches.cards.GridCardSelectScreenPatches$Update.Insert(GridCardSelectScreenPatches.java:71) at com.megacrit.cardcrawl.screens.select.GridCardSelectScreen.update(GridCardSelectScreen.java:143) at com.megacrit.cardcrawl.dungeons.AbstractDungeon.update(AbstractDungeon.java:2564) at com.megacrit.cardcrawl.core.CardCrawlGame.update(CardCrawlGame.java:876) at com.megacrit.cardcrawl.core.CardCrawlGame.render(CardCrawlGame.java:423) at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:225) at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126)``` --- .../keycuts/patches/cards/GridCardSelectScreenPatches.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/test447/keycuts/patches/cards/GridCardSelectScreenPatches.java b/src/main/java/test447/keycuts/patches/cards/GridCardSelectScreenPatches.java index ae095c2..1efcd63 100644 --- a/src/main/java/test447/keycuts/patches/cards/GridCardSelectScreenPatches.java +++ b/src/main/java/test447/keycuts/patches/cards/GridCardSelectScreenPatches.java @@ -68,6 +68,10 @@ public static void Insert(GridCardSelectScreen self) if (InputActionSet.selectCardActions[i].isJustPressed()) { int cardPosition = CARDS_PER_LINE * row + i; + if(cardPosition >= self.targetGroup.group.length || cardPosition < 0){ + // card out of range + return; + } AbstractCard hoveredCard = self.targetGroup.group.get(cardPosition); hoveredCard.hb.clicked = true; ReflectionHacks.setPrivate(self, GridCardSelectScreen.class, "hoveredCard", hoveredCard);