Length is determined by the "kicktime" cvar, in minutes. By default, this is set to 10, but I'm willing to adjust this. Only applies to manual kicks (in the future, maybe also name filter kicks).
The timestamp for the unban time is even saved in ban.txt, so long-term temporary bans are completely possible. (I checked, you can attempt to ban someone for up to 1902 years if you really want to.)
- Properly call D_SaveBan after remote bans. Bans are no longer saved in the ban command and instead wait for the actual kick to process, since before they were split between the two, which is what caused the discrepancy.
The part of HOSTMOD ministats that I wanted. Can go back to ms using the pingmeasurement cvar.
If Tyron wants to bring ministats fully in I think it'd be better to bring its ideas to replace the current HUD instead, ideally using the existing ping gfx, so they should bring it up with Oni
- Negative speed weather will spawn from a floor in a sector with a sky ceiling, and go up into the ceiling.
- (Not really the same as reverse gravity weather in that aspect, because that would be for sky floors.)
- Fixed invert precipitation flag for linedef type 8 being completely unimplemented. (How long has it been like this...?)
- Fix swapping weather on the fly having reversed momz
Allows for custom weather types.
In SOC:
```Freeslot
PRECIP_GROOVY
Weather PRECIP_GROOVY
Type = MT_PARTICLE
Effects = PRECIPFX_THUNDER|PRECIPFX_LIGHTNING```
In Lua:
```freeslot("PRECIP_GROOVY")
precipprops[PRECIP_GROOVY] = {
type = MT_PARTICLE,
effects = PRECIPFX_THUNDER|PRECIPFX_LIGHTNING
}```
Then in level header, simply set `Weather = PRECIP_GROOVY`.
Other properties are part of the object itself:
- Falling speed is set as the object's speed
- Sound ID is set via the object's SeeSound
- Sound frequency is set by the object's Mass.
A subtle change, but means the bots are thinking ahead more about the track's design, rather than just what's in front of them. Instead of just "convenient" paths, they'll actively think about which path is the shortest.
The most significant thing this effects is making them use shortcuts more often.
An explanation for the approach: I started writing a whole system where an extra pflag would be defined for "colour is not currently the player's ACTUAL colour". Then I looked at the actual code flow that would be affected by it - the single line guarded by `if (forcereset)` - and decided it was simpler to just do an extra write in this once-per-player-per-frame function instead of increasing across-the-board complexity.
- No more instant fuck you button. You charge up a meter instead by holding down attack, and let go to fire as many as you charged up. Tapping fires one out of five, holding for the entire duration shoots out all five like before, but anything inbetween is also possible.
- Ballhog projectiles scale up over time (like Contra spread shot), to help make it stronger again after players started getting faster.