Page 1 of 1

[LUA] Circling Boo Buddies API

Posted: 16 May 2016, 20:36
by S1eth
This is an API for creating the boo buddy circles from Super Mario World and Super Mario Maker.




Download and documentation at http://wohlsoft.ru/pgewiki/BooBuddies.lua

Re: [LUA] Circling Boo Buddies API

Posted: 17 May 2016, 20:07
by ztarwuff
S1eth wrote:This is an API for creating the boo buddy circles from Super Mario World and Super Mario Maker.




Download and documentation at http://wohlsoft.ru/pgewiki/BooBuddies.lua
Wasn't this showcased in the MAGLX2? Anyway, that's really cool.

Re: [LUA] Circling Boo Buddies API

Posted: 18 May 2016, 00:20
by 7NameSam
I feel like that a good improvement to this library would be being able to use a graphic in the level folder as the graphic for the boo.
Also being able to change a boo circle's parameters like boo numbers whenever (if that's not already possible).

Re: [LUA] Circling Boo Buddies API

Posted: 18 May 2016, 17:10
by S1eth
ztarwuff wrote: Wasn't this showcased in the MAGLX2? Anyway, that's really cool.
Yes. That one was hardcoded for that one screen only, no reusable code and no way to customize, though.
https://youtu.be/MG-O2MrJs7Q?t=21m21s
7NameSam wrote:I feel like that a good improvement to this library would be being able to use a graphic in the level folder as the graphic for the boo.
You can replace the graphic. It uses Misc.resolveFile("booBuddies/boos.png").
This means that it will always look in your level folder first before looking in the LuaScripts folder.
The script uses a single spritesheet instead of individual images, so you'll have to make a copy of that and edit it for your level.
And when a boo dies, it uses the death effects from SMBX's boos. If you want custom circle boos that can die, you also need custom death effects for the SMB3 or SMW boo.
7NameSam wrote: Also being able to change a boo circle's parameters like boo numbers whenever (if that's not already possible).
When you create a booCircle, the create function returns the BooCircle object. You can access all fields of that BooCircle and change them later on.
Except numberOfBoos, which is only used in create to make a table of Boo objects. You can access the table with myBooCircle.boos, but I didn't think people would want to change the number of boos in a circle after creating it, so I didn't write functions for doing that.
And it would look weird if a boo circle suddenly spawned another boo, or one boo disappears.