Rabi-Ribi

Rabi-Ribi

77 ratings
Is The Order a Mod?
By Zetta
In its current state, Rabi Ribi's modding process is quite complicated and annoying at first glance, which turns away a lot of people who otherwise might've created something. As such, here's a gateway to start making mods without much hassle, including pre-made packs of all moddable files available.
2
2
   
Award
Favorite
Favorited
Unfavorite
Introduction


Welcome to the very first part of Rabi Network's newest program, "Is The Order a Mod?"

What's this, you might ask? Why, it's simple!

You see, the modding process is a tad confusing in this game! As a result, less people go through the hassle of making mods, which means less mods, which means less fun.

That's bad.

In fact, I've no doubt that quite a bit of players gave up on making simple mods because it sounds annoying to go through the entire "downgrade game version, unpack, then try to figure out how things work from scratch" process.

With that in mind, I decided to make things easier through the use of pre-made mod setups ready for copying, and explanations whose understanding doesn't rely on you being a Computer Science graduate with thousands of hours of experience on many coding languages and mastery of an additional obscure file editing program!

That's what this guide is for, more or less.

Still following? Then let's get this started!


Starting Out: Rabi-Ribi Mods
Now, since we're starting from the beginning like any sane bunnies, I'll give a brief overview of what's usually in a Rabi-Ribi mod folder:

  1. The files the game is supposed to load, placed in just the right way for it to recognize it.

  2. A preview image which the game's upload tool will use as the thumbnail in the Workshop. This one can't be changed without updating the mod, which can only be done through the game, also.

  3. An info.txt file written in a specific way, listing the mod's name, a shortened summary, the author's name, and the type of mod. The failure to read this file properly will keep the mod from being uploaded.

  4. In the case of some custom maps, extra cutscene files can be added, unsurprisingly. Not having them won't do anything bad, just default any event calls to the vanilla files. We'll talk about this one later.

How to write the info.txt file isn't exactly intuitive, so I'll go into a bit more detail:

  • Line 1: Just write the mod's title here, this one's easy.

  • Line 2: The initial summary for the mod goes here, in this single line, and it'll be uploaded as the Workshop description when you create the mod online. You'll be able to change the description in the Workshop without limitations, and updates won't overwrite the Workshop version even if info.txt is still present in the folder. If the line is too long, the game might read it as two lines, messing up the process and preventing the mod's upload, so just make it shorter and edit it later in the Workshop itself if that happens.

  • Line 3: Your name goes here, though I'm pretty sure it only makes a difference for custom maps, where the shortened summary above and the author's name will be displayed in-game. Either way, this line must exist.

  • Line 4: You must type a single character to define the mod's type, that being A (Characters), B (Items & Effects), C (System), W (Sound Effects), 0 (Custom Standard Map), or 1 (Custom Bun Race Map). A, B, C and W seem to accept the same files, though I suggest following the norm and not putting sound effects in a type A mod if you can help it; 0 and 1, in the meantime, accept almost nothing the others do, due to being extra stages rather than simple mods.

If you did everything correctly, you just have to select the folder on the in-game mod uploading tool, and that's it! You made a mod for everyone!

Now all that's left is immediately changing the online description before anyone notices how ugly it looks at first glance with a single paragraph.

Personally, I also suggest listing the files that your mod uses in the description, just so people can actually check whether it'll conflict with another mod they have installed.

Here's something important, though: When installing two mods which affect the same files, rather than causing crazy crashes, what'll happen is that the latest mod you installed will have priority. So if Mod 1 affects File A and File B, while Mod 2 affects File B and File C, and you install them in that order, your game will read File A from Mod 1, and File B / File C from Mod 2.

You can actually use that behavior to your advantage when developing patches. Whether it's for compatibility between conflicting mods or an edit over someone else's mod, all you have to do is upload the files which need to be modified (and list the required mods on Steam, of course), and the game itself will do the rest as long as you installed everything in the right order, always choosing the patch's files whenever a conflict comes up.

Got that memorized? We're continuing, then!


1. A-Type Mods
As mentioned before, the A typing means the mod is for Characters. What does that entail? In plain terms, character portraits and sprites.

I also mentioned that most mod types accept all files either way, but this is a good way to organize the guide, so bear with it and let's get started!



1.1 — Character Portraits


Pre-made pack here.

Huh? It feels like I'm skipping steps here, you say? Not at all! The very first thing you need to know when making mods is what you're actually modding.

Now, the process itself is simple: Edit the images, assemble a separate mod folder, upload it, and done. But you're not here for half-baked explanations, so here are more details!

If you've been paying attention, you'll remember that I mentioned how files need to be set up in a certain way for the game to recognize them within the mod folder. Well, that pre-made pack shows how the character portraits must be organized for the game to find them.

In this guide, the idea is for you to subscribe to these packs and obtain the extracted files in the form of mods. That even allows for real-time modding, as you can edit these files inside the mod folder and start up/restart the game to see your changes.

That's right, feel free to use the packs as mod development playgrounds, because that sure beats trying to use real mod folders for it (and inadvertently making weird stuff happen). As for where to find the Workshop mods you downloaded, well...

To avoid writing something that might not be true in five years, I'll just leave that up to Google.

After you're done, all you need to do is assemble everything you edited in a new mod folder and upload it to the Workshop through the in-game tool, then unsubscribe from the pack to ensure no weird interaction happens afterwards, since it's technically a mod too and it's likely gonna cause conflicts.


Anyway, when you download the character portraits pack and head to its folder, you'll find a bunch of folders named c—there's c1, c2, c3, and so on. These are all the portrait files I managed to extract from the game, and while you may notice there's a bunch of newer stuff missing, this is also everything that's available until GemaYue releases all the files at once for modding purposes... or someone learns how to unpack the latest files. Whichever happens first.

Now, here are some particularly interesting tidbits:

  • You can create new portrait files and use them in custom cutscenes. However, if you give Lilith an extra eye option and name it 8.png, even though you can call it through the emote files, the Artbook's Portrait Viewer will still say she has 7 eye options, because the options there are hard-coded.
  • The portrait folder within the mod does not need to be full. If the game doesn't find a file within it, it'll just default to the vanilla files. That means you should delete all unchanged files even within the portrait folders themselves to make the mod smaller and diminish the chances of conflicting with other mods. All you have to keep are the files you edited for your mod.
  • Don't change any image's resolution. This is pretty obvious, but it's important to mention that doing so causes weird things to happen in-game when displaying the images.


And... that's all you need to know! Feel free to start messing around with the portraits now, there's nothing stopping you. Maybe try copying things from one portrait and implanting them on another?

With that, we're done with the most complicated visual mod process.



1.2 — Sprites


Pre-made pack here.

Modding portraits is nice and all, but sometimes you want the sprites to actually reflect your changes. Or maybe you just want to make the save points look funny, or steal Ashuri's hat, or change how bunny headbands look like, the list goes on.

Fret not, for this process is even simpler than portraits!

All you need to do is edit the png, place it on the mod folder properly, and that's it. Honestly, that's all it'll take for this and the next mods; for this, you don't really have to think about complicated things like creating new files which won't be shown until called by a custom event.

Because it's impossible!

Yep, you literally can't do any funny things with sprites. Just edit, don't change the resolution for Bunny Heaven's sake, and then add it to the mod folder like that! You can even add it next to the portrait folder; the game will read anything whatsoever in the mod folder as long as it's not set to type 0 or 1 and is placed properly.

For the record, "Sprites" refers not only to character sprites, but also objects like springs. Technically, it also includes all stage objects that can be destroyed by Cocoa Bombs, but I decided to move those to Background Assets, because there are enough Sprite files as is.

In other words, this pack includes both characters and objects which aren't directly linked to the stage's appearance, if that makes sense.


Notes:
  • Some UPRPRC enemies don't actually have their bunny headbands in their sprites; instead, there's a separate file with just the bunny ears which is used over the enemies, which means editing that affects quite a lot of enemies. This is because some NPCs use enemy sprites without headbands.
  • The NPC files in the pack are a bunch of body parts assembled and colored in-game to create all NPCs who don't use headband-less UPRPRC sprites. It's weird that there are two sources of NPC sprites, but more diversity, I guess.


Anyway, congratulations, you can now make your Erina wear something else and actually look the part during gameplay! Just try not to get too annoyed by the pixel editing and you'll be fine.



1.3 — Stage Assets


Pre-made pack here.

Maybe you want to go a bit further? Trees made of candy and pink sand, you say? A mod that completely overhauls the stages to look prettier—or wackier?

That's completely possible, if you mod the stage assets!

As far as I checked, these work on the same logic as sprite modding. Which is to say, anything's fair game as long as the image's resolution is the same and the edit is within the asset's range in the image file.

Your biggest challenge? Actually figuring out what goes where in the game with some of these files.


2. B-Type Mods
Sometimes, you don't want to make a character look different. Occasionally, you might want to make Erina hit things with Ribbon or paint her carrot bomb another color.

That's what the type B mods, Items and Effects, are for!



2.1. Items


Pre-made pack here.

Items, I say, when it's literally just the hammer...

You see, what happens is that things like carrot bombs are actually grouped together with effects, so I had no choice but to leave only Erina's weapon here. Why didn't I just throw it in alongside the effects, you may ask? Because I actually wanted to talk about the process of item modding itself, of course! Now, continuing...


Technically speaking, modding items is the same as sprites, in that you just have to edit the .png and place it in the mod folder.

However, for the sake of completion, we're going a bit further than just the B type. You don't want your game to call your sword a hammer, right?

Within the pack, aside from the item sprites, you'll also find a file for the items' menu icons. This is technically a system file, but it's directly related to items, so it's here. Aside from that, you can edit the completely unpacked item.rbrb and itemd.rbrb files within the "localize" folder in the game's directory with any text editor to actually change the in-game item names and descriptions.

However, no files inside the localize folder can be affected by mods, a trait they unfortunately share with the packed story_emot.rbrb file, but modifying them is so simple that you can do things like, say... upload some rbrb files alongside your mod and use the description to instruct players to overwrite their files after making backups. Or just tell them what to write in the files, of course.

It's somewhat crude, but it's simple and the only thing that works until rbrb files are moddable and I can actually add them to this pack.

In fact, there's a lot of stuff you can rename by modifying the files within the localize folder, so that might be worth exploring a bit more sometime.



2.2. Effects


Pre-made pack here.

Unsurprisingly, that means things like bullets and visuals for boss attacks.

There's... not really much to add. This works just like sprites and items, without any extras. However, the amount of trial-and-error required to find out what affects what... Hoo boy.

So, uh, enjoy?


3. C-Type Mods


Pre-made pack here.

That's right, we're finally at type C! Of course, it's C for Cystem!

... Okay, no, but these are the system files, like the title screen, menus, Bunny Memories cut-in, and so on. As it just so happens, it's actually quite difficult to separate them in categories, so here's everything at once!

Long story short, these are the files you have to modify in order to affect what things look like in-game. No mysteries here, just stuff to be edited.


Notes:
  • erina_a and ribbon_a are their portraits for the title screen. It's not really obvious at first, but their silhouettes on the main menu and chapter screen are also these same files, except with a shadowy filter. So if you try to make Erina and Ribbon disappear in the title screen, the main menu will sudenlly become rather empty.

  • The excutin files, in the meantime, form the Bunny Memories cut-in CG.


4. W-Type Mods


Pre-made pack here.

Here we are, Sound Effects! A way to make your jumps or hammer hits sound cooler!

The deal with the sound files is the same as usual: throw a file with the same name into the mod folder, and then run it as anything but a Map type. The catch? Actually knowing the names of the files you want to mod. Fortunately, that's neatly dealt with by using the pre-made pack!


As mentioned before, these can actually be recognized by the game in A, B or C mod types, if you really want, but I wouldn't recommend using those types for a mod which is just sound effects. Feel free to make some package-like mod with several different types at once, though.


For the record, BGMs don't seem to be moddable, so I just ignored them and made the pack some ten times smaller. Then again, why would you want to get rid of such an amazing soundtrack?


5. 0-Type Mods


Ah, yes. Standard Custom Maps. The dreaded. The annoying. The complicated. That one type of mod whose mere existence makes people start sighing before they even begin reading guides on it, because some steps are just plain unintuitive and seemingly random.

There's actually no point in preparing a pack with extracted files for this and 1-Type Mods, because they use custom files rather than any existing assets. Also, GemaYue already uploaded a template map here.

As mentioned before, aside from assets—the map files, placed freely within the folder just like most files in visual mod types—custom maps can also accept cutscene files, at least if the mod is type 0. These are:

  1. story_text.rbrb: Text file with the dialogue lines. The vanilla version is named story_en/story_fr/story_any-other-language, and is present in the localize folder within the game's directory.
  2. story_emot.rbrb: Text file with the cutscene portrait control (what portrait is being displayed, what expression it's using, etc). The vanilla version is named the same, but it's packed into the game files, so it's a fair bit harder to access if you want to check it for pointers.

Aside from, well, existing right next to the map files, both cutscene files must also be written correctly to work without issues, featuring Dialogue IDs to identify which lines are part of the same cutscenes, and a matching number of lines across both files. The dialogue in line 7 of story_text.rbrb uses the portrait options from line 7 in story_emot.rbrb, and so on.

You can find more information about how to write the cutscene files in wcko87's old guide, which also includes the steps for creating the actual map files and even editing extracted ones.[wcko87.github.io]


... Huh? What's the point of this guide's section if I'm just going to link another guide? Hey, I didn't say I was stopping here!


Thing is, it's important to know the basics before going into details, and wcko87's guide provides that while also organizing vital information that you'll need to check again and again when creating custom maps. What it doesn't do is delve into certain matters which really need better explanations, something that the next sections will cover.

But, for the sake of simplicity, let's start from the beginning, shall we?


Now, first things first, wcko87's guide is a bit outdated, mentioning things from before Rabi-Ribi used the Workshop to load mods. As such, it has some obsolete information (unless you're not playing through Steam, I suppose), so I'm gonna save you some time and tell you the only information you need to look for in order to make this type of mod:
  1. How to use the Tiled map editor. You're going to throw the output files inside the mod folder, but you have to actually produce the maps properly first.

  2. The detailed documentation listing all event IDs and what they do. No need to memorize that stuff, just keep the pages open.

  3. How to write the story_text.rbrb and story_emot.rbrb files properly. It's just a matter of keeping things sorted in the same way as the vanilla files.
My advice? Try opening a vanilla map file and see how it functions. That'd be a good start. Just give it a look and then come back here.


Done? Then, moving on...


The thing about making type 0 custom maps is that, well, it's easy. To make the maps, that is. Dealing with events in the hard part, and by that I mean cutscenes, not the simpler events that do stuff like blocking a path by making Erina step back.

Adding enemies is easy, making blocks that only disappear after the player does something is easy, making tiles teleport the player somewhere else is easy, but cutscenes are where things get difficult enough to warrant a guide on another guide! Funny, right?


The source of most of the problems—and it's best to spell this out early to avoid any future confusion—is the fact that Dialogue IDs are not in any way related to the numbers you'll find written on map tiles when you start editing maps. Those numbers written all over the maps refer to Event IDs, which function as action triggers, in a completely different category from Dialogue IDs.

It would be nice if Event ID 19 triggered Dialogue ID 19 and so on, but since the game wasn't exactly developed with modding in mind, that's not the case at all—instead, the actions triggered by Event IDs are completely hard-coded.

For example, Event ID 374 will always trigger Dialogue ID 121, then Dialogue ID 122 in sequence, and then it won't trigger again in the playthrough unless you manually manipulate flags (more about this later) because it's not a repeatable Event. The only thing you can control in this situation is the dialogue and portraits the game will load, but the fact it'll load these two specific Dialogue IDs in a row can't be changed.

As such, you don't actually create any cutscene. All you can do is reuse scenes which are already in the game and have them load different assets. A direct consequence of that is that you're consuming a limited number of existing Events for cutscenes, and that's a problem if you want to make a very large story.


As an aside, any Dialogue ID you try to call which doesn't exist in the mod folder's cutscene files will be searched in the original files instead, meaning you can access a main game cutscene's assets from a custom map if you want to for some reason. Not sure why anyone would want that, but it's possible.


Unfortunately, wcko87's guide didn't really list what each Event ID does beyond very basic explanations such as "cutscene at the end of chapter 6," making things... difficult if you want to write your own cutscene and trigger it.

Fortunately, I've been working on such a list!

... Incidentally, it's quite large, so let's head to the next section instead!


Notes:
  • The maximum number of Dialogue IDs (not dialogue lines!) you can add in a custom map is 2100. That... probably means nothing, since the game probably has less than 2100 functional IDs, but I found out about it and I gotta write it down somewhere.

  • Amongst the following events, the only repeatable ones are the Blockade Triggers. However, you can do things like activate an event flag without triggering its action, or trigger its action despite not meeting its requirements/having already used it, by placing special Event IDs mentioned in wcko87's guide. Event ID 523, for example, will put Erina in a state where she'll always trigger an untriggered event no matter its requirements, which can be disabled by touching Event ID 524.

  • In fact, there are so many limitations on triggering events naturally, from having stepped on a tile with a certain different Event ID at any point before (and not turning its flag off, obviously) to completely unknown requirements that probably went unused in the final game, that it's very much advisable, and in fact encouraged, that you force trigger events constantly and manipulate flags like there's no tomorrow to make fancy stuff happen. This is the only way to get around all these limitations, and forcing events won't cause any issue by itself; problems only arise if you pay zero attention to what you're doing, but that applies to anything.

  • You might need the DLC for some Event IDs to function. That said, it's a bit of a case-by-case matter where some DLC IDs can be used without said DLC, so you could test things out anyway and just be prepared for a possible error.


5.1) Plain Dialogue Triggers
Let's start simple, and what's more simple than an event which just starts a dialogue and nothing else?

Event Actions:
  • Event ID 258: Dialogue ID 550

  • Event ID 279: Dialogue ID 48502

  • Event ID 288: Dialogue ID 1401

  • Event ID 299: Dialogue ID 5100 (Has unknown requirements, forced triggering advised)

  • Event ID 319: Dialogue ID 50000 (Resets when changing map)

  • Event ID 341: Dialogue ID 34002 (Has unknown requirements, forced triggering advised)

  • Event ID 342: Dialogue ID 300 (Requires Erina not to have Water Orb to trigger naturally)

  • Event ID 393: Dialogue ID 888

  • Event ID 425: Dialogue ID 29999

  • Event ID 430: Dialogue ID 43556

  • Event ID 449: Dialogue ID 49501

  • Event ID 494: Dialogue ID 53000

5.2) Sequential Triggers
When the event is triggered, a few things happen, like multiple dialogues or some walking around. You can get a bit more creative with these, like a chain reaction where the first event makes Erina walk into the second event, and so on.

Note 1: The game won't check for new cutscenes during automated movements. In other words, if you make Erina walk 3 tiles forward automatically, and pass by a cutscene event you placed, it won't be triggered, because the cutscene check only starts after Erina stops. However, that's not true for passive events that only require Erina to touch them, such as music changes, which will activate during automated movements just fine.

Note 2: The walk events actually choose which side Erina is facing by whether she stepped on their right or left half, instead of checking for Erina's actual direction. What does that mean? That because these events don't move exactly the number of tiles it says here, as these are rounded numbers, it's very much possible that making a two-event combo of "walk 3 tiles forward" into "walk 2 tiles forward" might make Erina turn around for seemingly no reason for the second event if she stops on the farther half of the second one. Thus, make sure to play-test properly.

Event Actions:
  • Event ID 277: Dialogue ID 135 -> Erina walks 2 tiles back

  • Event ID 282: Dialogue ID 451 -> Erina turns left -> Dialogue ID 452 -> Erina turns right

  • Event ID 283: Dialogue ID 453 -> Erina walks 3 tiles to the left

  • Event ID 287: Flips Erina's direction x 2 -> Dialogue ID 1400

  • Event ID 298: Erina walks 4 tiles forward -> Dialogue ID 5500 (Has unknown requirements, forced triggering advised)

  • Event ID 308: Erina walks 5 tiles forward -> Dialogue ID 10010 -> Exclamation balloon on Erina -> Flips Erina's direction x 4 -> Dialogue ID 10011

  • Event ID 310: Erina walks 5 tiles forward -> Dialogue ID 10020 -> Exclamation balloon on Erina -> Dialogue ID 10021

  • Event ID 334: Erina walks 1 tile forward -> Dialogue ID 32000 (Requires Event ID 357 to trigger naturally)

  • Event ID 335: Erina walks 1 tile forward -> Dialogue ID 32001 (Requires Event ID 357 to trigger naturally)

  • Event ID 338: Exclamation balloon on Erina -> Dialogue ID 34000 -> Dialogue ID 34001

  • Event ID 361: Dialogue ID 136 -> Erina walks 1 tile back -> Flips Erina's direction

  • Event ID 362: Erina walks 5 tiles forward -> Dialogue ID 137 -> Erina turns to the left

  • Event ID 368: Erina walks 6 tiles forward -> Dialogue ID 90

  • Event ID 369: Erina walks 4 tiles forward -> Ellipsis balloon on Erina -> Dialogue ID 91 -> Flips Erina's direction

  • Event ID 374: Dialogue ID 121 -> Dialogue ID 122

  • Event ID 375: Erina walks 3 tiles forward -> Dialogue ID 17

  • Event ID 380: Erina walks 3 tiles forward -> Dialogue ID 15

  • Event ID 381: Erina walks 5 tiles forward -> Dialogue ID 16

  • Event ID 383: Erina walks 8 tiles forward -> Dialogue ID 19

  • Event ID 384: Dialogue ID 100 -> Receives 1 Donut and 1 Cake (Items enabled if flag is active)

  • Event ID 394: Erina walks 2 tiles forward -> Dialogue ID 889

  • Event ID 400: Exclamation balloon on Erina -> Erina walks half a tile forward -> Dialogue ID 19001 (Has unknown requirements, forced triggering advised)

  • Event ID 426: DIalogue ID 101 -> Erina turns around -> Erina walks 2 tiles forward (Has unknown requirements, forced triggering advised)

  • Event ID 429: Erina walks 1 tile forward -> Dialogue ID 43555

  • Event ID 433: Dialogue ID 48000 -> Exclamation balloon on Erina -> Erina turns left and walks 5 tiles forward -> Dialogue ID 48001

  • Event ID 438: Erina turns left -> Dialogue ID 48024

  • Event ID 439: Dialogue ID 48503 -> Erina hops thrice -> Dialogue ID 48504

  • Event ID 440: Erina walks 1 tile forward -> Dialogue ID 48025

  • Event ID 489: Erina walks 3 tiles forward -> Dialogue ID 53003

  • Event ID 491 : Dialogue ID 53004 -> Erina turns right

5.3) Blockade Triggers
Repeatable events, usually used for keeping the player from wandering away. Prettier than just using invisible walls, that's for sure.

Event Actions:
  • Event ID 276: Dialogue ID 130 -> Flips Erina's direction -> Erina walks 1 tile forward with a sweatdrop balloon

  • Event ID 300: Dialogue ID 5200-> Erina walks 1 tile back (Seems to only trigger naturally during the Prologue)

  • Event ID 301: Dialogue ID 5000 -> Erina walks 3 tiles to the right -> Dialogue ID 5001 (Seems to only trigger naturally during the Prologue)

  • Event ID 309: Exclamation balloon on Erina -> Erina walks 2 tiles back -> Dialogue ID 10031

  • Event ID 317: Exclamation balloon on Ribbon -> Sweatdrop balloon on Erina -> Erina walks 2 tiles back (Requires Event ID 316 unflagged to trigger naturally)

  • Event ID 363: Dialogue ID 139 -> Erina walks back 2 tiles (Requires Miriam undefeated to trigger naturally)

  • Event ID 401: Erina walks 2 tiles back

  • Event ID 424: Dialogue ID 30010 -> Erina walks 3 tiles back (Requires Cicini undefeated and Event ID 357 unflagged to trigger naturally)

  • Event ID 434: Erina walks 2 tiles back -> Event ID 48026 (Has unknown requirements, forced triggering advised)

  • Event ID 442: Erina walks 3 tiles back -> Dialogue ID 49012 (Has unknown requirements, forced triggering advised)

  • Event ID 445: Erina walks 3 tiles back -> Dialogue ID 49019 (Has unknown requirements, forced triggering advised)

5.4) Complex Triggers
Like Sequential Triggers, except more complicated and/or specific.

Event Actions:
  • Event ID 275: Erina teleports away and comes back to the same spot -> Erina turns aroud -> Erina turns around -> Dialogue ID 203

  • Event ID 281: Dialogue ID 180 -> Erina moves 2 tiles forward -> Erina jumps 3 tiles forward -> Erina jumps high in the same place -> Erina moves 1 tile to the left while facing right with an ellipsis balloon -> Dialogue ID 181 (Warp Stones are disabled until this flag is activated, so trigger it with or without the action if you plan to use them) (Requires Rabi Slippers and Air Jump not equipped to trigger naturally)

  • Event ID 339: Spawns two UPRPRC enemies in front of Erina near the screen's border -> Dialogue ID 33000 -> Enemies walk to the right -> Exclamation balloon on enemies -> Enemies attack

  • Event ID 346: Erina walks 8 tiles forward -> Erina turns around x4 -> Ellipsis balloon on Erina -> Teleports to the exact same coordinates on area5 -> Dialogue ID 49999 (Requires Town List to have less than 23 bosses to trigger naturally)

  • Event ID 360: Spawns Cocoa facing right 1 tile above event 10 tiles to the right of the event -> Erina walks 6 tiles -> Cocoa turns around -> Exclamation balloon on Cocoa -> Dialogue ID 26 -> Cocoa walks to the right until she's out of the screen (Requires Event ID 388 to trigger naturally)

  • Event ID 377: Spawns Irisu 2 tiles behind Erina -> Erina moves 9 tiles forward -> Dialogue ID 32005 -> Irisu moves 2 tiles towards Erina -> Exclamation balloon on Irisu -> Dialogue ID 32006 -> Irisu moves towards Erina until she's out of the screen -> Dialogue ID 32007 (Has unknown requirements, forced triggering advised)

  • Event ID 388: Erina walks 6 tiles forward -> Springboard falls tile X = 12 of the room -> Exclamation balloon on Erina -> Dialogue ID 28 (Requires Event ID 322 and Event ID 382 to trigger naturally)

  • Event ID 395: Spawns Green Kotri facing right 5 tiles above event on the edge of the screen in front of Erina -> Spawns Pandora facing left 5 tiles above event and 2 tiles closer to Erina than Kotri -> Erina walks 6 tiles forward -> Dialogue ID 34100 -> Ellipsis balloon on Erina -> Kotri and Pandora walk 13 tiles to the left before disappearing -> Dialogue ID 34101 (Requires Event ID 365 to trigger naturally)

  • Event ID 420: Spawns Rita facing left 12 tiles in front of Erina -> Spawns Saya facing right 2 tiles closer to Erina than Rita -> Erina walks 6 tiles forward -> Dialogue ID 46005 -> Erina walks 2 tiles forward -> Dialogue ID 46006 -> Fade to black -> Erina appears facing left 7 tiles to the left of the event (if Erina triggered it walking to the right) or 25 tiles to the left of the event (if Erina triggered it walking to the left) -> Rita appears 7 tiles in front of Erina -> Saya appears 8 tiles in front of Erina -> Dialogue ID 46007 -> Rita and Saya teleport away (Requires Chapter 6 to trigger naturally)

  • Event ID 437 : Dialogue ID 32000 -> Erina hops twice -> Dialogue ID 48021 -> Erina hops thrice -> Dialogue ID 48022 -> Erina walks 3 tiles forward -> Erina hops thrice -> Dialogue ID 48023 -> Jumps 3 tiles forward -> Erina teleports to [168.5, 0] in the same map -> Erina falls uncontrollably at least one room, and only becomes controllable upon finding solid ground (If Erina stops falling before passing at least a single room, she'll simply teleport to the top of the room below, so make sure there's nothing in the way of her free-fall in the first room she teleports to)

  • Event ID 447: Erina walks 5 tiles forward -> Spawns Irisu running right 1 tile above and 7 tiles to the right of the event -> Exclamation balloon on Erina -> Irisu runs until she's out of view -> Dialogue ID 49022 (Has unknown requirements, forced triggering advised)

  • Event ID 448: Erina turns to the left -> Meatbone approaches, stops with an exclamation balloon, then turns around and runs away -> Dialogue ID 49500 (Requires Event ID 449 unflagged to trigger naturally)

  • Event ID 483: Erina takes fall damage -> Erina is teleported to the leftmost edge of the current room, or to an Event 34 within the room

  • Event ID 480: Spawns Forgotten Maiden running to the right 10 tiles in front of Erina -> Exclamation balloon on Erina -> Erina walks 7 tiles forward -> Dialogue ID 53001 -> Light shoots past the background from left to right -> Erina turns left -> Erina turns right -> Interrogation balloon on Erina/Ribbon (Has unknown requirements, forced triggering advised)

5.5) Additional Information
1) Changing clothes in Custom Maps

First of all, changing clothes like this requires "Is The Order A DLC?", but honestly, if you don't have it yet, what are you doing?! Go buy it, and then everything else too! This game is too good to be played in an incomplete state! Jeez!

*Ahem*

Back to the guide, changing clothes in custom maps is... tricky. Not exactly hard, per see, but the limitations make things complicated the first time around. Cheat-code level complicated, in fact.

You see, the mechanism to change clothes is hard-coded into Rumi's room. Then there's stuff like unlocking the outfits by manually altering flags, and dealing with the side-effects. I'll attempt to explain it as simply as I can.


1: Unlocking the wardrobe:

In order to unlock the mechanism to change clothes, you simply need to already have at least one extra outfit unlocked. That can be done by flag manipulation or cheat codes, but we want to do it the automatic way.

Remember, though, that as mentioned before, the mechanism will always be within the same coordinates inside Rumi's room no matter what, so you'll have to set some teleports to send the player there if you want them to use it in any way. To be more specific, the coordinates are a square formed by [232, 119], [232, 120], [233, 119], and [233, 120], within Area 5.


2: Unlocking each outfit:

There are three outfits to unlock, though I'm not aware if they have specific names, so I'll just call them as I see fit here. In short, whenever there's a cutscene standing in your way to unlock an outfit, you should use Event ID 525 (Prevent Tile-based Cutscenes), then the Event IDs which unlock the outfit, followed by Event ID 524 (Cancel Event ID 525). This way, you simply activate the necessary flags with no delays, and the player can just go use the wardrobe without hassle.

  • Halloween Bunny

    With the "Cicini's Halloween" DLC installed, you must collect Lilith's Gift, from Item ID 95.

    Unfortunately, there's no way around it for this one. It's completely item-based.

  • Forgotten Dress

    With "Is The Order A DLC" installed, the flag which unlocks this one is Event ID 411, the Credits sequence. As it just so happens, it'll also automatically recruit the 5 endgame bosses, which will trigger the non-tile-based automatic Event ID 353 (Ribbon tells Erina they have enough recruits for the Stelle).

    The solution? Activating Event ID 353 by tile before 411 while under the effect of Event ID 525, thus expiring its natural 1-time use. In other words, 525 -> 353 -> 411 -> 524 is the sequence to unlock the Forgotten Dress seamlessly.

    Beware, Event ID 411 triggers the post-game and makes the shopkeeper called by Event ID 1039 become Cocoa unless Miriam's "boss battle finished" flag (Event ID 296) is active. Or maybe that's a feature to make use of?

  • Cute Hunter

    With the "Before Next Adventure" DLC installed, reach Chapter 2 or further.

    Just use Event ID 570 with a type ID next to it in order to change the current chapter to any number bigger than 2. It doesn't have to be an actual chapter, you can even go to Chapter 100 without any issues!

  • Ribbon's Outfits

    Long story short? Just reach Chapter 5 for all of them. That's it, really.

Did you get all that? Save for Halloween Bunny, it's all about flag manipulation. In fact, it's by forcing flags like this that you can do the more fun stuff in custom maps, so be sure to try and get a feel for it!


2) Boss NPCs selling things

You want Cocoa to sell you bombs, but no matter what you do, the one you summon with an Event ID never has that prompt? Why, I've got you covered!

Unsurprisingly, this is another hard-coded thing.

In Area 5, whenever there's an Event ID that calls for a boss, they'll only show up if you have their recruitment flag activated, and will appear as NPCs who sell you things for EN. But remember, their prompts will appear only if you have enough money.

As for normal Dialogue IDs, however, you might have to do something tricky with a summoned boss and a hidden NPC outside of Area 5. Let's just say that it's quite the hassle.


3) Badges impossible to unequip bug

Sometimes, you might want a player to start with max leveled items in your custom map. That's easy enough; there's a specific event for turning all items not yet collected into their level 4 versions!

That's right, no visits to Miriam or Cocoa until having a full-powered Erina!

However, there's a tiny little issue with that. You see, the event affects all items, including badges. And strangely enough, if they're collected while under the level 4 effect (and possibly 2/3), they come equipped by default, while also being impossible to unequip. That's right, an eternal Lilith's Gift to force the Halloween Bunny portrait in all cutscenes instead of whatever outfit you're wearing.

The solution is prevention. Before allowing the player to get any badge, either ensure the level 2/3/4 flags aren't active, or just activate the level 1 flag to make all world items normal again.

The more you know.
6. 1-Type Mods


Okay, so you want to make a Bun Race Map instead of some boring Standard Map, and you want me to tell you how.

Alright, here's how it works.
  1. For starters, you create a map and place items around the exact same way you did in the previous part, except you don't bother with making cutscenes.
  2. Then, you create a trophy item in the map, the one with ID 42. That's the race's finish line.
  3. Following that, prepare your mod folder the same way as before, except without story_text.rbrb and story_emot.rbrb, because you know cutscenes are for losers.
  4. In info.txt, make the mod type 1.

Congratulations, you've finished your Bun Race Map! Now just upload it with the in-game tool!

... Yes, that's it. There's nothing else to do. In the first place, 1-Type Mods are just repurposed 0-Type Mods, so of course the process is almost the same, right? They're all custom maps, in the end.


Just remember, cutscenes don't seem to actually work in Bun Race Maps. At the very least, my attempts to test this ended up with a short fade to black that ended a second later, with no actual cutscene on sight.

I suppose this is specialization at work.

Wrapping it Up


If you read everything up to this point, you have all the tools, files, and knowledge necessary to make mods for Rabi-Ribi!

Now all that's left is actually doing it. Maybe you already have something in mind? If so, then go create something you can brag about to everyone!

Or... don't, I guess. Since I can't control you people.

But I think you should, if that counts for anything.


Found anything wrong in the guide? Is some event doing a completely different action than listed? Or maybe there's a pack with an unmoddable file? Whatever the issue is, feel free to point it out!


Extra) Off-Steam Modding
Thought we were done, did ya?

Well, here's a final pro-modder strategy for you all. You know all those limitations listed before, like no CG modding and such?

That doesn't affect off-Steam modding.

Yes, you read that correctly. Though it's impossible to mod CGs through the Workshop, you can actually do so by forcing things just a tiny bit! Is it worth it? You decide, but if you think so, keep reading!


Enabling Off-Steam Modding

First, you need to actually make sure you can mod things. The problem is, these things we want to mod are packed away in .kanobi files, and impossible to extract in the current game's version. So what should we do?

Downgrade the game, of course!

In the game's Properties on Steam, you can opt to downgrade back to 1.85, before the security upgrade. After that, you can easily use a program to unpack stuff. Personally, I suggest you download GARbro.

As for what exactly we're supposed to unpack...

In the game's main folder, there are .kanobi files for the main game and the DLCs, and they should be rather easy to spot, considering their unusual file type. Everything we want is in there.

What we want to do is extract everything from those files with GARbro into folders with the same name in the main directory. So pack.kanobi's content should be extracted into a folder named pack, dlc0.kanobi goes into a folder named dlc0, and so on.

You might notice that dlc2 can't be unpacked by GARbro. It includes the Before Next Adventure content, which was released after the update that changed the encryption, and so it already comes in a state GARbro can't deal with no matter how you downgrade the game.

A lost cause for the time being, so let's move on. Feel free to update the game back to the current version.


Now here's the fun thing. If the game doesn't find the pack.kanobi file within its directory, it'll look for a folder named pack instead and assume it contains the same files. Incidentally, it does the same for the DLCs, as long as you make folders for them with the same name as their kanobi files.

That means if we move or rename a kanobi file, the game will read whatever is in the folders instead, no matter what modifications are made. That includes CGs, cutscenes, and everything else that mods can't naturally change.

The best part? Workshop mods still work, and take priority over whatever's in the Pack folder. You've essentially opened up more possibilities without losing anything.

Well, almost anything.

As for the bad news, since the Before Next Adventure DLC file, dlc2.kanobi, can't be unpacked at the moment, the game will proceed to treat it weirdly. What do I mean? The new outfits having no portrait but still retaining their functional sprites, for one. It's pretty wonky, at least until someone figures out how to get the files from there.


Of course, since this kind of modding entails overwriting files, make sure to keep a backup of the original folders.

Manually modding things might be a bit more work than just hitting Subscribe on the Workshop, but, hey, sometimes it's the only way to actually affect certain files. Better for it to take some effort than just plain not working, right?

There's also a way to load Custom Maps without Steam, but that's already mentioned in wcko87's guide.


Note: Side-effects of using unpacked folders for the assets include a black loading screen when launching the game, and no background image in the Workshop menu.
21 Comments
Zetta  [author] 9 Apr, 2022 @ 4:44pm 
@FantasyJared: That'd require editing the code directly, so probably no. You can even make new cutscenes, but modifying the gameplay like that seems to be impossible.

@kid named Finger: As long as the files are organized properly, you can see the changes you made in real time. Well, assuming you restart the game. You're effectively modding the mod.
theGoofyGooner 7 Apr, 2022 @ 12:06am 
Quick Question: do I have to upload to workshop first to test if the mod works? (specifically A-Type mods)
FantasyJared 31 Mar, 2022 @ 7:01am 
Howdy Zetta! Really appreciate having this guide, you did a great job. ^^

I want to make a rebalance mod for the badges by altering the in-game PP costs of some badges, but I'm not sure how I would go about that. Do you reckon that would be possible? You mentioned that it is possible to edit what things look like, but I'm not sure if you can alter how they actually work. Would love a response, since I've been thinking about this for a while now. :)
Altan 6 Jan, 2021 @ 11:53am 
Yeah I noticed that a little later after re-reading through the guide, sorry for that!
Zetta  [author] 6 Jan, 2021 @ 6:56am 
What you seem to be aiming for is editing map files, which is covered in wcko87's guide that I mentioned and linked at the beginning of the 0-Type section.
Altan 5 Jan, 2021 @ 1:37pm 
Okay so... I'm trying to make a mod to add a savepoint in the base game maps, I've enabled off-steam modding and extracted the files. After having a look around and opening them in visual studio I noticed that they're all hex-dumps. Help please?
Icemourn 23 Dec, 2020 @ 9:58am 
Wonderful Guide Zetta! This is greatly helping me write my own mod!

I found the files for downloaded workshop mods at "C:\Program Files (x86)\Steam\steamapps\workshop\content\400910" (Rabi-Ribi's Steam ID is 400910).

Thank you so much for writing such a detailed and comprehensive guide, complete with those pre-made packs you included. This is a huge help to the modding community! :)
Zetta  [author] 14 Sep, 2020 @ 7:21am 
I never actually did it, but I assume it's possible if you unpack the assets like it says in the Extra step, since the game will exclusively use the files within the unpacked folder, songs included, after you hide the original .kanobi file.
sanae_kochiya 14 Sep, 2020 @ 4:54am 
Is there an easy way to mod music? or does it require a complicated process for it to be possible?
QUBES 31 Jan, 2020 @ 10:26am 
having a problem, tried to do visual portrait mod, im sure i did everything correctly, and it does get uploaded to Workshop, but when i subscribe to it, the portrait doesn't show

im editing c24 base3 (Erina Halloween costume). or does it only work for non dlc costume? or maybe im just dumb and did some fatal mistake kek

also is it possible for you to test the mod yourself without uploading it to workshop first? (since i don't want people to see my eternal WIP mod on the workshop)