Commit graph

587 commits

Author SHA1 Message Date
James R
2f9ae94b62 Emerald orbits player after UFO Catcher is broken 2023-08-12 21:41:21 -07:00
James R
af26848cf9 Spawn literal MT_EMERALD for UFO Catcher, remove MT_SPECIAL_UFO tracking
Side effects:

- HUD tracking icon now uses emerald's color in Sealed
  Stars.
- UFO emerald doesn't disappear when collected. This is
  WIP because the emerald is intended to orbit the player.
2023-08-12 21:41:21 -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
James R
6bfc217b41 DashRingLaunch: convert tumble to wipeout 2023-08-11 21:15:48 -07:00
AJ Martinez
3cb8f7c2e1 You can attack Sealed Stars, idiot 2023-08-11 02:08:46 -07:00
AJ Martinez
cd28e4d150 No Special Stage ringbox, always Record Attack ringbox 2023-08-11 01:15:34 -07:00
James R
e89ecc7a2d Merge branch 'music-technology' into 'master'
Replace music handling

See merge request KartKrew/Kart!1369
2023-08-08 22:19:36 +00:00
AJ Martinez
688ba7a705 Ring Box mapper arg 2023-08-07 22:39:11 -07:00
Oni
ced5a56db4 Merge branch 'super-flicky-tracking' into 'master'
Super Flickies now have HUD tracking and map icons

See merge request KartKrew/Kart!1363
2023-08-07 05:05:14 +00:00
James R
39f46a0f20 Replace music handling
(This commit does not compile. Sound test and tunes
command code needs to be ported after this.)

This is a big one. Here's the rundown:

The old music system was very direct, much of the time
just a proxy to the real sound API in i_sound.h.

You could change the music on command, but there wasn't
a consistent way to prevent some music from playing over
others. P_RestoreMusic is one example of needing to
address this problem. The jingles system was intended as
another solution. Furthermore, sound test (Stereo) has its
own needs.

I am removing all of that. Music handling in general is
now a very deliberate system, kind of similar to jingles.

In the new system, "tunes" are registered. The tune stores
info such as whether it should loop or fade out. Most of
the configuration is intended to be initialized only ONCE.
Tunes can be mapped to an actual music lump. They can be
remapped at any time too.

Tunes are also configured with a priority number. This
determines which tune is heard, if multiple are supposed
to be playing at a time. You can even tell a tune how long
it should play, so it's unnecessary to track this with
bespoke timers.
2023-08-06 17:31:45 -07:00
toaster
4d71172002 objects/sneaker-panel.c - include k_objects.h 2023-08-02 16:53:35 +01:00
AJ Martinez
0c45500901 Ring Box dopamine 2023-07-30 22:15:50 -07:00
VelocitOni
3b1edb903c Super Flicky trackables
Super Flickies have HUD tracking, have map tracking, and are 3x big when chasing instead of 2x
2023-07-30 00:48:59 -04:00
Oni
a18982dc55 Merge branch 'splatbooster' into 'dashrings'
Hardcode MT_SNEAKERPANEL & MT_SNEAKERPANELSPAWNER

See merge request KartKrew/Kart!1349
2023-07-29 18:28:48 +00:00
Lach
6b86cbb500 Fix compile warnings 2023-07-29 18:23:04 +10:00
Lach
fd8ba4236d Hardcode MT_SNEAKERPANELSPAWNER & adjust FF_GLOBALANIM behaviour 2023-07-29 17:51:25 +10:00
toaster
bdc77ce940 Add "../k_objects.h" to dash-rings.c 2023-07-28 23:40:12 +01:00
Lach
2d7ae88586 Hardcode MT_BOOSTPAD as MT_SNEAKERPANEL 2023-07-21 19:19:28 +10:00
Lach
bb5070afb0 Merge remote-tracking branch 'origin/master' into dashrings 2023-07-20 19:04:42 +10:00
Lach
a21e509a94 Hardcode MT_DASHRING & MT_RAINBOWDASHRING 2023-07-19 21:47:41 +10:00
toaster
e6619df2d4 Servant Hand: Refactor to use its own thinker
Since it's already ticking for the sake of a fuse, make it handle its own movement/scaling as well.

Spawning is still handled by the player thinker (and can be blocked by hitlag), but this permits it to disappear when a player dies/disconnects the server.
2023-07-18 15:45:49 +01:00
toaster
beebfd0d2f Ring Shooter: Only P_SetTarget if player is in game 2023-07-18 15:29:32 +01:00
Lach
64511e82c2 Merge remote-tracking branch 'origin/master' into symbol-signs 2023-07-11 20:55:44 +10:00
VelocitOni
30d21e960a Merge branch 'master' into hit-stop-efx
# Conflicts:
#	src/objects/ufo.c
2023-07-03 06:24:27 -04:00
James R
e514b5023f During Overtime: point Servant Hand to Battle Kiosk, stop pointing to UFOs 2023-07-03 06:20:20 -04:00
AJ Martinez
1c633dd9ee Direct players to battle UFOs via Obj_PointPlayersToXY 2023-07-03 06:20:19 -04:00
AJ Martinez
13b8df8950 Clean up UFO gamespeed calcs 2023-07-02 15:16:54 -07:00
AJ Martinez
2b6da538ac UFO not CBT 2023-07-02 04:28:19 -07:00
Oni
0b3af82879 Merge branch 'spb-gamespeed' into 'master'
On higher gamespeeds, increase SPB target distance

See merge request KartKrew/Kart!1323
2023-07-02 03:34:08 +00:00
AJ Martinez
291eef55c4 On higher gamespeeds, increase SPB target distance 2023-07-01 19:20:42 -07:00
AJ Martinez
30207327c7 Use only Ring Box in SPB Attack 2023-07-01 15:43:41 -07:00
Sally Coolatta
5067bb854a Split hitlag into its own file 2023-06-30 23:05:40 -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
AJ Martinez
f8131cbd4e Direct players to battle UFOs via Obj_PointPlayersToXY 2023-06-30 19:58:02 -07:00
Oni
0c94ce41eb Merge branch 'battle-ufo' into 'splitscreen-timer'
Battle: Power-up UFO

See merge request KartKrew/Kart!1308
2023-06-30 06:08:37 +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
SteelT
06acc1c07f Spawn powerup orb on death
Spawns random powerup
2023-06-29 22:22:00 -07:00
SteelT
dae2142fbe Fix UFO beam spawn height on scaled maps 2023-06-29 22:22:00 -07:00
SteelT
6e33281baf Despawn UFO after touching the ground 2023-06-29 22:22:00 -07:00
SteelT
ad3c2e0b21 UFO spawns 250 units above the spawner instead 2023-06-29 22:21:28 -07:00
SteelT
bf394f1f38 UFO beam spawning behavior
- Spawned from underneath the UFO and is thrusted downwards
- Is spawned as splats instead of papersprites
- Colorized to sapphire
- Despawns on any ground contact
2023-06-29 22:21:28 -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
SteelT
a24e9bb19f Add basic Battle UFO object functionality 2023-06-29 19:49:17 -07:00
James R
adaec93c44 Super Flicky: don't whip your own flickys 2023-06-29 19:41:11 -07:00
James R
6e80957e4f Super Flicky: fix erroneous timer past flicky exit 2023-06-29 19:41:11 -07:00
James R
da80096a67 Super Flicky: pad timer to compensate for exit time 2023-06-29 19:41:11 -07:00
James R
c01a29c42a Add Power-Up Aura
- Spawns on player when they use their first power-up
- Lasts as long as player has any power-up
- A hexagon of animated, additive, fullbright papersprites
  surround and move with the player, takes player's angle
2023-06-29 19:37:22 -07:00
James R
065475ea29 Add Bumper power-up, give 5 bumpers to the player 2023-06-29 19:31:27 -07:00
James R
e67ab6a116 Spawn Guard visual when player spawns, do not tie spawning to e-brake
Object already handles turning invisible if player has no
Guard.
2023-06-29 19:31:27 -07:00