Commit graph

162 commits

Author SHA1 Message Date
toaster
4bc99d3806 De-jank all existing calls to K_FlipFromObject/K_MatchGenericExtraFlags
- New funcs K_MatchFlipFlags, K_FlipFromObjectNoInterp, K_MatchGenericExtraFlagsNoInterp
- Renamed K_GenericExtraFlagsNoZAdjust to K_MatchGenericExtraFlagsNoZAdjust
- Went over each individual spot that called any of this suite to figure out what they actually wanted, and give it to them without having to work around a bad function
- I'm 95% confident there's no regressions, but I don't think I'll get that 5% by testing internally. Might just have to hand this out with RC2 with an asterisk in the changelog
2025-09-16 23:18:02 +01:00
Eidolon
ffc1300146 Fix indeterminate behavior from RNG use in function argument lists 2025-08-30 18:39:34 -05:00
Lach
bbe231e994 Add Ancient Gear object type & unlock type 2025-08-10 01:51:34 +10:00
toaster
b5fd26777c Don't award Prison Eggs bopped after exiting
- Short-circuits P_AddBrokenPrison if EVERYONE is exiting
    - Still calls P_DoAllPlayersExit to catch spectators with respect to server softlock
- Don't run K_SpawnBattlePoints if the recipient is exiting
    - Also re-arranges K_GivePointsToPlayer just in case the score addition ends the round
2025-02-23 14:39:37 +00:00
Eidolon
cb7f437e60 Merge public master 2025-02-13 15:48:11 -06:00
Eidolon
a4d304a1f5 Update copyright years to 2025 2025-02-13 15:32:26 -06:00
Sal
653766010d FRIENDCODE (aka, Teamplay) 2024-09-17 01:41:26 +00:00
Sally Coolatta
9c2144c340 Give Battle mode item spawners their own RNG class
PR_ITEM_ROULETTE is explicitly meant only for K_FillItemRouletteData, and nothing else is ever meant to use it.

May possibly be the cause of the dedicated overtime desync, but I am not convinced it is.
2024-08-18 18:49:47 -04:00
Sally Coolatta
fbc80984c6 Increase delay on prisons reset 2024-04-14 03:32:02 -04:00
Sally Coolatta
4de8c7a49f Fix Prisons reset behavior
The elimination behavior was completely preventing the prisons behavior from even being checked.
2024-04-13 17:28:45 -04:00
toaster
72c770b0c0 K_StartingBumperCount: Stronger restriction against using cv_kartbumpers when you can't K_CanChangeRules 2024-04-11 20:37:23 +01:00
Sally Coolatta
7dfa597c7d SRB2 -> DRRR copyright in src, acs, android folder
Be consistent with toaster's recent changes to copyright
2024-04-05 02:08:23 -04:00
James R
a7979e973e Battle: cap lasers at player's last known floorz
- Do not use camera_t.floorz
- Fixes lasers bobbing up and down sometimes
2024-03-08 17:53:07 -08:00
James R
e4f5e3c78e P_CheckBumpers: do not end round with 1 player
- Fixes round ending instantly when warping to Battle with
  1 human player and at least 1 other bot loaded
2024-03-08 17:53:07 -08:00
James R
841827480b Add K_EndBattleRound, end the round and give a player 100 points if they won 2024-01-26 14:30:56 -08:00
James R
8f53d34325 Battle: make sure Overtime lasers are visible during round end camera 2024-01-22 16:42:30 -08:00
James R
a012b90c89 Battle: use round end camera when player wins with emeralds 2024-01-22 16:42:29 -08:00
James R
8a882c55e5 Battle: have 6 emeralds and touch the 7th to win instantly
Win instantly instead of waiting for the emerald to finish
swirling into your body.
2024-01-22 16:42:29 -08:00
James R
e06e0dcb3a Battle: emerald win HUD polish
- Bigger
- Aligned to the Tally boxes
- Each emerald slides in one-by-one over the duration of
  the Tally
- Flash after the final emerald slides into place
2024-01-22 16:42:29 -08:00
James R
8baf3cd28e Battle: number of monitors that can spawn scales with lobby size
- Duel: 1
- Small: 3
- Medium: 5
- Large: 8
2024-01-21 15:58:30 -08:00
Oni
3aace4f777 Merge branch 'battle-whis-wednesday' into 'master'
Battle: Monitor drops, Overtime elimination, point cap

See merge request KartKrew/Kart!1851
2024-01-17 08:44:32 +00:00
James R
9cd426dd3d Battle: last player standing gets 100 points 2024-01-16 23:11:46 -08:00
James R
1aab476b00 Battle: base Overtime Laser height on camera position instead of player object position 2024-01-16 22:36:16 -08:00
Oni
2c7af6e283 Merge branch 'overtime-in-skybox' into 'master'
Fix Overtime Barrier lasers appearing in skybox

Closes #881

See merge request KartKrew/Kart!1804
2024-01-13 23:09:06 +00:00
James R
92acc80975 Battle: fix Overtime 1v1 sound playing when last player is eliminated
- It should only play when a 3rd player dies, and leaves
  2 remaining
2024-01-12 17:42:24 -08:00
James R
2ec91d647f Battle: do not render Overtime Barrier lasers in skybox 2024-01-09 22:05:13 -08:00
James R
e58253a2b2 Battle: do not spawn UFO during Overtime 2024-01-06 01:41:36 -08:00
James R
4d334a2bb9 Battle: fix alternate Overtime music not playing 2024-01-06 01:41:36 -08:00
James R
db0175a94d Battle: add barriertime cheat, change Overtime Barrier shrink speed for testing 2024-01-06 01:41:36 -08:00
James R
19d9d1e318 Battle: use Easing_OutSine to shrink Overtime Barrier
Modifies netsave.
2024-01-05 18:05:41 -08:00
James R
a759626335 Battle: flash emeralds on screen when someone wins by collecting all 7
- Modifies netsave
2024-01-05 15:56:23 -08:00
James R
6431ef8250 Battle: screen shake when Barrier arms and once it reaches smallest radius
- Plays sound effect when Barrier reaches minimum size.
2024-01-05 15:56:23 -08:00
James R
c9398e21be Battle: cecho "HURRY UP!!" when Barrier appears 2024-01-05 15:56:23 -08:00
James R
c192e57426 Battle: Overtime music
- Fade out level music for 1.5 seconds when "Hurry up!"
  plays.
- Play SHWDWN when level music finishes fading out.
- Switch to SHWDN2 when there are 2 players left and the
  Overtime Barrier has reached its smallest size.
  - Plays a loud noise to mask the transition.
2024-01-05 15:56:23 -08:00
James R
02bacc9a6f Battle UFOs, Checkpoints: use srb2::MobjList instead of standard containers
- Net synced; new mechanism in p_link.cpp to automatically
  manage mobj pointers at the global scope
2023-12-03 10:44:11 -08:00
toaster
0762b93ef2 Tutorial skipping challenge - first pass
- Go to a MainCfg-specified map on its guessed gametype
    - `TutorialChallengeMap = RR_ZonedCity`
- Some unique settings
    - K_CanChangeRules() == false
    - If GTR_CIRCUIT, make it Hard Speed
    - If GTR_BUMPERS, die in one hit
    - If GTR_BOTS, make them all difficulty 13 of the default bot skin
    - No Medals or Spray Cans during the Tutorial Challenge
- Complete the stage in 1st place or don't bother at all
- Has the "Give up" menu option available, but no "Try Again"
- Condition for successfully completing the Tutorial Skip
    - `Condition1 = TutorialSkip`

Related bugfixes:
- Correctly wipe skipstats when returning to the Title/menus
- Typing of `ultimatemode` (hey this isn't accessible by anything right now I wonder)
2023-11-16 21:44:52 +00:00
toaster
4c5005d46f K_StartingBumperCount: Versus contexts also have a GP difficulty-locked quantity 2023-10-29 12:42:30 +00:00
AJ Martinez
dbe25d8be4 Fix Prisons difficulty to respond to GP settings 2023-10-23 19:55:54 -07:00
AJ Martinez
5cdedd53ba Prisons: respond to game difficulty 2023-10-22 17:16:04 -07:00
James R.
bcd4963f2e Always set starting bumpers in P_SpawnPlayer 2023-10-03 21:28:33 -07:00
James R
71f9b79e71 Prisons: fix exit conditions around spectating
Fixes player death not ending a Prisons round, bugged
debug feature.

Now, do it properly. Don't end the round if the last
player spectates.

This is more than a debug feature; in Free Play, it lets
the player spectate and fly around if they want to, and
even come back in, all without restarting the level.
2023-08-26 12:35:16 +01:00
Sally Coolatta
f02e6dbe3c Final thing args code cleanup
- Fix the last few bugs I could find with thing args
- Move version update code
- Rename internal variables to `thing_[string]args` to make older code merge issues more obvious
2023-08-22 02:14:09 -04:00
Oni
07aabdfdb3 Merge branch 'battle-emerald-collect' into 'master'
Emerald collection polish, animation for Battle and tweak to Sealed Star

See merge request KartKrew/Kart!1408
2023-08-20 06:10:35 +00:00
James R
01e2a26689 DEVELOP: let us spectate or pause the game at all times
TODO: This should be available as a debugging option at
release, since it would be useful for addon authors.
I don't want to make more cvars, those are getting
cluttered and should maybe be coalesced into a single
debugging option.
2023-08-19 05:01:40 -07:00
James R
5cc4b1ebad K_DropEmeraldsFromPlayer: fix after emerald orbiting changes
I don't see what it was using the target for before so I'm
just removing that.
2023-08-19 04:03:32 -07:00
James R
1c2a2155c0 Deduplicate a bunch of emerald related code
- Add K_BattleOvertimeKiller
  - Kills an object if it is outside of the Overtime
    Barrier in Battle

- Add Obj_SpawnEmeraldSparks
  - Use this function for MT_EMERALD, MT_MONITOR and
    MT_SPECIAL_UFO

- Move thinking code for MT_EMERALD and MT_MONITOR to
  objects/monitor.c and objects/emerald.c
2023-08-12 19:34:26 -07:00
Oni
afc474461f Merge branch 'battle-recommendations' into 'master'
Battle Recommendations

Closes #569

See merge request KartKrew/Kart!1318
2023-07-01 20:19:18 +00:00
James R
eb41362195 K_RunPaperItemSpawners: always give monitors 3 item types 2023-06-30 19:58:02 -07:00
James R
313d2f8fd2 During Overtime: point Servant Hand to Battle Kiosk, stop pointing to UFOs 2023-06-30 19:58:02 -07:00
James R
506e0c58c8 Always shrink Overtime Barrier in 30 seconds 2023-06-30 19:58:02 -07:00