Inscryption Save Editing for Costum Decks

Don’t know how to make your custom decks in Inscryption? Don’t worry, edit the save file of the inscryption game and prepare the custom decks you want by reviewing our guide.

This is a quick guide to editing the cards in your deck in order to make the early part of the game easier. You can also use it to customize your deck for fun. I started writing this with v1.08 of Inscryption running on a Win10 computer and have been periodically updating through Kaycee’s Mod. There are also sections for editing sigils, stats, items and totems, my notes on Kaycee mod, “Weird and Worrying” stuff I found in the save file, and my thoughts on game strategy.

Inscryption Save Editing for Costum Decks

If you are just looking for a way to avoid losing a key battle, you might try starting with my “How to escape any battle without losing” guide. There are good hints on winning with sigils in Kaycee’s mod and the egg deck in my other guides of those names. Finally if you need a break from it all (this is just a game and supposed to be fun, right?) check out my “You know you’re playing Inscryption too much when…” guide.

Disclaimer: I recommend doing this only at the very beginning of the game (right after the “Another Challenger, it has been ages…” battle in the cabin), because once your cards acquire added sigils and buffs then changing the order of the cards in your deck list could cause unusual problems. Editing other parts of the save file could cause something weird to happen or possibly crash the game. If you’ve already won the game, editing the game might reset your progress.

Editing a save game file in any way could cause your game to crash, just because it worked for me on the pre-Kaycee Mod versions of Inscryption doesn’t mean that it will work for everybody on all versions. Future updates to the game could cause serious problems. Finally, make a backup copy of the save file before you do anything! Seriously.

Even if you don’t do any editing, it’s a good idea to make a backup copy of the save game file before major events in the game. This way you can restore the game to an earlier point, such as before a boss battle or after a new map.

CAVEAT:

I was a beta tester on Kaycee’s mod (100+ hours), I wrote most of this guide before starting the beta. There were a few changes to the save file format as a result of the mod, the main one being that two separate game states are simultaneously in the file (your status in Kaycee’s mod and in the base game). I haven’t gone through the whole guide to double-check everything that worked before the mod will work afterwards, but I found that the basic principles were the same. I’ve notated differences where I found them.

If you’ve won the game already, then you can go back to the beginning at any time. Otherwise you can just lose card battles until you get sent to the opening card battle/demonstration. Finish that battle, then the game will save. This will give you a clean file to edit. If you’re not sure you want to do this, then make a backup copy of your current save file before you go back to the start. This way you can always replace the current save with one where you had more progress. It’s probably a good idea to keep a copy of the save file before you do any card editing. If something breaks in a very subtle way, you’ll have a means of going back to before you did any editing. Whatever you do, make a backup of the save file before you edit it.

Finding Inscryption Save Game File

Go to the directory where your Inscription save files area. If you installed to your C-drive it’s probably:

C:\Program Files (x86)\Steam\steamapps\common\Inscryption

If you have played previously, “SaveFile.gwsave” and “SaveFile-Backup.gwsave” will be here. If there are no files of this name in the directory, then when you continue your game it will make a “SaveFile.gwsave” file.

Editing Save File to Add Cards to Your Deck

First make a backup of the “SaveFile.gwsave” file.

Open it with your favorite text editor. In Windows right-click it and select “open with…” to use a text editor like Notepad. You can check the box so that Windows always uses Notepad. (if you do alot of experimenting this will make things much easier)

Once the save file is opened, search for “playerDeck” (with most windows programs you can open the find window with Ctrl+F). The first occurrence should appear a few lines under “currentRun”, be sure that you are going to edit the current deck.

Custom decks and cards by editing save files
Many of the information records in the save file, such as the “playerDeck” record, are organized with four tags in this order:

“$id” — this is an accession number for the record

“$type” — this gives what type of record it is. It is usually just a number, but when a particular type appears in the savefile for the first time, there is additional text generated by the program when it makes the savefile.

“$rlength” — this is the number of items in the $rcontent field right below it. If this number is mis-matched to the actual number of items, then your items will either be truncated down to the $rlength number or the game will crash. In our case this will be the number of cards in our deck.

“$rcontent”” — this is usually a list in square brackets of either numbers or names in quotes. In our case these will be card names.

Sometimes the records are nested but usually somewhere there will be this structure.

After the “$rcontent” tag you should recognize the names of various cards below it, like “Wolf”, “Stoat_Talking”, etc. Add a comma at the end of the last item, and for fun try adding these cards and the end of the list (but you can add whichever you feel like, see the card list below for inspiration):

  • “Ouroboros”,
  • “Geck”,
  • “FieldMouse”

I’d encourage you to experiment, but these three are a good start to make the early parts of the game easier. If you want my reasoning it’s in the next section.

IMPORTANT:

Go up to the line that starts with “$rlength”: and has a number at the end. This is the number of cards in your deck. After you are done adding (or removing) cards, make sure this number is the number of cards in your deck.

Finally save the file. If you set the “.gwsave” file extension to always open with Notepad, then you can just save and exit. Otherwise with Notepad you need to “Save As…” and then change the file type pull-down to “All Files” and be sure you type out the full filename with the extension: “SaveFile.gwsave”

Once you click “Continue your journey” in the main menu, it will load your deck.

Why Add These Three Cards to Boost Your Deck?

If you want to start with a boosted deck, this is a good start. Every chance you get, you should try to play the Ouroboros and then sacrifice it to return it to your hand, even if it means prolonging a game that you are obviously going to win. The Geck and Field Mouse make a good combination when you reach the sacrifice stones so that you can burn the Field Mouse’s sigil onto the Geck. You now have a zero cost creature that makes a copy of itself every time it hits the board. So every space on the board will have, at the very least, eternally renewing roadblocks that can do a total of 4 damage a turn. For added fun you can pump the Geck’s attack value each time you reach a campfire.

** Enjoy the Field Mouse sigil while you can, there is talk in the Kaycee beta mod about nerfing it some way**

Final Thoughts

Good luck and enjoy! I hope this helps you get through the first parts of the game. There are more sections (spoilers!) to this guide including a card list (this gives the correct names for the cards), some fun card combos to try, and a set of pro tips. There is also a section just for the people who finished the game.

If you haven’t finished the game yet, pay no attention to the spoiler text below.

  • Everything you know is a lie.

Fun Card Combos

There are unmarked spoilers below and in the next sections, you have been warned 🙂

If you want a hand that is pretty much a first-turn kill combo, try the following. Reduce your deck to just these cards (remember to change the “$rlength” value!) There may be issues in game events triggering if you remove the talking cards, or have a deck that is less than 3 cards. Some of these combos require bones to be activated. And there is at least one area where a small deck will never work. These assume that you cast and sac the starting hand squirrel first. Presented “for amusement purposes only”:

Combo #1: “It’s Gritty!**”

  • Cat
  • Goat
  • Urayuli

Combo #2: “Fat and little”

  • Goat
  • Grizzly
  • Opossum

Combo #3: “I didn’t know that card did that!”

  • Cat
  • JerseyDevil (called “Child 13” on the card)*
  • Wolf

Combo #4: “Wait, is that even legal?”

  • Mothman_Stage3

Combo #5: “This card is overpowered!”

  • Cat
  • MantisGod x2

Combo #6: “This card is lovingly broken”

  • Black Goat
  • Ouroboros***
  1. * = Need to time the sacrifices of the JerseyDevil right, it flips between a 0/1 and a 2/1 flyer
  2. ** = You can add the flying sigil to the Urayuli to make Gritty a “Flyer” (groan!)
  3. *** = See earlier section about pumping this card up

Partial Card List

Here is a partial list of cards (spoilers!) for the purpose of experimentation:

  • Adder
  • Alpha
  • Amalgam
  • Amoeba
  • Ant
  • AntQueen
  • BaitBucket
  • Bat
  • Bee
  • Beehive
  • Bloodhound
  • Boulder
  • Bullfrog
  • CagedWolf
  • Cat
  • Cockroach
  • Coyote
  • DefaultTail
  • Elk
  • ElkCub
  • FieldMouse
  • FrozenOpossum
  • Geck
  • Goat
  • GoldNugget
  • Grizzly
  • JerseyDevil
  • Kingfisher
  • Maggots
  • Magpie
  • Mantis
  • MantisGod
  • Mole
  • MoleMan
  • Moose
  • Mothman_Stage1
  • Mule
  • Opossum
  • Otter
  • Ouroboros
  • PackRat
  • PeltGolden
  • PeltHare
  • PeltWolf
  • Porcupine
  • Pronghorn
  • Rabbit
  • Rattler
  • Raven
  • RavenEgg
  • RingWorm
  • Shark
  • Skink
  • SkinkTail
  • Skunk
  • Smoke
  • Smoke_Improved
  • Smoke_NoBones
  • Snapper
  • Snelk
  • Sparrow
  • SquidBell
  • SquidCards
  • SquidMirror
  • Squirrel
  • Stinkbug_Talking
  • Stoat_Talking
  • Stump
  • Tail_Furry
  • Tail_Insect
  • Trap
  • TrapFrog
  • Tree
  • Tree_SnowCovered
  • Urayuli
  • Vulture
  • Warren
  • Wolf
  • WolfCub
  • Wolf_Talking

Editing Sigils and Custom Cards

You can also edit stats and added sigils. There are two approaches. Editing a card that has already been boosted by in-game added sigils or campfire buffs is much easier than trying to customize a card from scratch (the second approach is the next section). This is because the game has already made custom data fields for the card buffs, and all you have to do is change the values to what you want. Editing a save file that has already had some progress can break your game in subtle ways, so always make a backup!

Custom decks and cards by editing save files
Make a note of which card you added a buff or sigil to (in my deck I sacrificed a cat on the stones to add its sigil to the WolfCub). I have not tried editing talking cards, and I’m hesitant to try because it might break the game in subtle ways. Go to the playerDeck / currentRun part of the save file as before and make a note of the cards in your deck.
Custom decks and cards by editing save files
Then scroll down past the Boon Id’s tag (just like it sounds like, see below for editing that) until you get to “cardIdModInfos”. This is where each card in your deck has a record of buffs and added sigils. Keep scrolling and you should see the “$rlength” and “$rcontent” fields which respectively have a record of the number of cards in your hand (5) and a list of each card in order.
Custom decks and cards by editing save files
In the $rcontent fields, you should recognize the card names after the “$k” tag. If you have more than one of a type of a card, it will be listed with a number after its name. The “$v” tag holds several fields, and most cards will have a “$rlength” of zero and empty brackets for the “$rcontent” tags, indicating the card is unmodified. The talking cards are slightly different, so I’m going to skip over them for now.

Custom decks and cards by editing save files
In my deck, the WolfCub has “$rlength” of 1 and a bunch of stuff between the brackets of “$rcontent”. There are five fields of interest (actually all are interesting, but for this guide I’m going to demonstrate these):

  • “attackAdjustment”
  • “healthAdjustment”
  • “abilities”
  • “bloodCostAdjustment”
  • “bonesCostAdjustment”

Custom decks and cards by editing save files
“abilities” deals with added sigils, below. The rest are zero because I just added a sigil to the WolfCub at the sacrifice stone and didn’t buff this card. A normal WolfCub has attack/health/blood cost of 1/1/1, respectively. Pretty boring, right? Lets enter “10” after attackAdjustment to give it a power of 1+10=11. And since we’re on a roll, why not enter “50” after healthAdjustment? Now we have a WolfCub that is strong as a tank. But wait, there’s more! If I had a card that required bones, I could edit the “bonesCostAdjustment” field. The WolfCub requires a blood point to cast, and since I’ve gone this far I’m not sure I want to spend an entire blood point to cast it, so I’m going to enter “-1” for “bloodCostAdjustment”.
Custom decks and cards by editing save files
Custom decks and cards by editing save files
So now I have a way overpowerd WolfCub that keeps my added buffs when it grows up. But you know you just want to keep going, right? Within the “abilities” tag, there is another “$rlength” tag which is 1. In the brackets after “$rcontent” is the number 20, indicating the WolfCub has an added ability sigil that is number 20. This corresponds to the infinite sacrifice ability (take a look at the rulebook and you will see that it is number 20 in the list, abilities are numbered 1-34). For fun, let’s change “$rlength” to 3 and “$rcontent” to 19,20,21 to also give it ability number 19 (flyer) and 21 (repulsive):

Custom decks and cards by editing save files
Custom decks and cards by editing save files
BWUHA-HA-HA-HA-HA!!
But wait, there’s more. Let’s make a WolfCub with just the Flyer and Touch of Death sigils this time, buff it as above, then go to the “nameReplacement” tag. We can replace the word null with whatever we want, as long as we use quotes around the new name. We could call it “Y.T.’s dog” (read Snow Crash), but I think “Ultima Ratio Regum” sounds much more cool (google it if in doubt, also a Snow Crash item):
Custom decks and cards by editing save files

(Cue the Evil Baltan Laugh again)

BWUHA-HA-HA-HA-HA!!

One Final Note: I checked most of the sigils but ability #27 (pack rat) didn’t work the time I tried it. Giving a number > 34 sometimes makes a sigil from a different act of the game.

Editing a Card by Cutting and Pasting Code

This is an easy (but potentially game-breaking) way to edit any card, even if it hasn’t yet had a buff. I’ve tested this less than the first approach, but this method has worked for me. I really recommend making a backup first.

Open a save file as above (this is one I save right after the tutorial) and go to the currentRun / playerDeck / cardIdModInfos section as before. Scroll down until you get to a card that you want to add modifications to (again, I prefer not editing talking cards). You should see some code in this form:

Custom decks and cards by editing save files
We’re going to replace the “$v” record with one that is set up for editing sigils and stats. To do this, delete the area marked in red above and replace it with this code. You need to replace both of the fancy braces in the red box, above, but leave the brace with a comma after it. If you delete the wrong parenthesis or comma, then you could crash the game:

       "$v": {
                            "$id": 22,
                            "$type": 15,
                            "$rlength": 1,
                            "$rcontent": [
                                {
                                    "$id": 27,
                                    "$type": "16|DiskCardGame.CardModificationInfo, Assembly-CSharp",
                                    "singletonId": null,
                                    "nameReplacement": "INSERT NAME HERE",
                                    "attackAdjustment": 0,
                                    "healthAdjustment": 0,
                                    "abilities": {
                                        "$id": 28,
                                        "$type": 7,
                                        "$rlength": 0,
                                        "$rcontent": [
                                            
                                        ]
                                    },
                                    "negateAbilities": {
                                        "$id": 29,
                                        "$type": 7,
                                        "$rlength": 0,
                                        "$rcontent": [
                                        ]
                                    },
                                    "bloodCostAdjustment": 0,
                                    "bonesCostAdjustment": 0,
                                    "energyCostAdjustment": 0,
                                    "nullifyGemsCost": false,
                                    "addGemCost": {
                                        "$id": 30,
                                        "$type": "17|System.Collections.Generic.List`1[[DiskCardGame.GemType, Assembly-CSharp]], mscorlib",
                                        "$rlength": 0,
                                        "$rcontent": [
                                        ]
                                    },
                                    "gemify": false,
                                    "specialAbilities": {
                                        "$id": 31,
                                        "$type": "18|System.Collections.Generic.List`1[[DiskCardGame.SpecialTriggeredAbility, Assembly-CSharp]], mscorlib",
                                        "$rlength": 0,
                                        "$rcontent": [
                                        ]
                                    },
                                    "statIcon": 0,
                                    "fromCardMerge": true,
                                    "fromDuplicateMerge": false,
                                    "fromTotem": false,
                                    "fromLatch": false,
                                    "fromOverclock": false,
                                    "sideDeckMod": false,
                                    "nonCopyable": false,
                                    "transformerBeastCardId": null,
                                    "deathCardInfo": null,
                                    "bountyHunterInfo": null,
                                    "buildACardPortraitInfo": null,
                                    "decalIds": {
                                        "$id": 32,
                                        "$type": 9,
                                        "$rlength": 0,
                                        "$rcontent": [
                                        ]
                                    }
                                  }
                                ]
                               }

Now you can edit things as above. The game code is smart, even if the “$id” accession numbers are pasted with non-consecutive values it seems the game resets them with each save. There are a whole bunch of fields that only come into play with parts 2 and 3 of the game.

Blood cost max seems to be 4, not sure on bones cost max so keep in mind how much blood/bones the unedited card cost in case you want to add to its cost (but why would you?). If you set any final values to negative numbers you might crash the game when the card is drawn. Not sure if you can mix blood, bones, gems, energy casting costs, seems last one in the code above is the real cost the game makes you use? I’d just play it safe and completely delete the existing cost and add back a different cost (but why would you want to?). “negateAbilities” will erase a pre-existing sigil of that type on the card, if you don’t like a pre-existing ability (like Sprinter) then add the Sprinter ability to the “negateAbilities” field as if you were adding a real ability (remember to modify “$rlength”!).

There’s other stuff to be edited that I might add to this guide if there’s enough interest.

Adding a Custom Death Card

To add a custom Death card to your opening deck is tricky but I’ve found it do-able. I have no idea if this will crash the game later on when the death cards start appearing, so definitely make a backup first.

Find the currentRun / playerDeck as before, and add “!DEATHCARD_BASE” as a card name, remembering to change “$rlength” and add commas as appropriate. It is easiest to add it to the end of your deck for reasons that will become clear. Make a note of the name of the last card in your deck immediately before !DEATHCARD_BASE. This is Snapper in my deck, below.

Custom decks and cards by editing save filesCustom decks and cards by editing save files
Then go down to the “cardIdModInfos” record and change the “$rlength” tag to the number of cards now in your deck. Keep scrolling down to the “$rcontent” record (this is what you modified when you learned about changing sigils and stats, above). and go to the end of your deck. Scroll down to the record for the last card in your deck (Snapper). The record will end with “$rcontent”, a pair of square brackets like this “[]” (if there are no mods to this card then the brackets will be empty), a curly end-brace “}” to end the “$v” field, and a second curly end-brace “}” to end the Snapper record.

Custom decks and cards by editing save files
We are going to be inserting code right after this second end-brace (marked below) and before the other end braces associated with the “cardIdModInfos” record. It is very important to insert this code describing your death card in the proper place in your deck (this is why I add it to the end). You want to add a comma right after the second curly end brace, above. The cut and paste this into the marked area (this procedure is very similar to the add-a-mod part of the guide, above).

        {
                        "$k": "!DEATHCARD_BASE",
                        "$v": {
                            "$id": 119,
                            "$type": 15,
                            "$rlength": 1,
                            "$rcontent": [
                                {
                                    "$id": 120,
                                    "$type": 16,
                                    "singletonId": null,
                                    "nameReplacement": "INSERT NAME HERE",
                                    "attackAdjustment": 0,
                                    "healthAdjustment": 0,
                                    "abilities": {
                                        "$id": 121,
                                        "$type": 7,
                                        "$rlength": 0,
                                        "$rcontent": [
                                        ]
                                    },
                                    "negateAbilities": {
                                        "$id": 122,
                                        "$type": 7,
                                        "$rlength": 0,
                                        "$rcontent": [
                                        ]
                                    },
                                    "bloodCostAdjustment": 0,
                                    "bonesCostAdjustment": 0,
                                    "energyCostAdjustment": 0,
                                    "nullifyGemsCost": false,
                                    "addGemCost": {
                                        "$id": 123,
                                        "$type": 17,
                                        "$rlength": 0,
                                        "$rcontent": [
                                        ]
                                    },
                                    "gemify": false,
                                    "specialAbilities": {
                                        "$id": 124,
                                        "$type": 18,
                                        "$rlength": 0,
                                        "$rcontent": [
                                        ]
                                    },
                                    "statIcon": 0,
                                    "fromCardMerge": false,
                                    "fromDuplicateMerge": false,
                                    "fromTotem": false,
                                    "fromLatch": false,
                                    "fromOverclock": false,
                                    "sideDeckMod": false,
                                    "nonCopyable": false,
                                    "transformerBeastCardId": null,
                                    "deathCardInfo": {
                                        "$id": 125,
                                        "$type": "19|DiskCardGame.DeathCardInfo, Assembly-CSharp",
                                        "headType": 1,
                                        "mouthIndex": 1,
                                        "eyesIndex": 1,
                                        "lostEye": false
                                    },
                                    "bountyHunterInfo": null,
                                    "buildACardPortraitInfo": null,
                                    "decalIds": {
                                        "$id": 126,
                                        "$type": 9,
                                        "$rlength": 0,
                                        "$rcontent": [
                                        ]
                                    }
                                },
 
                            ]
                        }
                    },

This gives a zero-ability death card with no sigils, you can modify the appropriate fields as above. If you want to name you card, first change the “nameReplacement” field in the above code to what you want, in quotes. Then search down in the save file for “deathcardName” and change the field from null to the name.

Also within this added code is a description of the death card portrait:

  • “deathCardInfo”: {
  • “$id”: 31,
  • “$type”: “19|DiskCardGame.DeathCardInfo, Assembly-CSharp”,
  • “headType”: 1,
  • “mouthIndex”: 1,
  • “eyesIndex”: 1,
  • “lostEye”: false
  • },

I haven’t tried much editing of these four tags, no idea what the possible values are but I’ve tried low integers.

You know you’ve been playing Inscryption too much when…

#5: You go into a restaurant and order, “Fresh fish, easy choose,”
(This and many more are in my other guide, check it out!)

Unique and Custom Cards

The death cards are represented as “!DEATHCARD_BASE”. This will look for added info in the file such as its cost, stats and sigils. Unless you are experienced at editing save files (see above), you probably want to pass on editing this and I’m not sure how easy it would be to add it to your starting hand. There is also “!GIANTCARD_MOON” which will crash your deck as you can’t play it (but it looks fun to see what happens, you did remember to make a backup, right?). The !STATIC!GLITCH card is just like it sounds, a picture of static until it is drawn. It could be a fun one to add to your hand, but the concept gets tiring fast.

You can also hack your deck for the other parts of the game, or mix and match cards from one part to another. Sometimes it works, but again this is beyond the scope of this guide. If you take cards from a later part of the game and put them into an Act 1 deck, be sure to edit the casting cost as necessary else you won’t be able to cast them.

Editing Boons, Totems, Consumables and Such

Editing Boons:

Go to currentRun / playerDeck as above, and right after the cardIDs in the deck you should see a “boonIDs” tag. If it look like this, then you will need to cut and paste some code:

"boonIds": null,

When Boons are active, then there is a full record like this:

            "boonIds": {
                "$id": 151,
                "$type": "12|System.Collections.Generic.List`1[[DiskCardGame.BoonData+Type, Assembly-CSharp]], mscorlib",
                "$rlength": 3,
                "$rcontent": [
                    7,
                    2,
                    1
                ]
            },

If your save has just “null” after “boonIDs”, then cut and paste everything in the curly braces so that it now looks like the code above.
Set the “$rlength” tag to however many boons you want to have (three in my example above). In the square brackets after “$rcontent” add the numbers of the boons you want. The numbering follows the rulebook numbers, so 1 is Ambidextrous Deal (draw two cards), 2 is Magpie’s Eye, etc. I haven’t tried entering numbers higher than 7.

Totems:

There are three records of note: “totems”, “totemTops”, “totemBottoms”
totemBottoms is just the abilities like Flyer, Bifructated Strike, etc. and follows the numbering in the rule book (see above in adding sigils for more description). totemTops lists the tribe and follows this numbering:

  • 6: insect
  • 5: lizard
  • 4: deer
  • 3: wolf/lupine
  • 2: bird/avian
  • 1: squirrel

To give yourself a complete totem you need to add a record to the “$rcontent” tag. As far as I can tell you can only give yourself one complete totem at a time. Be sure “$rlength” is 1. Then add the following to the “totems” record:

  • “totems”: {
  • “$id”: 45,
  • “$type”: “19|System.Collections.Generic.List`1[[DiskCardGame.TotemDefinition, Assembly-CSharp]], mscorlib”,
  • “$rlength”: 1,
  • “$rcontent”: [
  • {
  • “$id”: 46,
  • “$type”: “20|DiskCardGame.TotemDefinition, Assembly-CSharp”,
  • “tribe”: 1,
  • “ability”: 9
  • }
  • ]
  • },

This gives you a totem of tribe 1 (squirrel) that gives them ability 9 (fecundity, or “makes a copy in your hand once it’s played”). Now you have squirrels that make a copy of themselves every time they are played!

As far as I can tell, any combo of tribe and ability is possible.

Consumable items:

  • There are 11 types of consumables in the original game:
  • “SquirrelBottle”,
  • “Pliers”,
  • “BirdLegFan”,
  • “GoatBottle”,
  • “TerrainBottle”,
  • “PiggyBank”,
  • “Hourglass”,
  • “Scissors”,
  • “SpecialDagger”,
  • “FrozenOpossumBottle”,
  • “GooBottle”

As far as I can tell they need to be spelled out in the “consumables” record after the totems. Add these just like cards (e.g. if you want three Scissors then this is how the record should read:

  • “consumables”: {
  • “$id”: 49,
  • “$type”: 9,
  • “$rlength”: 3,
  • “$rcontent”: [ “Scissors”, “Scissors”, “Scissors”
  • ]
  • },

If you give yourself more than three items at a time, it will probably crash the game.

Getting the items from the oil painting:

The wall oil painting can be edited by looking for this code (it might appear twice, the first instance should be in the current run record)

   "oilPaintingState": {
            "$id": 226,
            "$type": 22,
            "isAscension": true,
            "puzzleSolution": {
                "$id": 227,
                "$type": 8,
                "$rlength": 4,
                "$rcontent": [
                    null,
                    null,
                    null,
                    null
                ]
            },
            "puzzleSolved": false,
            "rewardIndex": 0,
            "rewardTaken": false
        }

(I have the Kaycee mod beta, you probably won’t have the “IsAscension” tag if you aren’t in beta). The puzzleSolution / $rcontent record holds a list of card names, going from left to right across the game board. Type in whichever cards you want or type ‘null’ (without quotes) for an empty space. Can just put a “Squirrel” on one slot to make it easy. Or even just change “puzzleSolved” to true and “rewardTaken” to false. You can adjust the reward index to get different rewards starting with 0 (if this goes too high you might crash the game, I haven’t experimented).

Weird and Worrying Stuff in the Save File (Spoilers!)

(work in progress, if there’s interest I might add more)

Disclaimer: Editing these part of the save file could very well crash your game. Make a backup before you do any editing.

There’s a field for “eyeState” which starts as zero. If you set it to 1 you get the “bloody vision” view. Set it to 2 and you can see the magic invisible paint markings.

Another field is “riggedDraws”. This appears in both the act 1 and 3 sections of the save file. It seems like if there is a list of cards in this record, then you will draw these in your next battle (assuming you have these cards in your deck). For example, right after I picked up the Stunted Wolf card this is how the record looked:

    "riggedDraws": {
            "$id": 249,
            "$type": 9,
            "$rlength": 2,
            "$rcontent": [
                "Wolf_Talking",
                "Stoat_Talking"
            ]
        },


This looks like it means the talking Wolf and Stoat will be drawn, which leads into a game event of the two cards talking to each other.

Maybe you can make sure that you get a particular card with a draw by editing the above code? (but the rigged draw seems only to work for one battle then has to be re-edited) It’s easier to give yourself the Magpie boon in the above section of the guide.

An unstated assumption of the game is that the draw is always random, but there are when Adam Smith’s invisible hand rigs the draw.

“playerLives” and “maxPlayerLives” seem to be just as implied, but the time I edited it I crashed the game. Maybe if you are down a life, you can edit this to restore it? But pushing your maximum above three doesn’t seem to work. I haven’t tried setting the max down to one, but one of the challenges in the Kaycee mod gives you only one candle.

“currency” gives the number of excess teeth you have, and “skullTeeth” is the number free for the taking.

“survivorsDead” is the campfire state. Zero is normal. If all the survivors are dead (equals 1) then later in the game you can warm up a card and get extra dibs without fear of the survivors eating your card.

If you are not aware that the campfire survivors could be killed off, here is how to do it in-game. Later on you have a chance to repeatedly buff a card at the fire, with the risk that each time the survivors might eat it. Use a RingWorm or Adder for the fire and keep buffing until the survivors eat it (BURP!). The rest of the times you go to a campfire there will be no one there.

I am not sure how “difficultyModifier” is implemented, each encounter seems to have a difficulty value of its own.

I’ve edited a save to get three of the special daggers. Entered a battle, let myself take damage to arrange to get to exactly -4 health on the scale. Then used the first dagger (plop!), then the second (plunk!)…then the third (thunk!)….

Where exactly did the third eye come out of??

…and how in the world did I see the second eye hit the scale, let alone the third eye??

There’s a tag near the end of the save file called “ouroborosDeaths”. Enough said…(wink-wink!)

There’s a whole lot of possibilities for map editing, maybe this will be the next guide? BTW I’ve been talking about editing Act 1 in this guide, but there’s plenty that can be done with the later acts.

Custom decks and cards by editing save filesIf you sacrifice a black cat nine times in one battle, supposedly it becomes a giant undead cat (I’ve never tried this). Also if you sacrifice the JerseyDevil card once (called “Child 13” on the card) it becomes a flying 2/1 creature. I was pumping up an Ouroboros and had the Squirrel/Unkillable totem in play. Did repeated cycles of playing an Amalgam (gets unkillable sigil due to totem) and a squirrel (unkillable), casting an Ouroboros and sacking the JerseyDevil for the second blood (Amalgam and squirrel return to my hand). I’d repeat this and cast the Ouroboros (again sacking the JerseyDevil). I didn’t count how many times I sacked it, but at some point the card changed to “Hungry Child” with no stats or casting cost.

Custom decks and cards by editing save filesIf you defeat Leshy several times but don’t have the film, a weird sparking thing appears near the figurine table. It disappears with a glitch-cut effect like you get when you get spammed with grizzlies early in the game. Later on this card appears under the figurine table. When I tried to get close and pick it up, it also disappeared. It looks like Luke at the computer holding a Mox, I guess it is an Energy cost of 3. I’m curious what it is all about.

If it isn’t obvious by now, you can add “Mothman_Stage3” to your deck (a full-grown strange larva). Or try adding the card “Starvation” for fun.

You can also add “Squirrel” to your hand (but why would you want to?) or “Bee” or “Rabbit”.

And “Stoat” is different from “Stoat_Talking”.

Although you can put a “Mule” into your hand, it doesn’t seem like it gets the extra cards, and just is a zero blood, 0/5 roadblock that moves. I had wanted to try the first turn combo of: 1. Play Mule, Sac Mule, play Stoat, 3. Use the cards and squirrels from the Mule to try and get a first turn kill.

Right after the map node info in the savefile and before the “pastRuns” section are three tags with numbers after each: “playerAvatarHead”, “playerAvatarArms”, “playerAvatarBody”. This is the appearance of your small figurine. If you don’t like how it looks, you can change the numbers. I think all values 0 through 7 should work but I haven’t experimented much.

The Long Elk (“Snelk” in the savefile) is an ok card, but better is farming its sigils. The River Snapper (“Snapper”) is an underpowered behemoth, but getting the sigils from the Long Elk at the sacrifice stones improves it alot. Plus. you will then have a “Long Snapper” (groan)!

“bonelordPuzzleActive”: is true when the eyes on the cattle skull on the barrel are lit up. To light them up, pat the nose of the skull a bunch of times (nine? thirteen?). This seems to be how to get Bone Lord trials on the game map, and I think this needs to be done before the map is unrolled.

Kaycee Mod (Beta)

I have been playing this daily since it was released, these are my notes as things occur to me. it seems like the savefile is the same general structure as the original game except there is an ‘ “ascensionActive”: true ‘ tag at the very end. The map is a series of linked nodes as before, and much of the records and tags such as currentRun / playerDeck look similar. However I highly recommend that you keep your saves from the original game separate from ones after you download the mod to avoid having things crash.

Your “normal” deck and progress is saved in the “currentRun” / “playerDeck” etc records at the beginning of the savefile as above, but there is a whole new section called “ascensionData” after all this. The big records are structured similarly, with the same large records like “dialogueData” and “progressionData” with their various sub-records.

The sigils and other numbered abilities have been changed around, the rulebook gives a different numbering for these (incorporating new abilities and others like the alarm clock sigil from Act 3. Adding a custom sigil might require a different number than it did for the original game.

A new consumable in v0.22 is “BleachPot” This is the magic brush that removes sigils.

For extra fun use this item against the moon. Continue scrolling and you will eventually get to the “currentRun” / “playerDeck” records within the “ascensionData” big record.

One interesting record that doesn’t seem to be in the original game savefiles is this, near the end of the file:

     "currentStarterDeck": "Vanilla",
        "conqueredStarterDecks": {
            "$id": 225,
            "$type": 8,
            "$rlength": 1,
            "$rcontent": [
                "Vanilla"
            ]
        },

The most basic starter deck is called “Vanilla”. As you win challenges you unlock other decks like “Bones” and “Ants” and “MantisGod”

Big card spoiler:

You might unlock a card with the name and attributes of an ordinary card, except that the name on the card has a ‘?’ at the end (see below from a Boss rare box):

Custom decks and cards by editing save files

This seems to be a doppleganger (it shows up in your deck under “$rcontent” as “Ijiraq”). It takes the attributes of one of the other cards in your deck when you look at the deck or draw it (health, sigils, etc). So you’re never sure when you play a card that you’re actually playing the Ijiraq. Be ready for some fun when you do…

BTW apparently the Ijirait (plural) are a real Inuit legend (at least according to Wikipedia): “Their eyes will always stay red, no matter what they shapeshift into. Their real form is just like a human, but their eyes and mouth are sideways.” (this explains the card art looking the way it does and the hint when you see the card in the defeated boss’s box)

If you have two Ijirait in your deck and draw one, it might take the form of the other Ijiraq! Then you have a 4/1 repulsive card with no casting cost.

The map is a series of linked nodes as in the normal game, but the map order is different. This record appears after the map data and seems to control it:

    "regionTier": 2,
            "regionOrder": {
                "$id": 397,
                "$type": 16,
                "$plength": 3,
                "$pcontent": [
                    2,
                    0,
                    1
                ]
            },

The normal map order is 0,1,2 which gives Woodlands, Wetlands, Snow Line. My order above gave me Snow Line, Woodlands, Wetlands for my current mod game. Earlier in the savefile where the normal (non-mod) data is saved also has this record, but the “$”pcontent” order is the usual 0,1,2.

After this record are the tags “currentOuroborosDeaths” (see earlier section on pumping this card) and “numRunsSinceReachedFirstBoss”.

Spoiler for the cuckoo card:

At what seems like random intervals, instead of a broken egg appearing onto the opponent’s side of the board, the egg doesn’t break and becomes a fully viable Raven Egg. This happened to me when I played it opposite an open space when Leshy has an avian/stinky totem. I assume there’s a correlation here, that the cuckoo was “nerfed” by the totem and couldn’t break the egg as usual, and as a result the Raven Egg appeared on the board instead of the usual broken egg.

Leave a Reply

Your email address will not be published. Required fields are marked *