* Move gameticker to subsystem folder before editing to track history thru rename.
* Refactor the gameticker into SSticker
- Instead of independently spawn'd while/sleep loops, it stores its state and lets the MC fire it.
- Convert relative path indentation procs to absolute path as per modern style standards.
- Break apart the inner loops into separate procs so you can see what is actually going on.
- It now shows up in MC tab, along with stats about what phase it is in.
* Revamp Start Now admin verb to actually wait until init is done before starting.
* Update Lobby stat panel to show voting and server init status.
* Fix: Only call autogamemode vote once.
* Spawn statistic_cycle off to not sleep SSticker.
* Add SStickere changelog
* Change to use to_world and add wrapping spans.
* Added filtering spans by specific request of Polaris.
- Its now possible to put shuttle consoles on a shuttle without a specific subtype or mapediting the shuttle_tag on them.
- After shtutle initialization, SSshuttles gives each initialized shuttle the chance to scan its areas for consoles it wants to claim and configure.
- Basically just refactor doWork() into fire() with the capablity to return in the middle with MC_TICK_CHECK.
- Move some vars around to be more organized.
- Only functional change is that when a turf is queued twice in one cycle, the second queue moves it to the end of the list instead of it being in the queue twice
- The emergencyShuttle process controller (/datum/controller/process/emergencyShuttle) was just a wrapper around the true workhorse emergency_shuttle anyway.
- The emergency_shuttle (/datum/emergency_shuttle_controller) is the actual controller and it only needs to process during the tiny fraction of the round when the shuttle is getting ready to launch. Therefore we leave it non-processing, and just register/deregister with SSprocessing when it actually needs to.
- Best practice to avoid holding onto references to the subsystem instances aside from the global variables. (In case of restart/recover etc).
- The reference to GM was entirely unused by any event or meta-event. /datum/game_master would work fine using the global refs.
- Set initialized = FALSE on unsimulated turfs that need to intialize.
- Most of area/New() to initialize
- Faster lookup of self-init on atoms
- Split air alarm and fire alarm files, move new to initialize
- Tweak decals and opacity
Co-authored-by: Aronai Sieyes <arokha@arokha.com>
Co-authored-by: Leshana <Leshana@users.noreply.github.com>
- There is a new option in the player panel labeled "Send back to
Lobby", which will send a given player back to the lobby.
- The player panel also has a shortcut to the "Spawn Character" verb.
- Finally, there's a new config option that disables the warning
message about multikeying if two mobs with the same CID are found;
this option should NOT be enabled if multikeying is prohibited by the
server rules. It is simply a developer tool, as multikeying is
sometimes necessary to test new features that require two clients
interacting.
* Better notifications
* Add buttons to del/move tabs in edit mode
* Add a <span> to emotes
* Fix duplicate IDs in VChat and add more logging
* VChat: Redone chat output in Vue.js
* Ported tg asset cache
* VChat DME Update
* Replace \image macro with bicon()
* NanoUI Subsystem Fixes
Don't do this, the asset subsystem does this for you
* Allow narrate/globalnarrate shenanigans
Allows HTML if your entire thing is HTML
* Disable bicon() icon object cache, and create text tag cache
* Ore Scanner is written incorrectly
Only revealed by vchat
* Fixes 2 VChat bugs
* Underline links in VChat
* Fix LOOC color
* VChat Improvements
Hopefully, anyway.
- Arbitrary font size setting
- Line height setting
- Multiple crush settings
- Rewrote how tabs work hopefully for performance
- Hidden messages are actually put elsewhere
- Attempts to correct chat backlog restore on rejoin
* Surgery steps to use <span>
* Some VChat Tweaks
- Chat remains between client reconnects if your client didn't close (so things like using the reconnect button, or autoreconnects at round end when that feels like working)
- The client doesn't send pings to the server, the server sends pings to the client. This fixes AFK measurements for AFK kick purposes.
- Turn latency indicator into a green/red indicator to show if you're connected, and when clicked will perform a one-time ping (and block doing it again for 10 seconds). It will display '?ms' if it never got a reply, or '999ms' if it did, but it was over 1s.
* Include date in filename for VChat log save
* Merge pull request #6767 from Cyantime/patch-2
Change chat export naming scheme
* Adds VChat tab saving
Saves every time you enter/exit edit mode. Persists between rounds, VChat reloads via verb, etc.
* Fix chat exporting when someone has used unicode
Only affects clients still using 512
* Use CLIENT_FROM_VAR for ease of code reading
* Update code/modules/client/asset_cache.dm
Co-Authored-By: Novacat <35587478+Novacat@users.noreply.github.com>
* Fix runtime when client disconnects before vchat loads
* Fix polaris version of command reports
* Fix LOOC color in oldchat
* Put some styles in various adminpm messages
* Round info and advanced who spans
* Fix missing tag-end
* Maybe fix images for linux and statpanel but also doom everyone
Co-authored-by: ShadowLarkens <ShadowLarkens@users.noreply.github.com>
Co-authored-by: Novacat <35587478+Novacat@users.noreply.github.com>
- Removed the old processController process and refactored it into a subsystem
- Updated references from supply-controller to SSsupply
- Changed from 1.5 points per 30 seconds to 1 point per 20 seconds. Same rate of 3 per min, but avoids fractional points.
- Ports the overmap, ships, sectors, and "landable" ships from baystation.
- Ports necessary computers to control ships and overmap shuttles.
- Shims missing machine and computer functionality pending future enhancements.
- Includes required new sprites and sounds.