Sparks the Scarf Rider

[Open Assets] Sparks the Scarf Rider 1.5.2

This has no importance to the mod; I don't plan on incorporating any of these changes into it. But I thought I'd share this here anyway.

First off, she has a new name. Don't feel like getting into why because it's kind of a long story, but the short version is I just wanted to change it. Sparks could still be her last name I guess; it's not even an abnormal one by human standards.

Second, she has new powers!

That's right; she can transform. Not just into a cat; into anything. Her scarf always could and still can, of course (to a way more OP degree than you could do in the mod) but now she's learned to transform her whole body. But her scarf is still her go-to implement for pretty much any task.

Third, I don't really place much emphasis on her electrical powers, though I guess neither does vanilla SRB2. That said, I like to think of her has a cartoon character who can do random things just 'cause they're cute. Like using her long ears as a Wi-Fi connection despite not (usually) being a robot. Or going inside pictures. You get the idea.

As a side note, I have a DeviantArt account, though keep in mind some of the stuff I've favorited/posted might seem kind of weird. (Also there's probably a disproportionate amount of connections to fetish-related circles because I previously mistook my interest for characters like this as a fetish.) I haven't posted anything of Ellie there yet (this will almost certainly change now that I've shared it under this name) though incidentally I've posted some writing of an unrelated character also named Ellie, so don't get that confused.
Another small update. This changes the background color of Sparks' level end sign, as well as fixing a long-standing bug where her particles wouldn't spawn above FOF's.

About that bug: it seems to have been caused by the particles having the MF_SCENERY flag and a height of 0. I did some testing and it seems like objects with MF_SCENERY need to have a nonzero height, or else they'll instantly teleport to the bottom of an FOF below it, or something. Not sure exactly what happens, but it's something like that. I guess I was wrong when I said adding that flag couldn't hurt! To be fair though, rather than removing the flag, I just set the height value.
  • Cool!
Reactions: TH_Cloudy
Just realized there's some other mapping functionality that could be useful, so I've added it.

Effect 1 ("Slope Skew"):
Don't play sound

Newly added. Immediately removes Sparks' electric charge.
Effect 1 ("Slope Skew"): Don't play sound

Newly added. Calls a linedef executor depending on whether or not the activator (Sparks) is charged.
Front Texture X: Tag of linedef executor to be called if Sparks is charged
Front Texture Y: Tag of linedef executor to be called if Sparks is not charged
Back Texture X: Tag of linedef executor to be called if the activator is not Sparks
Setting 0 for a texture offset parameter (or not having a back sector, in the case of the last one) will disable that particular trigger.

"DISCHARGE_SPARKS" is used in the upcoming version 1.1 of Electric Circuit Zone, which will add a new Act 1 to help players learn how to beat certain parts.
Here's the changelog:

New features
  • Sparks is now compatible with Kirby, though she doesn't give the ability you might expect.
  • Speaking of cross-mod compatibility, she is also now compatible with Milne's dance.
  • Map makers can now use linedef type 443 (Call Lua Function) with function name "CHARGE_SPARKS_NO_STUN" to fill Sparks' charge bar without stunning or damaging her. This will apply to whichever player triggered the linedef executor, as long as they are playing as Sparks.
Gameplay adjustments
  • Sparks' twirl move now has a small radius of effect even when not charged, so she'll no longer miss attacks that look like they would have hit. The radius of effect when charged has also been increased.
  • The twirl radius now applies even after releasing the twirl, until she stops spinning.
  • Charging from a source of electrical damage will now make Sparks flash with invincibility for the normal amount of time.
Bug fixes
  • Attempted to fix a bug where Sparks would periodically lose her ability to spin in certain multiplayer gamemodes. As this is an intermittent issue, I'm not yet sure whether the fix actually works.​
  • Fixed another Lua error that would occasionally occur.​
  • Cool!
Reactions: lexidog
Another small update, this one to fix a couple sprite oversights. Most significantly, her TRNS animation is now only one angle, like most characters. More subtlely, she now appears with a white background on the scoreboard like everyone else; previously the background would be transparent if there were two columns.
This is a small update to fix a regression caused by the previous change, which was intended to fix the issue with electric charge persisting across maps, but actually just broke it even more. This version changes "MapChange" to "MapLoad", which should ensure that the player is valid at the time the reset is done.
Here's the changelog:
  • Changed Sparks' death sprite to always view from the front, like the other characters. I also adjusted her pose a bit to look better from that angle.
  • Sparks' vertical momentum prior to starting a twirl is no longer taken into account at all when releasing it. This should result in more predictable behavior, as now th
    • The code is still there in case you want to use it; I just set the factor (TWIRL_MOMZ_RESTORE_MULTIPLIER) to 0.
    • Before making this change, I also fixed a bug with the now-unnecessary code, where downward vertical momentum would reduce the height, instead of just upward momentum increasing it.
  • Jumping while holding Spin now results in a successful jump, instead of the previous glitchy behavior.
  • The MapChange hook is now used for resetting Sparks' variables; this should fix any remaining bugs where her charge persists when it shouldn't.

Here's what's changed this time:
  • Various sprite tweaks, including (what I think are) better-looking eyes for some of her animations
  • A new waiting animation (above) that it switches to if you wait 5 more seconds
  • A tweak to prevent Sparks from immediately rolling after doing a stomp attack.
  • Added the MF_SCENERY flag to Sparks' particles. I'm not sure if it'll really make a difference for anything, but it couldn't hurt.
Smaller update this time, but it does bring a couple changes you might enjoy.


New features
  • Sparks' momentum prior to starting a twirl is now much less significant in determining how high she'll go. Instead, it's based primarily on how long she holds it. Hold it for a full second to get the maximum boost.
  • Sparks can now destroy bustable floors, similar to Amy and Fang.
  • Hitting an enemy with a ground stomp will allow you to cancel it and perform a twirl attack.
Bug fixes
  • Sparks' physics will no longer break when she is at a nonstandard scale.
  • Fixed a (harmless) Lua error that could sometimes occur when running the "PlayerCanDamage" hook.
As always, have fun!
Version 1.1 of Sparks is here, with bug fixes, balance changes, as well as a brand new gameplay mechanic!


New features
  • Sparks will now power up when exposed to electricity. Instead of damaging Sparks, electricity will now charge up her attacks, giving them an area of effect. Besides fitting her name, this also serves an important gameplay purpose which you will no doubt discover.
    • When Sparks becomes charged, a meter will appear showing how much longer the power-up will last. But be careful—the hit you took to get charged has a reduced invincibility period, and electricity will harm you if you're already charged up, unless the meter is low enough that it's flashing.
    • If you see an Attraction Shield or Electric Shield, pick it up, as Sparks can use the shield as a perpetual source of charge.
  • Using Sparks' ground slam attack on a spring will now launch you at 150% power. It still won't break bustable floors as I couldn't figure out how, but hopefully that will come in the next version.
  • While underwater, Sparks can now swim straight ahead without losing height, similar to Metal/Super Sonic's hover.
Gameplay adjustments
  • Sparks can no longer use (standard) shield abilities, other than passive ones. This is less due to balance and more to streamline gameplay, as it makes her moveset more consistent without taking too much away from her.
  • Previously, Sparks' ground slam did damage in a very small radius; this will no longer occur unless Sparks is charged with electricity, in which case the radius is significantly larger.
  • Sparks' camera scale has been increased from 0.6 to 0.8, meaning the camera will now be a bit farther away from her. This change was made in response to feedback from Kasumi-chan.
  • Sparks' jump power has been reduced from 2.0 to 1.5. This was suggested by Princess Draykon, and I as well as my testers all agree that this improves her gameplay.
  • While holding her twirl attack, Sparks will now lose height faster than she previously did, unless she is charged with electricity, in which case she will lose height slightly slower than before.
Bug fixes
  • Holding Spin while submerged in goop will no longer spam the sound from her ground slam attack.
  • Having 50 or more rings in super form will no longer prevent Sparks from using her drop attack, or twirling from a non-gliding state.
  • The ambient water sound that plays while Sparks is swimming now loops seamlessly.
  • Fixed the ThinkFrame hook not checking the validity of the player; if you ever got Lua errors when dying, this should no longer happen.
Thank you all for your feedback, and have fun!