If you see a bug, please report it here.
If possible, attach a screenshot and/or your latest save-file (usually that is an auto-save).

Turn-based deck-builder, minimal visuals, focus on advanced strategies and builds. · By
I am actually aware of this interaction and I am unsure whether it should be changed or just communicated better in-game.
The upgrade effect works as follows:
1. Apply changes prescribed by upgrade (in this case, +1 more piety)
2. 'Preserve' card to deck, saving all the changes it has received during stage so far, including the upgrade. For example, if you would play Strategy, then Rune of Perfection, the max Persist count on Pray will increase permanently. (As a side note, this preservation effect make runes much more powerful than they seem. Consider using them with Secret Technique for example, or even Supreme Edict + Avatar of Virtue).
Since the card stores 'current' and 'max' persist counts separately, it is possible to modify it so that is does not have the specific 'downgrade' effect you encountered, but then the positive version of it will be also lost, which is a pity IMO. Alternatively, I can separate 'upgrade' and 'preserve' effects in card description to make it more evident. I would like to hear your opinion on this.
BTW, you can join us on Discord if you like more frequent/detailed discussions.
>I don’t use discord out of principle.
I know. For that reason I use Discord only as web-page (never install it as an application), use dedicated e-mail to register there and never use it for critical things like work or personally private discussions.
However, for entertainment reasons those policies are no worse than, say, GMail.
Anyway, this is off-topic and I of course respect your preference. Thank you for your feedback.
I got two bugs for you:
{"version":"v0.18.0","seed":[1849425566,1893896691,1130112186,769705062],"heroType":"mage","hero":{"maximum":{"hp":16,"mp":22,"stamina":2,"will":6},"current":{"hp":12,"mp":21,"stamina":2,"will":5,"gold":16},"status":{"luck":7,"defence":2,"fatigue":1},"items":["chainMail","frayedTome","rabbitPaw","fortuneCookie","luckyCoin","peaPod","redSeven","portableBookcase","tentacle"],"deck":[{"name":"magicMissile","cost":{"mp":1},"effects":[["shoot",2,{}]]},{"name":"magicMissile","cost":{"mp":1},"effects":[["shoot",2,{}]]},{"name":"magicMissile","cost":{"mp":1},"effects":[["shoot",2,{}]]},{"name":"gatherMagic","cost":{"mp":1},"effects":[["mana",["CardsPlayedCount","",1],{}]]},{"name":"gatherMagic","cost":{"mp":1},"effects":[["mana",["CardsPlayedCount","",1],{}]]},{"name":"gatherMagic","cost":{"mp":1},"effects":[["mana",["CardsPlayedCount","",1],{}]]},{"name":"ivoryTower","cost":{"mp":2},"effects":[["defendHero",["HandCount","",2,null],{}]]},{"name":"ivoryTower","cost":{"mp":2},"effects":[["defendHero",["HandCount","",2,null],{}]]},{"name":"rally","cost":{"will":1},"effects":[["clearStatusHero","afraid",{}],["fatigue",-2,{}]]},{"name":"pause","cost":{},"effects":[["drawCards",1,{}],["fatigue",-2,{},["amplifiedHero","eq",0,{}]]]},{"name":"ivoryTower","cost":{"mp":1},"upgraded":1,"effects":[["defendHero",["HandCount","",2,null],{}]]},{"name":"sigilOfFaith","cost":{"will":1},"upgraded":1,"effects":[["will",7,{},["diffSigils","eq",1,{}]]]}],"maxStashedCards":3,"immunity":{},"cardRemoveCost":2,"cardUpgradeCost":2},"stage":6,"ascensions":[],"rewards":{"rerollCosts":{"cards":7,"items":4,"nextQuest":2},"amounts":{"gold":10,"cards":3,"items":3,"chances":{"rare":0.2,"upgraded":1.01},"taggedCards":{}}},"encounters":[2,5,14,16,21,45],"quests":[{"stage":2,"quest":"Borrow a book","completed":true},{"stage":3,"quest":"Order fortune cookies","completed":true},{"stage":4,"quest":"Embrace daily routine","completed":true},{"stage":5,"quest":"Read many books","completed":true},{"stage":6,"quest":"Practice mindfullness","completed":false}],"encounter":[45,"electricEel",["electricEel","woodenChest"],["defence positive","spikes positive"]],"ts":"2025-05-08T12:28:42.317Z"}
{"version":"v0.18.0","seed":[-2107259173,322866953,185819529,-123664142],"heroType":"priest","hero":{"maximum":{"hp":16,"mp":15,"stamina":7,"will":30},"current":{"hp":16,"mp":12,"stamina":3,"will":24,"gold":39},"status":{"intellect":2,"strength":-1,"toughness":-1,"vitality":-1,"piety":20,"protected":1,"defence":5,"fatigue":8},"items":["paupersBowl","tatteredShirt","bountyGoblins","pedestal","bountyOrcs","wizardHat","diamondRing","portableBookcase","diademOfSuffering","chisel","moonBlade","sackOfGrain"],"deck":[{"name":"sigilOfWrath","cost":{"will":1},"effects":[["lightning",5,{},["diffSigils","eq",1,{}]]]},{"name":"sigilOfWrath","cost":{"will":1},"effects":[["lightning",5,{},["diffSigils","eq",1,{}]]]},{"name":"sigilOfSanctuary","cost":{"will":1},"effects":[["defendHero",5,{},["diffSigils","eq",1,{}]]]},{"name":"sigilOfFaith","cost":{"will":1},"effects":[["will",6,{},["diffSigils","eq",1,{}]]]},{"name":"sigilOfFaith","cost":{"will":1},"effects":[["will",6,{},["diffSigils","eq",1,{}]]]},{"name":"pray","cost":{"will":1},"effects":[["initiative",1,{}],["piety",1,{}],["drawCards",1,{}],["persist",4,{}]]},{"name":"pray","cost":{"will":1},"effects":[["piety",1,{}],["drawCards",1,{}],["persist",4,{}]]},{"name":"sigilOfVigor","cost":{"will":1},"effects":[["healHero",5,{},["diffSigils","eq",1,{}]]]},{"name":"sleepingTonic","cost":{},"effects":[["will",15,{}],["endTurn",null,{}],["singleUse",null,{}]]},{"name":"ritualCircle","cost":{"will":2},"effects":[["initiative",1,{}],["fetch",["CardsIndices","","Infinity","drawPile","tag","ritual"],{}],["persist",null,{},["handCountTag","gt",0,{"tag":"ritual"}]]]},{"name":"pause","cost":{},"effects":[["drawCards",1,{}],["fatigue",-2,{},["amplifiedHero","eq",0,{}]]]},{"name":"pray","cost":{"will":1},"upgraded":1,"effects":[["piety",2,{}],["drawCards",1,{}],["persist",4,{}]]},{"name":"pause","cost":{},"effects":[["drawCards",1,{}],["fatigue",-2,{},["amplifiedHero","eq",0,{}]]]},{"name":"runeOfHeartiness","cost":{"mp":2,"stamina":3},"effects":[["insertEffectPermanentlyHand",1,{"effects":[["fatigue",-2,{}]]}],["singleUse",null,{}]]}],"maxStashedCards":3,"immunity":{},"cardRemoveCost":2,"cardUpgradeCost":2},"stage":9,"ascensions":[],"rewards":{"rerollCosts":{"cards":12,"items":4,"nextQuest":4},"amounts":{"gold":16,"cards":3,"items":3,"chances":{"rare":0.35,"upgraded":0.38},"taggedCards":{"rune":1}}},"encounters":[1,7,15,17,26,34,37,59,62],"quests":[{"stage":2,"quest":"Hunt rabbits","completed":true},{"stage":3,"quest":"Take bounty for goblins","completed":true},{"stage":4,"quest":"Take bounty for orcs","completed":true},{"stage":5,"quest":"Practice mindfullness","completed":true},{"stage":6,"quest":"Meditate with wandering mind","completed":false},{"stage":7,"quest":"Help with harvesting","completed":true},{"stage":8,"quest":"Admire beautiful moonlight","completed":true},{"stage":9,"quest":"Enjoy a bright sunny day","completed":false}],"encounter":[59,"ratKing",["smallRat","smallRat","ratKing","archeryTarget"],["maxMP positive"]],"ts":"2025-05-04T18:40:42.881Z"}
Thanks for detailed reports and save-files.
>eels getting hurt by spikes,
Yes, this was caused by infinite loop of spikes and 'on damage: Melee' trigger of Eel. Loop is now broken when Eel accumulates enough spike damage to die.
Uploaded new point release with these fixes.
stage froze (but not the game), “Too long history of fatigue” after grinding for a bit
screenshot:

{"version":"v0.19.0","seed":[819962088,-1379398076,-462817662,2029491377],"heroType":"mage","hero":{"maximum":{"hp":15,"mp":31,"stamina":2,"will":5},"current":{"hp":15,"mp":24,"stamina":2,"will":5,"gold":0},"status":{"vitality":2,"sorcery":1,"fatigue":4},"items":["stoneCalendar","bountyOrcs","butchersApron","deformedCoin","steelShovel"],"deck":[{"name":"magicMissile","cost":{"mp":1},"effects":[["shoot",2,{}]]},{"name":"magicMissile","cost":{"mp":1},"effects":[["shoot",2,{}]]},{"name":"magicMissile","cost":{"mp":1},"effects":[["shoot",2,{}]]},{"name":"gatherMagic","cost":{"mp":1},"effects":[["mana",["Linear","",["CardsPlayedCount",""],1,0],{}]]},{"name":"gatherMagic","cost":{"mp":1},"effects":[["mana",["Linear","",["CardsPlayedCount",""],1,0],{}]]},{"name":"gatherMagic","cost":{"mp":1},"effects":[["mana",["Linear","",["CardsPlayedCount",""],1,0],{}]]},{"name":"ivoryTower","cost":{"mp":2},"effects":[["defendHero",["HandCount","",2,null],{}]]},{"name":"ivoryTower","cost":{"mp":2},"effects":[["defendHero",["HandCount","",2,null],{}]]},{"name":"inspiration","cost":{"mp":2},"effects":[["intellect",1,{}],["exhaust",1,{}]]},{"name":"overnightStudy","cost":{"mp":1},"effects":[["intellect",-1,{}],["mana",10,{}],["maxMana",1,{}]]},{"name":"honey","cost":{"hp":3,"mp":2},"effects":[["vitalityHero",2,{}],["sorcery",1,{}],["exhaust",1,{}]]},{"name":"rally","cost":{"mp":1},"effects":[["clearStatusHero","afraid",{}],["fatigue",-2,{}]]},{"name":"adapt","cost":{"hp":3},"effects":[["invertNegativeStatuses",null,{}]]}],"maxStashedCards":3,"immunity":{},"cardRemoveCost":2,"cardUpgradeCost":2},"stage":5,"ascensions":[],"rewards":{"rerollCosts":{"cards":5,"items":3,"nextQuest":1},"amounts":{"gold":8,"cards":3,"items":3,"chances":{"rare":0.3,"upgraded":0.22000000000000003},"taggedCards":{}}},"encounters":[2,7,14,19,34],"quests":[{"stage":2,"quest":"Take bounty for orcs","completed":true},{"stage":3,"quest":"Help with beekeeping","completed":true},{"stage":4,"quest":"Buy some ink","completed":true},{"stage":5,"quest":"Get individial curriculum","completed":false}],"encounter":[34,"stoneGolem",["acidSlime","stoneGolem","suspiciousChest"],["will positive"]],"ts":"2025-05-30T10:24:46.269Z"}
Wow, that is quite a bit of grinding :))
This error is a sanity-check I have added to catch/break possible infinite loops the after your previous bug report.
I will replace it with just a console warning.
Overnight Study + Adapt is an interesting combo, I did not think about it before, although it seems obvious in retrospect.
I really should think of a way to make fatigue more impactful or add some other diminishing-return mechanic.
Upcoming next version will have 'fatigue grows with turn number' ascension option, maybe it is the answer.
> fatigue could also affect regular draw
I hesitated on this before, but just now I've changed fatigue to affect start-of-turn card draw as well. This happens after the fatigue reduction, so you have to accumulate 20+ fatigue to draw 1 less card at the start of turn.
In your example (if played with the new ascension on) it will completely stop card draw at about turn 40, which is I think an acceptable balance point.
Mind control freezes the game when played on any enemy unless it is frozen, you are ensnared, or it otherwise doesn't try to act. Pipette freezes the game instead of increasing max hp. I will post replays in the future; didn't know you can do that. Also, the stash and being able to pay to remove cards/sell precious cards seem from card text like they should exist as menus but I haven't figured out where they are yet (I've only unlocked 9/13 classes I believe).
Thanks for your report.
>Mind control freezes the game
Fixed, will be published in next update.
>Pipette freezes the game
Fixed, will be published in next update.
>Also, the stash and being able to pay to remove cards/sell precious cards
You can access deck manipulation by pressing 'Deck' button in rewards window. (See screenshot below).
Upon first opening of this window, the game should have displayed the tutorial, which you can re-visit by clicking question mark in top-right corner. I understand it is hard to remember now, but can you please tell, perhaps the tutorial did not show or was unclear?
As for stash and card upgrades, these two features are locked behind achievements. You can see all achievements by pressing 'lock' button in the global menu. Search for 'stash' and 'upgrade' to see exact requirements (those requirements should be relatively easy, you have probably unlocked one or both already). After unlocking, corresponding buttons will appear in deck manipulation window.
I plan to publish next update in a few days.
'On end turn' effects can prevent you from satisfying 'end your turn with' conditions for quests. This seems backwards to me; I would think your quests should check the state at the moment you push the button, and any help/harm from 'on end turn' effects should only matter in terms of their impact on the next turn. As-is the 'Model of the Spire' item locks you out of a great many quests (have your hand full at end of turn becomes impossible, which is required for many library quests), and the 'Pendant of Amnesia' locks you out of two of the Time of Day items and ensures each turn is guaranteed to count for the other one (the shield).
Thanks for your interest. I am happy to discuss this topic at length, since this is my hobby project, so sorry if my replies are too long.
Perhaps you may want to join our discord for easier / more detailed discussion.
First, I would like to point out that full event order is documented in 'More info' menu (maybe you have already seen this, I just want to make sure).
Specifically, for 'end turn' the order is, indeed, 'cards, then items, then quest'.
About quest vs item trigger order. As I see, the main advantage of your proposal (quests before cards and items) would be easier understanding by novice players (i.e. less cases of "why it did not work" surprises and frustration). The corresponding disadvantage would be, for more experienced players, symmetrical frustration of 'I lined up end-of-turn effects perfectly, but game ignored them'. For e specific example, just as Model of the Spire can hinder library quests, Ornate Deck can make them much easier. Also, anti-synergy of some item/quest combinations are one of the reasons to pick Black Box item.
In general, I push this game in 'give advanced players more tools / interactions even at the expense of harsher learning curve' direction, so I slightly prefer current order. However, your proposal merits further thinking / discussion, I will certainly consider some changes in this area.
As for relative order of items (such as Pendant of Amnesia vs Sun Shield) -- note that you can reorder items arbitrarily between stages. Unfortunately, this does not help in this specific case, since Sun Shield is triggered on start turn, not end turn.An interesting idea wold be to change Pendant of Amnesia to start turn trigger (so you can, for example, put it after Moon Blade but before Sun Shield to achieve both effects on the same turn).
I think it is much better to go in the direction of more tools for advanced players at the cost of learning curve; that is (it seems to me) the game's core identity. I was aware of the popups on clicking 'more', I just didn't think that's what 'quests' meant in that context; I thought that was for *effects* of quests (like stop the undead uprising's skeletons), not for things that cared about the game state when your turn actually ended, which I thought was when you pushed the button. I would also have been confused by a card that cared about end-of-turn state (rather than having an 'on end turn' effect) being affected by the 'on end turn' effect of a card further left in the hand.
For the items, I was referring to their quests (which, admittedly, are the same as their activation conditions), but your point still stands. Thanks for your thorough reply.
Negative frozen should probably not be spendable. The problem was that the adventurer difficulty bonus allowed the frozen status to be applied at 0, which seems to mean it just stays frozen forever. Rather than removing frozen if it decrements to 0 from 1, it may make sense to remove it if it is ever 0 or less. Also the text isn't grayed out but nothing happens when the card is played (not even 'single use')
I have fixed the main problem, now negative frozen will not disable the card.
Regarding the secondary bug of quest applying Frozen 0: do you think this quest will be too hard for non-Adventurer if I change the frozen formula to (difficulty + 2)? The other solution would be to just 'cap' formula: max(difficulty + 1, 1), but I try to make sure that at least difficulty of +-1 affects as many quests as possible.
Wouldn't frozen 2 make it free for non-Adventurers and very hard for adventurers? Because even frozen cancels the upgrade effect *and* single use, but odd only cancels upgrade? Maybe I am misunderstanding how that works. In any case, the quest is only particularly difficult if playing the upgrade card an integer number of times doesn't result in winning-- in that case you need some sort of special effect to change the amount of frozen it is. I don't think having to play it another time would be particularly hard
Every time Frozen is played, it is reduced by 1 and the rest of the card is skipped. So 'Frozen 2' card will have to cycle through the deck 2 times before it works. When reaching zero, Frozen disappears. I will improve effect description to make it more clear.
The previous bug was due to the fact that I compared "frozen === 0" rather than "frozen <= 0".
>I don't think having to play it another time would be particularly hard
Ok, changed it to (difficulty + 2)
Game creates autosave before each stage, so after the bug, you can select it and click 'copy to clipboard' button, see screenshot below

Also, please look at browser console (Ctrl+Shift+I if you are on Windows/Chrome) for any error messages. If there are, please post them. Looking at screenshot, I am unable to see any obvious source of the bug so far.
By the way, you seem to get quite far while playing at full ascension -- that's impressive. Did you manage to win at this difficulty?
Note: itch ate my photos the first time I wrote this so please forgive the sloppy remakes. The load restores the resource and item values properly even after the data is temporarily lost because the page is refreshed (the new pics for the first entry obscure that).
-----
I haven't beaten it at full ascension yet, because of this crash which has happened twice on good runs ^^; When I said copying and pasting the save file didn't work, what I mean is:
and then I click copy to clipboard, and when I paste it's the image rather than any sort of savetext. If I instead click load, it *sort of* works:
But that isn't helpful as far as actually getting the file. It doesn't look like you're storing them in AppData (I'm on Windows) so I'm not sure where a local copy of the save file might be.
Also, after loading if I go to save, nothing happens. Clicking 'save' does not save the game to a new slot.
Popping open the inspect element panel did provide some useful insight:
Unrecognized feature: 'monetization'
Unrecognized feature: 'xr'
Allow attribute will take precedence over 'allowfullscreen'
events.js:115 Event: StartGame
windows.js:362 [Violation] Permissions policy violation: The Clipboard API has been blocked because of a permissions policy applied to the current document. See https://goo.gl/EuHzyv for more details.
savesCopy @ windows.js:362Understand this error
windows.js:362 Uncaught (in promise) NotAllowedError: Failed to execute 'writeText' on 'Clipboard': The Clipboard API has been blocked because of a permissions policy applied to the current document. See https://goo.gl/EuHzyv for more details.
at HTMLButtonElement.savesCopy (windows.js:362:25)Understand this error
events.js:115 Event: GameLoaded
ui_base.js:618 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'tags')
at ui_base.js:618:80
at Array.flatMap (<anonymous>)
at getBountyTags (ui_base.js:618:53)
at ui_base.js:655:20
at Array.map (<anonymous>)
at makeEncounterButtons (ui_base.js:654:55)
at stageFinishedHandler (ui.js:538:3)
at events.js:120:36Understand this error
utils.js:161 storage save: Converting circular structure to JSON
--> starting at object with constructor 'EffectInstance'
| property 'value' -> object with constructor 'QuestDifficulty'
--- property 'effect' closes the circle TypeError: Converting circular structure to JSON
--> starting at object with constructor 'EffectInstance'
| property 'value' -> object with constructor 'QuestDifficulty'
--- property 'effect' closes the circle
at JSON.stringify (<anonymous>)
at Object.save (https://html-classic.itch.zone/html/14011901/utils.js:160:50)
at HTMLButtonElement.savesSave (https://html-classic.itch.zone/html/14011901/windows.js:349:13)
Which may have some helpful info in the last part regarding the freezing the game bug, and also is helpful in the first part to me because I bet I need to enable permissions for the clipboard somewhere. Once I figure that out I will post a save.
Looks like writing to the clipboard should have already been allowed with a prompt, and changing it to always allowed didn't let the site write to it. Also, on further investigation, querying with temporaryvariable=navigator.permissions.query({ name: "clipboard-write" }) in the inspector indicates the permission is in-fact still denied. I am not sure what to do about that; I will try again tomorrow.
> It doesn't look like you're storing them in AppData
Saves are stored in browser's local storage (in Chrome dev tools panel, select Application tab, then 'Local Storage' from the left menu).
It seems that the bug may be happening during end-stage autosave and/or following attempts to load that broken save.
| GDJS-internal-player-uuid | 3599038e-a73f-4d08-8fbf-cb825660c3a6 | |
| account | [["rating","_id","username","usernameCount","isGuest","completedTutorial","premium","email","emailVerified","receiveNewsletterEmails","receiveMajorReleaseEmails","gold","claimedMissionIds","knownItems","purchasedItems","equippedBackground","equippedHUD","dailyMissions","createdAt","updatedAt","__v","bountyRun","campaignRun","currentRun","missionsRefreshedAt","stats","a|0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P","Slugger","Carrier","Freighter","Anomaly","StormChaser","a|R|S|T|U|V","battles","rank","rankUpdatedAt","a|0|X|Y|Z","n|5h","n|9","n|2Z","2025-05-12T21:33:39.058Z","o|a|b|c|d|e","n|5e","n|0","2025-05-12T21:33:39.063Z","o|a|g|h|d|i","2025-05-12T21:33:39.068Z","o|a|g|h|d|k","2025-05-12T21:33:39.073Z","o|a|g|h|d|m","2025-05-12T21:33:39.078Z","o|a|g|h|d|o","o|W|f|j|l|n|p","68226933b6098f36f550de8b","Guest Player","n|4B","b|T","b|F","guest+Q6g4-K24VTEz@ironanchorgames.com","n|A","401","301","101","a|y|z|10","BlasterCannon","SteelHull","SpareParts","FlameTosser","Janitor","ChargeCapacitor","SlugCannon","TargetingSystem","ModularHull","IonDrive","DampenerRounds","GalvanizedPlate","FlightDeck","IonBlaster","ReactivePlating","RebelHull","AluminumHull","RocketThruster","HeavyRounds","SupplyCrate","IncendiaryRounds","MagneticRounds","FuelTank","SupplyBeacon","AutoTurret","FuelPump","Hardpoint","Synthesizer","UpgradeKit","FueledWing","Officer","TransporterPad","StainlessSteelHull","Pilot","TractorBeam","SplitterRounds","a|12|13|14|15|16|17|18|19|1A|1B|1C|1D|1E|1F|1G|1H|1I|1J|1K|1L|1M|1N|1O|1P|1Q|1R|1S|1T|1U|1V|1W|1X|1Y|1Z|1a|1b","Background1","HUD1","a|1d|1e","id","current","claimed","a|1g|1h|1i|1","402","n|4","68226933b6098f36f550de93","o|1j|1k|1l|v|1m","408","n|4J","68226933b6098f36f550de94","o|1j|1o|1p|v|1q","410","68226933b6098f36f550de95","o|1j|1s|h|v|1t","n|1","68226933b6098f36f550de96","o|1j|y|1v|u|1w","404","68226933b6098f36f550de97","o|1j|1y|h|v|1z","a|1n|1r|1u|1x|20","2025-05-12T21:33:39.040Z","2025-05-12T21:53:16.107Z","heroes","battlesPlayed","battlesWon","damageDealt","projectilesFired","versusVictories","a|24|25|26|27|28|29|1","admiral","mortar-master","steel-forger","contraband-runner","space-trucker","tide-bringer","legion-overseer","assassin","merchant","chaotic-researcher","a|2B|2C|2D|2E|2F|2G|2H|2I|2J|2K","a|29","o|2M|h","o|2L|2N|2N|2N|2N|2N|2N|2N|2N|2N|2N","n|FZ","n|2R","68226933b6098f36f550de98","o|2A|2O|c|1l|2P|2Q|h|2R","o|Q|q|r|s|t|u|u|v|w|v|v|v|x|11|1c|1f|1d|1e|21|22|23|h||||o|2S"],"2T"] | |
| achievements | {"tutorial":true,"rewardsTutorial":true,"intro":true,"warriorHalfgame":true,"mageHalfgame":true,"rogueHalfgame":true,"priestHalfgame":true,"largeDeck":true,"upgradeCard":true,"winGame":true,"winGameWithQuests":true,"winWithClockwork":true,"winWithPoison":true,"winWithLuck":true,"winWithAmplified":false,"winWithZeroGold":false,"winWithPrecious":false,"winWith6Heroes":true,"winHpLowHp":false,"winWithAllHeroes":false,"tutorialOpt":false,"gold":false,"maxHP":false,"deckLarge":false,"piety":false,"precious":false,"clockwork":true,"winPoisinedAfraid":false,"winConfused":false,"winTurn1":false,"winHp1":false,"winZeroCost":false,"ascension1":false,"ascensionMax":false,"itemsZero":false,"winWithMalus":false,"questsCircus":false,"questsHome":false,"questsLibrary":true,"questsFarm":false,"questsTemple":false,"questsBounty":false,"questsStadium":false,"questsCastle":false,"questsSecluded":false,"questsTavern":false,"questsVista":false,"questsArt":false,"questsBandit":false,"itemsRing":false,"itemsCoin":false,"itemsMask":false,"itemsAltar":false,"immunities":false,"itemsTimeOfDay":true,"itemsPoison":true,"itemsVitVamp":false,"itemsMove":true,"itemsDefence":false,"itemsForceEnd":false} | |
| aps:e32f1423-28bc-43ed-8ab0-5ae6b4449cf8:deviceSignal/sua | {"architecture":"x86","bitness":"64","mobile":0,"model":"","source":2,"platform":{"brand":"Windows","version":["10","0","0"]},"browsers":[{"brand":"Google Chrome","version":["137","0","7151","55"]},{"brand":"Chromium","version":["137","0","7151","55"]},{"brand":"Not/A)Brand","version":["24","0","0","0"]}]} | |
| apstagCxMEnabled | 1 | |
| autosave | {"version":"v0.21.0","seed":[-632432178,-116391453,-2059522168,1959182413],"heroType":"watchmaker","hero":{"maximum":{"hp":86,"mp":19,"stamina":7,"will":14},"current":{"hp":85,"mp":19,"stamina":6,"will":2,"gold":98},"status":{"intellect":4,"vampiric":7,"luck":18,"sorcery":3,"fatigue":11},"items":["bloodChalice","blowgun","mesmerizingDruse","ziegenhainer","crookedDice","blankPaper","causticEdge","clover","windingKey","chain","caltrops","bagOfCoins","absorbingDruse","sackOfGrain","fortuneCookie","wizardStaff","notebook","bookmarkedTome","sandals","porcelainDove","clayMold"],"deck":[{"name":"movingGears","cost":{"mp":1},"effects":[["moveCard",["Cycle","",["CardsPlayedCount",""],["left","right"]],{}],["persist",5,{}]],"endTurn":[["deltaEffectConnected",1,{"effect":"clockwork","connector":"gear"}]]},{"name":"movingGears","cost":{"mp":1},"effects":[["moveCard",["Cycle","",["CardsPlayedCount",""],["left","right"]],{}],["persist",5,{}]],"endTurn":[["deltaEffectConnected",1,{"effect":"clockwork","connector":"gear"}]]},{"name":"tinker","cost":{"mp":1},"effects":[["mana",["ConnectedCardEffect","ceil",0.4,"clockwork","gear"],{}]]},{"name":"tinker","cost":{"mp":1},"effects":[["mana",["ConnectedCardEffect","ceil",0.4,"clockwork","gear"],{}]]},{"name":"toySoldier","cost":{"mp":2},"effects":[["clockwork",4,{}],["persist",5,{}]],"endTurn":[["melee",["CardEffect","",1,"clockwork"],{"sound":"sword"}],["deltaEffectClamped",-1,{"effect":"clockwork"}]]},{"name":"toySoldier","cost":{"mp":2},"effects":[["evasionHero",1,{}],["clockwork",4,{}],["persist",5,{}]],"endTurn":[["melee",["CardEffect","",1,"clockwork"],{"sound":"sword"}],["deltaEffectClamped",-1,{"effect":"clockwork"}]]},{"name":"nutsAndBolts","cost":{"mp":1},"effects":[["defendHero",["CardsCount","",1,"hand","effect","clockwork"],{}]]},{"name":"nutsAndBolts","cost":{"mp":1},"stashed":true,"effects":[["defendHero",["CardsCount","",1,"hand","effect","clockwork"],{}]]},{"name":"detoxify","cost":{"hp":1},"stashed":true,"effects":[["clearStatusHero","poisoned",{}]]},{"name":"inspiration","cost":{"mp":2},"upgraded":1,"effects":[["intellect",1,{}],["exhaust",2,{}]]},{"name":"movingGears","cost":{"mp":1},"effects":[["moveCard",["Cycle","",["CardsPlayedCount",""],["left","right"]],{}],["persist",5,{}]],"endTurn":[["deltaEffectConnected",1,{"effect":"clockwork","connector":"gear"}]]},{"name":"echo","cost":{"mp":1},"upgraded":2,"effects":[["playDiscarded",1,{}]]},{"name":"fountainOfWonder","cost":{"mp":2},"effects":[["sorcery",1,{}]]},{"name":"feastOnFlesh","cost":{"hp":5},"upgraded":2,"effects":[["vampiricHero",2,{}],["melee",["PositiveStatus","",1,"vampiric",5],{}],["exhaust",2,{}]],"kill":[["maxHp",["PositiveStatus","",1,"vampiric",0],{}]]},{"name":"grapplingHook","cost":{},"upgraded":1,"effects":[["ensnare",1,{}],["moveTo",["MonsterPos","",0],{}]]},{"name":"movingGears","cost":{"mp":1},"effects":[["moveCard",["Cycle","",["CardsPlayedCount",""],["left","right"]],{}],["persist",5,{}]],"endTurn":[["deltaEffectConnected",1,{"effect":"clockwork","connector":"gear"}]]},{"name":"forgeSword","cost":{"hp":1,"mp":1},"upgraded":2,"effects":[["forgeSword",["MaxDevotion","",3],{"card":"enchantedSword"}],["exhaust",1,{}]]},{"name":"mechanicalHeart","cost":{"hp":1},"effects":[["clockwork",1,{}],["persist",5,{}]],"endTurn":[["healHero",["CardEffect","",1,"clockwork"],{}],["deltaEffectClamped",-1,{"effect":"clockwork"}]]},{"name":"pray","cost":{"will":1},"upgraded":1,"effects":[["piety",2,{}],["drawCards",1,{}],["persist",4,{}]]},{"name":"secondWind","cost":{"hp":1},"upgraded":3,"effects":[["drawCards",3,{},["hand","le",4,{}]],["fatigue",-2,{}]]},{"name":"mutate","cost":{"hp":2},"effects":[["maxAll",["RandomInRange","",-1,1,{}],{}],["exhaust",3,{}]]},{"name":"miasma","cost":{"mp":5},"effects":[["poisonAll",5,{}],["poisonHero",3,{}]]},{"name":"feastOnFlesh","cost":{"hp":5},"upgraded":1,"effects":[["vampiricHero",1,{}],["melee",["PositiveStatus","",1,"vampiric",5],{}],["exhaust",2,{}]],"kill":[["maxHp",["PositiveStatus","",1,"vampiric",0],{}]]}],"maxStashedCards":2,"immunity":{"vitality":true},"cardRemoveCost": | |
| guest-email | guest+Q6g4-K24VTEz@ironanchorgames.com | |
| last-battle-id | 68226dddb6098f36f550eddb | |
| pelagium/client_ | {"/sessionId":true,"/orders":true} | |
| pelagium/client_/orders | {"turn":65,"orders":[{"type":"move","unit":680,"from_x":24,"from_y":17,"to_x":25,"to_y":18},{"type":"move","unit":519,"from_x":23,"from_y":16,"to_x":25,"to_y":17},{"type":"move","unit":594,"from_x":23,"from_y":15,"to_x":23,"to_y":17},{"type":"move","unit":455,"from_x":10,"from_y":17,"to_x":10,"to_y":18},{"type":"move","unit":643,"from_x":11,"from_y":18,"to_x":11,"to_y":19},{"type":"move","unit":644,"from_x":11,"from_y":17,"to_x":11,"to_y":18},{"type":"move","unit":618,"from_x":12,"from_y":18,"to_x":12,"to_y":19},{"type":"move","unit":621,"from_x":8,"from_y":18,"to_x":8,"to_y":19},{"type":"move","unit":668,"from_x":9,"from_y":16,"to_x":8,"to_y":18},{"type":"move","unit":667,"from_x":9,"from_y":15,"to_x":7,"to_y":16},{"type":"move","unit":669,"from_x":8,"from_y":15,"to_x":8,"to_y":16},{"type":"move","unit":693,"from_x":11,"from_y":13,"to_x":10,"to_y":15},{"type":"move","unit":654,"from_x":12,"from_y":14,"to_x":11,"to_y":15},{"type":"move","unit":719,"from_x":7,"from_y":12,"to_x":7,"to_y":13},{"type":"move","unit":679,"from_x":14,"from_y":11,"to_x":12,"to_y":13},{"type":"move","unit":718,"from_x":13,"from_y":10,"to_x":11,"to_y":11},{"type":"move","unit":691,"from_x":17,"from_y":9,"to_x":15,"to_y":11},{"type":"move","unit":717,"from_x":12,"from_y":7,"to_x":15,"to_y":8},{"type":"move","unit":716,"from_x":23,"from_y":5,"to_x":23,"to_y":6},{"type":"move","unit":692,"from_x":23,"from_y":7,"to_x":23,"to_y":8},{"type":"move","unit":666,"from_x":22,"from_y":9,"to_x":21,"to_y":9},{"type":"move","unit":642,"from_x":21,"from_y":10,"to_x":22,"to_y":11},{"type":"move","unit":619,"from_x":22,"from_y":12,"to_x":23,"to_y":12},{"type":"move","unit":704,"from_x":23,"from_y":14,"to_x":23,"to_y":16},{"type":"move","unit":98,"from_x":18,"from_y":16,"to_x":19,"to_y":16},{"type":"move","unit":670,"from_x":18,"from_y":17,"to_x":20,"to_y":18},{"type":"move","unit":421,"from_x":17,"from_y":16,"to_x":18,"to_y":17},{"type":"move","unit":573,"from_x":19,"from_y":18,"to_x":19,"to_y":17},{"type":"move","unit":622,"from_x":21,"from_y":16,"to_x":21,"to_y":17},{"type":"move","unit":544,"from_x":22,"from_y":17,"to_x":20,"to_y":17},{"type":"move","unit":464,"from_x":22,"from_y":15,"to_x":22,"to_y":16},{"type":"move","unit":694,"from_x":19,"from_y":14,"to_x":18,"to_y":15},{"type":"move","unit":720,"from_x":18,"from_y":13,"to_x":17,"to_y":14},{"type":"move","unit":258,"from_x":16,"from_y":16,"to_x":17,"to_y":16}]} | |
| pelagium/client_/sessionId | null | |
| poki_events_user_id | 2e2cc2f1-0b37-4296-922f-439430177e67 | |
| poki_pbf | 1 | |
| refreshToken | eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2ODIyNjkzM2I2MDk4ZjM2ZjU1MGRlOGIiLCJ1c2VybmFtZSI6Ikd1ZXN0IFBsYXllciIsImlhdCI6MTc0NzA4NTYxOSwiZXhwIjoxNzQ4Mjk1MjE5fQ.ESLMzEmdX_2A0qsUDqn5s-2SLttlN8yQZGLFrLxIMWg | |
| settings | {"ascensions":["removeCost","upgradeCost","rerollCost","itemChoices","cardChoices","maxStashedCards","initialDamage","minLevelDecrease","questDifficulty","addSmallMonsters","cardCostAffinity","moreNegativeEncounters","maxCardUpgrades","fatiguePerTurn","enemyHpCoeff"],"isGlobalMenuOpen":true,"volumeSfx":5,"volumeMusic":4,"musicTrack":1,"hintInterval":5,"hintHandKeyOnly":false,"hintKey":"ctrlKey","keyboard":false,"singleClickPlay":false,"showTitleCardsHand":true,"showTitleMonstersField":true,"compactItems":false,"showFullCost":false,"unlockAll":false} | |
| time-slider | 0.9 | |
Thanks, I should have thought of that >.<
What was the reason for inability to play cards? Did you run out of resource required to pay?
Generally, I consider such situation a loss. The reason game does not force player to lose is that it is hard to detect whether he stalls intentionally or is really unable to play cards.
Maybe I could add some kind of “impending doom” counter, which increases by 1 when player ends turn without any change. But it seems that for player pressing a single “refresh / restart” button is actually more convenient than pressing “end turn” many times, waiting for counter to reach the threshold?
As for making a such situation a “draw” rather than a player’s loss: since player has already run out of resource, starting next battle without additional rewards will probably result in a loss anyway?
Maybe you have example of game where the player has a chance to successfully continue after a stalemate. If so, please tell about it.
I took this image when I got softlocked, and I forgot I could play burning cards (not that it would help), and I had no willpower to play any cards that could damage the chest.
Also, the game The Ouroboros King has a stalemate mechanic, where if nobody can make a move, you get to continue, but you don't get a reward.

Yes, it was as I suspected. The problem is: suppose game would send you to the next stage while skipping rewards. You will start next stage with zero willpower and die, so it does not seem helpful.
Theoretically, there could be much more rare situations where stalemate is not caused by lack of resources. For example, it may happen that the only enemy left in Lava Pit encounter is Salmander Flameraiser, but all attack cards are already exhausted by it. So neither side can deal damage despite hero being able to play cards.
Still, detecting such a situation is quite tricky. How should the game know if the player is stalemated vs intentionally stalling? I will think about this problem some more. If you have specific suggestions, please share them.
maybe a bug:
flimsy shield sometimes defends outside of turn 1
self-damage of burning cards is affected by your own critical
a bomb dealing “melee all” damage heals you if you are vampiric
reloading victory screen saves sometimes gives different quests
bugs:
leader card preview when using telescope shows a monster with a one-word-name matching only the first word of the leader, or nothing if no such match (e.g. Shadow Dragon shows Shadow, Eye of Regret shows nothing)
I think evasion deals with falling damage as well as it deals with melee, so it should be marked “works ineffectively” in the infos
ice shards in general often just don’t seem to exhaust
game freezes when discarded swindle plays ice shard:
{"version":"v0.27.0","seed":[458343701,-2037583405,-238559187,1259306229],"heroType":"revenant","hero":{"maximum":{"hp":57,"mp":53,"stamina":10,"will":7},"current":{"hp":7,"mp":31,"stamina":10,"will":6,"gold":24},"status":{"strength":1,"fatigue":11,"defence":6},"immunity":{"poisoned":true},"items":["kaleidoscope","paupersBowl","banditsMask","blowgun","meatRation","crookedDice","jadeRing","bronzeMirror","chainMail","bunting","rubyRing","sunShield","bountyGoblins","paradoxicalFigure","clayMold","fireproofGloves","moonBlade","tomeOfNovelties","backpack","flameward"],"deck":[{"name":"lichform","cost":{"hp":1,"mp":7},"upgraded":6,"effects":[["upgradeSelf",1,{},["hpHero","le",7,{}]],["hpSet",7,{}],["manaSet",["MaxResource","",1,"mp"],{}],["exhaust",1,{}]]},{"name":"assimilate","cost":{"hp":1,"will":1},"upgraded":6,"effects":[["maxResFromCardCost",["TotalCostAllResourcesUpto","",1,7],{}],["exhaustAndRemove",1,{}],["exhaust",1,{}]]},{"name":"syphonSoul","cost":{"mp":10},"upgraded":6,"stashed":true,"effects":[["shoot",78,{}]],"kill":[["deltaThisCost",1,{}],["increaseEffect",14,{"effect":"shoot"}],["preserveSelf",null,{}]]},{"name":"syphonSoul","cost":{"mp":9},"upgraded":6,"stashed":true,"effects":[["shoot",68,{}]],"kill":[["deltaThisCost",1,{}],["increaseEffect",14,{"effect":"shoot"}],["preserveSelf",null,{}]]},{"name":"drainingTouch","cost":{"hp":1,"mp":1},"upgraded":1,"effects":[["vampiricHero",1,{}],["melee",6,{}]]},{"name":"honorTheFallen","cost":{"hp":1},"effects":[["discard",1,{}],["defendHero",["CardsCount","ceil",0.5,"discardPile",null,null,0],{}],["persist",null,{},["cardsToLeft","gt",0,{}]]]},{"name":"honorTheFallen","cost":{"hp":1},"effects":[["discard",1,{}],["defendHero",["CardsCount","ceil",0.5,"discardPile",null,null,0],{}],["persist",null,{},["cardsToLeft","gt",0,{}]]]},{"name":"honorTheFallen","cost":{"hp":1},"effects":[["discard",1,{}],["defendHero",["CardsCount","ceil",0.5,"discardPile",null,null,0],{}],["persist",null,{},["cardsToLeft","gt",0,{}]]]},{"name":"weightlifting","cost":{"hp":1,"stamina":2},"effects":[["exhaust",1,{}],["maxHp",2,{}]]},{"name":"alchemy","cost":{"mp":6},"upgraded":1,"effects":[["gold",["AvailableResource","",1,"mp"],{}],["exhaust",2,{}]]},{"name":"swindle","cost":{},"upgraded":2,"effects":[["playEffects",["HandPos","",0],{}],["discard",1,{}]],"discarded":[["playEffects",["HandPos","",0],{}]]},{"name":"syphonSoul","cost":{"mp":13},"upgraded":6,"effects":[["shoot",120,{}]],"kill":[["deltaThisCost",1,{}],["increaseEffect",14,{"effect":"shoot"}],["preserveSelf",null,{}]]},{"name":"forgeSword","cost":{"hp":1,"mp":1},"upgraded":1,"effects":[["forgeSword",["MaxDevotion","",2],{"card":"enchantedSword"}],["exhaust",1,{}]]}],"maxStashedCards":3,"cardRemoveCost":4,"cardUpgradeCost":46},"stage":16,"ascensions":["removeCost","upgradeCost","rerollCost","itemChoices","cardChoices","maxStashedCards","initialDamage","minLevelDecrease","questDifficulty","addSmallMonsters","cardCostAffinity","cardOtherAffinity","moreNegativeEncounters","maxCardUpgrades","fatiguePerTurn","enemyHpCoeff"],"rewards":{"rerollCosts":{"cards":2,"items":8,"nextQuest":6},"amounts":{"gold":30,"cards":2,"items":2,"chances":{"rare":1.2,"upgraded":0.66},"taggedCards":{"potion":1},"taggedItems":{}}},"encounters":[6,7,12,16,41,45,56,63,69,74,76,82,99,100,106,122],"quests":[{"stage":2,"quest":"Join as apprentice beggar","completed":true},{"stage":3,"quest":"Take bounty for goblins","completed":true},{"stage":4,"quest":"Practice lockpicking","completed":false},{"stage":5,"quest":"Use every chance","completed":true},{"stage":8,"quest":"Admire beautiful moonlight","completed":false},{"stage":9,"quest":"Perform with kettlebells","completed":true},{"stage":10,"quest":"Enjoy a bright sunny day","completed":true},{"stage":11,"quest":"Mold a lifelike sculpture","completed":true},{"stage":14,"quest":"Get a glimpse of a prophesy","completed":false},{"stage":15,"quest":"Repack your belongings","completed":true},{"stage":16,"quest":"Carve a perfect ice sculpture","completed":false}],"encounter":[122,"iceDragon",["iceDragon"],["defence positive","spikes negative"]],"ts":"2025-11-11T17:25:08.390Z"}
steps: second chance, every card but honors and swindle, end turn, rightmost honor twice
quicksafe forgets recent meat ration (I think this bug happens with all “on pickup” items):
{"version":"v0.27.0","seed":[-614709563,1120257466,-819219908,2128568047],"heroType":"revenant","hero":{"maximum":{"hp":9,"mp":15,"stamina":2,"will":5},"current":{"hp":7,"mp":14,"stamina":2,"will":2,"gold":0},"status":{"clairvoyance":4,"fatigue":6,"defence":1},"immunity":{},"items":["aceOfClubs","cezve","paupersBowl","thickTome","crystalOrb","meatRation"],"deck":[{"name":"lichform","cost":{"hp":1,"mp":7},"upgraded":4,"effects":[["upgradeSelf",1,{},["hpHero","le",5,{}]],["hpSet",5,{}],["manaSet",["MaxResource","",1,"mp"],{}],["exhaust",1,{}]]},{"name":"assimilate","cost":{"hp":1,"mp":6,"will":1},"effects":[["maxResFromCardCost",["TotalCostAllResourcesUpto","",1,1],{}],["exhaustAndRemove",1,{}],["exhaust",1,{}]]},{"name":"syphonSoul","cost":{"mp":3},"upgraded":2,"effects":[["shoot",8,{}]],"kill":[["deltaThisCost",1,{}],["increaseEffect",6,{"effect":"shoot"}],["preserveSelf",null,{}]]},{"name":"syphonSoul","cost":{"mp":2},"upgraded":1,"effects":[["shoot",4,{}]],"kill":[["deltaThisCost",1,{}],["increaseEffect",4,{"effect":"shoot"}],["preserveSelf",null,{}]]},{"name":"drainingTouch","cost":{"hp":1,"mp":1},"effects":[["vampiricHero",1,{}],["melee",5,{}]]},{"name":"honorTheFallen","cost":{"hp":1},"effects":[["discard",1,{}],["defendHero",["CardsCount","ceil",0.5,"discardPile",null,null,0],{}],["persist",null,{},["cardsToLeft","gt",0,{}]]]},{"name":"honorTheFallen","cost":{"hp":1},"effects":[["discard",1,{}],["defendHero",["CardsCount","ceil",0.5,"discardPile",null,null,0],{}],["persist",null,{},["cardsToLeft","gt",0,{}]]]},{"name":"honorTheFallen","cost":{"hp":1},"effects":[["discard",1,{}],["defendHero",["CardsCount","ceil",0.5,"discardPile",null,null,0],{}],["persist",null,{},["cardsToLeft","gt",0,{}]]]},{"name":"runeOfHeartiness","cost":{"mp":2,"stamina":3},"stashed":true,"effects":[["insertEffectPermanentlyHand",1,{"effects":[["fatigue",-2,{}]]}],["singleUse",null,{}]]},{"name":"borrowTime","cost":{"mp":5,"will":1},"effects":[["postpone",null,{"effects":[["discard",["HandSlice","",-1],{}]]}],["drawCards",8,{}]]}],"maxStashedCards":2,"cardRemoveCost":4,"cardUpgradeCost":10},"stage":5,"ascensions":["removeCost","upgradeCost","rerollCost","itemChoices","cardChoices","maxStashedCards","initialDamage","minLevelDecrease","questDifficulty","addSmallMonsters","cardCostAffinity","cardOtherAffinity","moreNegativeEncounters","maxCardUpgrades","fatiguePerTurn","enemyHpCoeff"],"rewards":{"rerollCosts":{"cards":3,"items":2,"nextQuest":2},"amounts":{"gold":8,"cards":1,"items":2,"chances":{"rare":0.15,"upgraded":0.22000000000000003},"taggedCards":{},"taggedItems":{}}},"encounters":[6,9,10,27,30],"quests":[{"stage":2,"quest":"Dance till you drop","completed":true},{"stage":3,"quest":"Join as apprentice beggar","completed":true},{"stage":4,"quest":"Get a glimpse of a prophesy","completed":true},{"stage":5,"quest":"Bet against the house","completed":false}],"encounter":[30,"ghost",["ghost","bones","shadow"],[]],"ts":"2025-11-11T22:23:37.798Z"}
Sorry for late reply, day job consumed too much of my time. Thanks for detailed reports.
flimsy shield sometimes defends outside of turn 1
This one is a bit funny. Due to a typo, Flimsy Shield counted enemy’s turn instead of player’s one, so it gave defence when the target enemy happened to be just-summoned. Fixed.
self-damage of burning cards is affected by your own critical a bomb dealing “melee all” damage heals you if you are vampiric I think evasion deals with falling damage as well as it deals with melee
I have found few more instances like this, in particular falling damage also uses hero’s critical. Will fix, but it requires some work, so maybe next release.
reloading victory screen saves sometimes gives different quests
So far, I failed to reproduce that. If you will be able to catch more precise circumstances, please tell.
Telescope shows a monster with a one-word-name
Good catch, fixed.
ice shards in general often just don’t seem to exhaust
This was due to the effect ordering: “Force end turn” ignores the rest of the card. Fixed.
game freezes when discarded swindle plays ice shard:
Fixed
quicksafe forgets recent meat ration
Fixed
All fixes will be available in the next release. Before release, I will still try to search for a mixed quests problem and do more testing for a few days.
No problem, thanks for all the updates btw.
I found a quest bug reproduction:
here’s another freeze, happens when you upgrade Buckle Up with a rune.
{"version":"v0.27.0","seed":[-1246761326,-846285917,221819153,1381216588],"heroType":"revenant","hero":{"maximum":{"hp":51,"mp":55,"stamina":42,"will":45},"current":{"hp":51,"mp":41,"stamina":42,"will":44,"gold":1},"status":{"fatigue":10,"defence":8},"immunity":{},"items":["emptyLocket","bearTrap","notebook","flameward","porcelainDove","shimmeringRobe","sapphireRing","crookedDice","caduceus","dragonLance","chisel","broom","fireproofGloves","charmingTrap"],"deck":[{"name":"lichform","cost":{"hp":1,"mp":7},"upgraded":6,"stashed":true,"effects":[["upgradeSelf",1,{},["hpHero","le",7,{}]],["hpSet",7,{}],["manaSet",["MaxResource","",1,"mp"],{}],["exhaust",1,{}]]},{"name":"assimilate","cost":{"hp":1,"mp":6,"will":1},"stashed":true,"effects":[["maxResFromCardCost",["TotalCostAllResourcesUpto","",1,1],{}],["exhaustAndRemove",1,{}],["exhaust",1,{}]]},{"name":"syphonSoul","cost":{"mp":8},"upgraded":6,"effects":[["shoot",48,{}]],"kill":[["deltaThisCost",1,{}],["increaseEffect",14,{"effect":"shoot"}],["preserveSelf",null,{}]]},{"name":"syphonSoul","cost":{"mp":6},"upgraded":6,"effects":[["shoot",40,{}]],"kill":[["deltaThisCost",1,{}],["increaseEffect",14,{"effect":"shoot"}],["preserveSelf",null,{}]]},{"name":"drainingTouch","cost":{"hp":1,"mp":1},"effects":[["vampiricHero",1,{}],["melee",5,{}]]},{"name":"buckleUp","cost":{"hp":1},"effects":[["defendHero",2,{}],["postpone",null,{"effects":[["defendHero",8,{}]]}]]},{"name":"plantHerbs","cost":{"mp":2,"will":1},"upgraded":1,"effects":[["addToDrawPileRandomLuck",["RandomInRange","",2,4,{}],{"tag":"herb"}],["exhaust",3,{}]]},{"name":"pause","cost":{},"effects":[["drawCards",1,{}],["fatigue",-2,{},["amplifiedHero","eq",0,{}]]]},{"name":"runeOfPerfection","cost":{"hp":1,"mp":1,"stamina":1,"will":1},"upgraded":1,"effects":[["upgrade",1,{}],["singleUse",null,{}]]}],"maxStashedCards":2,"cardRemoveCost":6,"cardUpgradeCost":26},"stage":13,"ascensions":["removeCost","upgradeCost","rerollCost","itemChoices","cardChoices","maxStashedCards","initialDamage","minLevelDecrease","questDifficulty","addSmallMonsters","cardCostAffinity","cardOtherAffinity","moreNegativeEncounters","maxCardUpgrades","fatiguePerTurn","enemyHpCoeff"],"rewards":{"rerollCosts":{"cards":5,"items":5,"nextQuest":2},"amounts":{"gold":24,"cards":2,"items":2,"chances":{"rare":0.55,"upgraded":0.54},"taggedCards":{"rune":1},"taggedItems":{}}},"encounters":[8,10,18,20,28,37,46,56,59,63,80,90,101],"quests":[{"stage":4,"quest":"Help with sowing","completed":true},{"stage":6,"quest":"Watch a rainbow","completed":true},{"stage":7,"quest":"Use every chance","completed":true},{"stage":13,"quest":"Take bounty for orcs","completed":false}],"encounter":[101,"goldenDragon",["goldenDragon","barbedChest"],["quest negative"]],"ts":"2025-11-21T22:07:38.443Z"}
(Quickest way is to immediately use second chance.)
found a quest bug reproduction:
Wow, that was a fun one to debug. The triggering condition was having exactly 5 gold at the end of stage while playing with “Quests are harder” ascension.
There is a quest (“Buy some ink”) where prerequisites depend on difficulty (it requires [difficulty + 5] gold). When loading the game, assignment to quest difficulty was too late, thus incorrectly including this quest into a list of available quests, screwing random selection.
freeze, happens when you upgrade Buckle Up with a rune.
Fixed
rune of balance upgrades it’s effect on it’s own, whenever an upgraded version of the card is rendered, and later the card is reloaded. For example, when you look it up in “all cards”, hover over it, then open “all items” and go back to “all cards”. Or when you load this save repeatedly. This probably also happens with lockstep.
{"version":"v0.28.0","seed":[-723588594,267345867,-972422929,54182861],"heroType":"mage","hero":{"maximum":{"hp":21,"mp":34,"stamina":9,"will":16},"current":{"hp":21,"mp":34,"stamina":3,"will":16,"gold":213},"status":{"intellect":5,"strength":-1,"toughness":-1,"vitality":2,"fatigue":5,"defence":10},"immunity":{"ensnared":true,"vampiric":true},"items":["tomeOfIceAndFire","wandOfMissiles","sackOfGrain","portableBookcase","toolbox","piggyBank","spidersilkRobe","weirdKey","bountySnakes","elephantFigurine","bountyDragons","notebook","pedestal","wizardStaff","tarball","ziegenhainer","pendantOfLight","peeledFace","kaleidoscope"],"deck":[{"name":"magicMissile","cost":{"mp":1},"effects":[["poison",1,{}],["shoot",2,{}]],"history":[[0,0,1,"acquire",["start"]],[6,2,1,"add Poison",["[magicMissile","[bountySnakes"]]]},{"name":"magicMissile","cost":{"mp":1},"upgraded":1,"effects":[["poison",5,{}],["shoot",3,{}]],"history":[[0,0,1,"acquire",["start"]],[2,0,1,"add Shoot",[]],[2,0,1,"upgrade",["for gold"]],[6,1,1,"add Poison",["[magicMissile","[bountySnakes"]],[6,6,1,"add Poison",["[magicMissile","[bountySnakes"]],[11,4,1,"add Poison",["[magicMissile","[bountySnakes"]],[11,6,1,"add Poison",["[magicMissile","[bountySnakes"]],[11,8,1,"add Poison",["[magicMissile","[bountySnakes"]]]},{"name":"gatherMagic","cost":{"mp":1},"stashed":true,"effects":[["mana",["Linear","",["CardsPlayedCount",""],1,0],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"gatherMagic","cost":{"mp":1},"stashed":true,"effects":[["mana",["Linear","",["CardsPlayedCount",""],1,0],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"ivoryTower","cost":{"mp":2},"effects":[["fatigue",-2,{}],["initiative",1,{}],["defendHero",["HandCount","",2,null,0],{}]],"history":[[0,0,1,"acquire",["start"]],[9,7,1,"add Initiative",["[runeOfHaste"]],[13,1,1,"add Fatigue",["[runeOfHeartiness"]]]},{"name":"ivoryTower","cost":{"mp":2},"effects":[["defendHero",["HandCount","",2,null,0],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"bounce","cost":{"mp":1},"upgraded":1,"effects":[["redirectHero",1,{}],["persist",2,{}]],"history":[[2,0,1,"acquire",["reward"]],[7,7,2,"add Persists",[]],[7,7,1,"upgrade",["for gold"]]]},{"name":"plantHerbs","cost":{"mp":2,"will":1},"effects":[["addToDrawPileRandomLuck",["RandomInRange","",1,3,{}],{"tag":"herb"}],["exhaust",3,{}]],"history":[[7,7,1,"acquire",[]]]},{"name":"riskyTreatment","cost":{"mp":3},"effects":[["healHero",["PositiveStatus","",3,"intellect",0],{}],["healHero",["RandomInRange","",-2,2,{}],{}]],"history":[[10,14,1,"acquire",["reward"]]]},{"name":"preparedNotes","cost":{},"upgraded":6,"effects":[["drawCards",3,{}],["exhaust",7,{}]],"history":[[11,10,1,"acquire",["reward"]],[12,12,1,"modify (Exhausts)",[]],[12,12,1,"upgrade",["for gold"]],[12,12,1,"modify (Exhausts)",[]],[12,12,1,"upgrade",["for gold"]],[12,12,1,"modify (Exhausts)",[]],[12,12,1,"upgrade",["for gold"]],[12,12,1,"modify (Exhausts)",[]],[12,12,1,"upgrade",["for gold"]],[12,12,1,"modify (Exhausts)",[]],[12,12,1,"upgrade",["for gold"]],[12,12,1,"modify (Exhausts)",[]],[12,12,1,"upgrade",["for gold"]]]},{"name":"toxicSpray","cost":{"mp":5},"upgraded":1,"effects":[["poisonAll",["PositiveStatus","",1,"intellect",0],{}],["poisonAll",4,{}]],"history":[[12,12,1,"acquire",["reward"]]]}],"maxStashedCards":2,"cardRemoveCost":8,"cardUpgradeCost":22},"stage":13,"ascensions":["removeCost","upgradeCost","rerollCost","itemChoices","cardChoices","maxStashedCards","initialDamage","minLevelDecrease","questDifficulty","addSmallMonsters","cardCostAffinity","cardOtherAffinity","moreNegativeEncounters","maxCardUpgrades","fatiguePerTurn","enemyHpCoeff"],"rewards":{"rerollCosts":{"cards":4,"items":5,"nextQuest":5},"amounts":{"gold":26,"cards":2,"items":2,"chances":{"rare":0.6,"upgraded":0.5800000000000001},"taggedCards":{"rune":1},"taggedItems":{}}},"encounters":[6,10,12,16,28,50,53,55,59,70,72,78,103],"quests":[{"stage":2,"quest":"Celebrate with fireworks","completed":true},{"stage":3,"quest":"Read many books","completed":true},{"stage":4,"quest":"Make investment","completed":true},{"stage":6,"quest":"Take bounty for snakes","completed":true},{"stage":7,"quest":"Help with sowing","completed":true},{"stage":8,"quest":"Borrow a book","completed":true},{"stage":9,"quest":"Graduate from faculty of Philosophy","completed":true},{"stage":10,"quest":"Practice lockpicking","completed":false},{"stage":11,"quest":"Enjoy a bright sunny day","completed":false},{"stage":12,"quest":"Dance till you drop","completed":true},{"stage":13,"quest":"Collect colored glass beads","completed":true}],"ts":"2025-11-26T21:39:27.572Z"}
sleight of hand consumes luck
Same file, curate often doesn’t count the magic missiles towards “pay cost of non-uniquely named”
{"version":"v0.28.0","seed":[-1680369459,204631412,-414290070,-1458535102],"heroType":"antiquarian","hero":{"maximum":{"hp":12,"mp":9,"stamina":9,"will":9},"current":{"hp":12,"mp":9,"stamina":9,"will":9,"gold":214},"status":{"vitality":-1,"clairvoyance":26,"luck":7,"fatigue":9,"protected":1,"defence":2},"immunity":{},"items":["aceOfDiamonds","crystalOrb","acupunctureChart","kaleidoscope","blankPaper","woolThread","wandOfMissiles","bountyGoblins","wristWeights","diademOfSuffering","bountyRats","clover","twighlightStar","chainMail","glacialArmor","windingKey","metronome","iceCream","peaPod","worthlessHeirloom","clayMold","hiddenLever"],"deck":[{"name":"magicMissile","cost":{"mp":1},"effects":[["shoot",2,{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"magicMissile","cost":{"mp":1},"effects":[["shoot",2,{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"curate","cost":{"hp":1,"mp":1,"stamina":1,"will":1},"upgraded":1,"effects":[["fullCostToResources",["TotalCostAllResourcesUnique","",4,{}],{}],["payResources",["TotalCostAllResourcesUnique","",null,{"invert":true}],{}]],"history":[[0,0,1,"acquire",["start"]],[13,2,1,"add Reimburse",[]],[13,2,1,"upgrade",["for gold"]]]},{"name":"curate","cost":{"hp":1,"mp":1,"stamina":1,"will":1},"effects":[["fullCostToResources",["TotalCostAllResourcesUnique","",3,{}],{}],["payResources",["TotalCostAllResourcesUnique","",null,{"invert":true}],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"makeshiftWard","cost":{"hp":1,"mp":1,"stamina":1},"upgraded":5,"effects":[["defendHero",["Linear","",["ItemCounters",""],1,5],{}]],"history":[[0,0,1,"acquire",["start"]],[3,0,1,"add Defend",[]],[3,0,1,"upgrade",["for gold"]],[3,0,1,"add Defend",[]],[3,0,1,"upgrade",["for gold"]],[4,3,1,"add Defend",[]],[4,3,1,"upgrade",["for gold"]],[9,9,1,"add Defend",[]],[9,9,1,"upgrade",["for gold"]],[10,3,1,"add Defend",[]],[10,3,1,"upgrade",["for gold"]]]},{"name":"bargain","cost":{"stamina":3},"effects":[["reduceCosts",["RandomInRange","",1,2,{}],{}],["exhaust",5,{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"curiosity","cost":{"mp":1},"upgraded":1,"effects":[["initiative",1,{}],["discard",1,{}],["drawCards",3,{}],["persist",3,{}]],"history":[[0,0,1,"acquire",["start"]],[10,3,1,"MP cost −1",[]],[10,3,1,"upgrade",["for gold"]],[14,3,1,"add Initiative",["[runeOfHaste"]]]},{"name":"runeOfHaste","cost":{"mp":2,"stamina":3},"effects":[["insertEffectPermanentlyHand",1,{"effects":[["initiative",1,{}]]}],["singleUse",null,{}]],"history":[[14,6,1,"acquire",[]]]},{"name":"sleightOfHand","cost":{"stamina":1},"upgraded":1,"effects":[["drawCards",3,{}]],"history":[[14,0,1,"acquire",["reward"]]]}],"maxStashedCards":2,"cardRemoveCost":6,"cardUpgradeCost":18},"stage":15,"ascensions":["removeCost","upgradeCost","rerollCost","itemChoices","cardChoices","maxStashedCards","initialDamage","minLevelDecrease","questDifficulty","addSmallMonsters","cardCostAffinity","cardOtherAffinity","moreNegativeEncounters","maxCardUpgrades","fatiguePerTurn","enemyHpCoeff"],"rewards":{"rerollCosts":{"cards":2,"items":2,"nextQuest":2},"amounts":{"gold":28,"cards":2,"items":2,"chances":{"rare":0.65,"upgraded":1.12},"taggedCards":{},"taggedItems":{}}},"encounters":[6,10,16,18,28,35,62,63,69,71,77,86,87,90,103],"quests":[{"stage":2,"quest":"Get a glimpse of a prophesy","completed":true},{"stage":3,"quest":"Collect colored glass beads","completed":true},{"stage":5,"quest":"Celebrate with fireworks","completed":true},{"stage":6,"quest":"Take bounty for goblins","completed":true},{"stage":8,"quest":"Take bounty for rats","completed":true},{"stage":9,"quest":"Watch sunrise and sunset","completed":true},{"stage":13,"quest":"Mold a lifelike sculpture","completed":true},{"stage":14,"quest":"Hunt rabbits","completed":true},{"stage":15,"quest":"Enjoy a bright sunny day","completed":false}],"encounter":[103,"deepestOne",["cuttlefish","cuttlefish","cuttlefish","deepOne","deepestOne"],[]],"ts":"2025-11-25T12:41:14.478Z"}
sword dummy increases the poison multiplier of scalpel melee instead of the constant
{"version":"v0.28.0","seed":[-1906113610,-1621937738,259826885,-434507075],"heroType":"plagueDoctor","hero":{"maximum":{"hp":20,"mp":12,"stamina":6,"will":5},"current":{"hp":19,"mp":11,"stamina":6,"will":5,"gold":2},"status":{"fatigue":14,"poisoned":7},"immunity":{},"items":["frayedTome"],"deck":[{"name":"puff","cost":{"mp":1},"effects":[["poison",["Cycle","",["CardsPlayedCount",""],[1,4]],{}],["persist",3,{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"puff","cost":{"mp":1},"effects":[["poison",["Cycle","",["CardsPlayedCount",""],[1,4]],{}],["persist",3,{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"placebo","cost":{"mp":1},"stashed":true,"effects":[["mana",3,{},["poisoned","odd",null,{}]],["mana",1,{},["heroStatus","odd",null,{"status":"poisoned"}]],["poison",-1,{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"placebo","cost":{"mp":1},"upgraded":1,"effects":[["mana",4,{},["poisoned","odd",null,{}]],["mana",2,{},["heroStatus","odd",null,{"status":"poisoned"}]],["poison",-1,{}]],"history":[[0,0,1,"acquire",["start"]],[2,4,1,"modify (MP, MP)",[]],[2,4,1,"upgrade",["for gold"]]]},{"name":"snakeOil","cost":{"hp":1,"mp":2},"effects":[["poisonHero",4,{}],["healHero",6,{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"inhaleFumes","cost":{"hp":1,"mp":1},"effects":[["drawCards",["Cycle","",["CardsPlayedCount",""],[2,3,4]],{}],["poisonHero",["Linear","",["CardsDrawnCount",""],1,0],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"scalpel","cost":{"mp":1},"effects":[["poisonHero",["MonsterStatus","ceil",0.2,"poisoned",0],{}],["meleeFront",["MonsterStatus","",1,"poisoned",1],{"visual":"slash"}]],"history":[[0,0,1,"acquire",["start"]]]}],"maxStashedCards":2,"cardRemoveCost":4,"cardUpgradeCost":6},"stage":3,"ascensions":["removeCost","upgradeCost","rerollCost","itemChoices","cardChoices","maxStashedCards","initialDamage","minLevelDecrease","questDifficulty","addSmallMonsters","cardCostAffinity","cardOtherAffinity","moreNegativeEncounters","maxCardUpgrades","fatiguePerTurn","enemyHpCoeff"],"rewards":{"rerollCosts":{"cards":2,"items":2,"nextQuest":2},"amounts":{"gold":4,"cards":2,"items":2,"chances":{"rare":0.05,"upgraded":0.64},"taggedCards":{},"taggedItems":{"mask":1}}},"encounters":[3,5,6],"quests":[{"stage":3,"quest":"Visit training grounds","completed":false}],"encounter":[6,"piranha",["piranha","piranha","piranha"],["potion positive"]],"ts":"2025-11-29T23:30:21.873Z"}
rune of balance upgrades it’s effect on it’s own … also happens with lockstep.
This bug affected all cards with ‘cycle by cards played’ effect. Fixed.
sleight of hand consumes luck
The bug was actually in the Bargain card. I forgot to pass ‘imitate’ flag, so Bargain spent luck while trying to preview number of cards it would affect.
curate often doesn’t count the magic missiles
Fixed
sword dummy increases the poison multiplier of scalpel melee instead of the constant
This interaction was left intentionally as a way to empower weak / rare weapons like Reforged Sword and Scalpel. I agree that wording of ‘Melee values +1’ does not communicate that idea at all. Underneath, the formula is “value * (poisoned) + plus”, so value is the coefficient. I do not know if you noticed, Secret Technique works the same way with cards like Revenge and Feast on Flesh, which makes it very powerful (and the name is kind-of pun related to this hidden interaction).
So my preferred way of fixing that problem would be to re-phrase Sword Dummy ability, but I currently have no idea how to do that. Ideas welcome.
Since both Curate and Bargain are in starting deck of Antiquarian, I am inclined to do next release sooner, even though the batch of new content is still small. But before that, I would like some feedback on Antiquarian balance – do you think her ability should be nerfed as it scales too soon and without enough effort from the player? Maybe gain 0.5 Shoot value per effect trigger? Or any other comments on her?
This interaction was left intentionally
Oh, I see. Maybe just vaguely call it “improve melee enemy effects”, if you want to keep the discovery aspect. Otherwise, you might need a dedicated keyword. Or maybe it’s enough to reformulate the effects to be like “melee 1 per bla plus 5”, it kinda makes sense like that…
feedback on Antiquarian balance
Antiquarian does feel a bit easy once you figure out how to use the cards, but other heroes can also feel like that. Antiquarian can heal and regain all resources, and curiosity is just a really good card. In the beginning I trim the deck to just one missile, one curate, bargain, one ward and curiosity. This way I can be sure that in the first turn, I draw either curiosity or ward. As it is I think that deck is enough of a plan to win the game with a few items with good triggers.
I think Antiquarian would still be about as strong as some other late-unlock-heroes if the ability only triggered when item counters increased. “Any item trigger” is a bit much imo, and has very different outcomes depending on what items you find.
The antiquarian deck itself is already pretty good and interesting, it doesn’t really need a strong ability to go with it.
Something like “Increase on item trigger, decrease on use” could be a multi-color card that you get with a quest, instead of that being an ability. Antiquarian could just increase shoot values in play at start stage, once per five items, rounded up, for example. Antiquarian could have no abilities beyond having the heirloom and still be a stronger start than mage.
I think the heroes are also difficulty settings, so it depends on whether you want to add an easy option or a less easy option.
Otherwise, you might need a dedicated keyword.
I went this route. It is now called ‘empower’
curiosity is just a really good card
Adding Curiosity was a bit of lazy design from me. I just went with go-to card for hand management.
I have now replaced Curiosity in Antiquarian’s starting deck with new Collectomania card, which, although harder to use, gives a reason to keep duplicate cards in deck as well as potential for infinite, somewhat similar to Priest.
I trim the deck to … one curate
How did you replenish Wp with just one Curate?
“Any item trigger” is a bit much imo, and has very different outcomes depending on what items you find.
I agree with the first part, but the second part I find desirable. The unique quirk of this hero is supposedly to force player to re-evaluate all items, making use of otherwise irrelevant ones just for the triggers.
For now, I increased her negative perk, making all attacks reduce all the way to 0 (instead of just -2) upon use. She is still pretty OP, but power spike is a bit slower.
Yeah, I think these are all very good changes.
How did you replenish Wp with just one Curate?
In the five card deck, there was no need to replenish Wp, because I used bargain on the curate before using it. If I ever lacked the initial mp for this to be feasible, I would swap the bargain with the second curate.
The unique quirk of this hero is supposedly to force player to re-evaluate all items, making use of otherwise irrelevant ones just for the triggers.
This creates more interesting choices now, you depend a bit more on finding good triggers, to the point where you might consider rerolling if all useful items lack useful triggers.
negative player confusion triggers as if it’s 1
Fixed
Spider Web has no sanity immunities
Fixed, and gave it immunity to ensnared to boot.
spawn of silver getting more guarding is considered the lucky outcome
Fixed, it was a bit funny since I stared at the “obviously correct” line for a few minutes, thinking that I was affected by insanity from my game, until I finally saw the typo:
E.guarding(new RandomInRange(0, 2), { invert: true }), vs E.guarding(new RandomInRange(0, 2, { invert: true })),
dazzling ink improves the multiplier of infectious delirium
Will fix, but this bug also affects some other cases, for example splicing “Melee” effect from Spear into Revenge with Idea. I need to review those carefully.
vitality damage from all sources triggers guilt
Yes, I have already noticed this, and consider this bug serious enough to again publish mostly-fixes release. Unfortunately this change requires some extensive refactoring, so it will take a few days.
Meanwhile, I would like to get some feedback on Dreamwalker. He is certainly very hard, I actually did not yet manage to win on max-ascension. What was your experience with Dreamwalker? I would like to buff him slightly, but without affecting his core “identity”.
So far, my ideas include:
Maybe I just got lucky in my runs so far, but I think Dreamwalker isn’t difficult in a way that makes me consider dropping an ascension. Which btw wouldn’t be a bad thing, I’d actually appreciate having a reason not to have all ascensions up.
I save at every victory screen so it’s kinda save-scummy, but I “won” two Dreamwalker runs with all ascensions. For example, in late game I went to laguna and realized I can’t kill the kraken tentacles in time before fatigue kills me, so I reload and go the other way because an idealized, more experienced player would’ve seen that coming.
The early game seems doable, it’s just somewhat finnicky and I often have to retry the stage because I misplay something.
I almost never inflict guilt and upgrade the cards so that I can avoid dealing with guilt as much as possible (first upgrades are one slumber, delirium, and then the tunes). Dispersion is indeed something I immediately stash and never use again. Maybe, if it didn’t cost Wp, I would use it before I can spare gold to remove cards. Later the trimmed down deck is one slumber, light, delirium, and two otherworldly tunes.
So, early on I avoid using conspiracy because stamina is my lowest resource, and later when you don’t need Wp it’s not worth keeping because delirium does it’s job while also avoiding enemy actions.
imo it’s actually good flavor that you learn to let go of guilt as you level up.
Overall I don’t think Dreamwalker needs a buff, but a small buff could make the first stages less finnicky.
I pushed new update with changes to Dreamwalker. I replaced Dispersion with new Somnicide card, which makes some encounters much more comfortable, and is more thematic.
New Psychotic Strike is a bit unreliable, since it can randomly produce guilty dream, but combos well with negative statuses from Otherworldly Tune and is one of the very few cards with multiplicative upgrade scaling. Hopefully this would be enough to make it worth picking.
I did win once on max-ascension, exploiting new quest for Bounce card, which makes good addition to status-managing toolkit, but takes a lot of brainpower due to combinatorial explosion of possible outcomes depending on card order.
I went to laguna and realized I can’t kill the kraken tentacles in time before fatigue kills me
Kraken is a natural enemy of insanity-based builds. I did consider making tentacles flee/die when “main body” dies, but, although thematically good, it makes Kraken too weak against burst damage builds.
idealized, more experienced player would’ve seen that coming.
I have added “View possible enemies” button to next encounter preview, to reduce amount of memoization needed for such decision. I goes with general principle of “give player convenient access to all information not explicitly hidden by game rules”. You still need enough skill to understand which enemies are good / bad for your build, of course.
I avoid using conspiracy … delirium does it’s job
Yeah, when creating Conspiracy, I added potentially much better scaling to compensate, but seemingly that was not enough.
I’d actually appreciate having a reason not to have all ascensions up.
One, admittedly convoluted, reason is achievement hunting. For example, quest-related achievements are much easier without ‘harder quests’ ascension. Of course, that is only relevant if you are into this sort of thing. I personally am not, but I know a few players who enjoy forcing builds and chasing strange achievement goals.
Overall, I think currently late game is too easy in the sense that if you live past ~stage 15, you are probably busted enough to just stomp the rest. I have vague plans to add significant spike in difficulty for the final boss, comparable to Heart in Slay the Spire.
Somnicide is a good addition.
Not sure if I’d pick up psychotic strike as dreamwalker, it has a Wp cost and adds a complication, while delirium and eldritch light already have my long-term offense covered. But it’s a cool idea.
“View possible enemies” button
That’s a great feature! (Though not really related because I did expect the kraken itself, I just didn’t realize my damage output would be too low.)
Rn the default filter doesn’t take into account the “encounters may appear earlier” ascension. For example, frozen fields on lvl 2 shows nothing.
achievement hunting
Good point. Come to think of it, it’s not just achievements, I could always have my own conducts to have a reason to drop ascensions, e.g. needing to remove a certain starter card before a certain level.
currently late game is too easy in the sense that if you live past ~stage 15, you are probably busted enough to just stomp the rest
true, I often start skipping the rewards at some point after lvl 16.
default filter doesn’t take into account the “encounters may appear earlier” ascension.
Will be fixed in next release. Meanwhile, you can manually add 1 to the high value of stage range filter
I could always have my own conducts to have a reason to drop ascensions
If you find some interesting conducts of this nature, I can add them as achievements.
For example, existing ‘Revolutionary’ achievement is somewhat close to the ‘remove starting card’ goal you mentioned.
Lots of neat changes last update. Here’s some minor stuff:
persist does nothing if you have 0 fatigue and the new ascension
{"version":"v0.32.0","seed":[-1828985490,703948705,-880616949,1091061488],"heroType":"priest","hero":{"maximum":{"hp":15,"mp":5,"stamina":5,"will":15},"current":{"hp":10,"mp":5,"stamina":5,"will":15,"gold":0},"status":{},"immunity":{},"items":[],"deck":[{"name":"sigilOfWrath","cost":{"will":1},"effects":[["lightning",5,{},["diffSigils","eq",1,{}]]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"sigilOfWrath","cost":{"will":1},"effects":[["lightning",5,{},["diffSigils","eq",1,{}]]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"sigilOfSanctuary","cost":{"will":1},"effects":[["defendHero",5,{},["diffSigils","eq",1,{}]]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"sigilOfFaith","cost":{"will":1},"effects":[["will",6,{},["diffSigils","eq",1,{}]]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"sigilOfFaith","cost":{"will":1},"effects":[["will",6,{},["diffSigils","eq",1,{}]]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"pray","cost":{"will":1},"effects":[["piety",1,{}],["drawCards",1,{}],["persist",4,{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"pray","cost":{"will":1},"effects":[["piety",1,{}],["drawCards",1,{}],["persist",4,{}]],"history":[[0,0,1,"acquire",["start"]]]}],"maxStashedCards":2,"cardRemoveCost":4,"cardUpgradeCost":4},"stage":1,"ascensions":["removeCost","upgradeCost","rerollCost","itemChoices","cardChoices","maxStashedCards","initialDamage","minLevelDecrease","questDifficulty","addSmallMonsters","cardCostAffinity","cardOtherAffinity","moreNegativeEncounters","maxCardUpgrades","fatiguePerTurn","fatigueNoPersists","enemyHpCoeff"],"rewards":{"rerollCosts":{"cards":2,"items":2,"nextQuest":2}},"reserved":{},"encounters":[7],"quests":[],"statistics":{},"encounter":[7,"piranha",["piranha"],[]],"ts":"2026-01-19T16:09:36.362Z"}
typos: “Card Skin: Defult” in options, “botom of pile” in more info > Card numbering, first line
“Invent magic deflector” quest shows up even though the prereq aren’t fulfilled
{"version":"v0.32.0","seed":[944298127,-114337653,-1766622196,-1793848570],"heroType":"mage","hero":{"maximum":{"hp":15,"mp":18,"stamina":2,"will":6},"current":{"hp":7,"mp":17,"stamina":2,"will":2,"gold":10},"status":{"piety":20,"fatigue":7},"immunity":{},"items":["colorfulLeaf","wandOfMissiles","mittens"],"deck":[{"name":"magicMissile","cost":{"mp":1},"effects":[["shoot",2,{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"magicMissile","cost":{"mp":1},"effects":[["shoot",2,{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"magicMissile","cost":{"mp":1},"effects":[["shoot",2,{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"gatherMagic","cost":{"mp":1},"stashed":true,"effects":[["mana",["Linear","",["CardsPlayedCount",""],1,0],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"gatherMagic","cost":{"mp":1},"stashed":true,"effects":[["mana",["Linear","",["CardsPlayedCount",""],1,0],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"gatherMagic","cost":{"mp":1},"effects":[["mana",["Linear","",["CardsPlayedCount",""],1,0],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"ivoryTower","cost":{"mp":2},"effects":[["defendHero",["HandCount","",2,null,0],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"ivoryTower","cost":{"mp":2},"effects":[["defendHero",["HandCount","",2,null,0],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"austerity","cost":{},"upgraded":1,"effects":[["piety",2,{}],["fatigue",-1,{}],["drawToDiscard",1,{}],["persist",4,{}]],"history":[[1,5,1,"acquire",["reward"]],[2,3,1,"add Piety",[]],[2,3,1,"Wp cost −1",[]],[2,3,1,"upgrade",["for gold"]]]},{"name":"honey","cost":{"hp":3,"mp":2},"effects":[["vitalityHero",2,{}],["sorcery",1,{}],["exhaust",1,{}]],"history":[[3,6,1,"acquire",[]]]}],"maxStashedCards":2,"cardRemoveCost":4,"cardUpgradeCost":6},"stage":3,"ascensions":["removeCost","upgradeCost","rerollCost","itemChoices","cardChoices","maxStashedCards","initialDamage","minLevelDecrease","questDifficulty","addSmallMonsters","cardCostAffinity","cardOtherAffinity","moreNegativeEncounters","maxCardUpgrades","fatiguePerTurn","fatigueNoPersists","enemyHpCoeff"],"rewards":{"rerollCosts":{"cards":2,"items":2,"nextQuest":2},"amounts":{"gold":6,"cards":2,"items":2,"chances":{"rare":0.1,"upgraded":0.18000000000000002},"taggedCards":{},"taggedItems":{}}},"reserved":{},"encounters":[7,15,32],"quests":[{"stage":2,"quest":"Celebrate with fireworks","completed":true},{"stage":3,"quest":"Help with beekeeping","completed":true}],"statistics":{"cardsInHandCounted":[76,48,26,14,14],"cardsPlayed":[52,24,7,0,1],"damageToHero":[3,3,3,0,2],"damageToMonsters":[95,79,56,52,10],"monstersFled":[1,1,1,0,1],"monstersKilled":[15,12,8,0,6],"monstersAttacked":[40,33,8,0,1],"monsterAfraid":[9,9,3,3,2],"heroDefence":[76,48,26,14,14],"monsterEvasion":[32,32,8,8,2],"heroFatigue":[80,39,11,5,5],"heroPiety":[28,24,8,2,2]},"ts":"2026-01-18T16:55:13.935Z"}
chest randomly spawns in chaos realms, but “all monsters” menu says otherwise
{"version":"v0.32.0","seed":[178640435,-1278827476,-1189322740,-1793843608],"heroType":"mage","hero":{"maximum":{"hp":15,"mp":22,"stamina":2,"will":6},"current":{"hp":15,"mp":19,"stamina":2,"will":2,"gold":36},"status":{"vitality":2,"sorcery":1,"piety":15,"fatigue":18},"immunity":{"piety":true},"items":["colorfulLeaf","wandOfMissiles","mittens","bountySpiders","stoneCalendar","peaPod","bookmarkedTome","piggyBank","beanSprout","sunShield","altarOfMalevolence"],"deck":[{"name":"magicMissile","cost":{"mp":1},"effects":[["shoot",2,{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"magicMissile","cost":{"mp":1},"effects":[["shoot",2,{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"magicMissile","cost":{"mp":1},"upgraded":1,"effects":[["shoot",3,{}]],"history":[[0,0,1,"acquire",["start"]],[3,6,1,"add Shoot",[]],[3,6,1,"upgrade",["for gold"]]]},{"name":"gatherMagic","cost":{"mp":1},"stashed":true,"effects":[["mana",["Linear","",["CardsPlayedCount",""],1,0],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"gatherMagic","cost":{"mp":1},"effects":[["mana",["Linear","",["CardsPlayedCount",""],1,0],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"ivoryTower","cost":{"mp":2},"effects":[["defendHero",["HandCount","",2,null,0],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"ivoryTower","cost":{"mp":2},"effects":[["defendHero",["HandCount","",2,null,0],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"austerity","cost":{},"upgraded":1,"effects":[["confuse",1,{}],["piety",2,{}],["fatigue",-1,{}],["drawToDiscard",1,{}],["persist",4,{}]],"history":[[1,5,1,"acquire",["reward"]],[2,3,1,"add Piety",[]],[2,3,1,"Wp cost −1",[]],[2,3,1,"upgrade",["for gold"]],[6,3,1,"add Confuse",["[dazzlingInk"]]]},{"name":"honey","cost":{"hp":3,"mp":2},"stashed":true,"effects":[["vitalityHero",2,{}],["sorcery",1,{}],["exhaust",1,{}]],"history":[[3,6,1,"acquire",[]]]}],"maxStashedCards":2,"cardRemoveCost":6,"cardUpgradeCost":8},"stage":8,"ascensions":["removeCost","upgradeCost","rerollCost","itemChoices","cardChoices","maxStashedCards","initialDamage","minLevelDecrease","questDifficulty","addSmallMonsters","cardCostAffinity","cardOtherAffinity","moreNegativeEncounters","maxCardUpgrades","fatiguePerTurn","fatigueNoPersists","enemyHpCoeff"],"rewards":{"rerollCosts":{"cards":2,"items":3,"nextQuest":5},"amounts":{"gold":14,"cards":2,"items":2,"chances":{"rare":0.3,"upgraded":0.34},"taggedCards":{},"taggedItems":{}}},"reserved":{},"encounters":[7,15,26,31,32,38,44,77],"quests":[{"stage":2,"quest":"Celebrate with fireworks","completed":true},{"stage":3,"quest":"Help with beekeeping","completed":true},{"stage":5,"quest":"Embrace daily routine","completed":true},{"stage":6,"quest":"Make investment","completed":true},{"stage":7,"quest":"Enjoy a bright sunny day","completed":true},{"stage":8,"quest":"Trade with pirates","completed":false}],"statistics":{"cardsInHandCounted":[242,62,26,14,14],"cardsPlayed":[168,37,9,0,1],"damageToHero":[18,10,3,0,3],"damageToMonsters":[174,79,56,52,10],"monstersFled":[2,1,1,0,1],"monstersKilled":[27,12,8,0,6],"monstersAttacked":[74,33,8,0,1],"monsterAfraid":[13,9,3,3,2],"heroConfused":[5,5,5,3,3],"monsterConfused":[26,17,4,1,1],"heroDefence":[242,62,26,14,14],"monsterDefence":[11,11,2,2,1],"heroEnsnared":[2,2,1,1,1],"monsterEvasion":[62,32,12,12,4],"heroFatigue":[344,115,15,12,12],"heroLuck":[36,24,3,3,3],"heroPiety":[132,40,8,2,2],"heroPoisoned":[4,4,4,4,4],"monsterProtected":[2,2,2,2,1],"heroSorcery":[2,1,1,1,1],"heroStunned":[12,12,3,3,1],"heroVitality":[4,2,2,2,2]},"encounter":[77,"eyeOfDespair",["eyeOfDespair","eyeOfDespair","warpweed","suspiciousChest"],["mp positive"]],"ts":"2026-01-18T17:26:29.523Z"}
persist does nothing if you have 0 fatigue and the new ascension
Oops. Fixed in next version
typos
Fixed
“Invent magic deflector” quest shows up even though the prereq aren’t fulfilled
Fatigue on Austerity is ‘bad’ status and the prerequisite does not distinguish positive and negative values. Will add ‘redirectable’ requirement and probably remove ‘bad’ requirement, since fatigue is not redirectable, but, say, -vitality from Screeching Tune or Stigmata is.
chest randomly spawns in chaos realms, but “all monsters” menu says otherwise
Both “View possible monsters” button and “Encountered in” line in monster hint do not take into account so-called “encounter modifiers”, such as randomly occurring chests, bushes etc. As well as small monsters added by ‘May encounter additional enemies’ ascension.
I think adding those will be too much noise, since they can appear at basically any stage.
Maybe I will document algorithm of generating encounters, even though there are not many impactful details there.
Wool Thread doesn’t work with Paradoxical Figure. Not really a bug, but maybe not intended.
‘Get individial curriculum’ doesn’t count a play if it triggered pea pod
unupgraded Carnival Trick says max: 3 for upgrades, while upgraded says max: 2. Similar for accelerate and capre diem
loading this save file, then loading a different reward screen, results in different rewards than that screen would otherwise have.
{"version":"v0.35.0","seed":[-527608706,2085101475,1253702648,-1079970323],"heroType":"mage","hero":{"maximum":{"hp":22,"mp":32,"stamina":4,"will":8},"current":{"hp":22,"mp":32,"stamina":2,"will":8,"gold":83},"status":{"luck":18,"afraid":3,"vitality":1,"ensnared":2,"fatigue":3},"immunity":{},"items":["spearTrap","aceOfClubs","colorfulLeaf","snowflake","moonBlade","graftingKnife","masterKey","ironPurse","sapphireRing","porcelainDove","cezve","woolThread","almanac","clover","sundial","bloodyCoin","aceOfHearts","stolenHeart","beanSprout","glassShield","paradoxicalFigure"],"deck":[{"name":"magicMissile","cost":{"mp":1},"upgraded":6,"effects":[["shoot",8,{}]],"history":[[0,0,1,"acquire",["start"]],[3,8,1,"add Shoot",[]],[3,8,1,"upgrade",["for gold"]],[3,8,1,"add Shoot",[]],[3,8,1,"upgrade",["for gold"]],[4,8,1,"add Shoot",[]],[4,8,1,"upgrade",["for gold"]],[12,6,1,"add Shoot",[]],[12,6,1,"upgrade",["for gold"]],[12,6,1,"add Shoot",[]],[12,6,1,"upgrade",["for gold"]],[12,6,1,"add Shoot",[]],[12,6,1,"upgrade",["for gold"]]]},{"name":"magicMissile","cost":{"mp":1},"stashed":true,"effects":[["shoot",2,{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"gatherMagic","cost":{"mp":1},"stashed":true,"effects":[["mana",["Linear","",["CardsPlayedCount",""],1,0],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"ivoryTower","cost":{"mp":1},"upgraded":1,"effects":[["defendHero",["HandCount","",2,null,0],{}]],"history":[[0,0,1,"acquire",["start"]],[5,0,1,"MP cost −1",[]],[5,0,1,"upgrade",["for gold"]]]},{"name":"ivoryTower","cost":{"mp":2},"effects":[["initiative",1,{}],["defendHero",["HandCount","",2,null,0],{}]],"history":[[0,0,1,"acquire",["start"]],[10,1,1,"add Initiative",["[runeOfHaste"]]]},{"name":"pause","cost":{},"upgraded":1,"effects":[["wait",1,{}],["drawCards",1,{}],["fatigue",-2,{},["amplifiedHero","eq",0,{}]]],"history":[[4,8,1,"acquire",["reward"]]]},{"name":"toySoldier","cost":{"mp":2},"upgraded":2,"effects":[["clockwork",4,{}],["persist",7,{}]],"endTurn":[["melee",["CardEffect","",1,"clockwork"],{"sound":"sword"}],["deltaEffectClamped",-1,{"effect":"clockwork"}]],"history":[[7,6,1,"acquire",["reward"]],[13,6,1,"add Persists",[]],[13,6,1,"upgrade",["for gold"]],[13,6,1,"add Persists",[]],[13,6,1,"upgrade",["for gold"]]]},{"name":"fountainOfLife","cost":{"mp":1},"upgraded":1,"effects":[["vitalityHero",1,{}]],"history":[[8,0,1,"acquire",["reward"]],[9,3,1,"MP cost −1",[]],[9,3,1,"upgrade",["for gold"]]]},{"name":"pulleyHook","cost":{"mp":1},"upgraded":1,"effects":[["initiative",1,{}],["fetchHighest",["HighestEffectDrawPile","","clockwork"],{}]],"history":[[13,6,1,"acquire",["quest"]],[13,6,1,"MP cost −1",[]],[13,6,1,"upgrade",["for gold"]]]}],"maxStashedCards":2,"cardRemoveCost":10,"cardUpgradeCost":26},"stage":14,"ascensions":["removeCost","upgradeCost","rerollCost","itemChoices","cardChoices","maxStashedCards","initialDamage","minLevelDecrease","questDifficulty","addSmallMonsters","cardCostAffinity","cardOtherAffinity","moreNegativeEncounters","maxCardUpgrades","fatiguePerTurn","fatigueNoPersists","enemyHpCoeff"],"rewards":{"rerollCosts":{"cards":2,"items":4,"nextQuest":10},"amounts":{"gold":28,"cards":2,"items":2,"chances":{"rare":0.65,"upgraded":0.6200000000000001},"taggedCards":{},"taggedItems":{}}},"reserved":{},"encounters":[7,4,22,38,44,19,26,76,71,62,66,78,110,104],"quests":[{"stage":3,"quest":"Train monsters to guard","completed":false},{"stage":4,"quest":"Admire beautiful moonlight","completed":true},{"stage":5,"quest":"Practice lockpicking","completed":1},{"stage":6,"quest":"Protect your gold","completed":true},{"stage":7,"quest":"Gather scrap metal","completed":false},{"stage":8,"quest":"Party until dawn","completed":true},{"stage":10,"quest":"Challenge fates","completed":true},{"stage":11,"quest":"Bet against the house","completed":true},{"stage":12,"quest":"Take something from mortuary freezer","completed":true},{"stage":13,"quest":"Transport components","completed":true},{"stage":14,"quest":"Immerse yourself in paradox","completed":true}],"statistics":{"cardsDiscarded":[4,2,1,0,1],"cardsExhausted":[10,5,2,0,1],"cardsInHandCounted":[536,88,22,15,14],"cardsPlayed":[264,37,9,0,1],"damageToHero":[16,6,2,0,2],"damageToMonsters":[658,128,39,29,17],"effectsPlayed":[980,136,33,13,1],"monstersFled":[3,2,1,0,1],"monstersKilled":[60,11,3,0,1],"monstersAttacked":[123,18,6,0,1],"heroAfraid":[6,6,6,6,6],"monsterAfraid":[2,2,2,2,2],"heroClairvoyance":[7,7,1,1,1],"heroConfused":[8,7,2,2,1],"monsterConfused":[15,9,9,6,6],"heroDefence":[482,86,22,14,14],"monsterDefence":[65,35,15,15,5],"heroEnergy":[6,6,2,2,2],"heroEnsnared":[5,3,1,1,1],"monsterEnsnared":[4,4,2,1,1],"monsterEvasion":[39,29,7,4,4],"heroFatigue":[615,82,17,13,12],"monsterGuarding":[1,1,1,1,1],"monsterGuilty":[15,15,7,5,1],"heroLuck":[116,24,5,5,5],"heroPoisoned":[14,12,12,3,3],"monsterProtected":[2,2,1,1,1],"monsterRedirect":[1,1,1,1,1],"monsterSpikes":[2,2,2,2,1],"heroStrength":[1,1,1,1,1],"heroStunned":[38,36,8,8,8],"heroVitality":[9,3,1,1,1]},"ts":"2026-05-04T17:46:59.526Z"}
endless turmoil discarding a persistent card that you just played can create a bugged card image
play the leftmost card three times to get a sigil of wrath with a pray image
{"version":"v0.35.0","seed":[511946684,806103064,-324828424,-1301113892],"heroType":"priest","hero":{"maximum":{"hp":17,"mp":8,"stamina":7,"will":36},"current":{"hp":17,"mp":6,"stamina":3,"will":33,"gold":876},"status":{"piety":21,"vitality":4,"fatigue":8,"defence":2},"immunity":{},"items":["broadhead","spearTrap","paradoxicalFigure","phrygianCap","emptyBottle","bloodyCoin","ironPurse","piggyBank","chisel","polishingWheel","sackOfGrain","cezve","phylactery","chainMail","bountyOrcs","caduceus","moonBlade","bagOfCoins","journal","snowflake","toolbox","hourglass","crookedDice","garlic"],"deck":[{"name":"sigilOfWrath","cost":{"will":1},"upgraded":6,"effects":[["weight",-2,{}],["lightning",1,{},["diffSigils","eq",1,{}]],["lightning",10,{}]],"history":[[0,0,1,"acquire",["start"]],[17,0,1,"add Shoot",[]],[17,0,1,"upgrade",["for gold"]],[17,0,1,"add Shoot",[]],[17,0,1,"upgrade",["for gold"]],[17,0,1,"add Shoot",[]],[17,0,1,"upgrade",["for gold"]],[17,0,1,"add Shoot",[]],[17,0,1,"upgrade",["for gold"]],[17,0,1,"add Shoot",[]],[17,0,1,"upgrade",["for gold"]],[18,1,1,"modify (Shoot)",["[supremeEdict"]],[18,1,1,"add Shoot",["[runeOfPerfection"]],[18,1,1,"upgrade",["[runeOfPerfection"]],[19,1,1,"add Weight",["[runeOfBalance"]]]},{"name":"sigilOfSanctuary","cost":{"will":1},"stashed":true,"effects":[["defendHero",5,{},["diffSigils","eq",1,{}]]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"sigilOfFaith","cost":{"will":1},"upgraded":4,"effects":[["will",1,{},["diffSigils","eq",1,{}]],["will",9,{}]],"history":[[0,0,1,"acquire",["start"]],[2,7,1,"add Wp",[]],[2,7,1,"upgrade",["for gold"]],[3,5,1,"add Wp",[]],[3,5,1,"upgrade",["for gold"]],[3,5,1,"add Wp",[]],[3,5,1,"upgrade",["for gold"]],[12,1,1,"modify (Wp)",["[supremeEdict"]],[12,1,1,"add Wp",["[runeOfPerfection"]],[12,1,1,"upgrade",["[runeOfPerfection"]]]},{"name":"pray","cost":{"will":1},"upgraded":6,"effects":[["initiative",1,{}],["piety",7,{}],["drawCards",1,{}],["persist",4,{}]],"history":[[0,0,1,"acquire",["start"]],[13,1,1,"add Initiative",["[runeOfHaste"]],[19,0,1,"add Piety",[]],[19,0,1,"upgrade",["for gold"]],[19,0,1,"add Piety",[]],[19,0,1,"upgrade",["for gold"]],[19,0,1,"add Piety",[]],[19,0,1,"upgrade",["for gold"]],[19,0,1,"add Piety",[]],[19,0,1,"upgrade",["for gold"]],[19,0,1,"add Piety",[]],[19,0,1,"upgrade",["for gold"]],[19,0,1,"add Piety",[]],[19,0,1,"upgrade",["for gold"]]]},{"name":"pray","cost":{"will":1},"upgraded":6,"effects":[["initiative",1,{}],["piety",7,{}],["drawCards",1,{}],["persist",4,{}]],"history":[[0,0,1,"acquire",["start"]],[7,1,1,"add Initiative",["[runeOfHaste"]],[19,0,1,"add Piety",[]],[19,0,1,"upgrade",["for gold"]],[19,0,1,"add Piety",[]],[19,0,1,"upgrade",["for gold"]],[19,0,1,"add Piety",[]],[19,0,1,"upgrade",["for gold"]],[19,0,1,"add Piety",[]],[19,0,1,"upgrade",["for gold"]],[19,0,1,"add Piety",[]],[19,0,1,"upgrade",["for gold"]],[19,0,1,"add Piety",[]],[19,0,1,"upgrade",["for gold"]]]},{"name":"quietChant","cost":{"will":2},"upgraded":6,"effects":[["weight",-1,{}],["vitalityHero",["FloatValue","",3.5],{}],["protectHero",["FloatValue","",2],{}],["piety",1,{}]],"history":[[5,0,1,"acquire",["reward"]],[6,5,1,"modify (Vitality)",[]],[6,5,1,"modify (Protect)",[]],[6,5,1,"upgrade",["for gold"]],[6,5,1,"modify (Vitality)",[]],[6,5,1,"modify (Protect)",[]],[6,5,1,"upgrade",["for gold"]],[8,1,1,"modify (Vitality)",["[runeOfPerfection"]],[8,1,1,"modify (Protect)",["[runeOfPerfection"]],[8,1,1,"upgrade",["[runeOfPerfection"]],[9,1,1,"add Weight",["[runeOfBalance"]],[9,5,1,"modify (Vitality)",["quest"]],[9,5,1,"modify (Protect)",["quest"]],[9,5,1,"upgrade",["quest"]],[10,1,1,"modify (Vitality)",["[runeOfPerfection"]],[10,1,1,"modify (Protect)",["[runeOfPerfection"]],[10,1,1,"upgrade",["[runeOfPerfection"]],[10,2,1,"modify (Vitality)",[]],[10,2,1,"modify (Protect)",[]],[10,2,1,"upgrade",["for gold"]]]},{"name":"supremeEdict","cost":{"will":3},"stashed":true,"effects":[["removeHeroCondHand",null,{}],["exhaust",2,{}]],"history":[[10,2,1,"acquire",["quest"]]]},{"name":"proselytize","cost":{"will":5},"upgraded":1,"effects":[["piety",["MonsterSanity","",-1,null,0],{}],["binding",["PositiveStatus","ceil",0.1,"piety",0],{}]],"history":[[19,0,1,"acquire",["reward"]]]}],"maxStashedCards":2,"cardRemoveCost":10,"cardUpgradeCost":60},"stage":20,"ascensions":["removeCost","upgradeCost","rerollCost","itemChoices","cardChoices","maxStashedCards","initialDamage","minLevelDecrease","questDifficulty","addSmallMonsters","cardCostAffinity","cardOtherAffinity","moreNegativeEncounters","maxCardUpgrades","fatiguePerTurn","fatigueNoPersists","enemyHpCoeff"],"rewards":{"rerollCosts":{"cards":6,"items":7,"nextQuest":5},"amounts":{"gold":57,"cards":2,"items":2,"chances":{"rare":0.9,"upgraded":0.8200000000000001},"taggedCards":{"rune":1},"taggedItems":{}}},"reserved":{},"encounters":[7,15,32,12,41,26,25,77,73,89,74,95,103,111,102,117,134,136,135,138],"quests":[{"stage":2,"quest":"Talk about justice and equality","completed":true},{"stage":3,"quest":"Protect your gold","completed":true},{"stage":4,"quest":"Kill while they sleep","completed":false},{"stage":5,"quest":"Learn to smooth out rough surfaces","completed":true},{"stage":7,"quest":"Party until dawn","completed":true},{"stage":8,"quest":"Immerse yourself in paradox","completed":true},{"stage":9,"quest":"Showcase your best work","completed":true},{"stage":10,"quest":"Become high priest","completed":true},{"stage":11,"quest":"Admire beautiful moonlight","completed":true},{"stage":12,"quest":"Have a memorable day","completed":true},{"stage":17,"quest":"Use every chance","completed":true},{"stage":20,"quest":"Endless turmoil","completed":false}],"statistics":{"cardsDiscarded":[47,34,22,0,6],"cardsExhausted":[12,6,4,0,1],"cardsInHandCounted":[62,44,32,10,10],"cardsPlayed":[878,105,42,0,1],"damageToHero":[35,14,7,0,6],"damageToMonsters":[1610,323,134,42,42],"effectsPlayed":[4319,577,240,18,1],"monstersFled":[1,1,1,0,1],"monstersKilled":[79,8,4,0,3],"monstersAttacked":[105,18,5,0,1],"heroAfraid":[3,3,3,3,3],"monsterAfraid":[10,10,5,5,3],"heroAmplified":[1,1,1,1,1],"heroClairvoyance":[1,1,1,1,1],"heroCritical":[395,60,15,15,15],"monsterCritical":[5,5,5,5,5],"heroDefence":[204,40,12,5,5],"monsterDefence":[139,50,18,18,10],"heroEnsnared":[1,1,1,1,1],"monsterEnsnared":[2,2,1,1,1],"monsterEvasion":[6,6,3,3,3],"heroFatigue":[1037,115,42,8,8],"heroPiety":[428,77,21,3,3],"heroProtected":[60,14,8,2,2],"monsterProtected":[12,10,2,2,2],"heroSpikes":[1,1,1,1,1],"monsterStrength":[16,15,3,3,3],"monsterStunned":[175,100,100,100,25],"heroVitality":[98,21,12,3,3]},"encounter":[138,"sanguineMonarch",["sanguineOrphan","sanguineOrphan","sanguinePretender","sanguinePretender","sanguineMonarch"],["quest negative"]],"ts":"2026-05-07T22:32:51.570Z"}
Thanks for detailed report, as always.
Wool Thread doesn’t work with Paradoxical Figure.
Yes, it was oversight of earlier effect implementation not updated until now. I am now debating whether to apply similar change to few remaining items, mostly related to reimbursing, like Shimmering Robe. It would make Paradoxical Figure even stronger, but since it is already hopelessly busted, maybe it is ok.
BTW, despite what I said earlier about leaving Paradoxical Figure as is, what do you think of adding counter to it, say 1 per turn? Would it be enough nerf to make it somewhat “fair”, or is it better to leave it to player’s self-imposed limitation to pick or avoid that item?
’Get individual curriculum’ doesn’t count a play if it triggered pea pod
It also did not work if Ivory Tower already persisted by some means, such as Burnt Pancake. Fixed.
unupgraded Carnival Trick says max: 3 for upgrades, while upgraded says max: 2
This one is a bit tricky. The issue is that some upgrade limitations are absolute (e.g. imposed by ascension), but some are relative (e.g. cost reduction only works while cost is >0, but if you increase card cost for some reason, upgrade will be available again).
So do you think it is a better fix to always show “max total upgrades” (but that number would in very rare cases grow after modifying the card by other means), or to show “upgrades remaining for this instance of card” (or maybe both, at the cost of cluttering UI?).
then loading a different reward screen, results in different rewards
That bug was devious. The savefile you sent triggered two unrelated bugs, one of which was the problem you faced (caused by Porcelain Dove bans leaking into next savefile and messing up random choices), and another you probably did not notice (very similar leak, but for ascension effects).
Either problem would be not so hard to debug, but since they occurred at once, it confused me for quite a while. Fixed.
endless turmoil discarding a persistent card that you just played
Fixed
BTW, did you manage to win that battle? Looks hard to me, especially as Proselytize is not very useful on transforming enemies without Grafting Knife.
What are your opinions on the final quests overall and their individual level of difficulty?
Thanks for detailed report, as always.
You’re welcome. Thanks for the continued and high-quality updates.
but since it is already hopelessly busted, maybe it is ok
Oh, right, wool thread isn’t the only one. Well, it would make having an item for a combo even more likely, which is the one balancing factor… But I guess there’s already a good chance that you get a good combo.
what do you think of adding counter to it, say 1 per turn? Would it be enough nerf to make it somewhat “fair”
A nerf like that would be reasonable, it would still be really strong.
I’d suggest giving it a more thematic downside instead, like giving 1 confusion every time it successfully triggers. And if that’s still OP, you can up the confusion gain.
or is it better to leave it to player’s self-imposed limitation to pick or avoid that item?
Well, for me, I guess it’s better if it’s already balanced for my purposes and I don’t need to come up with the limitation. In the long run I end up picking limitations, anyway, but if it’s more balanced, these limitations can have more variation.
The downside of a change like this would be that paradoxical figure would become slightly more complex than it already is.
The issue is that some upgrade limitations are absolute (e.g. imposed by ascension), but some are relative (e.g. cost reduction only works while cost is >0, but if you increase card cost for some reason, upgrade will be available again).
I don’t think that’s what I mean.
For carnival trick and some other cards, the cost reduction upgrade seems to only work while that cost is 2 or more. Yet, when un-upgraded, the max displays as if it could also be upgraded at 1.
Un-upgraded carnival trick reads like you can upgrade the stamina cost to 0. After you upgrade it, suddenly it has minimum stamina cost of 1.
So do you think it is a better fix to always show “max total upgrades” (but that number would in very rare cases grow after modifying the card by other means), or to show “upgrades remaining for this instance of card”
I’m for showing the maximum N that you can currently get in the title of “card name +N” via upgrading that instance of the card. As I understand it, that’s the expected behaviour right now.
That bug was devious. …
I see, so it was the porcelain dove, I’ve been wondering why it was only save files from that run causing this bug. Yeah, I didn’t notice the other bug. Glad you could fix it.
did you manage to win that battle?
Yeah, took me a few tries. I think I won by having all existing enemies be bound, only killing sanguine orphans.
What are your opinions on the final quests overall and their individual level of difficulty?
It’s a great addition. I think turmoil, failure, oppression, and blaze are the more generally difficult ones.
The conduct I arrived at is to pick one or two at the start of the run, so that I can build around it if needed. Currently I’m usually doing failure or turmoil, whichever shows up first. Haven’t tried blaze or oppression yet, these seem more hit or miss when using all ascensions.
… giving it a more thematic downside instead, like giving 1 confusion every time it successfully triggers.
I also would like more interesting downside for Paradoxical Figure, but adding confusion, while indeed thematic, still feels not quite right. I will try to think of more ideas.
Un-upgraded carnival trick reads like you can upgrade the stamina cost to 0. After you upgrade it, suddenly it has minimum stamina cost of 1.
Yes, this is the problem I described / fixed. It worked like this: normally “max upgrades” is a fixed number either intrinsic to the card or from ascension. However, cost reduction upgrade tried to estimate the maximum number of upgrades by looking at the current card cost, so in fact it displayed “upgrades remaining” instead of “maximum”.
Now, the UI will display something like “upgrades: (2 left)” instead of “upgrades: (max 2)”, and both the absolute maximums and cost upgrades will (I hope) be correctly taken into account during calculation.
I think turmoil, failure, oppression, and blaze are the more generally difficult ones.
I usually play with larger deck, so ‘blaze’ is not so punishing for my style (BTW, I hope to some day pick it while having Pendant of Amnesia, thus vindicating that otherwise rarely useful item).
I agree that ‘hailstorm’ is often the easiest, except for very “flimsy” builds. I am thinking of buffing hailstorm to Shoot 3.
I often pick turmoil/failure to add “spice” to my final battle when I feel that my deck is truly broken the barrier and the fight would be boring otherwise.
Yes, this is the problem I described / fixed.
I see, so I guess it shows either the intrinsic max or the circumstantial remaining upgrades plus the current amount of upgrades.
And “the issue” I’m talking about is that, in the case of these un-upgraded (and otherwise unchanged) cards, it shows the intrinsic max even though the circumstantial max is lower.
Showing the remaining upgrades left is a fine alternative way of displaying it. To me that sounds kinda tangential to “a fix”, but I guess rewriting that functionality included a fix.
Maybe this is pedantic, but I just want to make sure I’m not causing a misunderstanding.
‘blaze’ is not so punishing for my style
Yeah, I should add that I mostly make small decks, and I’m playing mage more often than not.
Blaze can also be easy with a small deck, it just needs to be busted enough. But runs where you don’t become that busted are interesting, so I wouldn’t want to commit to blaze when starting a run. So maybe blaze isn’t actually that generally difficult.
I had a run with Pendant of Amnesia, it also was useful for the Pea Pod I found later. It did blaze with it mostly to test it, it does trivialize the quest.
I am thinking of buffing hailstorm to Shoot 3.
I think withering is similarly easy, so buffing hailstorm is probably fine.
this stage freezes if you kill a whirlpool
{"version":"v0.37.0","seed":[952000488,-1448959371,1006552651,-1445963242],"heroType":"mage","hero":{"maximum":{"hp":33,"mp":39,"stamina":10,"will":12},"current":{"hp":33,"mp":39,"stamina":9,"will":9,"gold":141},"status":{"intellect":3,"vitality":2,"sorcery":1,"afraid":8,"fatigue":9},"immunity":{},"items":["wizardStaff","crookedDice","travelGuide","broadhead","stolenHeart","harpoon","piggyBank","wellWornMedal","cornucopia","tomeOfNovelties","amuletOfMadness","bloodyCoin","glacialArmor","worthlessHeirloom","backpack","bookmarkedTome","cauldron","pithosDwelling"],"deck":[{"name":"magicMissile","cost":{"mp":1},"upgraded":3,"effects":[["shoot",5,{}]],"history":[[0,0,1,"acquire",["start"]],[11,0,1,"add Shoot",[]],[11,0,1,"upgrade",["for gold"]],[11,0,1,"add Shoot",[]],[11,0,1,"upgrade",["for gold"]],[12,0,1,"add Shoot",[]],[12,0,1,"upgrade",["for gold"]]]},{"name":"magicMissile","cost":{"mp":1},"upgraded":3,"effects":[["shoot",5,{}]],"history":[[0,0,1,"acquire",["start"]],[11,0,1,"add Shoot",[]],[11,0,1,"upgrade",["for gold"]],[11,0,1,"add Shoot",[]],[11,0,1,"upgrade",["for gold"]],[12,0,1,"add Shoot",[]],[12,0,1,"upgrade",["for gold"]]]},{"name":"magicMissile","cost":{"mp":1},"upgraded":3,"effects":[["shoot",5,{}]],"history":[[0,0,1,"acquire",["start"]],[11,0,1,"add Shoot",[]],[11,0,1,"upgrade",["for gold"]],[11,0,1,"add Shoot",[]],[11,0,1,"upgrade",["for gold"]],[12,0,1,"add Shoot",[]],[12,0,1,"upgrade",["for gold"]]]},{"name":"gatherMagic","cost":{"mp":1},"stashed":true,"effects":[["mana",["Linear","",["CardsPlayedCount",""],1,0],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"ivoryTower","cost":{"mp":2},"effects":[["defendHero",["HandCount","",2,null,0],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"ivoryTower","cost":{"mp":2},"effects":[["defendHero",["HandCount","",2,null,0],{}]],"history":[[0,0,1,"acquire",["start"]]]},{"name":"honey","cost":{"hp":3,"mp":2},"effects":[["vitalityHero",2,{}],["sorcery",1,{}],["exhaust",1,{}]],"history":[[3,11,1,"acquire",["quest"]]]},{"name":"prestidigitation","cost":{"mp":3,"hp":1},"upgraded":3,"effects":[["applyStatusAll",4,{"status":"confused"}]],"history":[[7,7,1,"acquire",["quest"]],[7,7,1,"modify (All monsters)",["quest"]],[7,7,1,"upgrade",["quest"]],[7,7,1,"modify (All monsters)",["quest"]],[7,7,1,"upgrade",["quest"]],[9,5,1,"cost to HP",["[vermilionInk"]],[9,5,1,"cost to MP",["[lapisInk"]],[12,0,1,"modify (All monsters)",[]],[12,0,1,"upgrade",["for gold"]]]},{"name":"accelerate","cost":{},"upgraded":2,"effects":[["initiative",1,{}],["weight",-1,{}],["increaseEffect",-1,{"effect":"weight"}]],"discarded":[["increaseEffect",-1,{"effect":"weight"}]],"history":[[14,9,1,"acquire",["quest"]],[14,9,1,"MP cost −1",["quest"]],[14,9,1,"St cost −1",["quest"]],[14,9,1,"upgrade",["quest"]],[14,9,1,"MP cost −1",["quest"]],[14,9,1,"St cost −1",["quest"]],[14,9,1,"upgrade",["quest"]]]},{"name":"oakwine","cost":{},"effects":[["maxHp",3,{}],["poisonHero",3,{}],["confuseHero",2,{}],["singleUse",null,{}]],"history":[[14,9,1,"acquire",["reward"]]]}],"maxStashedCards":5,"cardRemoveCost":6,"cardUpgradeCost":24},"stage":15,"ascensions":["removeCost","upgradeCost","rerollCost","itemChoices","cardChoices","maxStashedCards","initialDamage","minLevelDecrease","questDifficulty","addSmallMonsters","cardCostAffinity","cardOtherAffinity","moreNegativeEncounters","maxCardUpgrades","fatiguePerTurn","fatigueNoPersists","enemyHpCoeff"],"rewards":{"rerollCosts":{"cards":2,"items":6,"nextQuest":9},"amounts":{"gold":28,"cards":2,"items":2,"chances":{"rare":0.65,"upgraded":0.6200000000000001},"taggedCards":{"potion":2},"taggedItems":{}}},"reserved":{},"encounters":[1,22,15,36,55,29,57,54,64,68,79,100,133,127,141],"quests":[{"stage":2,"quest":"Use every chance","completed":true},{"stage":3,"quest":"Help with beekeeping","completed":true},{"stage":4,"quest":"Borrow a book","completed":true},{"stage":5,"quest":"Take something from mortuary freezer","completed":true},{"stage":6,"quest":"Make investment","completed":true},{"stage":7,"quest":"Assist the magician","completed":true},{"stage":8,"quest":"Publish your own biography","completed":true},{"stage":9,"quest":"Buy some ink","completed":true},{"stage":11,"quest":"Take a vow of poverty","completed":true},{"stage":12,"quest":"Repack your belongings","completed":true},{"stage":14,"quest":"Make things go fast","completed":true}],"statistics":{"cardsDiscarded":[56,34,12,0,7],"cardsExhausted":[29,6,2,0,1],"cardsInHandCounted":[671,218,25,17,14],"cardsPlayed":[243,39,8,0,1],"damageToHero":[72,20,12,0,6],"damageToMonsters":[627,105,30,19,19],"effectsPlayed":[1030,188,25,20,1],"monstersFled":[13,5,4,0,1],"monstersKilled":[67,17,2,0,1],"monstersAttacked":[167,24,6,0,1],"timeSpentInRewards":[795,97,0,0,1],"timeSpentInStage":[1349,232,55,0,1],"hpGained":[207,36,7,7,4],"hpLost":[138,25,12,12,10],"mpGained":[128,20,5,5,5],"mpLost":[2,1,1,1,1],"stGained":[11,4,3,3,3],"stLost":[4,4,2,2,2],"wpGained":[7,1,1,1,1],"wpLost":[3,3,3,3,3],"goldGained":[358,54,31,31,28],"goldLost":[12,12,12,12,12],"heroAfraid":[128,30,2,2,2],"monsterAfraid":[14,10,2,2,2],"heroClairvoyance":[1,1,1,1,1],"heroConfused":[16,14,2,2,2],"monsterConfused":[126,44,18,18,4],"heroDefence":[627,225,24,14,14],"monsterDefence":[145,64,20,20,8],"heroEnsnared":[3,3,2,2,2],"monsterEnsnared":[2,2,1,1,1],"monsterEvasion":[24,18,4,4,3],"heroFatigue":[830,144,17,14,14],"heroIntellect":[30,3,3,3,3],"heroPoisoned":[3,3,3,3,3],"heroProtected":[2,2,2,2,2],"monsterProtected":[30,15,6,6,1],"heroSorcery":[9,1,1,1,1],"monsterSpikes":[11,6,6,6,1],"heroVitality":[18,2,2,2,2]},"encounter":[141,"livingWhirlpool",["piranha","livingWhirlpool","livingWhirlpool","merfolkTideBringer"],[]],"ts":"2026-06-11T18:31:28.758Z"}
Oil Can preserves non-clockwork cards
I think ‘Watch a rainbow’ doesn’t count turns with no cards played, while ‘Publish your own biography’ does.
filtering items for triggers is a bit inconsistent. For example filtering “on card played” only shows Matryoshka.
If you indirectly play a Second Chance in your hand, it discards all but one card
this stage freezes if you kill a whirlpool
Already fixed that. Until next version, avoid killing Living Whirlpool with targeted attack (the bug is that animation could not handle attaching an detaching cards at the same time).
Oil Can preserves non-clockwork cards
Fixed
‘Watch a rainbow’ doesn’t count turns with no cards played, while ‘Publish your own biography’ does.
I have unified those two as well as “Devise workout plan” to require at least 1 card to be played, since all these quests are currently very good and making them a bit harder is preferable.
filtering “on card played” only shows Matryoshka.
For now, you can use trigger.cardPlayed=o as a search string. Equal sign means ‘search specified internal field of the game entity’, ‘o’ letter is a substring of ‘object’, you can also search ‘u’ for ‘undefined’ if you want the reverse condition, etc.
Of course, this is all undiscoverable from UI, so I will probably add ‘trigger titles’ into a search pool anyway.
If you indirectly play a Second Chance in your hand, it discards all but one card
Fixed, same problem also affected Brainstorm and Clear Mind
feint considers maximal critical reduction the unlucky outcome Conserve reads BAD TAG: “temporary”
Fixed
dragon hoard has no mental immunities
Added. BTW, what do you think of gems / Growing Druse? It feels a bit too strong to me, but maybe I was just lucky to quickly find the combo pieces every time I acquired gems.
turmoil visual bug with persistent cards happens again (or still?)
Oops. I did fix that bug, except the case when persistent card is leftmost in hand. Hopefully more thorough fix now.
Will make new release soon, finishing up some touches.
what do you think of gems / Growing Druse? It feels a bit too strong to me, but maybe I was just lucky to quickly find the combo pieces every time I acquired gems.
Well, I’m taking a bit of a break from gaming right now, so I’ve only played three runs in this version for playtesting. My experience was that the quest is a good way to get a useful gem in your deck, and if you’re minimizing your deck, you may want to intentionally fail the quest so that growing druse doesn’t clutter your hand. Idk if the gems are too strong, but they would still be good if they were a bit weaker.
Will make new release soon, finishing up some touches.
Nice, I’m looking forward to it.
cleanse affects positive good statuses
freeze when indirectly playing a precious card (using curiosity and vestigial bone).
{"version":"v0.39.0","seed":[227997157,-1699754468,-873893218,303355079],"heroType":"mage","hero":{"maximum":{"hp":15,"mp":41,"stamina":2,"will":5},"current":{"hp":15,"mp":41,"stamina":2,"will":4,"gold":561},"status":{"intellect":16,"strength":-1,"toughness":-1,"vitality":4,"sorcery":13,"wisdom":11,"piety":51,"energy":18},"immunity":{"luck":true},"items":["sling","spearTrap","crookedDice","notebook","reliquary","deformedCoin","hammock","peeledFace","tuningFork","sunShield","portableBookcase","tomeOfNovelties","monocle","iceCream","bookmarkedTome","bountyRats","anvil","moonBlade","elephantFigurine","wizardStaff","goldenShovel","polishingWheel","vestigialBone","aceOfHearts","broadhead","masterKey"],"deck":[{"name":"magicMissile","cost":{"mp":1},"effects":[["intellect",1,{}],["sorcery",1,{}],["luck",3,{}],["criticalHero",3,{}],["initiative",2,{}],["energy",2,{}],["precious",20,{}],["wisdom",1,{}],["piety",5,{}],["shoot",4,{}]],"history":[[0,0,1,"acquire",["start"]],[18,0,1,"shoot ×2",["[broadhead"]],[18,1,1,"add Piety",["[diamond"]],[18,1,1,"add Wisdom",["[diamond"]],[18,1,1,"add Precious",["[diamond"]],[18,1,1,"add Energy",["[diamond"]],[18,1,1,"add Initiative",["[diamond"]],[18,1,1,"add card",["[diamond"]],[18,1,1,"add Luck",["[diamond"]],[18,1,1,"add Sorcery",["[diamond"]],[18,1,1,"add Intellect",["[diamond"]],[18,1,2,"precious",["[magicMissile"]],[18,3,4,"precious",["[magicMissile"]],[18,4,3,"precious",["[magicMissile"]],[18,5,1,"precious",["[magicMissile"]]]},{"name":"magicMissile","cost":{"mp":1},"upgraded":1,"effects":[["shoot",5,{}]],"history":[[0,0,1,"acquire",["start"]],[18,0,1,"shoot ×2",["[broadhead"]],[18,1,1,"add Shoot",["[polishingWheel"]],[18,1,1,"upgrade",["[polishingWheel"]]]},{"name":"magicMissile","cost":{"mp":1},"upgraded":1,"effects":[["shoot",5,{}]],"history":[[0,0,1,"acquire",["start"]],[18,0,1,"shoot ×2",["[broadhead"]],[18,1,1,"add Shoot",["[polishingWheel"]],[18,1,1,"upgrade",["[polishingWheel"]]]},{"name":"ivoryTower","cost":{"mp":2},"effects":[["defendHero",["HandCount","",2,null,0],{}],["persist",3,{}]],"history":[[0,0,1,"acquire",["start"]],[18,0,1,"add Persists",["[elephantFigurine"]]]},{"name":"ivoryTower","cost":{"mp":1},"upgraded":1,"effects":[["defendHero",["HandCount","",2,null,0],{}],["persist",4,{}]],"history":[[0,0,1,"acquire",["start"]],[18,0,1,"add Persists",["[elephantFigurine"]],[18,1,1,"MP cost −1",["[polishingWheel"]],[18,1,1,"upgrade",["[polishingWheel"]]]},{"name":"carnivalTrick","cost":{"mp":2},"upgraded":2,"effects":[["confuse",["RandomInRange","",1,4,{}],{}]],"history":[[5,13,1,"acquire",["quest"]],[5,0,1,"St cost −1",[]],[5,0,1,"upgrade",["for gold"]],[5,0,1,"St cost −1",[]],[5,0,1,"upgrade",["for gold"]],[6,1,1,"cost to MP",["[lapisInk"]]]},{"name":"curiosity","cost":{"mp":2},"effects":[["fatigue",-1,{}],["discard",1,{}],["drawCards",3,{}],["persist",3,{}]],"history":[[5,0,1,"acquire",["reward"]],[18,1,1,"add Fatigue",["[runeOfHeartiness"]]]},{"name":"honey","cost":{"hp":3,"mp":2},"effects":[["vitalityHero",2,{}],["sorcery",1,{}],["exhaust",1,{}]],"history":[[9,7,1,"acquire",["quest"]]]},{"name":"sonicWave","cost":{"stamina":2},"stashed":true,"effects":[["defend",-4,{}],["shoot",1,{}]],"history":[[10,0,1,"acquire",["reward"]]]},{"name":"learn","cost":{"mp":1,"will":2},"stashed":true,"effects":[["exhaust",1,{}],["maxMana",2,{}]],"history":[[11,3,1,"acquire",["quest"]]]},{"name":"diamond","cost":{},"effects":[["intellect",1,{}],["sorcery",1,{}],["luck",3,{}],["criticalHero",3,{}],["initiative",2,{}],["energy",2,{}],["precious",10,{}],["wisdom",1,{}],["piety",5,{}],["copyEffectsAbove",null,{}],["exhaust",1,{}]],"history":[[15,4,1,"acquire",["[magicMissile",["[dragonHoard","death"]]],[16,1,1,"precious",["[diamond"]],[17,1,1,"precious",["[diamond"]],[18,1,1,"precious",["[diamond"]]]}],"maxStashedCards":2,"cardRemoveCost":14,"cardUpgradeCost":10},"stage":19,"ascensions":["removeCost","upgradeCost","rerollCost","itemChoices","cardChoices","maxStashedCards","initialDamage","minLevelDecrease","questDifficulty","addSmallMonsters","cardCostAffinity","cardOtherAffinity","moreNegativeEncounters","maxCardUpgrades","fatiguePerTurn","fatigueNoPersists","enemyHpCoeff","payForReserved"],"rewards":{"rerollCosts":{"cards":1,"items":2,"nextQuest":4},"amounts":{"gold":36,"cards":2,"items":3,"chances":{"rare":1,"upgraded":0.78},"taggedCards":{},"taggedItems":{}}},"reserved":{},"encounters":[10,21,35,41,59,30,88,97,86,89,129,135,127,148,161,154,157,164,180],"quests":[{"stage":2,"quest":"Use every chance","completed":true},{"stage":4,"quest":"Help with harvesting","completed":true},{"stage":5,"quest":"Perform slapstick comedy","completed":true},{"stage":6,"quest":"Buy some ink","completed":true},{"stage":7,"quest":"Kill while they sleep","completed":true},{"stage":8,"quest":"Enjoy a bright sunny day","completed":true},{"stage":9,"quest":"Help with beekeeping","completed":true},{"stage":10,"quest":"Refuse gambling","completed":true},{"stage":11,"quest":"Pass entrance exams","completed":true},{"stage":12,"quest":"Take bounty for rats","completed":true},{"stage":13,"quest":"Admire beautiful moonlight","completed":true},{"stage":14,"quest":"Graduate from faculty of Philosophy","completed":true},{"stage":15,"quest":"Learn to smooth out rough surfaces","completed":true},{"stage":16,"quest":"Double or nothing","completed":true},{"stage":17,"quest":"Dance till you drop","completed":true},{"stage":18,"quest":"Practice lockpicking","completed":1}],"statistics":{"cardsDiscarded":[236,26,20,0,7],"cardsExhausted":[142,23,7,0,1],"cardsInHandCounted":[944,109,26,14,14],"cardsPlayed":[627,68,20,0,1],"damageToHero":[25,12,9,0,9],"damageToMonsters":[1160,188,82,30,30],"effectsPlayed":[2800,304,126,17,1],"heroActualHealing":[41,13,7,7,7],"heroHealing":[90,18,8,8,8],"monstersFled":[21,9,3,3,1],"monstersKilled":[74,16,5,2,1],"monstersAttacked":[144,32,6,0,1],"timeSpentInRewards":[2296,716,0,0,1],"timeSpentInStage":[5578,1510,834,0,1],"hpGained":[114,21,8,8,8],"hpLost":[59,16,13,9,9],"mpGained":[686,104,62,18,18],"mpLost":[332,74,34,7,7],"stGained":[73,24,10,3,3],"stLost":[49,24,10,2,2],"wpGained":[8,8,8,8,8],"wpLost":[5,4,2,1,1],"goldGained":[670,242,236,236,204],"goldLost":[32,29,15,3,3],"heroAfraid":[7,4,4,4,4],"monsterAfraid":[2,2,2,2,2],"heroClairvoyance":[2,2,1,1,1],"monsterConcealed":[1,1,1,1,1],"heroConfused":[6,5,3,3,3],"monsterConfused":[140,39,15,4,4],"heroCritical":[235,43,22,10,10],"monsterCritical":[130,130,40,40,5],"heroDefence":[921,113,26,14,14],"monsterDefence":[86,38,16,16,14],"heroEnergy":[57,22,8,2,2],"heroEnsnared":[4,4,2,1,1],"monsterEnsnared":[1,1,1,1,1],"monsterEvasion":[53,28,9,9,5],"heroFatigue":[948,118,20,12,12],"heroGuilty":[3,3,1,1,1],"heroIntellect":[58,16,5,5,3],"heroPiety":[115,55,20,5,5],"heroPoisoned":[16,11,11,11,5],"monsterProtected":[17,11,5,5,1],"heroSorcery":[48,13,5,2,2],"heroSpikes":[1,1,1,1,1],"monsterStunned":[140,100,100,100,20],"monsterVampiric":[2,2,2,2,2],"heroVitality":[20,4,4,2,2],"heroWisdom":[23,11,4,1,1]},"encounter":[180,"icyPrison",["icyPrison","icyPrison"],["gems positive","energy negative"]],"ts":"2026-07-02T21:38:40.126Z"}
curiosity has a visual bug when it persists while being leftmost
And yeah, gems can be too strong. I’d say, each gem could have one less effect, and it’d be enough if Dragon Hoard only added the base form of the gems to your deck.
cleanse affects positive good statuses
Yes, already found and fixed that.
freeze when indirectly playing a precious card (using curiosity and vestigial bone). curiosity has a visual bug when it persists while being leftmost
Ugh. I have messed up commit and published version with a dumb typo. Fixed. I will probably make next release smaller and sooner, since these bugs are quite frequent.
I’d say, each gem could have one less effect, and it’d be enough if Dragon Hoard only added the base form of the gems to your deck.
I will definitely reduce benefits of Dragon Hoard, but maybe not as much. At least will change to 0..1 gems per damage instance.
As for gems themselves, I would like to make them harder to use / have interesting downside rather than less powerful. One idea is to prevent “stacking” of gems by adding “If not gem” condition to the splice effect, but maybe that is still too small downside.