Commit graph

147 commits

Author SHA1 Message Date
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
James R
8ef03f29e5 K_SpawnOvertimeLaser: only move laser height with player if player goes above the top of the lasers 2023-06-30 19:58:02 -07:00
James R
d4a0cdd3c0 Sphere Box: use extravalue2 for sphere count
extravalue1 is already used by timer
2023-06-30 17:07:25 -07:00
Oni
da2e745bf7 Merge branch 'splitscreen-timer' into 'master'
Splitscreen level timer HUD

See merge request KartKrew/Kart!1309
2023-06-30 06:08:52 +00:00
James R
d8afc7597d Add K_FlingPaperItem, split off random thrust functionality
Battle UFO drops do not fling.
2023-06-29 22:22:00 -07:00
James R
5546f7e7a7 Battle: spawn sphere boxes even less frequently, 2x -> 16x 2023-06-29 21:01:05 -07:00
James R
9f3bee528a Battle: spawn 3 monitors at most 2023-06-29 21:01:03 -07:00
James R
f5d68783fc Battle UFO spawning behavior
- MT_BATTLEUFO_SPAWNER args[0] is the ID
- Spawn a random UFO from the list spawner at the start of
  Battle
- UFO spawns 200 units above the spawner
- After destroyig a UFO, wait 25 seconds before spawning
  the next UFO (next ID in the list)
2023-06-29 19:49:35 -07:00
James R
2ce05f018e Add g_battleufo global, add to netsave 2023-06-29 19:49:18 -07:00
AJ Martinez
20f57d7efa Don't drop emeralds unless it's a new hit 2023-05-25 22:49:14 -07:00
AJ Martinez
cac02bb01a Emerald fixups 2023-05-19 22:51:06 -07:00
toaster
12ecb1f7a4 P_DoPlayerExit changes
- Add flag application in function signature
    - Consistent gating of extra PF_NOCONTEST application behind not already exiting
        - This should fix dying after winning in K_Cooperative gametypes breaking things
- P_DoAllPlayersExit
    - Consistent condition of playeringame, spectator, exiting, etc checks
    - Also could force-give a life (for Battle Prisons)
2023-05-02 18:16:26 +01:00
James R
06f58486a5 Merge branch 'emerald-timer' into 'master'
Add fuse to Emeralds in Battle

Closes #126

See merge request KartKrew/Kart!1091
2023-03-27 12:12:17 +00:00
James R
28c9c3cc7d Tie Battle fuse for item drops and Emeralds to GTR_CLOSERPLAYERS instead of GTR_BUMPERS 2023-03-26 07:01:19 -07:00
James R
04bc0b6b9d Add fuse to Emeralds in Battle, same as dropped items 2023-03-23 19:39:28 -07:00
James R
5cce791c80 Add battletest cvar, force Battle mode instead of Prisons in FREE PLAY 2023-03-23 19:31:23 -07:00