Share and discuss custom LunaLua code and content packs for SMBX2.
Moderator: Userbase Moderators
|
|
|
|
-
Master of Disaster
- Swooper

- Posts: 67
- Joined: Sun Nov 28, 2021 9:29 am
- Flair: Average Koopa Fan
- Pronouns: he/him
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.3 -----
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 -----
This is a small update that only changes Wariodashing and Wariodashattacking to make those a little easier to work with.
Wariodashing went into v1.4:
- Added a function wariodashing.cancelDash(hitSomething). If you call it from outside the library, it cancels your shoulderbash. If hitSomething is true, you will bounce back as if you dashed into an enemy.
- you can now access the colliders via wariodashing.dashingColliderNPC (+ wariodashing.dashingColliderBlock and wariodashing.slopeCollider). You can use the first two to check whether you dashed into an object outside of the library.
Dashattacking also got an update with v1.2:
- Fixed a bug where hitting an npc while dashattacking could give you an error
- Added a function wariodashattacking.cancelDashAttack(hitSomething). Works just like wariodashing.cancelDash
- you can now access the colliders via wariodashattacking.dashingColliderNPC (+ wariodashattacking.dashingColliderBlock and wariodashattacking.slopeCollider). As with Wariodashing, you can use them to check whether you hit something with a dash attack from outside the library
Burning, Bouncing and Dashattacking come with their own methods:
Burning:
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:
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:
- 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:
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
Flammable Clothes are a bad idea, Wario.

Good that there's water around!
Don't ask how that works logically
You'll inevitably hit a ceiling at some point, you won't believe what happens next
Running head first into a wall is the only good way to use your head
When you enter a cannon and gain the ability to turn around and most importantly - act like Jesus, BE Jesus
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/vr8ocgn1 ... 8sk1m&dl=0
Old versions:
v1.4:
https://www.dropbox.com/scl/fo/cvel9c1e ... ogvn4&dl=0
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
|
|
|
|
|
|
|
|
|
-
ChromaNyan
- Blooper

- Posts: 153
- Joined: Sat Feb 17, 2018 5:32 pm
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
- Blooper

- Posts: 153
- Joined: Sat Feb 17, 2018 5:32 pm
Postby ChromaNyan » Sun Apr 02, 2023 12:46 pm
it's possible to softlock yourself by springing into an upside down slope

|
|
|
|
|
|
|
|
|
-
Master of Disaster
- Swooper

- Posts: 67
- Joined: Sun Nov 28, 2021 9:29 am
- Flair: Average Koopa Fan
- Pronouns: he/him
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
- Blooper

- Posts: 153
- Joined: Sat Feb 17, 2018 5:32 pm
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
- Blooper

- Posts: 153
- Joined: Sat Feb 17, 2018 5:32 pm
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
- Swooper

- Posts: 67
- Joined: Sun Nov 28, 2021 9:29 am
- Flair: Average Koopa Fan
- Pronouns: he/him
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
- Rocky Wrench

- Posts: 606
- Joined: Fri Jul 23, 2021 7:35 am
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
- Blooper

- Posts: 153
- Joined: Sat Feb 17, 2018 5:32 pm
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
|
|
|
|
|
|
|
|
|
-
Master of Disaster
- Swooper

- Posts: 67
- Joined: Sun Nov 28, 2021 9:29 am
- Flair: Average Koopa Fan
- Pronouns: he/him
Postby Master of Disaster » Sun Oct 13, 2024 6:44 am
Released a small update for this pack. Doesn't do much more than just making it easier to work with outside of the library.
|
|
|
|
|
Return to “LunaLua”
Users browsing this forum: No registered users and 5 guests
|