Note that all ` (tildes) are NOT meant to be typed in.
1. Download a fresh copy of `ebattlebacks.zip` and `dist.zip`, then unzip both.
2. Move the `ebattlebacks` folder into the `img` folder of your game.
3. Go into the `dist` folder and move the `JM_EarthboundBackgrounds.js` file into your `js/plugins` folder. Don't forget to activate the plugin from within the RPG Maker MV program by clicking on that puzzle piece icon!
4. Go into the `dist` folder and move the `ebb` folder into the root folder of your game (so alongside where your .rpgproject file will be located).
5. Now go into the `ebb` folder and open the `jm_ebb_example.hjson` file with a text editor, delete everything there, then make the contents of the file read exactly like this:
{
"layers": [
{"image": "002", "image_mode": "stretched", "palette_shift": 0},
{"image": "009", "image_mode": "tiled", "effect": { "type": "horizontal_interlaced", "amplitude": 256, "frequency": 3}, "palette_shift": 2, "scroll": [0, 1]},
{"image": "003", "image_mode": "tiled", "palette_shift": 0, "effect": { "type": "horizontal_interlaced", "amplitude": 64, "frequency": 1}, "scroll": [0, 1]},
{"image": "007", "image_mode": "tiled", "effect": { "type": "horizontal_interlaced", "amplitude": 256, "frequency": 1 }, "palette_shift": 1, "scroll": [0, 1]}
],
"configurations": {
"alta": [1, 0],
"default": { "layers": [1, 0], "speed": 2},
"puppy": {"layers": [0, 1], "speed": 1},
"monster": {"layers": [3, 2], "speed": 1}
}
}
6. Open up your project in RPG Maker, open up the database, then go to your Troops, pick any monster and add `[EBB: monster]` after the name of Troop (not the Enemy). Pick another Troop and add `[EBB: puppy]` to see the other battleback in action.
Explanation:
This is an example of what I will refer to as a "specific layer object" -----> {"image": "009", "image_mode": "tiled", "effect": { "type": "horizontal_interlaced", "amplitude": 256, "frequency": 3}, "palette_shift": 2, "scroll": [0, 1]}
This is an example of what I will refer to as a "named config object" ------> "monster": {"layers": [3, 2], "speed": 1}
You never have to create another config file or even rename the existing `jm_ebb_example.hjson` config file. You can think of config files as a set of one "layers" object (made up of the "layers" array which itself is made up of specific layer objects), and one "configurations" object made up of named config objects. You have to add any image pattern manually to the list (notice the square bracket array) of images. I've just been picking random image numbers and random amplitudes, palette_shifts, etc; maybe someone else can explain the different types of "effects" and what all the different image settings mean. The small "scroll" array is simply the direction the scroll happens in, with the array representing [direction of x movement, direction of y movement] and the values can either be -1, 0, or 1.
THIS IS THE TRICKY PART!
Once you have already added all your specific layer objects to the "layers" array, you also have to reference the array positions of the specific layer object in a named config object. You see where it says [3, 2] in the "monster" named config object? That is referencing the "layers" array position of specific layer objects:
{"image": "003", "image_mode": "tiled", "palette_shift": 0, "effect": { "type": "horizontal_interlaced", "amplitude": 64, "frequency": 1}, "scroll": [0, 1]}
and
{"image": "007", "image_mode": "tiled", "effect": { "type": "horizontal_interlaced", "amplitude": 256, "frequency": 1 }, "palette_shift": 1, "scroll": [0, 1]}
Notice their position in the "layers" array. The initial index value is 0, which is why the numbers are not [4,3].
Let's say you wanted to add a new named config object for your "Sheep" Troop. All you'd have to do is add another named config object to the configurations object:
{
"layers": [
{"image": "002", "image_mode": "stretched", "palette_shift": 0},
{"image": "009", "image_mode": "tiled", "effect": { "type": "horizontal_interlaced", "amplitude": 256, "frequency": 3}, "palette_shift": 2, "scroll": [0, 1]},
{"image": "003", "image_mode": "tiled", "palette_shift": 0, "effect": { "type": "horizontal_interlaced", "amplitude": 64, "frequency": 1}, "scroll": [0, 1]},
{"image": "007", "image_mode": "tiled", "effect": { "type": "horizontal_interlaced", "amplitude": 256, "frequency": 1 }, "palette_shift": 1, "scroll": [0, 1]}
],
"configurations": {
"alta": [1, 0],
"default": { "layers": [1, 0], "speed": 2},
"puppy": {"layers": [0, 1], "speed": 1},
"monster": {"layers": [3, 2], "speed": 1},
"Sheep": {"layers": [0, 3], "speed": 1}
}
}
Then go to your Sheep Troop in the database and add `[EBB: Sheep]`. You also could have named it something like "sheep329" and it still would work so long as you added `[EBB: sheep329]` to the Troop name in the database, even if the actual Troop name is still Sheep.
Let me know if anything is still unclear! This is actually a great plugin but goddamn was it a bitch to figure out.