Commit graph

63 commits

Author SHA1 Message Date
Sally Coolatta
03874c3374 New Ballhog design
Taking the old charge idea, but instead of missiles, it's bananas that explode on the floor and can only be lobbed forward. Charging creates more projectiles in a circle pattern around it.
2024-08-28 01:26:53 -04:00
Antonio Martinez
199a92ebb2 WIP: Overdrive 2024-07-22 02:14:11 -07:00
James R
551a101f7b Hardcode SA2 Pulley (ipullup.lua)
Differences from Lua version:

- Does not set cusval
- Does not have individual states for pulley, hook
  - Simply sets sprite on S_INVISIBLE
- Does not do P_CheckPosition, sets Z directly
- Does not spawn chain visual every tic
  - Spawns a single object and vertically stretches it to
    the correct length
- MT_IPULLUP has MF_SCENERY and a short-circuiting
  thinker, also MF_NOBLOCKMAP so there is never any
  collision against it (it is a controller)
- MT_PULLUPHOOK has MF_NOCLIP to avoid extra collisions
  while moving
2024-04-03 04:37:44 -07:00
James R
bf0041644a Add destroyed kart effects
- Removed hitlag sparks and extra quakes from player death
- Removed dontdraw flag from NO CONTESTED player
- Moved most dead kart code to objects/destroyed-kart.cpp
2024-03-31 00:58:14 -07:00
Lach
2f19582941 Merge remote-tracking branch 'origin/master' into adventure-air-booster-hardcode 2024-03-09 15:19:29 +11:00
James R
f7d396d150 Power-ups: spawn spinning power-up icon on player
- Spins for 40 tics, speeds up over duration
- Starts wide stretched, ends thin and tall
- Additive, fades into translucency
2024-03-08 17:53:07 -08:00
Lach
a419ea48c6 Hardcode Adventure Air Booster & Dimension Disaster objects 2024-03-08 10:38:33 +11:00
James R
1a916a7d16 Move MT_SCRIPT_THING code into objects/talk-point.cpp 2024-02-23 06:13:29 -08:00
Eidolon
58557b274f Hardcode Sealed Star objects 2024-01-11 14:18:15 -08:00
SteelT
10e9cd7480 Hardcode waterfall particles spawner 2024-01-11 03:55:12 -08:00
wolfy852
4c780d8867 Hardcoding: Cloud logic 2024-01-10 20:38:31 -08:00
Eidolon
61db93db0c Hardcode Joypolis trick balloons 2024-01-05 17:56:38 -06:00
James R
b68947e636 Hardcode Endless Mine faucet / rain
- Note: rain does not use the weather system
2023-12-08 17:42:17 -08:00
James R
69541b9422 Hardcode bustable rocks -- Angel Island + Endless Mine 2023-12-08 17:42:17 -08:00
James R
5cba9d63b3 Hardcode Lost Colony Fuel Canisters 2023-12-07 19:19:02 -08:00
James R
dc20fca17d Broly: convert to C++ 2023-12-07 14:35:47 -08:00
James R
3386b1a37c Hardcode Lavender Shrine Classic spears 2023-11-28 07:18:37 -08:00
James R
aec21cd114 Hardcode SA2 Crates 2023-11-27 05:07:30 -08:00
James R
401321e310 Hardcode Ivo Balls 2023-11-25 05:35:06 -08:00
James R
9ff174dd06 Hardcode Frozen Production Frost Throwers (ceiling and horizontal versions) 2023-11-22 23:53:14 -08:00
James R
4b3ea7460b Hardcode Gust Planet seasaws
- Add states
  - MT_GPZ_SEASAW_SPAWN
  - MT_GPZ_SEASAW_HITBOX
  - SPR_GPPS
  - SPR_GPZS

- Add objects API
  - Obj_GPZSeasawSpawn
  - Obj_GPZSeasawThink
  - Obj_GPZSeasawCollide

- objects/gpzseasaw.c
  - Gust Planet seasaw behavior
2023-11-21 01:07:17 -08:00
James R
1df4094c65 Mega Barrier for Barrier power-up -- just a visual object 2023-11-16 21:08:30 -08:00
AJ Martinez
e20218a9d6 Trick Charge VFX WIP 2023-11-12 03:38:17 -07:00
toaster
1c12b28498 Blend Eye Hardcode part 2
- VS_ArenaCenterInit - setting up the boss arena centerpoint
- VS_GetArena - Getting a particular arena
- VS_PredictAroundArena - Predict momentum of object around arena
- VS_RandomPointOnArena - Select random position around arena
2023-10-29 22:04:50 +00:00
James R
b9615d7225 objects/loop.c -> objects/loops.cpp 2023-10-14 19:27:31 -07:00
Lat
dc6bb1bfa9 solve conflicts and update to master 2023-10-07 11:15:47 +02:00
Sally Coolatta
643cf46b61 Ball switch 2023-09-26 08:37:10 -04:00
Lat
a710237fde Hardcode the remainder of the WPZ objects 2023-09-23 17:05:21 +02:00
Lat
df31c65ebb Hardcode these godforsaken turbines 2023-09-23 16:32:32 +02:00
Lat
ca90d27e30 Hardcode DLZ Hover thingies + rocket fixes 2023-09-23 11:00:00 +02:00
Lat
a565d923c0 Hardcode these cursed seasaws 2023-09-22 18:14:38 +02:00
Lat
fb91a9a0f7 DLZ rocket hardcode 2023-09-21 15:42:10 +02:00
Lat
5a6ecd051a Fix conflict in cmakelist w/ master merge 2023-09-20 17:17:33 +02:00
Lat
42cbb93ca2 Hardcode Leaf Storm Eggman balls 2023-09-20 16:33:07 +02:00
Lat
ea8e871176 LSZ bungee: first pass 2023-09-20 14:42:39 +02:00
Lat
aef958d7ed Rideroid: first pass 2023-09-18 16:54:16 +02:00
James R.
fac5abf69e MT_SHADOW: move code to objects/shadow.cpp; copy whiteshadow from followed object 2023-09-17 21:56:17 -07:00
James R
e83923a365 Checkpoints: add object configuration, collision, animations
This commit handles everything except actually respawning
the player at a checkpoint.

- Checkpoints are formed by two checkpoint things (2030):
  - thingarg0 - The ID for the checkpoint. Must be the
                same for these two things, and these two
                things only. ID cannot be 0.
  - angle - The direction the player is intended to face
            after respawning. Must be the same for both
            things.

- Each checkpoint thing is a starpost with a stick and an
  orb at the end.
- By default, the sticks are lowered to horizontal and
  face toward the opposite starpost.
- Rainbow tether sparkles form a field between the two
  starposts.
- When a player crosses between these two starposts, each
  spins in the direction that the player crossed. The
  sparkles also fly out in that direction.
- Over time the sticks pivot upward.
- When the starposts are done spinning, the sticks will be
  pointing straight upward.
- Orb at the end of the stick begins flashing when the
  starpost is done spinnning.

- Players may cross multiple checkpoints.
- When this happens, any previously activated checkpoint
  will have its stick lowered back to horizontal, and its
  orb will stop flashing.
2023-09-16 21:46:22 +01:00
Lach
53b48d057c Rename Lost Colony symbols to Ark Arrows and add 10 new symbol types 2023-08-15 22:47:04 +10: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
Lach
2d7ae88586 Hardcode MT_BOOSTPAD as MT_SNEAKERPANEL 2023-07-21 19:19:28 +10:00
Lach
a21e509a94 Hardcode MT_DASHRING & MT_RAINBOWDASHRING 2023-07-19 21:47:41 +10:00
Lach
64511e82c2 Merge remote-tracking branch 'origin/master' into symbol-signs 2023-07-11 20:55:44 +10: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
SteelT
a24e9bb19f Add basic Battle UFO object functionality 2023-06-29 19:49:17 -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
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
Lach
6dc7e96e95 Add Lost Colony symbol object 2023-06-19 23:12:55 +10:00
toaster
fa10ff629f servant-hand.c 2023-06-15 19:39:55 +01:00
James R
696e9e09c9 Gachabom rebound
- Gachabom hits an object and is destroyed immediately
  (does not bounce off like Orbinauts or Jawz).
- Gachabom explosion spawns in its place.
- (New) Gachabom physically returns to the player who
  threw it.
2023-06-13 16:57:44 -07:00