Commit graph

580 commits

Author SHA1 Message Date
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
Oni
f393b9782b Merge branch 'super-flicky' into 'master'
Battle: Super Flicky power-up, give power-up command, general functions for interfacing power-ups (also Lua)

See merge request KartKrew/Kart!1301
2023-06-28 00:31:53 +00:00
AJ Martinez
e75c052e7b Force MT_RANDOMITEM to start S_RANDOMITEM in Prisons 2023-06-27 02:20:20 -07:00
James R
ed262f780b Add majority of Super Flicky object functionality
Thinkers and most collision.

- 4 Super Flickys deploy from above the owner player, in
  a radius.
- Radius shrinks as Flickys descend.
- Flickys orbit their owner until coming within range of
  another player.
- The entire group of Flickys attack another player at
  once, with some delay between each.
- Flickys accelerate toward their target, constantly
  building speed.
- When a Flicky is both within a short radius of its
  target and the angle of momentum is narrowed toward the
  target, the Flicky will sharply accelerate to impale the
  target.
- When a Flicky is both outside of a long radius of its
  target and the angle of momentum is facing away from the
  target, the Flicky's momentum will be drastically cut in
  order to make it easier for the Flicky to turn around.
- After one of the Flickys in the group hits its target,
  all but one of the group is free to hunt a different
  target.
- A new target is chosen from a radius around the current
  target.
- Flickys can only target players who are not respawning
  and who have not already been attacked by another
  Flicky.
- Super Flickys can be blocked by a Guard. The Super
  Flicky shall have all its momentum reflected (strong
  knockback).
- Super Flickys can be insta-whipped. This shall have the
  same effect as a Guard, with the additional effect of
  knocking the 'Super' out of the Super Flicky.
- Non-Super Flickys are knocked back with gravity. After
  bouncing off the ground once, it regains flight and will
  continue to chase its target. However, it cannot damage
  the target. After 5 seconds, the Flicky regains Super
  state.
- The Flicky power-up is on a timer. After the timer
  expires, Flickys lose Super state and ascend back into
  the air (reverse of their initial descent).
- If the Super Flicky is not orbiting its target when it
  ascends, it retains all horizontal momentum during the
  ascent, 'flying off into the distance'.
2023-06-27 00:53:24 -07:00
AJ Martinez
c71bb7092e Merge remote-tracking branch 'origin/master' into ringbox 2023-06-26 19:19:21 -07:00
AJ Martinez
c495106ee5 Ringbox: playtest fixups 2023-06-26 19:02:39 -07:00
AJ Martinez
0a6bac0dcc Ringbox: HUD, transform time define, ring-box-only, scaling rewards 2023-06-26 17:36:41 -07:00
AJ Martinez
45547607bd Ringbox: item respawn refactor + box visuals 2023-06-26 06:36:37 -07:00