SRB2 Message Board  

Go Back   SRB2 Message Board > Sonic Robo Blast 2 > Releases > Lua

Reply
 
Thread Tools
Revised character and shield abilities Details »»
Revised character and shield abilities
Version: 4, by Katmint Katmint is offline
Developer Last Online: Apr 2020

Version: SRB2 Rating: (6 votes - 3.33 average)
Released: 01-06-2020 Last Update: 02-23-2020 Installs: 6
Characters Scripts Re-Useable Content Sprites/Graphics

This is a script I made to adjust character and shield abilities to suit my tastes. Since character balance and such is always a hot topic, I decided to release it here to fan the flames. The list of changes can be found in the spoilers below. Permission is not required to use any of these abilities for your own project.

Spoiler: Character ability changes
~Sonic~
-New ability Instashield: press Spin during a jump when not equipped with a shield
--Instashield renders Sonic invulnerable for a short time and expands the radius of his attack range
--Unlike the 2.1 Instashield, this version is fairly accurate to the source material in function and also less buggy
-Thok will always provide at least 10 speed
--Minimum thok speed reduced to 50, down from 60
--Hold spin while landing after a thok to carry your momentum into a spin
-Increased shield scale to 1.05

~Tails~
-True holdfly implemented (not the multiability holdfly)
-Reduced max spindash charge to 55, down from 70
-Fly timer reduced to 6 seconds, down from 8 seconds

~Knuckles~
-Cannot regain speed in the air after canceling a glide until the landing animation is complete
-Momentum is no longer halted when landing from a canceled glide
-Base glide speed increased to 30, up from 25
-Can hold spin while landing during a glide to transfer momentum into a spin rather than skid to a stop

~Amy~
-Bouncing off an enemy or monitor with Twinspin grants bonus upwards momentum while jump is held
--Performing consecutive bounces results in diminishing returns for this bonus
-Striking the ground with a Twinspin will cause a small rebound
--Rebound will not occur when landing on spikes or goop
-Significantly reduced the ending lag of hammering while on the ground
-Twinspin now refreshes after a short cooldown instead of upon striking an enemy
-Act clear name shortened to Amy to prevent text overlap

~Fang~
-Reduced ending lag and momentum loss of shooting
-Can press spin at any speed on the ground to shoot the nearest valid target
-Initiating or ending Bounce no longer cuts momentum
-Bouncing with the Elemental Shield will spawn fire upon impact
-Reduced jump factor to 112 fracunits, down from 120
-I would have increased his shield scale but it takes an unreasonably large shield to cover him properly

~Metal Sonic~
-Hover ability heavily reworked
--Metal Sonic now hovers for up to 2 seconds while emitting sparks to damage enemies
-New ability Charge: Hold spin in the air with no shield to stall and charge dash mode
--Once dash mode is ready, you'll rocket forwards
-Will always enter dash mode shortly after a spindash becomes fully charged
-Dash mode grants an instant bonus to jumpfactor instead of a gradual increase
-Increased shield scale to 1.05
-No longer skids

~All~
-Minimum spindash speed increased to 25, up from 15
-Nospin characters can always use their ability while in the air regardless of whether they are jumping or not
-Super characters charge spindash instantly
-Toss flag can be used to cancel super or remove your shield
Spoiler: Shield ability changes
-Attraction Blast homing attack can be chained as long as you don't miss
--Momentum from striking an enemy is reduced to make the ability more controllable

-Force Stop now freezes your character in place while spin is held and will redirect your old momentum to the direction you're currently facing when spin is released

-Intentionally triggering Armageddon Shield's explosion will cause it to leave behind an Ash Shield
--Ash Shield has no ability but will damage the enemy that destroys it

-Elemental Stomp forces roll and no longer cancels momentum
--Cosmetic appearance of Elemental Shield adapts to the environment

-Flame Burst can still damage enemies when used by nospin characters

-Bubble Bounce reduces momentum on impact instead of canceling momentum on use

Download Now

File Type: pk3 VL_Revi-v4.pk3 (257.9 KB, 279 views)

Screenshots

Click image for larger version

Name:	ezgif-4-1bf115f9928d.gif
Views:	660
Size:	3.49 MB
ID:	25105   Click image for larger version

Name:	ezgif-2-2722e950bb4e.gif
Views:	543
Size:	5.33 MB
ID:	25106   Click image for larger version

Name:	srb20010.gif
Views:	454
Size:	6.53 MB
ID:	25107   Click image for larger version

Name:	srb20011.gif
Views:	435
Size:	7.05 MB
ID:	25108   Click image for larger version

Name:	srb20015.gif
Views:	365
Size:	4.57 MB
ID:	25109  

Click image for larger version

Name:	srb20019.gif
Views:	353
Size:	5.13 MB
ID:	25110   Click image for larger version

Name:	srb20027.gif
Views:	370
Size:	7.26 MB
ID:	25111   Click image for larger version

Name:	srb20038.gif
Views:	341
Size:	6.81 MB
ID:	25112   Click image for larger version

Name:	srb20043.gif
Views:	350
Size:	6.91 MB
ID:	25113   Click image for larger version

Name:	srb20004.gif
Views:	79
Size:	4.73 MB
ID:	26924  

Show Your Support

  • The author of this addon has given explicit permission for its content to be re-used and/or reproduced.

Comments
Old 01-21-2020   #22
Rumia1
Backseat Developer
 
Rumia1's Avatar
Default

Ok I was going to shrug off the lag mentioned earlier as maybe my pc isn't powerful enough either, but when you compare having just this script loaded:
https://imgur.com/a/bgSMgRK
to having all these other lua-based mods loaded:
https://imgur.com/a/UtpoPUT
You have to wonder what's causing the lag to happen with this one. Perhaps you have a MobjThinker hook that runs for all objects?

While yes, there is still lag in the second set of gifs, ACZ is nearly unplayable due to how low the framerate drops when this mod is loaded compared to loading all the others.
__________________
Quote:
Originally Posted by Cirno
Egguman-senpai...

Last edited by Rumia1; 01-21-2020 at 03:43 AM.
Rumia1 is offline   Reply With Quote
Old 01-21-2020   #23
Katmint
 
Katmint's Avatar
Default

Quote:
Originally Posted by Rumia1 View Post
Perhaps you have a MobjThinker hook that runs for all objects?
No. The largest section of the lua is a MobjThinker hook specifically for MT_PLAYER, which is being changed into a PlayerThink hook for v2 once 2.2.1 is out. I can't reproduce any framerate drops on my end either way though.

Last edited by Katmint; 02-19-2020 at 02:59 AM.
Katmint is offline   Reply With Quote
Old 01-21-2020   #24
carlrev
The living revolution
 
carlrev's Avatar
Default

I recently cleaned my PC and I can't tell if my frame rate slightly increased by the game or by my PC. Either way, I will admit that the frame rate for CEZ2 on my end went from 8 FPS to 16-19 FPS. Tell me: what does this build do exactly?

---------- Post added at 02:43 PM ---------- Previous post was at 01:49 PM ----------

OK. So now I think there is no difference. Other than that this makes certain levels lag more. When enabling this the normal framerate for CEZ2 on my end is around 8-18 FPS. But when running the normal version and disabling it from my AMD Graphics Config, CEZ2 runs at 18-26 FPS (sometimes almost perfect framerate for a split-second).
__________________
Greetings from 2391!
carlrev is offline   Reply With Quote
Old 01-22-2020   #25
Zanda_Sama
Default

I think Amy should only bounce that high if you hold the button, because it's kinda weird when you go extremely high when you're not trying to. I get this helps with Amy speedruns, but still. You could nerf it if you think it needs to. I'm probably in the minority. As i'm the only one with a wrong mindset.
Zanda_Sama is offline   Reply With Quote
Old 01-23-2020   #26
Rumia1
Backseat Developer
 
Rumia1's Avatar
Default

I think I proved my point last time so I won't be doing the comparison against other mods this time and purely rely on the new exe. For a control test, here's the base exe's performance. and here's with the mod loaded.
__________________
Quote:
Originally Posted by Cirno
Egguman-senpai...
Rumia1 is offline   Reply With Quote
Old 01-23-2020   #27
Katmint
 
Katmint's Avatar
Default

The issue is you're already struggling to run the game at full FPS with nothing loaded, and as I stated earlier, this script is rather large. None of those who tested this prior to release had any issues with frame drops either.
You'll just have to hope the optimisations I've made for v2 improve the performance because there's not much I can really do to troubleshoot that.

Last edited by Katmint; 01-23-2020 at 10:43 PM.
Katmint is offline   Reply With Quote
Old 01-27-2020   #28
Goldenhog
Wandering Protagonist
 
Goldenhog's Avatar
Default

I have a request for v2. Would it be possible to separate the changes into different Lua lumps? It'd make it easier to tinker with this.
__________________
Quote:
Originally Posted by Asagi Asagiri
I need power over the people! The stupid, STUPID people!
Goldenhog is offline   Reply With Quote
Old 01-29-2020   #29
Zanda_Sama
Default

On the other hand... add console commands to have insta-shield be activated by pressing A in midair, or other random customizable options... why would you want it activated with A? Well, because you could. Just a suggestion
Console commands are awesome yo.
Also could you tweak the bubble shield from Sonic 3 to keep your momentum instead of deleting it when bouncing?
random suggestions to maybe implement
oh and also maybe buff fire shield move
Zanda_Sama is offline   Reply With Quote
Old 01-31-2020   #30
carlrev
The living revolution
 
carlrev's Avatar
Default

Nope. I swear, it's this lua. I've tried even bigger luas (up to 66 kB) and CEZ2 ran at 35 FPS as normally. It seems that removing the Insta-Shield puts it to normally.
__________________
Greetings from 2391!

Last edited by carlrev; 02-02-2020 at 07:28 AM.
carlrev is offline   Reply With Quote
Old 02-12-2020   #31
Goldenhog
Wandering Protagonist
 
Goldenhog's Avatar
Default

Bug: The instashield doesn't work properly after launching yourself off of the CEZ swings. The instashield sound plays but neither the instashield hitbox or its graphic show up.
__________________
Quote:
Originally Posted by Asagi Asagiri
I need power over the people! The stupid, STUPID people!
Goldenhog is offline   Reply With Quote
Old 02-13-2020   #32
Wosh
Idiot
 
Wosh's Avatar
Default

I love these revisions but I do think the different changes (shield changes, individual character ability tweaks etc.) should somehow be separated so that it would be possible to pick and choose which ones to have active. Like, the shield edits alone could just be its own mod without the character stuff.
Wosh is offline   Reply With Quote
Old 02-18-2020   #33
Katmint
 
Katmint's Avatar
Default

Version 2 is now available. Note that this update requires at least patch 2.2.1 to function. It will not work in 2.2.0.

~Changelog~

Nospin characters can always use their ability while in the air regardless of whether they are jumping or not.

Twinspin refreshes after a 5/8 second cooldown instead of upon striking an enemy. This is technically a reversion since it's how 2.1 Rosy's twinspin worked, albeit with a slightly shorter cooldown this time.

Amy's extra upwards boost from bopping an enemy only applies while jump is held.

Metal Sonic's hover time limit has been increased to 2 seconds, up from 0.85 seconds. Restored ability to cancel hover by letting go of jump.

Instashield and Charge are now bound to Sonic and Metal Sonic's skins instead of to thok and float respectively. This should increase compatibility with other mods.

Rebound cuts momentum upon impact. This prevents the ability from being a strictly better version of the ground attack.

Added air brake to Sonic. Press spin after thokking to stop instantly, similar to the Force Shield's vanilla ability. This works well with 2.2.1's new dropshadows.

Bubble Bounce reduces momentum upon impact instead of canceling it on use.

Attraction Blast renders the player invulnerable during its homing attacks. This increases the utility of the shield and prevents awkward situations such as being given an attraction shield immediately before a spiked enemy in ERZ1.

Spoiler: bug fixes
✓ Metal Sonic's charge timer not resetting when the ability was canceled or interrupted
✓ Instashield not working after launching from a CEZ chain
✓ Knuckles occasionally getting speed capped after gliding into a spring
✓ Charge launch ignoring springs
✓ Hover sound not stopping when canceled early
✓ Elemental Stomp not canceling when bounced upwards (This is vanilla behavior but it's stupid)
✓ Ash Shield damage checks

Last edited by Katmint; 02-18-2020 at 11:01 PM.
Katmint is offline   Reply With Quote
Old 02-18-2020   #34
Zanda_Sama
Default

I actually had a similar idea to the "Hammer Flip" (which i assume "rebound" is based off of), as in if you press A after hitting the ground with the hammer, you could leap forward (instead of upward) and gain momentum.
That and hammering a spring forcing Amy to be in ball form would be good, as springs are a lot of times placed in front of slopes, so Amy can use them... that or you can just use Cobalt's Momentum Mod... or Rumai's classic if that works, then again that removes thok so i never use it casually, since thok is a casual dream.
Same reason I don't use the peelout, Alt Sonic has something like the peelout, but doesnt have the peelout run animation, and you can only move after the stars glow around you as opposed to whenever you want, like a spindash (or amy's peelout in advance 2).
I kinda exploded about ideas for Amy in the suggestions forum. I mainly kinda liked the idea of Amy having a crouch for custom1, i suppose thats already out the window for the actual game, but as a mod maybe. Anyway a Hammer Jump thats activated by crouching and pressing spin would be balanced, as it wouldn't be as mobile as Fang's bounce. Amy having a "sorta roll" by using the Big Step [Amy does a hop] (crouch + jump) and then pressing spin during that would make Amy fall on her face and have a semi-roll thing... i mean it pulls from her first playable appearance in a 2D game.

I'm not asking for this in here, as that'd be a SUPER big change, but maybe the spin when hammering a spring may be good enough, as that allows Amy to use a lot more slopes than she previously could in vanilla srb2. Also makes it so some mods that want to use slopes can have a spring there, Or a mod that ALREADY has a spring before a slope, will make the level more doable with Amy.
I like the idea of a nerfed hammer jump, to where its more situational, instead of Amy having super good mobility, and skipping most jumps with it. She can move after performing the move, but she has to come to a complete stop, making it less like Fang's gameplay. And just more balanced in general. Maybe it'd be as good as Amy with the Whirlwind jump, I don't want you to give the player too much height.
[Random Amy Ideas]

Last edited by Zanda_Sama; 02-18-2020 at 11:22 PM.
Zanda_Sama is offline   Reply With Quote
Old 02-19-2020   #35
Katmint
 
Katmint's Avatar
Default

I made a quick fix to v2 resolving a few issues with Metal Sonic.

While I'm here, have some prerelease trivia: The new Force Stop's initial draft in was an ability that knocked away nearby enemies and reflected projectiles. It looked neat, but wasn't very useful in practice.


An experiment with giving Amy a vault ability after impacting the ground with a twinspin. It didn't really suit her gameplay so I wound up removing it.


Also, the Elemental Shield is supposed to have a lava form in addition to its underwater form, but as anyone who has gone surfing in RVZ1 can attest to, SRB2 is not very good at detecting when you're touching lava.
Attached Thumbnails
Click image for larger version

Name:	srb20022.gif
Views:	371
Size:	2.29 MB
ID:	26881   Click image for larger version

Name:	srb20006.gif
Views:	374
Size:	2.03 MB
ID:	26882  

Last edited by Katmint; 02-19-2020 at 09:39 AM.
Katmint is offline   Reply With Quote
Old 02-19-2020   #36
Zanda_Sama
Default

Yeah I expected the Vault ability to be slightly faster to execute, and go much less distance, just for gaining momentum. Hammer Flip but instead of up, you go forward or wherever you're facing, like a vault.
I also agree the force shield reflecting projectiles looks neat.
BTW the vault ability, i expected to be able to be executed by pressing jump in the middle of hammering the ground or a badnik or whatever. Basically just for making hammering enemies less slow... then again you reduced the hammer lag so idk if this is needed anymore.

I liked the idea of a hammer vault though, and I'm glad you experimented and came to your own conclusion. I just want to know if hammering a spring making amy in her spin frames is even possible with lua, i mean i know lua isn't very limited, but it'd probably be pretty difficult.

Last edited by Zanda_Sama; 02-23-2020 at 08:22 AM.
Zanda_Sama is offline   Reply With Quote
Old 02-19-2020   #37
Goldenhog
Wandering Protagonist
 
Goldenhog's Avatar
Default

You got rid of the Whirlwind Shield's little cosmetic updraft thing :(

The Flame Aura now resets when hitting an enemy during a dash. This isn't mentioned as a feature anywhere so I assume it's the code for the Attraction Shield's reusable homing seeping through. The Bubble Wrap is also kinda busted - the bounce animation no longer plays, it plows straight through enemies instead of bouncing off of them and the character can be seen in their standing/walking frames for a split second (if you mash fast enough, you can even get a spindash started, though it doesn't do anything).

I'm also curious about this code:
Spoiler:
Code:
if (inflictor) and (inflictor.valid) and (inflictor.player) and (inflictor.player.charflags & SF_NOJUMPDAMAGE) and (inflictor.player.pflags & PF_JUMPED) and not (inflictor.player.charflags & SF_STOMPDAMAGE)
	if not (inflictor.player.panim == PA_ABILITY) and not (inflictor.player.panim == PA_ROLL) and not inflictor.player.powers[pw_invulnerability] and not inflictor.player.powers[pw_super]
		if not inflictor.player.powers[pw_flashing]
			P_DamageMobj(inflictor, sonic, sonic)
		end
		return false
	end
end

Is that supposed to be for the Battle mod?
__________________
Quote:
Originally Posted by Asagi Asagiri
I need power over the people! The stupid, STUPID people!
Goldenhog is offline   Reply With Quote
Old 02-20-2020   #38
Katmint
 
Katmint's Avatar
Default

Version 3 is now available. This fixes several bugs and includes a few changes that were supposed to be in Version 2.

Quote:
Originally Posted by Goldenhog View Post
I'm also curious about this code:
That's code related to a scrapped feature which wasn't actually meant to be in there except I somehow saved a WIP version of v2 over the final version right before I released it and didn't notice. As you can imagine, there were quite a few things that didn't function correctly. The shields should be in working order now.

Also, I removed the whirlwind particles because they looked rather half-baked. I do think the shield needs a fancier effect but I've decided that's outside the scope of this script.
Katmint is offline   Reply With Quote
Old 02-20-2020   #39
V1ral
 
V1ral's Avatar
Default Possible Whirlwind flourish?

Quote:
Originally Posted by Katmint View Post
I do think the shield needs a fancier effect but I've decided that's outside the scope of this script.
Yeah, it would be nice to have at least some minor change for Whirlwind to not feel left out, even if only aesthetic. Maybe it could at least put the player into their spring-launched sprites? Perhaps force the character's direction (but not momentum) to spin while mid-double-jump as well, but I can see that part being an issue to some extent.
__________________
Knight needs caffeine badly
V1ral is offline   Reply With Quote
Old 02-22-2020   #40
Elyos03
 
Elyos03's Avatar
Default

How do I split the Insta-Shield part?
__________________
"We're friends now."
"But I want to kill Goku."
"Most of my friends did."
Spoiler:
DO NOT look into my oldest posts. They now make me cringe like and YouTuber watching its very first video.
Elyos03 is offline   Reply With Quote
Old 02-23-2020   #41
Katmint
 
Katmint's Avatar
Default

Version 4 is now available. This update contains a thok revamp and more bug fixes.

~Changelog~
Thokking will always provide at least 10 additional speed

Minimum thok speed reduced to 50, down from 60

Holding spin while landing will transfer thok momentum into a spin*

Removed the instant stop feature introduced in v2

Vanilla float bug has been fixed


These changes make the thok more dynamic and less button mashy. The reduction in base speed also helps it not feel awful to use in simple mode.


*this functionality was previously a new property of the Flame Shield
Spoiler: bug fixes
✓ Stepping up while charging locking you into the charge state
✓ Internal cleanup of hover
✓ Hover not breaking monitors
✓ Charge not being stopped by damage a short time after launch
Note that there is a known issue where taking damage during Metal Sonic's hover has a rare chance to mute the ring loss sound. This cannot be fixed because S_StopSoundByID isn't exposed to Lua for whatever reason.
Quote:
Originally Posted by Elyos03 View Post
How do I split the Insta-Shield part?
Delete everything not related to the instashield. Instashield related code is always placed at the top of any hooks relevant to it.

I'll probably split this into individual character scripts as well as a shield changes only script later once I've finalized the main script. I don't want to update 7 different files.
Attached Thumbnails
Click image for larger version

Name:	ezgif-2-86f1fdb9dbf1.gif
Views:	137
Size:	7.66 MB
ID:	27050  

Last edited by Katmint; 02-23-2020 at 05:07 AM.
Katmint is offline   Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:37 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2020, vBulletin Solutions, Inc.