Slay the Spire

Slay the Spire

InSpired
gwilliaustin  [developer] 8 Jan @ 7:29pm
Bug Reports/Issues | 错误报告/问题
Leave a bug report here.
Last edited by gwilliaustin; 5 Apr @ 6:22pm
< >
Showing 1-15 of 18 comments
JKingJ 27 Feb @ 12:14pm 
For some reason I'm getting crash at start up after the new update. Something to do with inspired.patches.ClickableRelicPatches. It seems to conflict with custom characters (ex. the Pokemon Master, the Ancient, etc.) as well as with basemod's publishEditCharacters
gwilliaustin  [developer] 27 Feb @ 4:53pm 
Thanks for the detailed feedback, I'll do some digging!
Bug squashed! Thanks for the report
Last edited by gwilliaustin; 27 Feb @ 7:18pm
MOL°C 16 Mar @ 3:10am 
当进入2层boss宝箱房时会闪退。when entering the boss chest room of the city,the game crushes。Cause:
java.lang.NullPointerException
at java.util.Objects.requireNonNull(Objects.java:203)
at inspired.relics.boss.FormImbued.canSpawn(FormImbued.java:88)
at com.megacrit.cardcrawl.dungeons.AbstractDungeon.returnRandomRelicKey(AbstractDungeon.java:1036)
at com.megacrit.cardcrawl.dungeons.AbstractDungeon.returnRandomRelic(AbstractDungeon.java:899)
at com.megacrit.cardcrawl.rewards.chests.BossChest.<init>(BossChest.java:35)
at com.megacrit.cardcrawl.rooms.TreasureRoomBoss.onPlayerEntry(TreasureRoomBoss.java:64)
at com.megacrit.cardcrawl.dungeons.AbstractDungeon.nextRoomTransition(AbstractDungeon.java:2282)
at com.megacrit.cardcrawl.dungeons.AbstractDungeon.populatePathTaken(AbstractDungeon.java:582)
at com.megacrit.cardcrawl.dungeons.TheCity.<init>(TheCity.java:87)
at com.megacrit.cardcrawl.core.CardCrawlGame.getDungeon(CardCrawlGame.java:1364)
at com.megacrit.cardcrawl.core.CardCrawlGame.update(CardCrawlGame.java:860)
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)
gwilliaustin  [developer] 16 Mar @ 8:35am 
Thanks Mol, I'll look into it today. Could I ask if you were playing as a modded/custom character? That may help me debug this particular relic. Never mind, issue resolved. Fix will be added to the next update!
Last edited by gwilliaustin; 16 Mar @ 9:00am
dvide 21 Mar @ 6:22am 
I really like this mod and 0.1.1 looks like a cool update, but there are problems with changes to the base cards.

As of 0.1.1, we can no longer load InSpired alongside Packmaster. Packmaster is expecting the standard Double Tap to exist in CardLibrary to initalize IroncladPack:

CARD FOR PACK NOT FOUND: Double Tap java.lang.NullPointerException at thePackmaster.packs.AbstractCardPack.initializePack(AbstractCardPack.java:54) at thePackmaster.packs.AbstractCardPack.<init>(AbstractCardPack.java:38) at thePackmaster.packs.AbstractCardPack.<init>(AbstractCardPack.java:42) at thePackmaster.packs.IroncladPack.<init>(IroncladPack.java:18)

https://github.com/erasels/PackmasterCharacter/blob/2811281f09eda859040151da06dffc5882594342/src/main/java/thePackmaster/packs/IroncladPack.java#L33

https://github.com/erasels/PackmasterCharacter/blob/main/src/main/java/thePackmaster/packs/AbstractCardPack.java#L48-L54

Even if this Packmaster problem is fixed with some specific workaround, I'm not sure I like the implementation of still replacing base cards with InSpired's versions even when I have disabled the changes. The reason being is this could still interfere with other mods that have made other changes to those base cards.

Also it looks like your mod removes Slice without replacing it with anything. Maybe Rusted Shiv is supposed to replace Slice. That makes sense, but if I want to disable Rusted Shiv I would still be missing Slice no?

It makes it hard to use the parts of this mod I really like when it interferes with the base cards in ways that I don't want. The CardFilter, RelicFilter, and PotionFilter parts of this mod are very impressive as well by themselves. I could see the benefit in those being moved to a standalone mod, especially if I can't cleanly disable all of the content changes that this mod makes. You might want a relic filter without also removing Slice, for example. InSpired's relic filter is probably the best one out there, but you can't necessarily use it currently if you don't also want the base card changes.
gwilliaustin  [developer] 21 Mar @ 1:07pm 
Thanks for bringing this to my attention. I chose to use BaseMod's removeCard feature since it has worked without issues to remove Slice; that was before I had even thought of the card locking system that is currently implemented. Replacing the base game card also made it easy to swap between the base and buffed version without requiring players to restart the game. I'll spend some time seeing if I can achieve the same result without removing the base game cards.
gwilliaustin  [developer] 21 Mar @ 1:10pm 
And as a side note, I do have future plans to make the card locking system an independent mod. The locking part of the mod is just now feature complete with this last update, so I am looking to start that process
dvide 21 Mar @ 3:00pm 
Originally posted by gwilliaustin:
And as a side note, I do have future plans to make the card locking system an independent mod. The locking part of the mod is just now feature complete with this last update, so I am looking to start that process

Sounds really great!

It would also be cool if we could lock curses so they don't show up from sources of random curses, like Neow's third option or when you transform a curse into another random curse. I think if a specific curse is given from an event, like Pain from Ominous Forge event, that's okay to show up even if you have locked Pain. The alterntive would be having to patch every curse-giving event to give nothing instead if that curse is locked, which isn't very good. But for random curses, Pain wouldn't be a candidate if its locked. That way you could filter out annoying bad curses from mods that you sometimes get right away from Neow.

The Card Filter mod allowed you do to this but it was broken for curses, causing crashes. I recently released a bugfix mod for that which stops it from crashing. I still think it's not implemented in the best way, since the original mod is removing filtered cards from the entire CardLibrary (after you start a run), instead of removing cards from just the drop pool. So for example, after you finish a run and view the Card Compendium again, filtered cards aren't shown there anymore, because it's like they've been removed from the entire game.

I think your CardFilter does it better in that it removes cards from the drop pool properly, and it looks like it even works properly with Foreign Influence from what I can see. I think if you just patch the two CardLibrary.getCurse() functions, which is where random curses are always selected, then it would also work very well with locked curses. Probably should also remove them from curseCardPool in AbstractDungeon. As far as I can tell, the base game never ends up using curseCardPool in practice, but maybe some mods do.
gwilliaustin  [developer] 21 Mar @ 3:59pm 
Originally posted by dvide:

It would also be cool if we could lock curses so they don't show up from sources of random curses.
I'll consider it. Right now, I've set it so that any card that has an internal type of curse or special cannot be locked and this is because, as you mentioned, these cards are generally spawned by name in various parts of the code. Patching all of these possible instances is outside the scope of what I intend the mod to be and would likely cause more bugs and would not prevent other mods from making the cards spawn.
That said, since my mod locks cards in a non-destructive way (i.e. the card still technically exists) I could definitely look into how random curses are chosen. The mod will never alter any code to prevent a specific card from being created by name (like the Pain Event, or Necronom curse), but allowing curses to be locked out of random spawns seems reasonable to me. No promises, but I'll take a look.
Last edited by gwilliaustin; 21 Mar @ 4:00pm
gwilliaustin  [developer] 23 Mar @ 10:35am 
Alright, just released patch 0.1.1. Swapping out how the opt-in cards like double tap were implemented went quite smoothly. Should be compatible with Packmaster again
dvide 23 Mar @ 4:13pm 
Thanks. Testing it out now and it all seems to work very well!
dvide 23 Mar @ 7:38pm 
Very minor bug I've noticed, but I might as well report it.

When you toggle a card change in the config menu and then go back to the card library screen, the visible cards have been reset back to Red (i.e. the default view), but the current tab hasn't been reset.

So if you're viewing Green cards, then go out, toggle a change, then go back, it now shows the Red cards but you're still on the Green tab.

You can fix it with something like this:

final ColorTabBar colorBar = ReflectionHacks.getPrivate(cardLibraryScreen, CardLibraryScreen.class, "colorBar"); colorBar.curTab = ColorTabBar.CurrentTab.RED;

whereever you called cardLibraryScreen.initialize() in your InsConfig. So this makes it also reset the current tab back to Red as well.
Last edited by dvide; 23 Mar @ 7:39pm
gwilliaustin  [developer] 25 Mar @ 6:12am 
Originally posted by dvide:
Very minor bug I've noticed, but I might as well report it.
Nice, your fix works flawlessly!
Serene 4 Apr @ 6:09am 
I've got this crash error when starting a fight after imbuing Downfall's Slime Boss' upgraded form card:
java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901) at java.util.ArrayList$Itr.next(ArrayList.java:851) at inspired.patches.ImbuedEffect_Patch.patch(ImbuedEffect_Patch.java:43) at com.megacrit.cardcrawl.characters.AbstractPlayer.applyPreCombatLogic(AbstractPlayer.java) at com.megacrit.cardcrawl.characters.AbstractPlayer.preBattlePrep(AbstractPlayer.java:2016)
gwilliaustin  [developer] 4 Apr @ 7:12am 
Originally posted by Seren:
I've got this crash error when starting a fight after imbuing Downfall's Slime Boss' upgraded form card
Thanks for the report, I'll look into it!
< >
Showing 1-15 of 18 comments
Per page: 1530 50