From 45472cc75a3019004f01784ffa76903729a51b05 Mon Sep 17 00:00:00 2001 From: Chronometrics Date: Mon, 29 Oct 2018 23:13:46 -0700 Subject: [PATCH] 0.10.4 Hotfix Bug: Recurrance and Pendulum no longer crash on tooltip. Bug: Fixed Pattern Shift support with Corrupt Heart. Bug: Fixed Pattern Shift support with Spire Shield. Bug: Fixed Pattern Shift support with Spire Spear. Bug: Pendulum now works with Beat of Death. --- src/main/java/actions/PatternShiftAction.java | 14 ++++++++++++++ src/main/java/cards/Pendulum.java | 3 +++ src/main/java/cards/Recurrance.java | 3 +++ src/main/java/powers/TimeDilatePower.java | 4 +++- src/main/resources/Changelog.txt | 8 ++++++++ src/main/resources/ModTheSpire.json | 2 +- 6 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/main/java/actions/PatternShiftAction.java b/src/main/java/actions/PatternShiftAction.java index f26e191..49bd95a 100644 --- a/src/main/java/actions/PatternShiftAction.java +++ b/src/main/java/actions/PatternShiftAction.java @@ -495,6 +495,20 @@ public static boolean restorePreviewedSpecialCases(AbstractMonster m) { ReflectionHacks.setPrivate(hexa, Hexaghost.class, "orbActiveCount", orbActiveCount-1); } break; + + case "CorruptHeart": + turnCount = (int)ReflectionHacks.getPrivate(m, m.getClass(), "moveCount"); + ReflectionHacks.setPrivate(m, m.getClass(), "moveCount", turnCount - 1); + break; + + case "SpireShield": + turnCount = (int)ReflectionHacks.getPrivate(m, m.getClass(), "moveCount"); + ReflectionHacks.setPrivate(m, m.getClass(), "moveCount", turnCount - 1); + break; + case "SpireSpear": + turnCount = (int)ReflectionHacks.getPrivate(m, m.getClass(), "moveCount"); + ReflectionHacks.setPrivate(m, m.getClass(), "moveCount", turnCount - 1); + break; } return true; diff --git a/src/main/java/cards/Pendulum.java b/src/main/java/cards/Pendulum.java index 903a067..5f2156d 100644 --- a/src/main/java/cards/Pendulum.java +++ b/src/main/java/cards/Pendulum.java @@ -8,6 +8,7 @@ import com.megacrit.cardcrawl.dungeons.AbstractDungeon; import com.megacrit.cardcrawl.localization.CardStrings; import com.megacrit.cardcrawl.monsters.AbstractMonster; +import com.megacrit.cardcrawl.rooms.AbstractRoom; import com.megacrit.cardcrawl.powers.TimeDilationPower; import com.megacrit.cardcrawl.actions.utility.SFXAction; import basemod.helpers.TooltipInfo; @@ -50,6 +51,8 @@ public void use(AbstractPlayer p, AbstractMonster m) { @Override public List getCustomTooltips() { this.tips.clear(); + + if (AbstractDungeon.getCurrRoom().phase != AbstractRoom.RoomPhase.COMBAT) { return this.tips; } for (AbstractMonster mo : AbstractDungeon.getCurrRoom().monsters.monsters) { if (!mo.isDead && !mo.escaped) { diff --git a/src/main/java/cards/Recurrance.java b/src/main/java/cards/Recurrance.java index 0c38b36..ebebd14 100644 --- a/src/main/java/cards/Recurrance.java +++ b/src/main/java/cards/Recurrance.java @@ -13,6 +13,7 @@ import com.megacrit.cardcrawl.powers.GainStrengthPower; import com.megacrit.cardcrawl.actions.common.ApplyPowerAction; import com.megacrit.cardcrawl.actions.common.ReducePowerAction; +import com.megacrit.cardcrawl.rooms.AbstractRoom; import chronomuncher.cards.MetricsCard; import chronomuncher.ChronoMod; @@ -78,6 +79,8 @@ public void use(AbstractPlayer p, AbstractMonster m) { public List getCustomTooltips() { this.tips.clear(); + if (AbstractDungeon.getCurrRoom().phase != AbstractRoom.RoomPhase.COMBAT) { return this.tips; } + for (AbstractMonster mo : AbstractDungeon.getCurrRoom().monsters.monsters) { if (!mo.isDead && !mo.escaped) { if (mo.hasPower("DelayedAttack")) { diff --git a/src/main/java/powers/TimeDilatePower.java b/src/main/java/powers/TimeDilatePower.java index 7a19a56..748d83b 100644 --- a/src/main/java/powers/TimeDilatePower.java +++ b/src/main/java/powers/TimeDilatePower.java @@ -56,6 +56,8 @@ public void onInitialApplication() case "Split": case "Life Link": case "Thievery": + case "Surrounded": + case "BackAttack": break; default: @@ -67,7 +69,7 @@ public void onInitialApplication() AbstractDungeon.onModifyPower(); break; } - } else if (p.ID == "Shackled" && p.amount > 0) { + } else if ((p.ID == "Shackled" && p.amount > 0) || p.ID == "BeatOfDeath") { this.savedPowers.add(p); p.onRemove(); ((Iterator)e).remove(); diff --git a/src/main/resources/Changelog.txt b/src/main/resources/Changelog.txt index 553d831..95b7ce1 100644 --- a/src/main/resources/Changelog.txt +++ b/src/main/resources/Changelog.txt @@ -1,5 +1,13 @@ Changelog: +0.10.4 + + Bug: Recurrance and Pendulum no longer crash on tooltip. + Bug: Fixed Pattern Shift support with Corrupt Heart. + Bug: Fixed Pattern Shift support with Spire Shield. + Bug: Fixed Pattern Shift support with Spire Spear. + Bug: Pendulum now works with Beat of Death. + 0.10.3 Card: New Card, Locked Anchor. Ethereal. Gains 10 block, Anchor Replica counts up instead of down. On upgrade, shattering Anchor gains 10 block. diff --git a/src/main/resources/ModTheSpire.json b/src/main/resources/ModTheSpire.json index 74dd616..284c546 100755 --- a/src/main/resources/ModTheSpire.json +++ b/src/main/resources/ModTheSpire.json @@ -4,7 +4,7 @@ "author_list": ["Chronometrics"], "description": "The Disciple is a custom Slay the Spire character themed after the Time Eater. The deck is designed around choosing the correct time for cards to be played to gain max value, and has four central themes: Card Retention, Intent Shifting, Card Transforming, and Temporary Relic Cycling.", "dependencies": ["basemod"], - "version": "0.10.3", + "version": "0.10.4", "credits": "Special Thanks to: \nRocketPad - for various character artwork. \nFormalFighting - for design assistance and early playtesting. \nSkylawinters - First alpha player. \nLyman - three card portraits. \nZandorum - Chronometer relic image improvements. \nKullwarrior, KongMD, xcalibre0 - consistent bug reporters.", "sts_version": "10-18-2018", "mts_version": "3.4.0",