This content may be freely modified and/or maintained by anyone.

WellDoneSnake

Yoko Shimomura
Heyo!

I'm sorta back and I have something I wanted to release for people to mess around with.

Introducing...

Sonic&Knuckles+

A mod taken from another piece of work that I'll be porting later. It allows you play vanilla SRB2 with Sonic and Knuckles in a whole other way.
You'll get the taste of the character switching mechanics, revised gameplay and new character specific power-ups!



1. Sonic's Abilities & Uncurling:

Sonic's thok ability has been replaced with the jump boost and charged drop dash.

Jump Boost: This is a vanilla ability that allows the player to jump higher depending on how fast they're going.

kjdSqgU.gif


Charged Drop Dash: After jumping into the air, press and hold the jump button to charge your drop dash.
Keep holding down the jump button until you land on the ground to unleash the energy you charged up, causing you to roll forward at a certain speed.


3z6wQ2r.gif
Y1j8gzs.gif

Amount of speed gained is proportional to time spent charging.
Extra note: Turning into super sonic restores Sonic's original thok ability.


Uncurling: Character's can now uncurl when rolling on the ground or off a cliff. Simply tap the spin button to do so.

GyLdwbH.gif
4BZDGKi.gif

Extra note: Just like in vanilla holding onto the spin button when rolling off of a platform and onto the ground will keep you curled up and rolling.



2. Character Switching:

8pCyk6z.gif
pdcbcLk.gif

DQyLzvA.gif
kKsuyTh.gif


Press the custom 1 button to switch using Sonic or Knuckles.

Switching characters while airbourne will trigger a unique move.
Note: You can only switch characters in the air once!
UPDATE: You can keep switching characters while airbourne so long as you jump off of walls and let go off of objects that carry you!


>>NEW FEATURE<<

You can now perform a Homing Attack Switch and fire off Knuckles as a missile!

To perform the first move press the custom 1 button when switching from Sonic to Knuckles in the air, this will automatically home you in on the closest enemy.

To perform the missile move, switch from Knuckles to Sonic in the air, if you're near enemy and you press the custom 1 button, Knuckles who was gliding around you will seek to destroy that enemy!


3. Character Specific Power-Ups:

In-game you can earn power-ups specific to Sonic and Knuckles by defeating a number of enemies.

TBmsmhz.gif


Destroy five enemies to summon a "POWER-UP"!
The power-up rewards the character who defeated the most enemies out of 5.
E.g. If Sonic defeats 3 enemies and Knuckles defeats 2, Sonic will be rewarded as he destroyed 3/5 while Knuckles only destroyed 2/5.


ed2lvhq.png


In order from left to right:
1) Speed Boost (Sonic) - Sonic gains a speed boost

2) Hyper Thok Ability (Sonic) - allows Sonic to perform a charged thok action. Hold down the custom action 1 button while spindashing to charge, once fully charged press the spin button in mid-air to perform a hyper thok.

3) Glide Plus (Knuckles) - Knuckles gains a jump height boost and is now able to glide faster than before.

4) S.T.O.M.P (Knuckles) - allows Knuckles to perform a stomp action that can either stun or destroy bots. Press the spin button after to jumping to perform this move.


T0cNrA3.gif

mxRwO9S.gif


- This ability isn't in version 1.1's file.
5ZCVqDu.gif

>>NEW FEATURE<<

You can now toggle between using the character's secondary power-up ability and current shield ability by pressing the custom 2 button!

kPEwTmW.gif

Changelog (v1.5):
============
A) MISC
============
1) Minor changes to script to avoid clashes with other character mods.
Changelog (v1.4):
============
A) MISC
============
1) Power-up hud no longer shows for other vanilla characters.
2) Character switch orb no longer appears for vanilla characters.
3) Shield ability can no longer be toggled if not Sonic or Knuckles.
4) Invincibility and elemental fire trails now add to the player's kill count.
Changelog (v1.3):
============
A) MISC
============
1) Resolved issue with the error message: "attempt to index local 'player' (a nil value)" - caused by Spincushion being shot at and killed by another enemy or projectile when flipped over.
2) Fixed "Drop Dash" working in dustdevils and when dying in a pit.
3) Altered the dropdash charge mechanic, letting go off of the jump button will now reset the amount of energy the player had stored up for the dash. Player can attempt to dropdash again if they character switch in the air or let go/jump off of a rope pulley.

Changelog (v1.2):
============
A) MISC
============
1) Adjusted the player's secondary character switching abilities. A lock-on arrow
will now show up if an enemy is nearby.
2) Re-adjusted distance and angle that you can lock-on to enemies.
3) Knuckles Missile no longer one-shots enemies with more than 2 health points.
4) Player no longer has to land on the ground to be able to switch again.
5) Changed line 211 in "MobjDeath" hook (under POWR.lua).
6) Power-Up item now spawns quicker and moves faster.
Changelog (v1.1):
============
A) HUD
============
1) Disabled power-up HUD appearing in special stages.
2) Power-up HUD positionings work for all resolutions.
3) Added icons to show the player whether they can use shield abilities or
secondary power-up abilities.

=========================
B) CHARACTER SWITCHING
=========================
1) Cannot switch from Knuckles to Sonic after a glide/stomp landing.
2) Fixed switching during super form transformation.
3) Can no longer switch characters in NiGHTs when touching the floor.
4) Added character switching attacks: Homing Attack & Knuckles Missile.
5) "Character Switch Orb" positioning fixes and display offset changes.

==========================
C) CHARACTER ABILITIES
==========================
1) Earthbreaker renamed S.T.O.M.P (Super Terrifying Object Mega Plummet).
2) Fixed S.T.O.M.P causing player to be stuck in goop, springs and objects that
carry the player.
3) S.T.O.M.P now has a longer quake and Knuckles stalls for a bit after landing.
4) S.T.O.M.P no longer summons rocks and has different effects on enemies.
5) Knuckles no longer plummets to the ground when using the spin button to
disembark from an object or wall that he's clinging on while having the
S.T.O.M.P ability.
6) If Knuckles is hurt/killed while stomping he will change to the appropriate
frames.
7) Character switching attacks no longer get stuck in an infinite chasing loop.

============
D) MISC
============
1) Tails can no longer affect the player's kill count
2) Dropdash bug fixed: player would be in there standing frame for 1 tic before
initiating the dropdash move (discovered thanks to CobaltBW experiencing a
similar problem).
Credit to Bomberman Generations for the edited DSEARTH sound.
Credit to Sonic Heroes for the edited DSHYPTHK sound.
Credit to LJ Sonic for helping me figure out how teleport an object to the
player's sides.
Credit to Aze and Tatsuru for helping understand how to make a "MobjDeath"
hook that's exclusive to mobj with the MF_ENEMY flag.
Credit it Faye (and LJ Sonic) for the hash table idea.
Credit to Steel and Radicalious for letting know about the G_IsSpecialStage
function.
Credit to CobaltBW and Amperbee/RapidGame7: dropdash bug fix
- Hugging Rosy crashes the game, so don't let her hug you even if it's tempting.

- Charged Drop Dash can be performed on the surface of goop when not sinking in it.

- You can cancel out character switching change and animation by spinning, jumping or pressing the custom 1 button during the change.

- If a character has all of their character specific power-ups then collecting an the power-up item will reward them with points added to their score.

- Power-Up's are not usable in boss levels or special stages.

- Switching from Super Sonic while floating to Knuckles will still trigger your character switch move.

- Hyperthok can be used when SuperSonic is floating.
 

Attachments

  • PowerUpStuff2.png
    PowerUpStuff2.png
    60.4 KB · Views: 767
  • VL_Sonic&KnucklesPlus-v1.5.pk3
    164.4 KB · Views: 3,821
Last edited:
This feels absolutely broken sometimes, but in an enjoyable and... balanced? way. I believe I may have somehow broken the "switching in the air once" part however, and as far as I know this was by either playing a boss level or switching in it.
 
I didn't even play it yet but i can see it's a good LUA, even though it feels broken it's amazing.
 
This feels absolutely broken sometimes, but in an enjoyable and... balanced? way. I believe I may have somehow broken the "switching in the air once" part however, and as far as I know this was by either playing a boss level or switching in it.

Yeah it will definitely feel like you're breaking/cheesing through the game due to how flexible the player is now. This gameplay was actually designed for an abandoned project (which I will port and release before moving on).

While I have already fixed a few bugs prior to release, I haven't bumped into any issues with bosses, could you show me a screenshot of gif of the issue so that I can work on it?
 
This makes me wish Sonic & Knuckles would actually get an actual hack where you could switch between the two at any time in the game (basically like in Classic Heroes)
 
The mod is pretty well done, but I found a bug when testing it 2 days ago. When you use the "earth breaker" in a spring, Knuckles stays stuck to the spring without bouncing
and without doing his ability, Sadly i cant give you a gif because i dont know how.
 
The mod is pretty well done, but I found a bug when testing it 2 days ago. When you use the "earth breaker" in a spring, Knuckles stays stuck to the spring without bouncing
and without doing his ability, Sadly i cant give you a gif because i dont know how.

I'll be posting an update soon, I've actually fixed most of the bugs I had found from the time I had submitted the file. It's just that I've been busy adding some new features and bringing back scrapped ones too.
 
Update!

This mod has been updated!

Go check out version 1.1!

EDIT: Forgot to update info on player switching abilities, check the original post again in a few minutes.

Changelog v1.1:
Changelog (v1.1):
============
A) HUD
============
1) Disabled power-up HUD appearing in special stages.
2) Power-up HUD positionings work for all resolutions.
3) Added icons to show the player whether they can use shield abilities or
secondary power-up abilities.

=========================
B) CHARACTER SWITCHING
=========================
1) Cannot switch from Knuckles to Sonic after a glide/stomp landing.
2) Fixed switching during super form transformation.
3) Can no longer switch characters in NiGHTs when touching the floor.
4) Added character switching attacks: Homing Attack & Knuckles Missile.
5) "Character Switch Orb" positioning fixes and display offset changes.

==========================
C) CHARACTER ABILITIES
==========================
1) Earthbreaker renamed S.T.O.M.P (Super Terrifying Object Mega Plummet).
2) Fixed S.T.O.M.P causing player to be stuck in goop, springs and objects that
carry the player.
3) S.T.O.M.P now has a longer quake and Knuckles stalls for a bit after landing.
4) S.T.O.M.P no longer summons rocks and has different effects on enemies.
5) Knuckles no longer plummets to the ground when using the spin button to
disembark from an object or wall that he's clinging on while having the
S.T.O.M.P ability.
6) If Knuckles is hurt/killed while stomping he will change to the appropriate
frames.
7) Character switching attacks no longer get stuck in an infinite chasing loop.


============
D) MISC
============
1) Tails can no longer affect the player's kill count
2) Dropdash bug fixed: player would be in there standing frame for 1 tic before
initiating the dropdash move (discovered thanks to CobaltBW experiencing a
similar problem).
 
Last edited:
I'm really enjoying playing with this! I like the tag team mechanic a lot, feels like what Sonic Advance 3 should have been, and the power ups actually give some incentive to go after enemies. I'm looking forward to the eventual ports of the stages from your old project since I wanna see levels that take advantage of the duo.

There are some minor issues though. Like the power-up sphere moves really slowly and I don't like having to wait for it even when I'm just barely inching forward and still outpacing it. And the new homing attack on switching to Knuckles is... inconvenient sometimes due to how SRB2's enemies tend to be. It catches me off guard a lot and doesn't feel natural. Also after playing for a while, the game started periodically throwing up errors for line 212 in the POWR script, saying that "mo" was a nil value. I looked and it seems like that "or" on line 211 shouldn't be there, since the very next part depends on mo having a value and won't work otherwise.
 
Update v1.2 now out!

v1.2 is out!

Changelog (v1.2):
============
A) MISC
============
1) Adjusted the player's secondary character switching abilities. A lock-on arrow
will now show up if an enemy is nearby.
2) Re-adjusted distance and angle that you can lock-on to enemies.
3) Knuckles Missile no longer one-shots enemies with more than 2 health points.
4) Player no longer has to land on the ground to be able to switch again.
5) Changed line 211 in "MobjDeath" hook (under POWR.lua).
6) Power-Up item now spawns quicker and moves faster.

DQyLzvA.gif


You can switch characters more than once without having to land on the ground now!

There are some minor issues though. Like the power-up sphere moves really slowly and I don't like having to wait for it even when I'm just barely inching forward and still outpacing it. And the new homing attack on switching to Knuckles is... inconvenient sometimes due to how SRB2's enemies tend to be. It catches me off guard a lot and doesn't feel natural. Also after playing for a while, the game started periodically throwing up errors for line 212 in the POWR script, saying that "mo" was a nil value. I looked and it seems like that "or" on line 211 shouldn't be there, since the very next part depends on mo having a value and won't work otherwise.

Thank you for bringing these up, dunno why I put an or there in that part of the script but oh well. I've reworked the attacks by using the lock-on feature as well as decreasing the range of the angle and vertical distance that you lock-on to enemies.


EDIT: I've decided not to keep the attachments of the older versions up, since there are a number of errors with those mods. If you do however want those files for reasons, then just drop me a pm on this site or message me on discord.
 
Last edited:
I hope this LUA could inspire another Sonic fangame (or hack) to have that character switching mechanic as its main gimmick!


I really like that gameplay method!
 
Another Update: v1.3

Cause I keep missing things...

Changelog (v1.3):
============
1) Resolved issue with the error message: "attempt to index local 'player' (a nil value)" - caused by Spincushion being shot at and killed by another enemy or projectile when flipped over.
2) Fixed "Drop Dash" working in dustdevils and when dying in a pit.
3) Altered the dropdash charge mechanic, letting go off of the jump button will now reset the amount of energy the player had stored up for the dash.
Player can attempt to dropdash again if they character switch in the air or let go/jump off of a rope pulley.
 
Last edited:
Another weird thing, turns out the power ups HUD appears for every character and not just Sonic and Knuckles. The enable/disable shield abilities button also does.

I like the homing target, it's pretty helpful. Though I'd like it if it didn't show up while you were currently Knuckles since you won't do the homing attack on switching. Maybe it could be a unique Knuckles icon to signify that it's only on switching?

EDIT: Also invincibility and fire trails don't seem to reward power ups ever. Is that intended?
 
Last edited:
Another weird thing, turns out the power ups HUD appears for every character and not just Sonic and Knuckles. The enable/disable shield abilities button also does.
Honestly whenever I load up this mod I forget about other characters haha.

I like the homing target, it's pretty helpful. Though I'd like it if it didn't show up while you were currently Knuckles since you won't do the homing attack on switching. Maybe it could be a unique Knuckles icon to signify that it's only on switching?
I let it show up for him to help the player know that he can be fired off as a missile. But I can see how nonsensical this is.

EDIT: Also invincibility and fire trails don't seem to reward power ups ever. Is that intended?
This is intentional, in fact it's actually based on a rule I set for myself when implementing this character switching mechanic into my other project. In that project, the levels I made had an abundance of enemies. I thought to myself that you these power-ups should feel earned, you gotta work hard for them, no shortcuts allowed.
Buuuuut I guess that rule doesn't have to apply to vanilla srb2, especially since as the levels go on, less and less enemies are roam the places.

Fun Fact: Originally the power-ups were rewarded by touching starposts.

Thanks for taking the time to give feedback, I'll see what I can do for the next update.
 
I figured there'd be a deliberate reason to do that, good to know. If anything though, that rule does work out better in a few custom levels that also happen to have lots of enemies. I don't imagine that holding up as time goes on though.

Happy to give feedback though! This is quickly becoming one of my more favorite addons as of late. It scratches that Sonic Heroes itch but in a unique way that fits SRB2 pretty nicely. Also gets me to play as Knuckles more.

And before I forget, the switch button works on other characters too. It doesn't swap you to anything else, just spawns the visual effect but it errors real bad while running, at least as Metal.
srb20109.png
 
The drop dash seems a little slow, why is that the case? Doesn't even go sonic running speed (or it doesn't look like at least.)
 

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top