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.
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
- 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
- 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
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.
- 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
- 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)
- 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
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'.
- 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.