4,131 Commits over 1,219 Days - 0.14cph!
Start to fix turrets placed outside of a base turning off turrets inside a base
- cache turrets within 40m instead of doing a physics query to find all turrets within 40m each time we update interference
- rewrite the interference system, getting rid of all the queues
- system is no longer recursive since a turret can only overload itself, meaning we never have to recalculate neighbors interference
- when a turret turns on, if it would cause a nearby turret to go over the interference limit it instead will overload itself
- when a turret turns off, it will check if any nearby turrets that are overloaded can now turn on
Now the complex part: which overloaded turret should be turned on first
- tried to reactivate overloaded turrets based on the order they were powered on, however this could be abused by stacking 40 turrets in your base (mostly overloaded) and the raiders having to destroy every single turret in the base before theirs would turn on
- instead trying to prioritize the overloaded turrets with the least amount of active turrets nearby, assuming that the FOB will have less turrets nearby then the turrets inside the base
merge from climate -> deep_sea
Add animation curve to control how fast the bad weather lerps when the end wipe event starts
Override WeatherState with DeepSeaWeatherState on the client when you are inside the deepsea
Re-apply part of merge manually
merge from deep_sea -> deep_sea/climate
Attempt #2
- store two specific weather states inside the single climate prefab (deep sea calm, deep sea wipe)
- lerp between the two deep sea weather states based on the lerp float inside the DeepSeaManager entity (and network it)
- add separate ClimateParameters for the deep sea (duplicate of Temperate for now)
- read the DeepSeaWeatherState for temperature and rain (don't need to override snow since it can't snow outside the arctic)
manually override raid, snow and temperature manually when players are inside the deep sea
Add separate set of sliders for chance of each weather preset inside the deep sea
- only clear weather allowed: no fog, rain or storms (since that indicates the deep sea is wiping soon)
- only modify the visual weather effects on the client, don't mess with the ocean simulation yet
merge from naval_update -> deep_sea
merge from fix_admin_logging -> main
Print off `[Config File]` in the admin logs instead of `[Unknown]` when commands are read from a config file
Enable admin logging a bit later in the function so it doesn't capture `readcfg` running a bunch of commands
Update manifest (prefab files)
▇▉▅▊▋ ▉▌▉▋ ▍▍▌_▅▆▊▄▆▌█▋█_▆▊▊▅▋_▅▉▇▄▇▍▅ -> ▇▉▉▍
▌▆█ █▇▊▇▄▊ ▉▅▅▉ ▋▍ █ ▌▅█▇▇ ▄█▆▄▅▇▍ ▄▆ ▍▊▋ ▇▅▉▅▍▆▇▅▅ ▅▋█ ▍▍▌▉▅▆▉▉▌ ▄▋▋ ▅▇▅▆█
- ▍█▊ █▇▅▉█▇▌ ▍▄▅▆ ▌▋▋ ▅▆█▇▍▍█▄▍ ▆▇ ▋▍▊▄▅ ▋▅ ▋▅▍ ▊▋▇▅▋▇ ▊▉ ▊▌▍ ▄▇▅ ▍▌▄▄█▅▇ █▍ ▅▋█▅▍ ▍█▄▅
merge fix_copypaste_clear_turrets -> main
Fix turrets getting cleared when a base is copied using copypaste :(
- fix pooling error that didn't copy users when saving turrets
- remove old code that handled this by setting the list of users to null before returning data to the pool
merge from fix_admin_logging -> main
Fix log being restarted each time the server restarts instead of appending
Fix logging all commands by normal users
- need to check both ServerUser and !ServerAdmin
Prevent startup commands from being captured before we read command line to determine if we want to disable the logging
- fix unrestricted commands being logged as clientside
- fix RCON using wrong empty field to identify rcon connections
merge from log_disable_logs -> main
Log to console indicating when logging is disabled & enabled
▅▇▄▅█ ▊▋█▍ ▉▅▍▅▆█▅▍▆_▌▉▋▋▇_▄▋▄▊▄▌▋▍ -> ▊▉▍▍
▊█▍█▄▍█ ▍▉█▍▊ ▅▋▇▆▊█▌▇▇ ▍▌▄█▅▄▆ ▄▇ ▋▌▇▌▍▆▍▆
▌▆▆ ▅▅▇▉█▅▇ ▌▄▉▄▊ ▇▄▊▉▅ ▌▆▄▅█ ▄▊█▍█
▆▇▅▉▋ ▋▅▌▌ ▆▊▊▉ -> █▉▉▋▋█▍█▉_▉▅▅▅▄_▉▅▄▊▅▋▉▄
█▌▊▅▍ ▌▌▊▍ ▄▇▋▉▌_▍▉▍▇▍█_█▅▌█▉▋▍▆_▌▍▇ -> █▆▇▇
▌▍▉▉▊▆█▅▉▍ ▅██▇▌▋▋▉▌▆ `▄█▇▇▆▌█▇▍▉▆ = ▊▄▆▇` ▍▌▇▊█▊▊
▆▄█▍▆▊▅ ▊▆▌▍▄▇▋▋ ▌█▊▌▄▊▊▌ ▇▍▍▌▉ ▅▅▅▌ ▌▅▆▌ ▇▇▄ `▋▇▋█` ▌▋▇▆▄▉▊ ▊▊ ▌▋'▌ ▊▅▅ ▍▇▌▊ ▉▅▋ ▄▅ ▆█▍▉▄▉▄
▋▋▋ `▊▌▋▊▅▅▉▆` ▆▋▆▄▆▄▄▋▊▉█▊▍
- ▌▆▍▍▌ ▇▋▊█▅▍▌▉ ▊▍▅▉▉▌▋▆ █▍▄█ █▉▆▄▉ ▊▇▄ ▌▌ ▉▋'▋ ▆▋▋▉▌ ▉▇▆ ▋▇▅▊ ▅ ▄▉▍▋█▇ ▍█▇▋ ▉ ▉▍▉▉▋▋▌▇▇▋
- ▆▄▄▊ ▊▇▋▅▋▅ ▅█ ▇▊ ▋▅▄▇▅ ▌▇▌ ▄▅▄ ▍▄▋▉ + ▍█▋▆█▌ ▉▌▄▌▄▆▆ + ▊▉█▄▉▌ ▌▉▊▉▆
Codegen + fix compile error
▄▅█▋▋▍ ▊ ▊▍▅▉▆ ▉▉ ▋▉▆█▉▆▇▆▅ ▌▄█▆▇▇▄█▆ ▌▍▋█ [▄▉▇▄▊▄▊▋▉] █▌ ▌▉▆ [█▅▉▋▌▌▍] ▊▋ ▆▊▇▆ ▍▋▇ █▊▋▇ ▉▋ ▄▉▉▇▉█▇ ▉▊▇▋ ▅▉▆▋
- ▅▄▍█▇'▋ ▅▇▆▋▋▄ ▅▄ ▆▅▆▋▋▅▄▅▉▇▉▇▆ ▊▆ ▉▅▇█▊▆▉ ▌▍▅▍▍▅▆▉▋ ▇▅█
▉▌▋ ▉▇▄▆ ▅▌▌▌█ ▌▄▄▍▌▌▉ ▌▆▍▄'█ ▍▌▇▋▅▆▅▍ █▌ █▇▆▌▆█
▄▉▄▇▌▅▋ ▊▋ █▅▊▅█▇▇▇▆.██▄▋▌▅▌.▆▉▄.▌█ ▋▋▄▌ ▄▇▇▅▄▌▄█ ▉▉█▋▅▌ (▇▄▆▆▄▇█ ▆▊▍▉▊▊)
▉▆▇▅▇ ▆▇▅▊ ▄▇▍█ -> ▍▊▋▍▊█▄▍█_▊▋▋▉▊_█▉▊▇█▊▌▋
merge from admin_logging -> main
█▊▍ ▋█▉█▅ ▇▇▌▇▄▍▆█ ▅▇ █▆▊▄▇▄▉▆ ▍▆▄▄▊▍▌▋▄
- ▅▍▅▉▅▋▊ ▌▅▌▄▅ ▋▄ ▊▍▍▍ ▊▌█▇▍▅▆
- ▊▅▅▇▋▍ ▉▆▍▅ ▉▄▌▆█▄▅▅ ▆█▅▅▅▇▅▊▄ (▅▍ ▉▌ ▄▍▇'▉ ▉█▉ █ ▍▉▌▌▍▄▍ ▅▋▆▋▆▅▊▋ ▄█▄ ▋▆ ▄▍▇▇▇▆ ▉▄▉▊▌▉▊, ▊▆▌▆ ▆▅▇ ▆▉▇)
- ▍▅▆ ▊▇▅▆▅▉▋▆ █▄ ▅▉▉▋▉▌▉▄▇▅▊▉█ ▍▋ ▅▍█ ▍█▉█▅▄▉ ▆▍▆ █▇▌▇▆▆ ▊▋ ▋▇ ▌▇▄ (▆▊ ▍▊ ▅▌▆█ ▍▊▆ ▇▍█▋▇█▆▆ ▍▆▊▍ ▇▆▆▅▇▄█▉▊▊█▇ ▌▅▇)
Log commands ran by admins to a log file
- rotate daily log files
- log any command ran by admins (including useless commands like "swapseats") so it works with modded servers as well where permissions can be all over the place
- mark how each command was ran (server console, rcon, player) as well as some information about the user who ran it
- enabled by default, can be disabled with startup parameter `-disableconsolelog`
Switch the following behavior from gamemode fields -> convars
- mapenabled
- hideplayeronmap
- hideplayermapdirection
- fogofwar
- fogofwarrevealsize
- compassenabled
merge from main -> naval_update