Lat'

Absolute territory where
Kart Krew™️
Silver leaps through time to once more end up in our cursed timeline!
But this time, he's got a whole 300 something polished up sprites, some suntan, and has honed his telekinetic powers!

attachment.php


Abilities & Tips:
  • Float: Double jump and hold jump to float. You can start floating again after letting go if you still have energy.
  • PsychoBoost:While floating, tap spin to start boosting forward. You can adjust your height with the movement keys. In this state, you will destroy spikes, floors, walls and weak enemies. Be careful, this ability uses a lot of energy up!
    • Tip: If you hit the floor while using Psycho Boost, you will start spinning.
  • Telekinesis:On ground, tap spin near targets (marked by a teal arrow) to lift them. Press spin again to toss them. If more targets are nearby when you throw, they will automatically home in to deal damage.
    • Tip: You can use the Ringslinger weapon select buttons to throw individual objects. You can also drop them by tapping Toss Flag.
    • Tip: Holding Toss Flag will enable friendly Silver players to grab you and even use you as projectile! You can press Toss Flag again to be let go off.
Be mindful, all of those abilities use your energy meter to a varying degree. This meter will recharge on its own over time if you aren't using your abilities.

Shield Abilities:
Silver cannot use regular Shield abilities. Instead, they will enhance his Psycho Boost!
Whirlwind (passive):
Drastically increase the vertical angle cap of the boost, allowing Silver to travel much higher than usual.

Attraction: Magnet Dash:
attachment.php

After activating your boost, press spin again to dash towards nearby enemies. You can hold spin to keep chaining enemies if they are near one another!

Elemental: Dash Plummet:
attachment.php

Drastically increase the downwards angle cap and speed. Hold down to plummet to the ground and destroy enemies near you as you land. You are also immuned to wall bumps when going down.
You are also able to dash at full speed underwater.

Force: Force Hold:
attachment.php

After dashing, press and hold spin again to halt all your momentum. You can turn and adjust your vertical angle while on hold, and the energy cost is drastically reduced. Let go off of spin to redirect yourself in your chosen direction.

Armageddon: Dash Blast::
attachment.php

Your boost will constantly be at the maximum possible speed. Hitting a wall will detonate the shield and stun you.

Thunder: Magnet Pull:
attachment.php

Pulls nearby enemies into you, damaging them.

Flame: Flame Dash:
attachment.php

Increases your maximum boost speed as if you had constant Super Sneakers.

Bubble: Plummet Bounce:
attachment.php

While dashing, hold down to plummet to the ground similar to the Elemental Shield. Upon hitting the ground, you will bounce back up and will be able to start floating again.

attachment.php

attachment.php

attachment.php

attachment.php

attachment.php

attachment.php

attachment.php

2.5 (10/07/2020)
  • Added brand new Shield Abilities for Silver. Check the OP for details!
  • Silver config is now automatically generated and updated in luafiles/silverconfig.dat
  • Fixed an issue with score being awarded in BattleMod when it shouldn't have been.

2.4 (23/05/2020)
Fixes:

  • Fixed an oversight where thrown objects would consider any other object as solid on contact and get damaged. Only Solids, Enemies, Shootables and Missiles will count as collision now.
  • Fixed an error in the NiGHTs code which resulted in a warning and drill afterimages not matching the player's roll angle.
  • Fixed the NiGHTs drill sprites being of inconsistent sizes which caused horrible jitter with rotsprite.
  • Simple Mode controls (or lmaogalog) can now use strafe keys to turn while using Psycho Boost. (This is a hack and is not 100% accurate with the actual turn keys)
  • Simple Mode controls (or lmaogalog) will no longer make you activate Psycho Boost backwards if you were holding down to go down before activation.

2.3 (10/04/2020)
Fixes:


  • Fixed a game freeze involving Fang dying from his own bombs thrown back at him.
  • By extension, this should fix some cases where missiles thrown don't die or continuously die on another object.

Battlemod:
  • Regular thrown objects no longer damage players with 1 DEF or more and will knock them back instead.
    • Projectiles thrown back at you will however use their own properties to check whether or not you should be damaged.
  • Thrown objects only home in for 10 tics (About 1/3rd of a second) instead of a full second.
  • Fixed an issue where Silver could grab Tails' buzzes and bully him. That was fun while it lasted.
  • Silver can no longer grab Amy's love hearts.

2.2 (28/03/2020)
  • Battlemod:
    • Fixes:
      • Fixed Silver's projectiles not functionning at all in BattleMod.
      • Fixed Ringslinger abilities not working at all in Ringslinger gamemodes if BattleMod was added.
    • Balance changes:
      • Psycho Shock base speed changed from 24 to 32. It should land more reliably.
      • Psycho Boost now gets melee priority depending on how fast it's going, starting at 1 attack 1 defence, all the way up to 4 attack and 4 defence.

2.1 (24/02/2020)
  • Fixes:
    • Fixed Silver's aura colour being wrong because of 2.2.2's new colours. This should now be future proof thanks to R_GetColorByName.
    • Fixed interactions with the Skim enemies.
    • Fixed a small ringslinger oversight.
  • Psychokinesis:
    • Thrown item speed changed from 55 to 75
    • Thrown items now target the center of their targets rather than their Z position. This should make throws against moving targets much more likely to land.

2.0 (17/02/2020)
  • General:
    • Critical energy level increased from 1/5 to 1/4 max energy.
    • Modified some sound effects.
    • Added silverconfig.cfg(Included in the OP's download)
      • /!\ Place this file in your SRB2 root folder, or it won't run. /!\
      • This config file will run as soon as Silver is added and allows you to set your playstyle:
      • 'silv_auracolor <colourname / colournumber>' Sets Silver's aura colour for multiplayer games. Set it to -1 or 'Opposite' to use your current skincolour's opposite colour.
      • 'silv_invertflight <On/Off>' Inverts the vertical axis for Silver's Psycho Boost. You can now play plane simulator and insult air control.
      • 'silv_throwall <On/Off>' Reverts the Telekinesis to the old behavior where all objects are thrown at once by default.
      • 'silv_norollangle <On/Off>'. If set to On, disables sprite rotation on grabbed objects, which makes for a performance boost on weaker machines.
      • Technically speaking, any other cvar can be set in here to adapt Silver's playstyle to your needs.
  • Float:
    • Fixed an oversight where landing on a Spring after dropping from a Float would leave you in your falling frames and wouldn't start energy regeneration.
  • Psycho Boost:
    • Added the 'silv_invertflight' command to invert flight controls. Check the Silver Config section above for more information.
    • Psycho Boost now bumps off sturdy enemies such as the Castle Bot Facestabber.
    • Fixed collisions with spikes and monitors not taking the Z axis into account properly.
    • Psycho Boost now bumps off solid objects instead of hugging them.
  • Telekinesis:
    • Telekinesis now uses searchBlockmap instead of the old table method, which greatly improves performance overall.
    • Grabbing multiple objects only costs a fixed 1/4 max energy instead of a variable amount.
    • Telekinesis now defaults to throwing objects one at a time.
    • The delay for throwing objects has been almost nullified. A 1 second delay is still applied after you throw the last object.
      • This creates a way more dynamic combat gameplay for silver where the player is more in control of their individual shots.
    • Single throws now display secondary targets for the remaining items you can throw.
    • Single throws now properly prioritize the target closest to Silver instead of targetting whatever they felt like.
    • Thrown objects now destroy walls.
    • Fixed the Crawla Commander not abiding by the throw's momentum.
    • Fixed the Pointy's spikeballs not following along when it was thrown.
    • Fixed the psychic overlay being offset incorrectly when using models.
  • Ringslinger
    • Silver will begin losing energy after holding a player for too long
    • Added support for CBW's Battle Mod.
      • In this mod, Silver is unable to grab players by default. He must instead use his new ability, Psycho Shock, a chargeable projectile that will render any player it hits vulnerable to being grabbed for a few seconds. Charging the projectile will increase its explosion radius, potentially making multiple players vulnerable to Silver's grab.
  • Modding:
    • Added 'boostbump = (boolean)' field to TKextra tables. If true, Silver will bump out of his Psycho Boost state when hitting that object as if he hit a wall.
    • Added 'boostcf = function(mobj_t silver, mobjt_t bumpedobject)' function to TKextra tables. This will run once when Silver bumps off an object. Will not run if boostbump isn't set.
    • Added a scale field on Silver's idle objects as the 3rd index of the table. FRACUNIT is the default scale, FRACUNIT/2 will be half of the player's scale, and so on.

Initial Release (08/02/2020)
  • General:
    • Sprites have been remade from scratch and greatly improved upon!
    • Silver's stats are now normalized to be the same as everyone else. He still has a higher jump.
    • Greatly improved visual effects for Silver's abilities
    • Brand new, more modern sound effects for Silver's abilities
    • Added the 'auracolor <colorname / integer>' command which can change the color of Silver's visual effects. For instructions, supply no arguments.
  • Psycho Boost
    • Initial momentum is now fully kept when activating Psycho Boost. Running starts now actually matter!
    • More momentum is kept when the Psycho Boost ends. (2/3 instead of 1/4 previously)
    • Psycho Boost can now break floors. Enables Silver not to get stuck at some point of the campaign.
    • The upwards vertical angle cap has been reduced. Downwards is untouched.
    • Hitting the floor while boosting will make Silver spin instead of slide. Functionally, this is the same thing, but allows greater interactions with slopes.
  • Telekinesis
    • Arrows now show up on targets to show you what you're aiming at
    • Monitors can now be auto aimed at
  • Ringslinger
    • If Silver takes damage, a delay is set to prevent him from firing back straight away.
    • Reduced delay when grabbing a player from 2.5 to 2 seconds.
    • Psycho Cuts now have a smaller hitbox
    • Psycho Cuts can now destroy monitors
    • Can no longer fire while a delay is active
    • Weapon pickups and max ammo were drastically increased
    • Individual weapon changes:
      • Automatic: You can now hold the button to fire a constant stream of cuts
      • Scatter: Hitbox size made consistent with every other cut. Fixed an error related to firing on walls
      • Grenade: Now drops speed over time and explodes after 6 seconds. It will also bounce on walls.
  • Modding:
    • TBA: Wiki page containing the information below in a cleaner form if demand is high enough
    • Keep in mind that these are only intended for use if the default behaviors don't satisfy you, they are in no way required for your mod(s) to support Silver
    • For custom HUDs, there is now a function to draw Silver's energy bar anywhere you want!
      Use
      Code:
      silv_drawBarHUD(drawer v, player_t p, int x, int y, int maxbarlen, int flags)
    • You can now add custom sprites to Silver's Idle animation.
      Use 'silv_addIdleSprite(table)' and 'silv_addRareIdleSprite(table)'
      The format to do so is {SPR_SPRITE, FRAME}
      For exemple, if I wanted to add a rare object where Silver grabs a default player frame;
      Code:
      silv_addRareIdleSprite({SPR_PLAY, A})

    • You can now add entierely new custom behaviors for objects interacting with Silver's Telekinesis and Silver in general with 'silv_addTKextra(int mobjtype, table t)'. The syntax is as follow, for exemple:
      Code:
      /*
      local properties = {
          // telekinesis properties:
          nograb          boolean,    // sets whether the object can be grabbed
          noaim          boolean,    // sets whether the object can be aimed at with throws
          noroll         boolean,    // if true, rollangle will not be applied when this object is grabbed
          killonwall     boolean,    // if true, the object will be killed when thrown at a wall regardless of hitpoints
          killonfloor    boolean,     // if true, the object will be killed when thrown on the floor regardless of hitpoints
          nodamage     boolean,     // if true, the object cannot be damaged by throws
         
          shield =    mobjtype,    // MT_ constant expected to be the shield mobjtype held in mobj.tracer.
                                  // mobj cannot be grabbed for as long as their shield is valid. Used for Crushstaceans and Egg Guards.
         
          // silver specific properties:
          bossdamage = boolean,    // if true, silver cannot use Psycho Boost or his spin jump to damage this enemy
          msondamage = boolean,    // used specifically for Metal Sonic. Lets silver damage the boss through normal jumps only if MF_SHOOTABLE is not applied.
         
          // telekinesis related functions:
          grabf     function(mobj_t mo, mobj_t grabber)
                      -- runs continuously while grabber is using telekinesis on mo
                  end,
         
          throwf     function(mobj_t mo, mobj_t thrower)
                      -- runs contunuously while mo is being thrown by thrower
                  end,
         
          resetf     function(mobj_t mo)
                      -- runs once when mo is being reset from Telekinesis status (after a throw or being let go off of).
                  end,   
      
          shieldf function(mobj_t shield)
                      -- runs once the frame where the shield is being grabbed.
                  end,   
      }
      
      silv_addTKextra(MT_MOBJTYPE, properties)
      */
      
      -- exemple:
      local prop = {
          nograb = true,
          bossdamage = true,
      }
      silv_addTKextra(MT_BLUECRAWLA, prop)
      -- The above will result in every crawla being impossible to grab and damage physically for Silver.


      It's also possible to supply an empty table with the function, which will enable the object type to be both grabbed and thrown at with no additional properties.

      Although it's also possible to directly edit the 'silv_TKextra' table, using this function will ready the Hooks necessary to get your objects to work properly, as well as check each existing field for userdata types to avoid errors.
      NOTE: This will not work if the mobjtype in question has MF_NOTHINK, MF_NOCLIP or MF_SCENERY defined in their mobjinfo as these are skipped when checking for grabbable / aimable objects
    • WARNING: Make sure to use a ThinkFrame to ensure the proper loading of your object modification / idle sprites addition, here is a non exhaustive exemple of a way to do it:
      Code:
      local added        -- flag that checks if we've already added our properites
      
      local function addsilverstuff()
         
          if not added        -- check if we haven't already added the data.
          and silv_addTKextra    -- this checks if silv_addTKextra exists, AKA if Silver has been loaded
         
              -- custom properties / idle sprites go here.
              -- do NOT use P_Random functions here, as the properties here need to be synched.
         
             
              added = true    -- set this flag to true
          end
      end
      
      silveraddstuff()    -- attempt to load properties on addon load. If Silver was already added beforehand, this saves us the troub
      if not added    -- we failed to add the data on script load
          addHook("ThinkFrame", do
              addsilverstuff()
          end)
      end
      -- So then we'll try to load it every frame until it works. This is the least desirable outcome but ultimately has no impact

  • Splitscreen is only partially supported. Many visuals and HUD elements will not display properly under certain circumstances (Mostly Ringslinger related). Nothing I can do to my knowledge.
  • Lua amper the stability of larger netgames, so you may experience more frequent synchronization failures / netgame-specific framerate drops.

I grant explicit permission to STJr to port this character going forward should I not be here to do it myself or unreacheable for another major release.

Credits:

  • Snu : Spriting (and motivational) assistance (touch ups)
  • MotorRoach : Spriting assistance (original standing rotation / character select portrait)
  • Inazuma : Spriting assistance (character select animation)
  • zxyspku : Spriting assistance (walk animation)
  • Q.T.D. : Spriting assistance (idle stance)
  • Look I can't list all the testers this would get too long, but you know you're listed there if you helped!


Supporters / CoAuthors

 

Attachments

  • srb20229.png
    srb20229.png
    175.4 KB · Views: 53,702
  • srb20228.png
    srb20228.png
    147.1 KB · Views: 53,080
  • srb20230.png
    srb20230.png
    131.5 KB · Views: 52,970
  • srb20236.png
    srb20236.png
    174.6 KB · Views: 52,906
  • srb20238.png
    srb20238.png
    211.5 KB · Views: 52,742
  • charsel_v3.png
    charsel_v3.png
    5.6 KB · Views: 52,695
  • srb20227.png
    srb20227.png
    211.7 KB · Views: 53,353
  • srb20241.png
    srb20241.png
    216.2 KB · Views: 65,912
  • srb20492.gif
    srb20492.gif
    3.2 MB · Views: 36,187
  • srb20494.gif
    srb20494.gif
    3.8 MB · Views: 37,000
  • srb20501.gif
    srb20501.gif
    7 MB · Views: 36,187
  • srb20497.gif
    srb20497.gif
    4.2 MB · Views: 36,637
  • srb20499.gif
    srb20499.gif
    3.3 MB · Views: 36,208
  • srb20498.gif
    srb20498.gif
    3.7 MB · Views: 36,346
  • srb20495.gif
    srb20495.gif
    4.1 MB · Views: 36,401
  • VCL_Silver-v2.6.pk3
    817.3 KB · Views: 23,211
Last edited by a moderator:

Lat'

Absolute territory where
Kart Krew™️
Oops, hold it a second, the Metal Sonic boss decided to break at the last minute, I'm working on it right now...
EDIT: Attachement reuploaded, sorry for the inconvenience
 
Last edited:

Inazuma

Go on, I dare you!
Judge
Contest Winner🏆
Holy moly dude. That was amazingly quick. Give me a second to test it out. judging from the screenshots alone, the visuals are AMAZING.

---------- Post added at 08:41 PM ---------- Previous post was at 08:35 PM ----------

Ok. This is ridiculously amazing. What a MASSIVE improvement from the original 2.1 wad. I love Silver's unique interactions with enemies and bosses. Great job dude!
 

Lat'

Absolute territory where
Kart Krew™️
Apologies, it's not a release without a quick patch.
Version 1.1
  • Apparently the Egg Mobile's flames are dead missiles and Silver couldn't grab those. This is fixed now.
  • Quick ringslinger oversight related to zoom tubes was ironed out.
 

Boost

Member
It's nice to have him back. And... Maybe Egg Mobile flames aren't supposed to damage the boss while they're grabbed...
 

Attachments

  • srb20000.gif
    srb20000.gif
    7.7 MB · Views: 878
I love this character. The only changes (I personally) would make. Would be have the Float consumption rate doubled, and it doesn't use momentum at all, making it great as a repositioning tool or whatever. I love how you implemented the first cutscene's ability, of the "overdrive float" thing. I'd also have you just throw one of your things by default, instead of having to use the weapon select thing in ringslinger. Maybe the psychokinetic smash ability if you hold the button. I'd have thrown bots break walls, not sure if that's possible though. I'd have the Psychokinesis nerfed to where you can't just pick up every single thing that's in a big circle around you. I'd personally have it only work in front of you, and have like half of its range. And maaaaybe the stomp, i dunno if it fits with 2.2 so maybe not.

Again this is me PERSONALLY. I doubt others may agree or like this.
 

little guy*

A guy who loves Adventures!
HE'S BACK! Woo, no horrible "ports" we got silver nice and clean. I like all the new touch ups and features, good job!
 

Rumia1

Backseat Developer
Wow, this came out wayyyy faster than I expected! like 2 weeks ago I saw a gif with new sprites and BAM Silver's back! The new sprites and effects look amazing, I LOVE what you've done with the idle animation! I got confused when it first happened because I had to change my controls and enemies were coming towards me so I didn't know if I activated it myself or not.

I hate to be that person YET AGAIN (and this is super low on the priority list even for me) but you can't turn while analog mode is on when psyboosting with the direction keys, instead you have to resort to the camera rotate buttons. It should stand as a testament to how good this new update is though that the only thing I can think to criticize is one tiny nitpick that's probably the game's fault.


EDIT: Something you may actually want to fix is the fact that the [Telekinetic Selection] caption overwrites the [Dust] caption, meaning whenever a Snapper moves and captions are on, it'll pop up with the wrong text. I would either copy the sound for your own use (that might blow the filesize up a little needlessly though), use a custom sound (probably the best option), or just leave it without a caption.
 
Last edited:

AirFox

That Twisted Metal Nerd
Canceling Silver's idle near any goo water will cause the junk he was holding to be affected by it, and if it touches the floor in the goo it will be forever stuck.
 

Attachments

  • srb20136.gif
    srb20136.gif
    754.5 KB · Views: 376

MK.exe

The one and only!
Kart Krew™️
Contest Winner🏆
You say curse our timelines but this is truly a blessed one.

The Silver Idle stance with random items that pop up are really neat and could make an awesome mini game trying to see what you dug up from the ground.

Great to see this launched earlier than expected!
 

TrustyGun

aka. Exoticus
He was so fun to play as. I loved fighting the main bosses since you can't harm them as you usually would, so you had to find someway to hurt them using their main projectiles. I was wondering what you would do for CEZ3, and the solution you came up for that was pretty cool!
 

Lach

he/him
Moderator
Sonic Team Junior
Kart Krew™️
Judge
Incredible. Little things like the carried objects rotating in place give this version so much life compared to even the latest release for 2.1. The replacement for the running animation caught me off guard, but it's so badass and fits the characteristics for Silver! Extremely cleanly done; it's going to be hard for future character addons to top this.
 

Goldenhog

Wandering Protagonist
More like Silver the Resourcehog, jesus. Ah well you did warn about that so it's good. He's really fun! I enjoyed abusing the boost to skip parts of certain levels (and just to mess around, lol) and fighting the bosses with these new abilities was cool! I only wish the cooldown after using TK was a tad shorter - I find it's just long enough that I'm having a hard time getting used to it. Also is it just me or does he look weirdly small in his Character Select pic?
 

Katmint

‫‬‭‮‪‫‬‭‮
It seems 2.2 is off to a very strong start with custom characters. Silver sets the bar pretty high for something out so early in the release's life cycle. The fact his ability meshes so well with things like the crab enemy and the Eggscalibur fight makes it feel at times like the game was designed with him in mind rather than the other way around.

A few issues I noticed:
Firstly, picking up multiple objects consuming more meter feels unfair as there is no benefit to throwing multiple objects at something 99% of the time. Since you can't decide how many nearby objects to pick up, grabbing a bunch of things at once feels like more of a punishment than a reward given that it severely hampers your hover ability. My suggestion is to eliminate or drastically reduce the meter penalty for picking up multiple objects but increase the hover's meter burn slightly to compensate.

Secondly, since Silver cannot pick up golden monitors it's potentially possible to softlock if there's nothing around to throw at a required monitor.

Thirdly, certain bosses are too cumbersome. GFZ3, ACZ3, and BCZ3 all involve a lot more waiting than they typically do, and the egg robos can be very annoying to grab in CEZ3. BCZ3 in particular suffers from an inconsistency where you cannot pick up the ground fire despite this being used as the tactic to defeat GFZ3.

Lastly, a bug report: Getting hit by spike balls belonging to the Orbinaut you're carrying will cause a thok sound to play.
 
Last edited:

time gear

Eternity in an hour
picking up multiple objects consuming more meter feels unfair as there is no benefit to throwing multiple objects at something 99% of the time. Since you can't decide how many nearby objects to pick up, grabbing a bunch of things at once feels like more of a punishment than a reward given that it severely hampers your hover ability. My suggestion is to eliminate or drastically reduce the meter penalty for picking up multiple objects but increase the hover's meter burn slightly to compensate.

I would probably prefer that the hover meter burns slightly faster depending on how many objects you are currently holding, indicating that Silver has a harder time doing multiple things at once.
 

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

Top