This tutorial will explain how to create a boss encounter with an "element shifting" mechanic. The boss will change between two elemental alignments. In each, the boss will cast spells only from that school of magic, and be immune to damage from that element. The boss will also change colors to indicate which element it is attuned to. As an optional add-on, the tutorial explains how to use Hime's Feature Manager to make the boss absorb damage from the element to which it is attuned, rather than simply negating the damage.
Hime's Feature Manager script (optional; used only to allow the boss to absorb elemental damage)
Create Two States
A element shifting boss is governed by states, just like Poison or Ice Force. These states allow us to control a lot about the boss. Create two states, “Aspect of Fire” and “Aspect of Lightning.” For each, provide the state a little text (so the player knows what element the boss is in when it changes), and use the Features box to set our characteristics. Specifically, we want to:
- Reduce the damage done by a specific element to 0%
- Increase the damage done by the opposing element (here, Ice and Water)
Create Two Skills
Now, we need to give our boss the ability to self-apply these states. Create two skills, one which will self-apply the "Aspect of Fire" state and remove the "Aspect of Lightning" state; the other should do the reverse. Make sure your skills are certain hits. It would be extremely embarrassing for a lightning god to fumble on applying his elemental state.
You can also create any other skills you want your boss to have the ability to use, assuming the defaults don’t fit your boss. For the purposes of this tutorial, we'll be sticking with default skills like Fire II, etc.
Create The Boss
Set Up The Boss Skills
Add all of the skills you intend your boss to be able to use, including all spells and abilities regardless of
elemental restriction. Then, edit each skill to have one of your previously created states as a condition. For example, Fire II should be set to require the boss to have "Aspect of Fire" in order to cast it.
Additionally, we need to make sure that our Boss has the skills to change its state. Think critically; the skill which applies "Aspect of Fire" should have as its condition "Aspect of Thunder," and vice versa. That way, if the boss is currently attuned to Thunder, it can cast the skill which attunes it to Fire instead.
Tint the Boss
This step uses RPG Maker's built-in reskinning tool to dynamically recolor the boss battler.
- Modify the "Battler Hue" attribute for battlers, changing it from a reader attribute to accessor attribute.
Open up the script window, click on "Game_Battler" on the left, and scroll to line 33. Where it says "attr_reader :battler_hue" - change it to "attr_accessor :battler_hue".
- Create 2 common events, one for each state. In the common event, use the "script" call event and call:
$game_troop.members[x].battler_hue = y, where x is the ID of the enemy (typically 0, unless there are other enemies in the troop) and y is the hue, between 0 and 255. It's going to take some practice getting the hue correct.
- Do this for each state to apply an element-appropriate hue. For example, apply a huge of 45 to make your boss yellow. This would be lightning color.
- In the skills which change element states, add "Call Common Event"
in the features, and call the correct common event. For example, in the skill which applies "Aspect of Thunder" and removes "Aspect of Fire," call the common event you set up which changes the enemy to yellow.
Give Your Boss An Initial State
In the troop panel for your boss encounter, create an event with Condition: Turn No. 0, Span: Battle which applies on of your element states to the boss. Otherwise, he won't be able to cast any skills or switch between states.
Absorbing Elemental Damage
If you want your boss to absorb elemental damage instead of negating it, add Hime's Feature Manager (linked at the top of this tutorial, under Requirements) to your scripts. Then in each state, add the following to the notes box:
<ft: element_rate x -1>
Replacing X with the ID of the element you want to absorb. With this, the boss will absorb Fire damage as health only when it has the Aspect of Fire state, etc.