THIS SITE IS INCOMPLETE
My example for the majority of this will be the Snow Angel.
These are the sprites for the Snow Angel. Notice how there are two files on display? That's because the one below this text is from the enemies folder, whilst the one to the left of this text is from the sv_actors folder. The enemies version is used in the Database preview, but the sv_actors version what will be shown in game, so don't worry if you make slight design updates, you don't have to change the enemies image. Most enemies in OMORI have 4 frames of animation, with the 4th frame being the same as the 2nd. And frankly that's basically it for the sprites.
This is the Enemies tab, where all enemies are located. This section will go over the setting in the center column.
Name: Self-Explanatory
Stats: All self-explanatory. Note that enemies don't use their juice for skills, so it's more just an extra health bar for when they are sad.
Rewards & Drop Items: Self-Explanatory. This will be detailed later, but know that each emotion for enemies changes their drops. Angry increase EXP, Happy increase Clams (Gold) and Item Drop rates, and Sad decreases EXP and Clams.
Action Patterns: Coded in the Notes tab, so leave it empty.
Next are the Traits. On display we can see the Traits that almost every enemy possesses, but you can add more.
Ex-Parameter - Hit Rate + 95%: Sets the hit rate for the enemy, which is 95% for most enemies.
Attack Element - Physical: Sets their attack element to Physical. I don't know what the Physical element does but every enemy in the game has it, so you might as well leave it.
State Resist: Every enemy except Space Ex-Husband and Snaley are resistant to all 2nd and 3rd tier emotions. This includes Sxbf, Sweetheart, and the Bread Twins. They use special states I will detail later.
The Other Traits you can give enemies, most don't really do much in this context. Traits marked with a * aren't used in OMORI.
Element Rate: A percentage based multiplier on the damage taken from the element listed. This is used mainly for Emotions.
*Debuff Rate: Changes the probability that a skill or item will debuff the listed stat.
*State Rate: Changes the probability that a skill or item will inflict the listed state.
State Resist: Become immune to the listed state.
Parameter: A percentage based multiplier on the listed stat.
Ex-Parameter: A percentage based adder on the listed stat.
Sp-Parameter: A percentage based multiplier on the listed stat.
Attack Element: Adds the listed element to any skills used. Mainly used for Emotions.
*Attack State: A percentage based chance that an attack will add the listed state.
*Attack Speed: A speed boost added to any skill used.
*Attack Times +: Repeats the skill used. So +1 makes the skill happen twice.
*Add Skill Type: Adds the listed skill type to the available skills. This doesn't really apply to OMORI
Seal Skill Type: Seals use of the listed skill type. Only really used by afraid.
*Add Skill: Learn the skill listed. This is done through troop events in OMORI.
*Seal Skill: Seals use of listed skill. Works fine it's just not used in OMORI.
*Equip Weapon: Unlocks the inputted weapon type. This would allow for characters to equip each other's weapons if out of battle.
*Equip Armor: Unlocks the inputted armor type. All of OMORI's charms except for FA Kel's Pet Rock are the same type.
*Lock Equip: Locks the inputted equipment type. This means you can't change your equipment while the state is active. This is used by all of Omori and Sunny's weapons.
*Seal Equip: Seals the inputted equipment type.
*Slot Type: Meant for dual-wielding. Doesn't work in OMORI.
*Action Times +: A percentage based chance that an actor will execute a command a second time. These can stack.
*Special Flag: Applies effects that don't work in OMORI.
*Collapse Effect: Determine the death animation. Doesn't work in OMORI. That is handled in the enemy Notes tab.
Party Ability: Adds a party wide ability. Only Gold Double and Item Drop Double work and only Gold Double is used.
<AI Level: 100>
<AI Priority>
State === State 185: SKILL 327, target
State === State 186: SKILL 326, target
State === State 6: SKILL 328, target
Random 30%: SKILL 326, target
Random 100%: SKILL 327, target
</AI Priority>
This is the AI section of a Neutral Snow Angel's Notes section. As you can see, it's actually really simple, but I'll try to make it even easier to understand.
<AI Level: 100> This determines how likely the AI will follow the formula listed in AI Priority. In OMORI this is always 100.
<AI Priority> This is a grouping notetag to define what the AI does.
State === State 185: SKILL 327, target
State === State 186: SKILL 326, target - These are the skills used if Observe was used. The top one should be a Multi-Targeting skill and the bottom one should be a single target skill. In the Snow Angel's case, these are the "Uplifting Hymn" and "Normal Attack" skills respectively.
State === State 6: SKILL 328, target - This is a rare appearance, but it checks if a party member is Happy. If so, the Snow Angel will use Skill 328, the Pierce Heart Attack.
Random 30%: SKILL 326, target - This attack has a 30% chance of being used, if it succeeds, the attack is performed, if not, it goes to the next skill in the list.
Random 100%: SKILL 327, target - In this context, there is only one last skill left to use. The final skill should always be a 100% chance to activate.
</AI Priority> This closes this group of notetags so other code can be added after.
<Sideview Battler: !battle_snow_angel>
<Sideview Battler Frames: 4>
<Sideview Battler Speed: 12>
<Sideview Battler Size: 536, 479>
<Sideview Width: 0>
<Sideview Height: 0>
<Position Offset Y: 0>
<StatusYOffset: -260>
<StatusCursorPosition: 0>
<DamageOffsetY: -160>
<Static Level: 1>
<FallOnDeath>
This section is going to be very vague as I'm frankly not very well versed in this particular aspect of modding.
<Sideview Battler: !battle_snow_angel> - This is what image from sv_actors to use.
<Sideview Battler Frames: 4> - The number of frames per row
<Sideview Battler Speed: 12> - The speed of the animation. Almost always 12
<Sideview Battler Size: 536, 479> - Size of a single frame
<Sideview Width: 0> - Seemingly always 0
<Sideview Height: 0> - Ditto
<Position Offset Y: 0> - Not sure, probably the Offset for the center point of the enemy? This is used often. There's also an X variant.
<StatusYOffset: -260> - According the sheet I'm referencing, "where your first frame starts." It's usually around the same as the Y value for the battler size.
<StatusCursorPosition: 0> - No idea
<DamageOffsetY: -160> - Probably Offsets where damage numbers are spawned at.
<Static Level: 1> This is always 1 no matter what enemy it is.
<FallOnDeath> Makes an enemy fall down upon death. Most enemies have this.
Now we are back to areas I'm familiar with. Enemies handle emotions in a very strange way. As I've alluded to, enemies have a unique version for all three of their emotions and their neutral form.
They are always listed right after each other in the order of Neutral, Happy, Sad, and Angry.
In the general settings, the only change is the Drops as mentioned before, but you can technically change anything you want between these forms, including the AI in the notetags.
The majority of changes are in the Notetags.
<TransformBaseID: 83>
This is a notetag that every enemy has, stating what its neutral version is. This is for fancy JavaScript stuff.
<Sideview Battler Motion>
Name: Walk
Index: 0
Loop
</Sideview Battler Motion>
<Sideview Battler Motion>
Name: Damage
Index: 1
Loop
</Sideview Battler Motion>
<Sideview Battler Motion>
Name: Dead
Index: 2
Loop
</Sideview Battler Motion>
This is the code that sets the row of sv_actors for the enemy to use. Specifically the Index line. The rows are indexed by starting at 0 and going from top-to-bottom.
OMORI has far more of these lines listed, but only these three seem to be needed. Walk is used in most situations, and is the one you need to correct based on the emotion, whilst damage and dead are only used when the actor is taking damage or dead.
Now you may be looking at the way emotions are handled in OMORI and think to yourself, "Wait, if the second and third stage emotions aren't transformIDs, how do the bosses with those emotions work?" This section will explain that.
So before we get to the those higher emotions, we need the normal phase of the boss first, where they can feel all emotions. This phase is set up the same as any other enemy, so I won't detail it.
So now that you have the first phase of your boss setup as any other enemy, we'll look at Space Ex-Boyfriend to see how the game works this.
If you'll notice, he has 8 slots instead of 4. This is because the way OMORI does tiered enemy emotion is by making those extra emotions their own states that work on these extra four slots, which are technically their own enemy.
If you read through the states page, you might have noticed in the JavaScript that there were states listed for Sxbf, Sweetheart, and the Bread Twins. These are special versions of their emotions. I'll show Space Ex-Boyfriend's.
Space Ex-Boyfriend has three states listed as Space Ex-Angry, Enraged, and Furious. Mechanically they are identical to the regular versions(minus some slight number changes), with the except of the <TransformEmotion: > notetag. Space Ex-Angry and Enraged are listed with happy and sad respectively, instead of angry. This is because all that tag really does is say how many slots forward an enemy should transform when given the state. So basically, <TransformEmotion: happy> really just means "Change the enemy to the one in the next slot down."
So to make multistage emotions, you can use the base game ones if you are using Angry, Happy, or Sad, or you can make new ones.
All you need to do for the new ones is set the first tier of the emotions is TransformEmotion Happy, 2nd tier to TransformEmotion Sad, and 3rd tier to TransformEmotion Angry. And also remove the "StateCategory EMOTION." This is so Massage and Dandelions can't remove their emotion.
Note that because of this, these versions should be resistant to all the normal emotions so that there is no TransformEmotion conflicts.
So now that you have the first phase of your boss setup as any other enemy, we'll look at Space Ex-Boyfriend to see how the game works this.
If you'll notice, he has 8 slots instead of 4. This is because the way OMORI does tiered enemy emotion is by making those extra emotions their own states that work on these extra four slots, which are technically their own enemy.
If you read through the states page, you might have noticed in the JavaScript that there were states listed for Sxbf, Sweetheart, and the Bread Twins. These are special versions of their emotions. I'll show Space Ex-Boyfriend's.
Space Ex-Boyfriend has three states listed as Space Ex-Angry, Enraged, and Furious. Mechanically they are identical to the regular versions(minus some slight number changes), with the except of the <TransformEmotion: > notetag. Space Ex-Angry and Enraged are listed with happy and sad respectively, instead of angry. This is because all that tag really does is say how many slots forward an enemy should transform when given the state. So basically, <TransformEmotion: happy> really just means "Change the enemy to the one in the next slot down."
So to make multistage emotions, you can use the base game ones if you are using Angry, Happy, or Sad, or you can make new ones.
All you need to do for the new ones is set the first tier of the emotions is TransformEmotion Happy, 2nd tier to TransformEmotion Sad, and 3rd tier to TransformEmotion Angry. And also remove the "StateCategory EMOTION." This is so Massage and Dandelions can't remove their emotion.
Note that because of this, these versions should be resistant to all the normal emotions so that there is no TransformEmotion conflicts.
Now that the Boss is set up in enemies tab, we need to make a battle it can be used in. This is what the Troops tab is for.
These are where all the possible battles are stored, in addition to many events that happen in battle. That's what the Battle Event section is for.
For a multistage boss they will have about 7-9 pages, though technically only 6 are needed.
The first page should be left empty, with the Don't Run condition so that you can't run.
The second page is the one you technically don't need, but it's set to the condition Turn 0. This is where any start of the battle events occur, like dialogue.
The third page is the first health check. The condition should be Enemy HP and set to whatever threshold you want. Then remove all possible emotions for the boss, transform them into their alternate form(Make sure it's the one their base ID calls for, so the 5th in the list), and add the first tier of their special emotion.
If dialogue is ever being spoken by a character, set the Control Variable BSystem Bubble Toggle to be ON, and OFF if the text is Narration. You should also wait 10 frames after dialogue is finished.
Repeat the third page for the second and third tier of emotion, simply remove the lower tier and add the new one.
The final two pages are for the possible outcomes of the battle.
The second to last is for if you win, so the condition is Enemy HP <= 0%. Place the Common Event, "Enemy Defeat" at the top, followed by any dialogue you might want to add.
The final page is for if you lose, so the condition is Actor HP <= 0%. Simply place any dialogue you want here. If you don't have any defeat dialogue you don't actually need this.