Wario Movement Quintpack

Share and discuss custom LunaLua code and content packs for SMBX2.
Master of Disaster
Rex
Rex
Posts: 35
Joined: Sun Nov 28, 2021 9:29 am
Flair: Average Koopa Fan
Pronouns: he/him

Wario Movement Quintpack

Postby Master of Disaster » Tue Mar 21, 2023 3:08 pm

This pack contains five of my libraries: wariorolling.lua, wariodashing.lua, Burning and Bouncing as well as my newest one, wariodashattacking.lua

----- Burning and Bouncing v1.2 -----
I remade the Burning and Bouncing transformation from the Wario Land series.


----- Wariodashattacking v1.1 -----
The mighty dashattack from Wario Land 4 remade in SMBX!
There's also the launch cannon from Wario Land Shake it for good measure.
Hold Alt Run long enough charge the dash attack and tear through everything afterwards!
If you enter the Launch Cannon, you immediately go into a charged dash, which allows you to turn around and even run on water!

----- What has changed this time -----
In general:
- There are no global tables in the libraries anymore (there were before, yikes)
- removed raw versions. The libraries will now work with or without the other libraries

Wariorolling v1.4 sees an update:
- You can now set a minimum slope angle (rolling.minAngle); you only start the roll when sliding down a slope that is steep enough. To be able to roll off of every slope, set it to 0

Wariodashing went into v1.3
- You can now shoulderbash up slopes without immediately crashing
- You bounce off of solid npcs if you can't break them now

Dashattacking saw the most fixes though, with v1.0:
- jumping when running on water doesn't have the ~5 frames delay anymore
- you can now dashattack up slopes
- you don't end your dash attack when bumping into a ceiling
- You bump away when hitting solid npcs you didn't kill, meaning you won't awkwardly be stuck on solid npcs
- Reaching the end of the section now cancels your cannon dashattack
- Turning around behaves a little differently, you can hit enemies and bump into walls when turning now
- Entering boost cannons is easier now

Burning, Bouncing and Dashattacking come with their own methods:
Burning:
Spoiler: show
burning.isBurning = true -- makes you start burning
burning.gfxoffsetX = 12 -- Set the amount of pixels the sprite should be moved to the left (negative values for right) so it plays at the right position
burning.gfxoffsetY = 20 -- Set the amount of pixels the sprite should be moved upwards so it plays at the right height
burning.gfxwidth = 50 -- If your spritesheet needs a higher width than 50px, you can change it here
burning.gfxheight = 50 -- If your spritesheet needs a higher height than 50px, you can change it here
burning.burningframes = 4 -- If your spritesheet has more or less than 4 frames in the burning animation, you can change it here
burning.burningendframes = 11 -- If your spritesheet has more or less than 4 frames in the rising animation, you can change it here

burning.addFireStarterNPC(id) -- add an NPC that starts the burning rush when touched
burning.addFireStarterBlock(id) -- add a Block that starts the burning rush when touched

burning.addFlammableBlock(id) -- add a Block that breaks when fully burning and touching it
burning.addUltraflammableBlock(id) -- add a Block that breaks when touched in the burning rush
Bouncing:
Spoiler: show
bouncing.isBouncing = true -- makes you start bouncing
bouncing.gfxoffsetX = 12 -- Set the amount of pixels the sprite should be moved to the left (negative values for right) so it plays at the right position
bouncing.gfxoffsetY = 20 -- Set the amount of pixels the sprite should be moved upwards so it plays at the right height
bouncing.gfxwidth = 50 -- If your spritesheet needs a higher width than 50px, you can change it here
bouncing.gfxheight = 50 -- If your spritesheet needs a higher height than 50px, you can change it here
bouncing.groundbouncingframes = 3 -- If your spritesheet has more or less than 3 frames in the bouncing animation, you can change it here
bouncing.airbouncingframes = 5 -- If your spritesheet has more or less than 5 frames in the high bouncing animation, you can change it here
bouncing.bouncingendframes = 4 -- If your spritesheet has more or less than 4 frames in the ending animation, you can change it here

bouncing.addBouncingStarterNPC(id) -- add an NPC that starts the bouncing rush when touched
bouncing.addBouncingStarterBlock(id) -- add a Block that starts the bouncing rush when touched

bouncing.addBreakableBlock(id) -- add a Block that breaks when fully bouncing and touching it
bouncing.addUnbreakableBlock(id) -- add a Block that can't break by bouncing from beneath
Dashattacking:
Spoiler: show
- dashattacking.dashattacking = false, -- whether Wario is dashattacking
- dashattacking.dashstate = 0, -- if 0, it's not charged; if 1, it's charged; if 2, it's from a cannon

- dashattacking.candashattack = true, -- if false, the player can only use the dash via a cannon
- dashattacking.airbehavior = 1, -- 0: only chargable on ground, only usable on ground. 1: only chargable on ground, also usable in the air. 2: chargable and usable in the air
- dashattacking.chargeuptime = 60, -- the time in ticks the player needs to charge up the dash. If the player can charge in air, it should be longer

- dashattacking.gfxoffsetY = 8, -- the default amount of pixels the graphic is rendered below the place it actually would
- dashattacking.gfxwidth = 50, -- the width one frame takes up on a spritesheet
- dashattacking.gfxheight = 50, -- the height one frame takes up on a spritesheet
- dashattacking.runupframes = 4, -- the default amount of frames the ground dashing animation has
- dashattacking.chargedframes = 5, -- the default amount of frames the air dashing animation has

- dashattacking.blacklistBlock(BlockID) -- Prevent a block from breaking when dashattacking into it!
- dashattacking.whitelistBlock(BlockID) -- Make a block break when dashattacking into it!
- dashattacking.blacklistNPC(NPCid) -- Make an NPC unhittable by the dashattack!
- dashattacking.whitelistNPC(NPCid) -- Make an NPC hittable by the dashattack, if it isn't for some reason!
How to register characters to the libraries:
Spoiler: show
wariodashing.whitelistCharacter(1, -- number or CHARACTER_MARIO (etc). The character that is registered
"shoulderbashingframes.png" -- the spritesheet that is used
--, optional: gfxoffsetY (number) that's different from the default,
-- optional: groundframes (number) different frameamount than the default,
-- optional: airframes (number) different frameamount than the default
)
wariorolling.whitelistCharacter(1, -- number or CHARACTER_MARIO (etc). The character that is registered
"rollingframes.png" -- the spritesheet that is used
--, optional: gfxoffsetY (number) that's different from the default,
-- optional: framecount (number) different frameamount than the default
)
dashattacking.whitelistCharacter(1, -- number or CHARACTER_MARIO (etc). The character that is registered
"dashattackingframes.png" -- the spritesheet that is used
--, optional: gfxoffsetY (number) that's different from the default,
-- optional: runupframes (number) different frameamount than the default,
-- optional: chargedframes (number) different frameamount than the default
)
bouncing.whitelistCharacter(1, -- number or CHARACTER_MARIO (etc). The character that is registered
"bouncingframes.png" -- the spritesheet that is used
--, optional: gfxoffsetY (number) that's different from the default,
-- optional: groundbouncingframes (number) different frameamount than the default,
-- optional: highbouncingframes (number) different frameamount than the default,
-- optional: bounceendingframes(number) different frameamount than the default
)
burning.whitelistCharacter(1, -- number or CHARACTER_MARIO (etc). The character that is registered
"burningframes.png", -- the spritesheet that is used
"ashesrisingframes.png" -- the second spritesheet that is used for the rising animation
--, optional: gfxoffsetY (number) that's different from the default,
-- optional: runningframes (number) different frameamount than the default,
-- optional: risingframes (number) different frameamount than the default
)
And now to the fun part:
Some Gameplay footage of Wario almost being fully implemented as a playable
Spoiler: show
Flammable Clothes are a bad idea, Wario.
Image
Good that there's water around!
Image

Don't ask how that works logically
Image

You'll inevitably hit a ceiling at some point, you won't believe what happens next
Image

Running head first into a wall is the only good way to use your head
Image

When you enter a cannon and gain the ability to turn around and most importantly - act like Jesus, BE Jesus
Image
Do the usual crediting stuff or else you'll also (totally) burn to a crisp

Here's the download!
https://www.dropbox.com/scl/fo/cvel9c1e ... ogvn4&dl=0


Old versions: v1.3
https://www.dropbox.com/sh/uvael8ifobc6 ... S_vea?dl=0
v1.2:
https://www.dropbox.com/sh/dejf4zmnyeh9 ... HacOa?dl=0
v.1.1:
https://www.dropbox.com/sh/1bj0ci1ept4z ... KdOoa?dl=0
v.1.0:
https://www.dropbox.com/sh/ummm0mmatbe4 ... xPE4a?dl=0
Last edited by Master of Disaster on Tue Feb 27, 2024 9:31 am, edited 2 times in total.

ChromaNyan
Monty Mole
Monty Mole
Posts: 149
Joined: Sat Feb 17, 2018 5:32 pm
Flair: minecraft bundle my beloved <3
Pronouns: she/they

Re: Wario Movement Tetrapack

Postby ChromaNyan » Sat Apr 01, 2023 7:30 pm

small wario can't fit into one block tall spaces when crouching (which can lead to clipping through blocks or dying if using antizip if you lose the rolling state while in a one block space)

ChromaNyan
Monty Mole
Monty Mole
Posts: 149
Joined: Sat Feb 17, 2018 5:32 pm
Flair: minecraft bundle my beloved <3
Pronouns: she/they

Re: Wario Movement Tetrapack

Postby ChromaNyan » Sun Apr 02, 2023 12:46 pm

it's possible to softlock yourself by springing into an upside down slope

Image

Master of Disaster
Rex
Rex
Posts: 35
Joined: Sun Nov 28, 2021 9:29 am
Flair: Average Koopa Fan
Pronouns: he/him

Re: Wario Movement Tetrapack

Postby Master of Disaster » Mon Apr 03, 2023 4:20 am

hmm the small Wario stuff is a costume thing, that shoouuuld be somewhat easy to fix. And about the slope glitch, I am pretty sure you can hold right to get out but it definitely should be fixed. Maybe I should add another collider that checks whether it hits a slope (as slopes don't count as ceiling collision by default, for some reason)

ChromaNyan
Monty Mole
Monty Mole
Posts: 149
Joined: Sat Feb 17, 2018 5:32 pm
Flair: minecraft bundle my beloved <3
Pronouns: she/they

Re: Wario Movement Tetrapack

Postby ChromaNyan » Mon Apr 03, 2023 5:17 pm

Master of Disaster wrote:
Mon Apr 03, 2023 4:20 am
And about the slope glitch, I am pretty sure you can hold right to get out
i tried that and it didn't seem to work, wario would move for a few pixels but then he would stop moving and i would be truly softlocked

ChromaNyan
Monty Mole
Monty Mole
Posts: 149
Joined: Sat Feb 17, 2018 5:32 pm
Flair: minecraft bundle my beloved <3
Pronouns: she/they

Re: Wario Movement Quintpack

Postby ChromaNyan » Tue Aug 15, 2023 11:13 pm

for whatever reason, wario's jesus water running feels really buggy, jumping off the water's surface is delayed but only sometimes making it really inconsistent to platform with

Master of Disaster
Rex
Rex
Posts: 35
Joined: Sun Nov 28, 2021 9:29 am
Flair: Average Koopa Fan
Pronouns: he/him

Re: Wario Movement Quintpack

Postby Master of Disaster » Fri Aug 18, 2023 7:11 am

ChromaNyan wrote:
Tue Aug 15, 2023 11:13 pm
for whatever reason, wario's jesus water running feels really buggy, jumping off the water's surface is delayed but only sometimes making it really inconsistent to platform with
hmm I realised the delayed water jump, but due to it being caused by base SMBX water, I'll have to see if I can fix that. If it's not fixed in the next update, I haven't found a way to circumvent that.

deice
Volcano Lotus
Volcano Lotus
Posts: 538
Joined: Fri Jul 23, 2021 7:35 am

Re: Wario Movement Quintpack

Postby deice » Fri Aug 18, 2023 9:14 am

Master of Disaster wrote:
Fri Aug 18, 2023 7:11 am
hmm I realised the delayed water jump, but due to it being caused by base SMBX water, I'll have to see if I can fix that.
while i haven't looked at your code, there's basegame jank where the player will be counted as "in water" even if they're standing right above it on solid ground. you should look into player memory offsets 0x34 and 0x36

ChromaNyan
Monty Mole
Monty Mole
Posts: 149
Joined: Sat Feb 17, 2018 5:32 pm
Flair: minecraft bundle my beloved <3
Pronouns: she/they

Re: Wario Movement Quintpack

Postby ChromaNyan » Sun Aug 20, 2023 8:03 pm

Master of Disaster wrote:
Fri Aug 18, 2023 7:11 am
ChromaNyan wrote:
Tue Aug 15, 2023 11:13 pm
for whatever reason, wario's jesus water running feels really buggy, jumping off the water's surface is delayed but only sometimes making it really inconsistent to platform with
hmm I realised the delayed water jump, but due to it being caused by base SMBX water, I'll have to see if I can fix that. If it's not fixed in the next update, I haven't found a way to circumvent that.
while i'm thinking about it, i feel i should also mention running up slopes with wario is fairly buggy as well, sometimes you bump into the slope and lose all your speed as a consequence

i know that's a result of vanilla jank and idk if it's fixable but i feel it's worth mentioning


Return to “LunaLua”

Who is online

Users browsing this forum: No registered users and 3 guests

SMWCentralTalkhausMario Fan Games GalaxyKafukaMarioWikiSMBXEquipoEstelari