From 5174e3e8847561e09b156dbedb78ed8e772d6b38 Mon Sep 17 00:00:00 2001 From: xuwww <15270739190@163.com> Date: Fri, 1 Mar 2024 01:48:45 +0800 Subject: [PATCH 1/3] fix bug of downfall the end --- .../java/chronoMods/coop/CoopCourierRoom.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/main/java/chronoMods/coop/CoopCourierRoom.java diff --git a/src/main/java/chronoMods/coop/CoopCourierRoom.java b/src/main/java/chronoMods/coop/CoopCourierRoom.java new file mode 100644 index 0000000..6b27e38 --- /dev/null +++ b/src/main/java/chronoMods/coop/CoopCourierRoom.java @@ -0,0 +1,31 @@ +package chronoMods.coop; + +import chronoMods.coop.courier.CoopCourier; +import com.badlogic.gdx.graphics.g2d.SpriteBatch; +import com.megacrit.cardcrawl.dungeons.AbstractDungeon; +import com.megacrit.cardcrawl.rooms.AbstractRoom; + +// for downfall mod +public class CoopCourierRoom extends AbstractRoom { + private chronoMods.coop.courier.CoopCourierRoom realCoopCourierRoom; + + public CoopCourierRoom() { + this.realCoopCourierRoom = new chronoMods.coop.courier.CoopCourierRoom(); + } + + public void onPlayerEntry() { + realCoopCourierRoom.onPlayerEntry(); + } + + public void update() { + realCoopCourierRoom.update(); + } + + public void render(SpriteBatch sb) { + realCoopCourierRoom.render(sb); + } + + public void dispose() { + realCoopCourierRoom.dispose(); + } +} From 87a6968cb6d94dd8e72c8ffebc98cd597ba1cc04 Mon Sep 17 00:00:00 2001 From: xuwww <15270739190@163.com> Date: Fri, 1 Mar 2024 15:56:30 +0800 Subject: [PATCH 2/3] fix bug for random class relic --- src/main/java/chronoMods/coop/CoopNeowReward.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/chronoMods/coop/CoopNeowReward.java b/src/main/java/chronoMods/coop/CoopNeowReward.java index 7aa6cd4..ffbdfbf 100644 --- a/src/main/java/chronoMods/coop/CoopNeowReward.java +++ b/src/main/java/chronoMods/coop/CoopNeowReward.java @@ -1,5 +1,6 @@ package chronoMods.coop; +import basemod.BaseMod; import chronoMods.TogetherManager; import chronoMods.coop.hubris.DuctTapeCard; import chronoMods.coop.infusions.InfusionHelper; @@ -721,6 +722,11 @@ public void activate() { r = RelicLibrary.whiteList.get(NeowEvent.rng.random(RelicLibrary.whiteList.size()-1)); } while (r.tier == AbstractRelic.RelicTier.BOSS || r.tier == AbstractRelic.RelicTier.STARTER); break; + default: + do { + AbstractRelic[] relicList = BaseMod.getRelicsInCustomPool(AbstractDungeon.player.getCardColor()).values().toArray(new AbstractRelic[0]); + r = relicList[NeowEvent.rng.random(relicList.length - 1)]; + } while (r.tier == AbstractRelic.RelicTier.BOSS || r.tier == AbstractRelic.RelicTier.STARTER); } if (r != null) { AbstractDungeon.getCurrRoom().spawnRelicAndObtain((Settings.WIDTH / 2), (Settings.HEIGHT / 2), r.makeCopy()); From 8d447ab9d16f4b3ea8350644cd695919a99208bf Mon Sep 17 00:00:00 2001 From: xuwww <15270739190@163.com> Date: Fri, 1 Mar 2024 16:10:47 +0800 Subject: [PATCH 3/3] fix bug of UPGRADE_CLASS_RELIC --- .../java/chronoMods/coop/CoopNeowReward.java | 40 +++++++++++-------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/src/main/java/chronoMods/coop/CoopNeowReward.java b/src/main/java/chronoMods/coop/CoopNeowReward.java index ffbdfbf..d3844e3 100644 --- a/src/main/java/chronoMods/coop/CoopNeowReward.java +++ b/src/main/java/chronoMods/coop/CoopNeowReward.java @@ -54,6 +54,8 @@ import org.apache.logging.log4j.Logger; import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; public class CoopNeowReward { public static class NeowRewardDef { @@ -681,23 +683,29 @@ public void activate() { // Safety check for shittily implemented mods if (AbstractDungeon.player.getStartingRelics().size() == 0) { return; } - AbstractDungeon.player.loseRelic(((AbstractRelic)AbstractDungeon.player.relics.get(0)).relicId); - if (AbstractDungeon.player.getStartingRelics().get(0).equals("Burning Blood")) { - AbstractDungeon.getCurrRoom().spawnRelicAndObtain((Settings.WIDTH / 2), (Settings.HEIGHT / 2), RelicLibrary.getRelic("Black Blood").makeCopy()); - AbstractDungeon.bossRelicPool.remove("Black Blood"); - } - if (AbstractDungeon.player.getStartingRelics().get(0).equals("Ring of the Snake")) { - AbstractDungeon.getCurrRoom().spawnRelicAndObtain((Settings.WIDTH / 2), (Settings.HEIGHT / 2), RelicLibrary.getRelic("Ring of the Serpent").makeCopy()); - AbstractDungeon.bossRelicPool.remove("Ring of the Serpent"); - } - if (AbstractDungeon.player.getStartingRelics().get(0).equals("Cracked Core")) { - AbstractDungeon.getCurrRoom().spawnRelicAndObtain((Settings.WIDTH / 2), (Settings.HEIGHT / 2), RelicLibrary.getRelic("FrozenCore").makeCopy()); - AbstractDungeon.bossRelicPool.remove("FrozenCore"); - } - if (AbstractDungeon.player.getStartingRelics().get(0).equals("PureWater")) { - AbstractDungeon.getCurrRoom().spawnRelicAndObtain((Settings.WIDTH / 2), (Settings.HEIGHT / 2), RelicLibrary.getRelic("HolyWater").makeCopy()); - AbstractDungeon.bossRelicPool.remove("HolyWater"); + Map relicUpgrade = new HashMap<>(); + relicUpgrade.put("Burning Blood", "Black Blood"); + relicUpgrade.put("Ring of the Snake", "Ring of the Serpent"); + relicUpgrade.put("Cracked Core", "FrozenCore"); + relicUpgrade.put("PureWater", "HolyWater"); + relicUpgrade.put("Guardian:ModeShifter", "Guardian:ModeShifterPlus"); + relicUpgrade.put("Slimebound:AbsorbEndCombat", "Slimebound:AbsorbEndCombatUpgraded"); + relicUpgrade.put("champ:ChampionCrown", "champ:ChampionCrownUpgraded"); + relicUpgrade.put("hermit:Momento", "hermit:ClaspedLocket"); + relicUpgrade.put("bronze:BronzeCore", "bronze:PlatinumCore"); + relicUpgrade.put("collector:EmeraldTorch", "collector:PrismaticTorch"); + relicUpgrade.put("sneckomod:SneckoBoss", "sneckomod:SneckoCommon"); + relicUpgrade.put("sneckomod:Snecko Eye", "sneckomod:SuperSneckoEye"); + relicUpgrade.put("sneckomod:SneckoSoul", "sneckomod:SuperSneckoSoul"); + relicUpgrade.put("hexamod:SpiritBrand", "hexamod:UnbrokenSoul"); + relicUpgrade.put("Gremlin:GremlinKnob", "Gremlin:GremlinKnobUpgrade"); + if (relicUpgrade.containsKey(AbstractDungeon.player.getStartingRelics().get(0))) { + AbstractDungeon.player.loseRelic(((AbstractRelic) AbstractDungeon.player.relics.get(0)).relicId); + String upgradeRelic = relicUpgrade.get(AbstractDungeon.player.getStartingRelics().get(0)); + AbstractDungeon.getCurrRoom().spawnRelicAndObtain((Settings.WIDTH / 2), (Settings.HEIGHT / 2), RelicLibrary.getRelic(upgradeRelic).makeCopy()); + AbstractDungeon.bossRelicPool.remove(upgradeRelic); } + break; case RANDOM_CLASS_RELIC: AbstractRelic r = null;