- Re-entry SHOULDN'T get stuck nonzero on first join for a given node
- Set to 0 for all players on level start
- Set to 0 for all players on level end
- DEFINITELY never intentionally set on join with teamchange finalisation
- This basically just prevents people from spamming New Challenger after hopping out mid-session, since the previous version, in addition to being buggy, was a little annoying.
- New Challenger no longer happens on tic 0 of mapload
- Handles any late, pending PF_PF_WANTSTOJOINs without threat of reset in P_PostLoadLevel
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.
Fixes connecting to a server that's currently on a map with a loop.
Also tidies P_SpawnItemRow, P_SpawnItemCircle to reduce the likelihood of this happening again, and possible crash with Lua-shortcircuited loop spawning
- Spawned from underneath the UFO and is thrusted downwards
- Is spawned as splats instead of papersprites
- Colorized to sapphire
- Despawns on any ground contact
- 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'.
- If follower audience member has a certain flag, the bob/jump height is forced to zero
- UDMF: args[2] & 2
- Binary: The "Extra" flag
- If a follower audience member (or MT_EMBLEM with GE_FOLLOWER) has a bob/jump height of 0, use the idlestate instead of the movement state
- 3 splats spawn before the instawhip cooldown runs out
- Splats angle steeply outward in a triangle formation
- VFX is animated, animation runs out right when instawhip
cooldown completely runs out
- Points in the direction of the best waypoint to take
- Vwoops in and out like a drop target squash-n-stretch
- Shows WRONG WAY only on debugwaypoints
- Flexible enough to be used for custom purposes and other gametypes, the only caveat being if those gametypes use GTR_CIRCUIT conflicting with the other purpose of PF_WRONGWAY
Fixes the loops issue Tyron ran into. Way, way too much stuff was being initialized after P_SetupSpawnedMapThing instead of before.
Also get rid of weird doangle pointer crap, I don't understand why it did it that way to begin with? The only thing that I didn't write that needed to set it was P_SetupMace, which just seemed to be a weird hack to get around the weird ordering, instead of just changing the ordering? A lot of objects even double-calculate the angle just because it hasn't been set yet...
- Spawn them after player count has been calculated properly.
- Move gametype spawning into its own argument. Now instead of 1 flag that said it inverted Time Attack spawning but ACTUALLY just made it spawn in all modes, there's flags for the two gametypes which can be combined. Not setting any will use the old default behavior (rings are in both modes, items are multiplayer-only).
- 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.