Several races in a row with several people getting x2 Jawz in the same spot... sorry Oni, it's BAD. Kept the increase in the further behind spot, we'll see if it's any better
* Change spacing of bustable FOF debris with scale (plus increase its default a bit for less lag).
* Make a few instances of scalespeed take mapheader scaling into account.
* Re-enable the flashing-set thing on attempting to join with the item key. I spoke to Sal privately about this - turns out some keys ALWAYS send key presses instead of only sending one, and shift - what I have item bound to - is one of the problematic ones.
* Make the no-joining-game-after-20-seconds thing happen 20 seconds after the TIMER has started, not the level (ie, take starttime into account)
If the player count dips below what was stored on the start of the last lap, then don't do time over so that someone can't just spectate at the end of a race out of rage. Y'all are assholes :V
A couple of the extraneous ones (karma interactions, bumper stealing, lap start notifications) have been removed outright. The rest that I could think of have been changed to use CON_LogMessage, so that they still go into log.txt when rereading a fun chat session but not showing themselves in gameplay. Necessary gameplay prints, such as players being defeated or coming back in Battle, have been kept until there's a suitable replacement for them in the future.
- Rocket sneaker meter depletes more slowly when idle, but depletes much more when using it. This balances out to give it a couple more boosts when you use it well, but allows you to waste it more quickly when you don't want it anymore. Also demonstrates better to new players to not spam it like a gold shroom!
- Vibrating frames on sneakers when they aren't being used.
- Shoe weight is less strong.
(I've moved the comebacktimer set into one level up from that conditional; don't worry, I checked - there's nowhere that accesses this field while you have bumpers, it's just always set here for some dastardly reason.)
- Volume of your own engine is lower than default
- Engine sounds get quieter with more people around, ala SMK. 16 player servers should hopefully not be loud as fuck :V
- Starting countdown and drop dash revs up your engine now
- Doubled sound distance
Also includes some adjustments to:
* Horizontal offset of Eggman countdown in splitscreen again. It's not perfectly centered either way, but on second thought I like this better.
* Sound of Lat`'s Mine/SPB explosions - now uses same sound as Karma bombing, instead of that shitty paraloop.
* Correctly wipe k_eggmanblame when it is appropriate to do so.
Example:
Chrome has been kicked (Go away)
Shadow has left the game (Joined with Chrome)
Kryne has left the game (Joined with Chrome)
Vyce has left the game (Joined with Chrome)
- Renamed Grey to Nickel, and Cloudy to Grey
- Updated Silver and Nickel to look a teeensy bit more inbetween White/Grey and Grey/Black, previously they both leaned more toward Grey
- Drastically changed Navy to be more distinct from Jet
- Replaced Indigo with Pomegranate
- Moved certain colors around to match (most notably, beiges and browns are in their own little sub-section after the greyscale colors, instead of being lumped in the middle of orange and yellow)
- Updated color opposite table to match
* Slightly bigger visual size!
* Light-shadow!
* Makes player fullbright if you have it!
* Visuals finally removed instantly on shield drop!
* Uses dark background for item icons!
* Goes behind the player on some frames, faking layering!
Try to make all the blues using this range look a little different, you know?
- Cyan is brighter, and has more contrast.
- Teal has 1 more shade of blue for slightly better anti-aliasing.
- Renamed Ivory to White, removed Nickel and old White, and improved Silver and Grey.
- Improved Pink & Ruby.
- Added Ketchup, replaced Canary with Mustard.
- Removed Army.
* Add `kartvoterulechanges`, or "Voting Rule Changes" on the menu, to allow some user control over event frequency.
* "Never" - does what it says on the tin.
* "Sometimes" - 1/8 chance of Encore if host has unlocked it, only gametype change when buffer is full
* "Frequent" - 1/2 chance of Encore if host has unlocked it, gametype change every 5 maps
* "Always" - If host has unlocked Encore, alternates between Encore and Gametype. Otherwise, always a gametype change
* There's probably room for a setting between "Sometimes" and "Frequent", but I didn't want to overload the host with options and these were the ones that made sense.
* Better handling of buffer refreshes, to prevent two of the same map appearing next to each other in the voting unless there literally aren't that many maps.
* Mostly unrelated: Minor bugfix for Y_SetupVoteFinish, preventing music changes/random sounds playing on the You Will Join Next Race screen. (Branch-appropriate, at least.)
- Keep items on death, as long as you haven't used them yet.
- Restart the item roulette on spawn if you die during it.
- Held items that take up your item box now flash, to be consistent with Rocket Sneaker and Grow.
New respawn boost behavior, where you just hold for long enough instead of timing it with hitting the ground. Also much weaker, just gives you enough boost to get going instead of being a free sneaker.
Start boosts have been severely changed. The perfect one has an extra tic on its timing window and gets Sneaker boosting special effects, but every other possible boost has been severely nerfed.
* Shield Drop...
* Whatever you've got orbiting or trailing you, DROP THEM WHERE THEY STAND. (Except for the ghost sink. That one's OK.)
* Pops your Thunder Shield.
* Happens upon ANY hit, except for deathpits.
* HUD Drop...
* Also does the above, except for the Thunder Shield thing.
* If there's any item left in your item box, pop it out as a little hovering, rotating Minecraft item!
* You can pick up the Minecraft item by driving over it if your item box is sufficiently empty, or the item which is contained within it is of the same type.
* Happens upon Size Down and battle elimination.
* Can also be forced on with `cv_kartdebughuddrop on`!
* Some other random stuff.
* Fix a bunch of `a->scale = b`'s into `P_SetScale(a, b)` form, for maximum validity.
* Make K_CleanHnextList and K_UpdateHnextList one function, since they only differed by one continue clause (and the type of their input parameter).
* Allow shrunken players to pick up item boxes again.
* Fix MF_NOCLIPTHING. (Gonna pass this fix to vanilla when I get the chance, too.)
* Break NiGHTS a little through my machinations.
A lot more similar to the code used for player wall bumping, and is much less likely for you to just... pass through the object if you keep trying hard enough.
Also, falling rocks get pushed aside by invinicible players with no resistance.
Sink shield that makes it double-press to use, gives the trailing item slowdown, and shows other people that you have it, but doesn't have any collision
* Uses the in-game timer element to draw its times.
* This includes showing them time emblems-to-get!
* good night sweet prince
* Make the emblem time use the same ' and " as the normal time.
- Following Oni's proposal. This means taunts are split into 2 types for offensive items and boost, 2 less hurt sounds, and there's another clip for using invincibility item (or whatever other powerful items we want to apply it to later; maybe size-down?)
- Win/lose quotes are played at full volume for the person who said it.
- A new sound effect plays when you hit someone with voices disabled.
- Reduce amount of RNG being called from the vanilla P_Play[whatever]Sound functions
- Added our skin sound constants to the dehacked list.
- Unrelated: finish line sfx plays in splitscreen
- different min/max on capped spring pads
- turn the normally almost-useless "non-ramp sector" type into "wall sector", which disables both stepup AND stepdown instead of just stepdown
Less grow, less invinc, less ballhog, just a teensy bit less triple orbinaut, and SPB odds no longer scale with lower player counts like other power items do
* They're clearly not quick enough at the job, since it causes a bunch of silly race conditions.
* Instead, K_UpdateHnextList and K_CleanHnextList are in charge of removing them, which are called in the circumstances itemamount (and itemheld/eggmanheld) is changed.
* Also, tweak a few places so that trailers AND orbiters can use the same system.
Also, some minor thingies.
* Turn all the useless ```if (a) { A } else if (!a) { B }``` bullshit into ```if (a) { A } else { B }``` bullshit.
* Fix up some minor inaccuracies in the playerarrow stuff that doesn't result in creating more sprites.
While I cannot guarantee the class of glitches that allows for additional items to be thrown/dropped has been completely obliterated, this DOES prevent the class of exploits that allows for "infinite items" (really just negative quantities not completely bounds-checked for).
* Flashing Eggman-hit players.
* Fix typo with Rocket Shoe item bar, and make it extensible for potential future purposes since I was fiddling with it anyways.
* More complete playerarrow visuals for various items.
* Eggman fake (and debug) item get sounds.
* Correct a typo on Sal's part that meant flashingtics would continually grow larger and larger, slowly drifting between different clients.
* A more robust eggmanblame system.
* Steal a point from Ballhog and give to Orbinaut.
* Make it based on the maximum number of bumpers someone has, not the average for everyone.
* Improve the odds a tad if you're Wanted.
* Tweak the score multiplication to give three points for Wanted and two for removing the last bumper (both disabled if you get the hit with a fake item).
* Allow Karma players to drop their Random box.
* These boxes flicker out of existence after 15 seconds.
* Causes a WAIT penalty, too.
* Remove some redundant PF_ATTACKDOWN stuff, given under the conditions the flag would be applied, it has definitely *already* been applied.
* Make Orbinaut Shields animate at 3 tics per frame, not 1.
* Make dead items flash in and out of visibility.
* Related to above, fix a few circumstances where returning was not properly handled after removing a mobj in mobjthinker.
* Place FREE PLAY in a less contentous location.
* Fix comeback timer being incorrectly offset from the center of the screen.
* Prevent vote drawer from nuking itself (visual-wise) at the start of the level fade following it.
* "kartvoices" cvar. Possible values "Never", "Tasteful" (default), and "Meme".
* Added a way to move quickly through the credits, rather than skip them entirely (hold spacebar or down arrow).
* Fix a few mistakes in M_ChangeCvar, some of which I introduced and some of which were weird in the first place.
* Tweak the offset of the arrows that let you know you can modify a cvar by pressing left or right (some via a patch.kart change, but others via tweaking the drawing location).
- Turning dust is spawned in the correct position
- Turning dust sprites are flipped
- Shadows display on the ceiling for flipped objects
- Drift sparks display in the correct position for flipped players
Will continue with item fixes tomorrow
- Banana drag timer resets when placing one, for x3 & x10 bananas
- Banana dragging spawns transulcent dust
- Dragging bananas make them twitch up & down
- Ballhog has explosion + sound on death
- Ballhog shrinks to nothing if it didn't hit anything
- Replaced a Mario sound on Orbinaut
- Fixed Jawz's sound effect
- Fixed Mines not being removed on death pits
* Palette remaps.
* Branding.
TODO:
* Doesn't work in GL. (Mostly.) I have SOME ideas on how to tackle this, but...
* Transmaps are broken in Encore for some reason.
* I tried to make in-level colormaps shimmy over, but it didn't quite work, so I commented it out and only semi-fixed it.
* Activates when there are less than two non-spectators in a netgame.
* Shows flashing text at the bottom of the screen.
* Prevents drawing several UI elements that only make sense with multiple players.
* Prevents matchesplayed being increased.
* Improve the mapreset timer's behaviour.
* Now you get to see the HERE COMES A NEW CHALLENGER screen as the starting frame of the relevant map transition, since it happens on mapreset being 1 rather than 0.
* Make a bunch of normal gameplay stuff that might've activated unnecessarily during mapreset now not able to.
* Hide some other stuff that might've been visible for no good reason.
* Improve Mirror mode.
* First person now works with it!
* Tweaked the minimap player heads. Although the main section of the automap is mirrored, it feels... wrong to mirror the player head? IDK, you may wish to revert this, but given that everything else is the right way around except for the level itself...* Disable the titlescreen demos, at least until we actually gear up for release and make real ones.
* Disable the titlescreen demos, at least until we actually gear up for release and make real ones.