- Permit KARTSPEED_NORMAL, so it's not TOO obnoxious
- However, check for whether you're fighting a sufficient opponent
- A human player is considered sufficient, because if you've dominated another it's fun to style on them
- If all other players are bots, make sure they're at least half the difficulty range
- Only show SPR2_SIGL for SF_IRONMAN. You've gotta work for that stuff!
- Instead of duplicating some of the behaviour the tally code does manually, simply use tally state directly
Instead of using the skin of the object and the color of the player, use a direct player reference to get both skin and color from.
Now correctly tracks Heavy Magicians at all times, not just after exiting.
- Always spawns on the ground below the player
- If falling fast enough, spawn afterimages around the
player like "falling through hoops"
- Also fix scaling to Shrink/Grow
- There's a freeze cheat bool to freeze everything except for players.
- There's a level freeze bool to freeze literally everything.
- There's a frozen bool on mobj_t to explicitly control freeze status on an object.
- Carry back item capsule, painted with the skincolor of
the player who was stolen from
- Give player item by orbiting and shrinking into the
player like an emerald
- Lock player item box while animation plays, draw an
empty item box on the HUD
- At end of animation, burst item capsule to place item
in player's hotbar
- Hyudoros can no longer stack items in the hotbar --
consistent with item capsules
- (If you have a Super Ring in your hotbar and Hyudoro
is holding a Super Ring too, it will wait for you to
use yours)
---
MT_ITEMCAPSULE changes:
- extravalue2 != 0: use this color on caps
- MF2_STRONGBOX: award items like the roulette
- Super Ring is placed in the hotbar instead of awarding
rings directly
- SPB is placed in the hotbar instead of throwing it
immediately
- DMG_INSTAKILL: don't respawn
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.
This indirectly fixes a bug with Rocket Sneakers:
- Give yourself Rocket Sneakers, use them up completely.
- Instantly give yourself and deploy Orbinauts (may want
to use a bind for this, since it has to be quick).
- Wait a moment for the exploded Rocket Sneakers to fall
to the ground. When this happens, the Orbinauts will
stop following the player -- they will enter a buggy
state.
So many items uses hnext/hprev, that I decided to make
a general fix that probably covers most bugs that could
arise from poor handling of hnext/hprev.
- Up to 255
- Each Spray Can placed does, in order, the postion in the list from the current head
- So if there were 3 cans, and your can list was Red Yellow Blue Green, then Red, Yellow, and Blue would be in the level.
- Grabbing the nth colour in the list will swap that colour to the current head of the list
- However, the game will print to the console if you do this outside of GS_TUTORIAL.