WarpHUBs v1.1
Spoiler: show
This NPC is a custom checkpoints, but with a twist. When you press up on this NPC you can warp to any other warp that you have previously activated, perfect for Metroidvania levels and you want the player to have a way to quick travel.
Editor Settings
Editor Settings
- Name The name that should appear in the warp list
- unlockwarps Change this to true, and you can warp to any warp at any time without having it to be activated previously
- pocketwarp Change this to true and the player can hold drop item + up to open the warp menu anytime
- disablecheckpoint Change this to true and the warphubs will stop behaving like checkpoints thus only allowing the NPC to be used for quick travel
- allowpreview Always show the screen where the checkpoint is at. Normally it only allows a preview to warps that are unlocked
- title The title that appears on the list
SHOWCASE: show

Binoculars
Spoiler: show
This NPC will allow you to pan the camera around. Perfect for puzzle levels or quick-paced levels where you want the user to know the rest of the section ahead of time.
Custom Flags
Custom Flags
- speed The panning speed in pixels/second
- pausegame Set to false, and the game wont pause when the binoculars are activated
SHOWCASE: show

SpyBlocks
Spoiler: show
This NPC will trigger an event when an NPC or player is directly above it.
Editor Settings
Editor Settings
- Event Name The name of the event it should trigger
- Affect Players Activating this box will make spyblock activate when it detects a player
- Affect NPCs Activating this box will make spyblock activate when it detects an NPC
- Container Field Used to filter NPCs when the "Affect NPC" field is on. For example, setting the key NPC to the container will make the spyblock only look for the key npc
SHOWCASE: show

Read Me Sign v1.1
Spoiler: show
This block will print text into itself by using textplus. All textplus commands work. Included is a "block-903-font.ini" that allows you to customize the font used.
Editor Settings
Editor Settings
- Text The text that is to be printed.
- xscale The X-scale of the text
- yscale The Y-scale of the text
- offX The X-offset from where to draw the text
- offY The Y-offset from where to draw the text
- priority The priority. Keep in mind that sizables are drawn at -90
- plaintext Set to true to enable plaintext. If you enable plaintext, all the <tags> stop working, but in exchange makes the text much less laggier.
SHOWCASE: show

Holes v1.7
Spoiler: show
A hole will transport and push players, NPCs, and blocks to other holes NEVER PUT A HOLE INSIDE ANOTHER WORM HOLE
Editor Settings
Sprite made by Wonolf
Sounds from:
https://www.soundsnap.com/user-name/blastwave_fx
https://www.youtube.com/watch?v=LnMhJU6RsYU
Editor Settings
- Name The name of the hole
- Destination The name of the hole that should be the destination. If multiple holes have the same name, then the nearest hole is chosen. If the field is left blank, then the nearest hole is chosen regardless of name
- Deadly Mode If checked, the wormhole will kill what it collides with instead of transporting
- Push Force The amount of push a hole should exert on objects. Set to negative to make the hole pull objects, set to 0 to diable the push effect
- Allow Players If checked, the wormhole will scan for players to be warped and pushed
- Allow NPCs If checked, the hole will scan for NPCs to be warped and pushed
- Allow Blocks If checked, the wormhole will scan for blocks to be warped and pushed
- rotationspeed The angular speed of the image rotation in degrees/second
- radius The radius used to detect collision. Defaults to half width of the NPC
- forceradius The radius used to detect push or pull collision. Defaults to twice the width of the NPC
- laserspeed The speed of the laser effect in pixels/second
- transition Set to false to disable the laser transition
- sectiontransition Set to false and the transition is disabled when warping between sections. Note that this is disabled automatically if the transition is disabled.
- disableribbon Disables the ribbon effect of the laser. The transition will still be active.
- warptype Decides on what type of offset should happen when warping. Check the image for details.
Code: Select all
local blacklistNPC = {
1, 2, 3 -- NPCs 1, 2, and 3 are now blacklisted!
}
Sprite made by Wonolf
Sounds from:
https://www.soundsnap.com/user-name/blastwave_fx
https://www.youtube.com/watch?v=LnMhJU6RsYU
SHOWCASE: show

Tesla Coils v1.1
Spoiler: show
Tesla coils switch between on and off an electric state. There are two varieties.
Editor Settings
Electric Ball
Since I found it very annoying for the same sfx to be playing constantly, I made a small system. Sfx are chosen at random from a list. Simply call your sound effect teslacoil-#.wav. Make sure to go in numeric order! Look at the default sound effect to see what I mean.
Sprite made by Wonolf
Sounds from https://www.youtube.com/watch?v=lWEFv8g3fQo
HOW TO USE: show
There are two variants of tesla coils. The standard form (purple) and the alternative form (green).
The standard form will power on when an electric ball makes contact with the head of the tesla coil. It will power off after an interval and release an electric ball that will go towards a new destination. Done right and you can have a chain of tesla coils activating each other.
To set this up, you can give every tesla head a unique name. The set the destination field to the name of the tesla head where the electric ball should go next.
The alternative heads are more simplistic. Instead, you set an on and off period. The heads will turn on and off based on the delay.
The shocked koopas must be placed over a tesla body. Use the oeverlap feature in edit -> prevent overlap to make this easier.
Tesla heads become spin-jumpable when they are electrified.
The standard form will power on when an electric ball makes contact with the head of the tesla coil. It will power off after an interval and release an electric ball that will go towards a new destination. Done right and you can have a chain of tesla coils activating each other.
To set this up, you can give every tesla head a unique name. The set the destination field to the name of the tesla head where the electric ball should go next.
EXAMPLE: show

The shocked koopas must be placed over a tesla body. Use the oeverlap feature in edit -> prevent overlap to make this easier.
Tesla heads become spin-jumpable when they are electrified.
Editor Settings
Electric Ball
- Destination The name of the tesla head that the ball should travel to.
- Speed The speed of the ball in pixels/second
- Names The name of the tesla head. Used to identify the tesla head for the destination field. If left blank, the tesla head will not output an electric ball
- Destination The name of the tesla head that the ball should travel to.
- On Time How long in pixels should the tesla coil stay on?
- Off Time How long in pixels should the tesla coil stay off? When the delay is over it will automatically it will self-activate. Reccomended to be 0, its purpose is for creating generators for electric balls.
- Electric Ball Speed The speed of the output electric ball in pixels/second
- Begin On? Starts already electrified
- On Time How long in pixels should the tesla coil stay on?
- Off Time How long in pixels should the tesla coil stay off?
- Begin On? Starts already electrified
- Every NPC except for the elctricball
- poweredframes The amount of frames in the spritesheet dedicated for when the NPC is "activated"
- tesla Body
- isVine Set to false to stop the NPCs from behaving like ladders
Since I found it very annoying for the same sfx to be playing constantly, I made a small system. Sfx are chosen at random from a list. Simply call your sound effect teslacoil-#.wav. Make sure to go in numeric order! Look at the default sound effect to see what I mean.
Sprite made by Wonolf
Sounds from https://www.youtube.com/watch?v=lWEFv8g3fQo
SHOWCASE: show

Handy Torch v1.1
Spoiler: show
A torch that can be turned on by fire NPCs and turned off by ice NPCs. You can program events that get called when a torch is turned on or off. Allowing you to create level set-ups like: "Turn on all torches in this room to proceed", or "turn off this torch to open the door" all without using Lunalua!
At the very top of npc-919.lua file, there are is an easy way to change what NPCs are considered cold and hot. By default it checks the isHot and isCold flag. You can edit this if you wish to add custom cold and got functionality with custom NPCs.
Editor Settings
At the very top of npc-919.lua file, there are is an easy way to change what NPCs are considered cold and hot. By default it checks the isHot and isCold flag. You can edit this if you wish to add custom cold and got functionality with custom NPCs.
Editor Settings
- On Event The name of the event that should be activated when the torch is lit
- Off Event The name of the event that should be activated when the torch is extinguished
- Active If turned on, the torch will begin lit
- flameframes The number of frames that are used for when the torch is on
- flamesize The size of the flame. Note that you should set the height field to the height of the base.
SHOWCASE: show

Balloons v1.1
Spoiler: show
Balloons that give the player a vertical boost when a player makes contact with the NPC. The red balloon gives the player a standard vertical boost. The green balloons allow the player to switch between a standard jump or a spin jump by holding the jump or alt-jump buttons. The blue balloon always makes the player do a standard jump and the purple balloon always makes the player do a spin jump. Characters that do not have a spin jump get a different kind of boost:
Peach: Resets hover timer.
Link: Turns into a fairy temporarily.
Wario: If Wario has a powerup, it will force a ground pound.
Rosalina: Regains double jump.
Klonoa: Regains flutter jump.
Ninja Bomberman: Regains bomb jump.
Bowser: If Bowser has a tanooki powerup, it will force a ground pound.
Custom Flags
Graphics made by AirShip.
Peach: Resets hover timer.
Link: Turns into a fairy temporarily.
Wario: If Wario has a powerup, it will force a ground pound.
Rosalina: Regains double jump.
Klonoa: Regains flutter jump.
Ninja Bomberman: Regains bomb jump.
Bowser: If Bowser has a tanooki powerup, it will force a ground pound.
Custom Flags
- respawn The number of frames that it takes for the balloons to respawn after being popped.
Graphics made by AirShip.
SHOWCASE: show

Amped Jewels v1.1
Spoiler: show
Electric jewels that can form walls of electricity between them!
Editor Settings
Graphics made by Void.
Special thanks to MrDoubleA for helping me make these!
Editor Settings
- Tags A list of tags for the amped jewel. Two amped jewels will only connect if they share at least one tag. You can have as many tags as you want, just make sure to separate them using commas (ex: tag1, tag2, tag3)
- On Event The number of frames the amped jewel should stay on
- Off Event The number of frames the amped jewel should stay off. Set to 0 and the jewel stays on permanently
- poweredframes The number of frames used for when the jewel is powered.
- lightningframes The number of frames in npc-930-1.png
- lightningframespeed The framespeed for the lightning
Graphics made by Void.
Special thanks to MrDoubleA for helping me make these!
SHOWCASE: show

Neckys v1.2
Spoiler: show
Necky and the gang are a group of birds each with different behaviors and variants.
Editor Settings
Sounds ripped by DKCPlayer
Editor Settings
- Mini Necky
- Variant Stationary: Doesn't move, shoots a nut occasionally. Top-Bottom: Moves up and down. Shoots a nut at the edges. Top-Bottom-Almost Bottom: Moves up and down. Shoots a nut at the edges and at the almost bottom.
- Throw Delay Only for the stationary variant. The delay between nut shooting. Note that the delay is measured in idle animation cycles for a smooth transition
- Amplitude Only for the Top-Bottom and Top-Bottom-AlmostBottom variants. Measures the amplitude of movement
Necky - Move Horizontally? Makes the Necky move foward
- Move vertically? Makes the Necky move up or down
- Move Periodically? Makes the Necky move back and forth. Combine the previous two settings to make it move in a circle
- Amplitude Only for Neckys that move periodically. Measures the amplitude of movemet
- Frequency Only for Neckys that move periodically. Measures the frequency of movement in cycles per second
Nut Necky - Variant Foward: Makes the Necky throw the nut forward. Top: Throws the nut upwards. Spray: Throws the nut forwards, top, and backward in succession
- Initial Throw Force: The initial y-velocity of the nut,
- Throw Cooldown: Waiting frames in between nut throwing.
Sounds ripped by DKCPlayer
SHOWCASE: show

BoomShell Koopa
Spoiler: show
Fun fact, this is how I originally wanted the bombshell Koopa to behave.
Custom Flags
Koopa
Custom Flags
Koopa
- spawnid The NPC ID of the boom shell
- warningdelay The number of frames until the shell displayed the warning animation
- explosiondelay The number of frames until the shell explodes
SHOWCASE: show

Button
Spoiler: show
A button that when stepped on triggers an event.
Editor Settings
Editor Settings
- Event The name of the event that should be activated
- Only work once? If checked, the button will break after one use
- pressedFrames The number of frames that are used for when the button is pressed
SHOWCASE: show

Lever
Spoiler: show
A lever that toggles a layer's visibility.
Editor Settings
Editor Settings
- Layer The name of the layer that will be toggled
- No smoke? If checked, the smoke effect will be disabled when toggling a layer
- State If the lever should begin on or off?
- pressedFrames The number of frames that are used for when the lever is pressed
SHOWCASE: show

Lectern v1.1
Spoiler: show
The lectern allows you to store multiple pages of text into an NPC. The lectern displays its text in a convenient method without stopping the game. Textplus tags work with the lectern allowing cool effects. You can customize the font to have your very own custom fonts. You split the text into separate pages by using the | symbol. Use <vl> to display | inside the lectern.
Editor Settings
Editor Settings
- Starting Page The page in which the lectern should begin
- Text Put text here
- textboxwidth The width of the textbox.
SHOWCASE: show

If you find any bugs, please report them so I can fix them!