booBuddies.lua
Library for creating customizable Boo Buddy circles.
Includes graphics for SMW, SMB3 and SMB1 Boos.
Contents
Installation
Place the file booBuddies.lua and the folder booBuddies in either your level's custom graphics folder for use in a level, along with a lunadll.lua file, or in the same directory as your .wld file along with a lunaworld.lua file for use throughout an entire episode.
How to Use
To enable the booBuddies library for a specific level, add this line to lunadll.lua:
local booBuddies = API.load("booBuddies");
If you intend to use destructable SMB1-style Boos, copy the file effect-94.png from the folder booBuddies into your level folder. This replaces the SMB3 Boo death effect.
Example
local myBooCircles = {};
booBuddies.diesTo = {shoe = true, starman = true};
booBuddies.canSpinjump = true;
function onStart()
myBooCircles[1] = booBuddies.create({x = -159472, y = -160304});
myBooCircles[2] = booBuddies.create({x = -159760, y = -160432, preset = "SMM"});
end
function onEvent(eventName)
if eventName == "delete Boo" then
myBooCircles[1]:delete();
elseif eventName == "kill Boo" then
myBooCircles[1]:kill();
end
end
This example creates Boo buddy circles in your level which are killable and allows you to spinjump onto them. Two circles are created, one of them using the default settings (Super Mario World), and the other using the settings from the Super Mario Maker preset.
When a specific event is triggered, this code will either instantly delete a Boo buddy circle, or kill it, showing the death effects of each Boo.
Documentation
Fields
These are variables you can access
Name | Type | Description |
---|---|---|
diesTo.shoe | boolean | If true, jumping onto a Boo using the Goomba's shoe will kill the Boo and bounce you back up. |
diesTo.starman | boolean | If true, Boos die if they come in contact with a player that has starman (single player only!) |
canSpinjump | boolean | If true, you can bounce off of Boos with: spinjumps, Yoshi, Goomba's shoe and Link's downstab |
External Use Functions
These are functions you will need to use the library
create | args | |
---|---|---|
Creates a BooCircle object | BooCircle | table
See BooCircle Fields |
BooCircle
Fields
The following fields can be both defined in booBuddies.create(args) and accessed via BooCircle.fieldName:
Name | Type | Is Optional? | Default Value | Description |
---|---|---|---|---|
x | number | no | 0 | The x-coordinate of the center of your Boo buddy circle. |
y | number | no | 0 | The y-coordinate of the center of your Boo buddy circle. |
preset | string | yes | "SMW" | Use a preset to load defaults for all optional properties you did not define yourself. "SMW" = Super Mario World preset, "SMM" = Super Mario Maker preset |
style | string | yes | from SMW preset | The graphic style of the Boos: "SMW", "SMB3", "SMB1" or "SMM-SMW" |
section | number | yes | 0 | The Boo buddy circle is only updated and drawn if the player is in this section. If your booCircle is within 1000px of a section or section boundary, you do not need to specify a section. |
layer | string | yes | "Default" | The layer of the Boo buddy circle. If the layer is hidden, it will not be updated and drawn. |
circleRadius | number | yes | from SMW preset | The radius of the Boo buddy circle. |
angularSpeed | number | yes | from SMW preset | The speed at which the Boo buddy circle rotates. |
angularDirection | number | yes | from SMW preset | The direction in which the Boo buddy circle rotates. Use "clockwise"/"CW" or "counterclockwise"/"CCW" |
numberOfBoos | number | yes | from SMW preset | The number of Boos per Boo buddy circle. |
booRadius | number | yes | 10 | The size of a Boo's hitbox. |
frameTime | number | yes | 8 | The number of frames until the Boo animation changes |
frame | number | yes | 0 | The current frame. |
booSpacing | number | yes | from SMW preset | Space between individual Boos in degrees. |
angle | number | yes | calculated | The current angle of the Boo buddy circle. By default, the opening in the circle starts at the bottom. |
Functions
delete |
---|
Deletes a BooCircle |
kill |
Kills all boos of a BooCircle |