A common topic of discussion is “How do I add more characters?”. Well, here's how:
I don't know where to mention this, so I'll mention it here: you'll need to make a configuration file for your mod's progress settings. This would prevent crashes at the end of episodes in the “Episode complete!” screen. Simply create a text file in [mod folder/data/text] called “progresssettings.txt”, in which you'll only need to type one word (or multiple, stitched together). Either type your mod's name in lowercase, or leave “diceydungeons” in there. The latter variant does not ignore progress in base-game episodes, which is convenient if your mod doesn't exactly remove base-game characters.
The most important file is characters.csv. While _appending it is a valid option, you can remove vanilla characters from the mod by pasting the file into your mod's root folder. Anyway, although the header of this file should explain everything about it by itself, finding the right folders for graphic files can be a bit tricky, so let's break it down.
The “root” folder for graphics that characters.csv refers to is [data/graphics]. Respectively: [characters/yourcoolcharactername/charicon_yourcoolcharactername] is in [data/graphics/characters/yourcoolcharactername]; [cutscenes/yourcoolcharactername/warrior_idle.json] and [cutscenes/yourcoolcharactername/yourcoolcharactername_worried_idle.json] are in [data/graphics/cutscenes/yourcoolcharactername].
But, regarding graphics, we're not quite done. See, there's a couple of graphic-related things not mentioned in characters.csv which you'll need to do. In [data/graphics/overworld], you'll need to add overworld graphics for your character. The questions of “how do i add graphics to this game” and “how do i do animations” are another topic of discussion, which I'll leave for other wiki editors to touch. For the time being, I advice you to look into the main game's respective folder, and see how it's managed in vanilla.
In the meantime, you'll also need to add back animation for your character which is how your character is displayed in battle. It should be put into [data/graphics/characters/yourcoolcharactername], and named “data.json”.
That should conclude the graphical part.
Quick note, you'll need to make the first episode for your character in order to play it. For testing purposes, it really can be just a copy of, say, warrior's first episode. If you haven't already created episodes.csv, grab the file's header from base game and create your file in [_append/data/text] (or just [data/text], if your mod replaces all characters).
Make sure that “ID” and “Character” (the first two fields of this file) correctly reflect your character. If you copied a base-game episode for example, don't replace everything with your character's name (other than “ID” and “Character” fields) yet. If you don't have a custom generator, leave the generator field as “warrior_normal” (or what previously was here), or else you won't be able to play the episode.
One last thing: the “Cutscene” field, which you should clear of its contents (unless you have made a working cutscene in advance). In previous versions, the game would've crashed if you try to play the character for the first time *and* the episode had no intro cutscene, but that was resolved after Reunion came out (or so I think). Speaking of cutscenes…
Let's first talk about “episode intros”. When starting any episode that doesn't have a custom cutscene, you'll get a basic Lady Luck intro, where she says one or two lines before sending you into the dungeon. If you've done all the above steps, the game usually would crash when starting an episode, and this is the reason why. You'll need to add custom strings that would display in aforementioned situation, which are contained in introductions.csv. In base game, you can find the file in [data/text/cutscenes], and for your mod, you'll need to _append it. If you're not feeling creative, just copy introduction lines that normally display for any character, and replace the “Class” field with your character's name.
Now, let's talk about episode outros. This is a weird part, because, if you have added a progresssettings.txt file for your mod, the game will need a file called “episodecomplete_mummy.txt”. But don't fret yet - it's not required for Mummy from Halloween Special to be the wheel-spinning guy. All you need is to have a file in [data/text/cutscenes] to be named episodecomplete_mummy.txt, which can secretly be a Lady Luck cutscene. For convenience, I advice you to copy this and paste it into your episodecomplete_mummy file. Also, you'll need to add episode outro lines in introductions.csv we've already created. You can copy Lady Luck's lines from base game, or write your own ones. Just make sure to replace the contents of “Class” field with “MummyEpisodeWin”.
This is the part that I almost forgot to mention. Sound events-related files are weird, since _merging them seems to do the same thing as _appending. But before tinkering with them, you'll need to actually add the sounds into your mod. Typically, you should put them in [mod's main folder/soundstuff/sfx/chat/yourcoolcharactername], and divide them by several other folders: “action”, “determined”, “normal”, “personality”, “thinking”, “worried”. These are basically the character's moods. But if you're doing something like, say, a mod that adds enemies as playable characters, you won't need to copy-paste the voice files for your mod, but more on that below.
When you are done, you'll need to make a file from which the game can “locate” your sound files and use them. Go to [_merge/soundstuff] (this won't actually replace anything from base game) and create a file named new_soundevents.json. Now, I'll spare myself the effort of explaining the syntax of .json files, because this is the part where i just copy existing files and tweak character names. For purposes of “just” making a character, you can copy the needed contens of the file here and edit it in a way that suits your mod. If the place where your desired sound files differs from what I wrote there, you can freely edit the “folder” field, just make sure that the file path is correct and does not extend beyond “soundstuff” folder.
If there's anything that I forgot to mention or clarify, feel free to ask Nicksus 777 (ooh it's me!) in Dicecord, and maybe I'll extend this page. But I hope that the information provided is sufficient enough to make something with it.