Commit graph

22057 commits

Author SHA1 Message Date
Oni
cdc56ab2cc Merge branch 'podium' into 'master'
Podium

See merge request KartKrew/Kart!1014
2023-03-07 05:58:20 +00:00
AJ Martinez
5d79ecd065 Oni feedback fixup
Sneaker boosts now pause decay timer, boost strength reduced to prevent tripwire memes, boost lengthened based on proximity to bottom left, further improvements to handling boosts
2023-03-06 20:01:09 -07:00
James R
ccd933556d Battle: activate director after dying to Overtime Barrier 2023-03-06 18:52:59 -08:00
James R
d56be63249 Battle: eliminate players killed by the Overtime Barrier
- Players killed this way become invisible and unable to
  move.
- Ends the match when one player is remaining.
2023-03-06 18:52:59 -08:00
James R
f2c806185e Cycle color of player TARGET between held emeralds 2023-03-06 18:52:53 -08:00
James R
18ccc3db27 Remove g_hiscore since it's not used anymore 2023-03-06 18:52:53 -08:00
James R
b023b16561 Remove WANTED over players' heads, TARGET wanted player 2023-03-06 18:52:53 -08:00
James R
20fe13deb7 HUD TARGET for Battle Kiosk, Monitors and Emeralds
Except in Break the Capsules, Boss mode or DUEL mode:

- When Overtime begins, all TARGETs are hidden and the
  Kiosk is targeted instead. Blue colored TARGET.

- TARGET player themself sees TARGETs on emeralds and
  monitors with emeralds inside. TARGET color matches
  emerald.
2023-03-06 18:52:53 -08:00
toaster
4802f96249 UCRP_TRIGGER: Convert to roundconditions_t
- Previously was extern scope UINT32 for all players, but this permits one player in a netgame taking a secret path while others don't.
- Attempted to make user-specifiable string, but while I can undo the effects of strtok for the condition, I cannot undo the effects of strupr - so it's disabled for now until we come up with a more robust and hopefully direct system.
- Also removed some old SRB2-originated assumptions that you couldn't unlock anything in multiplayer from the unlocktrigger system.
2023-03-07 00:03:41 +00:00
AJ Martinez
a7cc5aac78 Fix Lua interface mangling writes to sliptideZipBoost 2023-03-06 16:53:14 -07:00
AJ Martinez
2fb6bc5f46 Require 25% minimum handleboost to sliptide, change sliptide zip to 24% 2023-03-06 16:51:41 -07:00
Sal
fa430a6d41 Merge branch 'ranking' into 'podium'
Ranking

See merge request KartKrew/Kart!1017
2023-03-06 23:35:19 +00:00
Sally Coolatta
9561ec69bf Give bots friction rubberband again 2023-03-06 18:31:20 -05:00
Sally Coolatta
63d156b942 Reduce waypoint radius for bots on turns 2023-03-06 18:31:20 -05:00
Sally Coolatta
6ae28c4cdb Add final position as a ranking requirement
1st is a large bonus, 2nd is a medium bonus, 3rd place is no bonus, and everything below is a penalty. This will help make Loser Valley grades never be above a C at most.
2023-03-06 18:31:20 -05:00
Sally Coolatta
0f87e177b9 Be able to get partial credit for capsules again 2023-03-06 18:26:09 -05:00
Sally Coolatta
23a00b1d00 Move GP ranking data to grandprixinfo 2023-03-06 18:26:08 -05:00
Sally Coolatta
ca178324de Free capsules counting virtual resources 2023-03-06 18:26:08 -05:00
Sally Coolatta
96477caa88 Move K_ResetCeremony
Properly carry over GP ranking data to the ceremony
2023-03-06 18:26:07 -05:00
Sally Coolatta
57f53a5531 Search bonus maps to calculate total capsules
No more moving goalpost! This means we can put it on the intermission screen and not just the final rankings screen.
2023-03-06 18:26:07 -05:00
Sally Coolatta
cf20e2e831 SS requirement is now getting A rank 2023-03-06 18:26:07 -05:00
Sally Coolatta
d5d0647ae6 Remove difficulty as a ranking requirement
Was a cute idea, but removing it since it's not something you can 100% guarantee every time, which was the same reasoning for getting rid of times getting damaged / dealing damage from the requirements.
2023-03-06 18:26:06 -05:00
Sally Coolatta
3c07641938 Add final position as a ranking requirement
1st is a large bonus, 2nd is a medium bonus, 3rd place is no bonus, and everything below is a penalty. This will help make Loser Valley grades never be above a C at most.
2023-03-06 18:26:06 -05:00
Sally Coolatta
3d1070c2f2 Show ranking data on the screen 2023-03-06 18:25:16 -05:00
Sally Coolatta
6a4b4d8b70 Balance rank requirements
Old values were taken from Snap, which has a small number of very straight-forward and relatively easy to 100% requirements, so it has very high standards. RR has lots of requirements, they're slightly more nuanced, and it's extremely improbable to have them all 100% in one run even if you're good.

- Toned A rank down very slightly. (90% -> 85%)
- Rest of the ranks are more evenly distributed. (D: 45% -> 35%, C: 60% -> 50%, B: 75% -> 70%)
2023-03-06 18:25:15 -05:00
Sally Coolatta
f7851623ff Calculate a bot difficulty to reach
13 is very unlikely for Normal, likely impossible for Easy. (If we want a bonus game speeds, it should be explicitly defined)
2023-03-06 18:25:15 -05:00
Sally Coolatta
c61e017c38 GP rank cleanup
- Move ranking to its own file.
- gpRank (the variable) -> g_gpRank
- gpRank (the struct) -> gpRank_t
- Functions that worked on the global directly now take a pointer to a struct
- Fixed total ring increment
- Fixed final lap's lapPoints being discarded
- Capsules are now added when exiting with the rest of the stuff
2023-03-06 18:25:14 -05:00
Sally Coolatta
55de982fa3 GP ranking
Needs balancing + intermission, but mostly functional
2023-03-06 18:25:14 -05:00
Sally Coolatta
20dedb6602 Try to fix the podium bot spawning (again)
- Podium waypoint initialize is done always directly after spawning the player, instead of trying to detect it in K_UpdatePodiumWaypoints.
- Position is manually calculated for K_InitializePodiumWaypoint, instead of needing K_UpdateAllPlayerPositions to be called.
- Instead of calling K_UpdateAllPlayerPositions every time a player spawns, do it at the end of the spawning loops.
- Prioritize spawning bots in further away spots instead of 1st available, as spots 1st to 3rd spots are more important.
2023-03-06 18:24:51 -05:00
toaster
42a985d061 readcondition: Support stringvar for extended condition instead of always having to not fit one in 2023-03-06 23:18:22 +00:00
toaster
98423a2196 UNSTAGED CHANGE: Missing mobjeflag_t wet_player from roundconditions_t 2023-03-06 22:57:53 +00:00
toaster
ff926440d5 UCRP_WETPLAYER: Adjust SOC load to not Z_StrDup before confirming other data is valid, to prevent memory leak 2023-03-06 22:38:37 +00:00
toaster
f6a83d2161 M_GetConditionString: All non-allcaps messages have had their first letter lowercased
Instead, M_BuildConditionSetString uppercases the first lowercase letter, so it's always (approaching) grammatical correctness.
2023-03-06 22:32:02 +00:00
toaster
baeb48ca1f roundconditions_t - State tracking for events which occour mid-match and don't stay that way
- Exists on every player struct to simplify writes, but A) not netsynced and B) only checked for local players
- Updated in the relevant locations - no centralised ticking at the moment
- Has a number of new associated conditions that require playing (UCRP's).
    - The following require [True/False] as supplementary information.
        - FallOff
        - TouchOffroad
        - TouchSneakerPanel
        - RingDebt
    - The following have no supplementary information because they're universally a specific achievement.
        - TripwireHyuu
        - SPBNeuter
        - LandmineDunk
        - HitMidair
    - The following has specific requirements that can be set.
        - WetPlayer [name of fluid]
             - Append "Strict" to forbid even skimming the surface of the map's fluid.
2023-03-06 22:31:35 +00:00
toaster
d540921f78 M_PopulateChallengeGrid: Since I actually got a scenario where two tiles weren't able to be populated, just do the rejiggering fix in a while loop. 2023-03-06 22:18:12 +00:00
toaster
a355445592 condition_t: Make pendingstring into stringvar in anticipation of second, less angry application 2023-03-06 20:11:45 +00:00
James R
feb70916c1 Merge branch 'bumpers-use-health' into 'master'
Sync player mobj health to bumper count

See merge request KartKrew/Kart!1003
2023-03-06 15:43:24 +00:00
James R
f16730b084 Merge branch 'fix-no-waypoint-fault' into 'master'
Fix FAULT crash if no finish line waypoint

See merge request KartKrew/Kart!1005
2023-03-06 15:42:06 +00:00
James R
154cc77186 Return quickly from R_AdjustLightLevel if possible 2023-03-06 07:05:42 -08:00
James R
c1fabe8e35 Make debugwaypoints radius reverse subtractive 2023-03-06 06:50:24 -08:00
James R
99362bc9b2 Give debugwaypoints orb and radius RF_ALWAYSONTOP
Makes the radius always visible in full.
2023-03-06 06:50:24 -08:00
James R
f71ba63cd3 Add RF_ALWAYSONTOP, renders sprite through walls
Specifically, it avoids sorting or clipping the sprite
against stuff like FOF planes, which are notorious for
messing up sprites. Useful for debug stuff which
absolutely must be visible.
2023-03-06 06:50:23 -08:00
James R
aed9fe996c Add cv_debugrender_spriteclip, toggle sprite clipping
This cvar can be used to reveal which sprites are
technically drawn but clipped completely by level
geometry.
2023-03-06 05:34:49 -08:00
AJ Martinez
15a0eb6c48 Add sliptideZipIndicator to netsave 2023-03-06 06:26:21 -07:00
James R
53b2922fbb Add the debugrender_highlight command, highlight specific rendering in flat colors
Software mode only.

The command is used like this:

debugrender_highlight planes sprites
debugrender_highlight pl spr
debugrender_highlight none

(Abbreviations work.)

Supported rendering to flag:

planes      - sector floor/ceiling
fofplanes   - FOF top/bottom
fofsides    - FOF sides
midtextures - pegged midtexture
walls       - sector upper/lower texture, one-sided linedefs
sprites     - sprites
sky         - skybox
2023-03-06 05:25:36 -08:00
AJ Martinez
948dea8304 Sliptide zip readability 2023-03-06 06:17:34 -07:00
AJ Martinez
08ddc324c3 Fix potential ADDBOOST macro footgun 2023-03-06 06:11:13 -07:00
AJ Martinez
cae8cd5100 Don't encore remap sliptide zip indicator 2023-03-06 06:07:55 -07:00
James R
1de5046623 Add cv_debugrender_contrast, adjusts contrast of level geometry
debugrender_contrast -1.0 to 1.0, default 0.0 (no change).
Higher values add more contrast (darkens the level), lower
values add less (brighten). Does not affect thing drawing.
Software mode only.

Adds r_debug.cpp
2023-03-06 05:04:27 -08:00
James R
ff838a08a5 cxxutil.hpp: fix std::hash include 2023-03-06 04:45:46 -08:00