Commit graph

13 commits

Author SHA1 Message Date
AJ Martinez
b08dcc06c1 Player-lock paperitems refinement
- Transparent for single-screen players who can't pick up
- Land quicker and closer after monitor destruction
- Lock for less time to compensate
2024-01-26 14:30:56 -08:00
James R
91fdba650f Monitors: for 6 seconds, dropped items can only be picked up by the player who destroyed the monitor
- Paper items colorize to player color
  - Color flickers back to normal 1 second before the item
    can be picked up by anyone
- If a player who can't pick it up steps on the paper
  item, that player becomes shadowed
2024-01-17 00:22:22 -08:00
AJ Martinez
a982b3bf63 Monitor damage sounds 2024-01-06 02:03:40 -07:00
AJ Martinez
dd71c81b24 Battle: reduce damage hitlag + monitor hitlag 2024-01-06 01:56:27 -07:00
AJ Martinez
b67aa8af4f Charge instawhip test fixups 2 2023-10-14 05:56:42 -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
d8afc7597d Add K_FlingPaperItem, split off random thrust functionality
Battle UFO drops do not fling.
2023-06-29 22:22:00 -07:00
AJ Martinez
85bfd5be12 Really, really drop emeralds from monitors dead center on the ground 2023-05-20 02:53:13 -07:00
AJ Martinez
cac02bb01a Emerald fixups 2023-05-19 22:51:06 -07:00
AJ Martinez
a3cc422706 WIP: the sequel 2023-05-17 01:50:17 -07:00
SteelT
43b88b9d29 Buff the damage given to battle monitors when in spring grease state 2023-02-27 21:41:07 -08:00
James R
7ce12f37dc Spawn Battle monitors
- Item count has always scaled up with player count. Items
spawn every N tics. Previously, these items were evenly
distributed across all item spots. Now, only one monitor
is spawned at a time and the number of items inside scales
up.

- Emeralds spawn inside of monitors instead of loosely.
- Sphere boxes should spawn in the same way as before.

- Once a monitor has been spawned at an item spot, no more
monitors can be spawned there until that one is destroyed.
There's an additional delay of one spawn interval before
a monitor can be spawned in that location again. This is
so a monitor cannot ever instantly spawn back if one is
destroyed at just the right time.
2023-01-03 05:31:30 -08:00
James R
3491bd0b1d Add Battle monitors
- Includes a struct definition for symmetrical objects
made out of papersprite sides.
- Dimensions of papersprite sides are looked up using
sprite cache.

- Monitors may contain multiple types of items.
- Item RNG is deterministic from the time the monitor is
spawned but the item types are not stored in memory.
Instead the RNG seed is restored every time an item type
needs to be determined. Item types need to be determined
every time the icon on the monitor's screen changes and
when the monitor is popped and drops all its items.
- Monitors sparkle like emeralds if there is an emerald
inside.

- Monitors take damage from players simply bumping into
them. The damage scales up with speed and weight.
- Activating a lightning shield in proximity decimates the
monitor into being able to be destroyed in one hit by
anything thereafter.
- All throwable / deployable items destroy a monitor in
one hit.
2023-01-03 05:31:30 -08:00