* Message piece combiner returns a list
* Emote formatter returns a list
* Port Runechat
* Various onamonapoea
* Suggested changes, small opts
* Fix chat message on different size mobs
* Couple more runefixes
* Enable encoding chat emphasis in runechat
* Remove extra asterisks from rune audible messages
* Fix runedefines
* Add icons for crablegs and crabmeat
* Build all vending machine inventories on startup (cursed)
* Fix cookie having no icon (convert everything to cookiesnack)
* Remove kabob with no actual definition
* Fix spicy burrito having no icon
* Adds linter defines to repo.
* Uncomments linter defines already in the code.
* Resolves unreachable code linter errors.
* Nukes decade+ old syndie specops code except for computer since that's mapped in?????
* Resolves procs has no parent linter error.
* Proc signature fixes
* Bad comments
* "In" danger
* Type safety
* Implied nested list abuse
* Top level ..() usage
* Sleepy coder typos
* Invalid kwargs calls
* Pointless returns
* Linter hacks (see full message)
Byond doesn't care and it has no effect but linter doesn't like var/proc
for holding references to procs, despite that it's valid byond code.
Also, the linter seems to have serious issues figuring out relative
proc names. This commit is a sort of take-it-or-leave-it thing. It's not
required, it just cuts down on warnings, but this code is valid DM code.
* WHATEVER THIS IS
* Trick dreamchecker linter into ignoring this file's sins in it's weird use of vars
* Fix list decoration syntax - Its a list, not list of lists
- To declare that a var is a list you can `var/list/blah = list()` syntax or the `var/blah[0]` syntax. Both do exactly the same thing. But if you do `var/list/blah[0]` that is just like doing `var/list/list/blah = list()`
* Hopefully stops the ai holder subtype folder from going quantum and sometimes changes capitalization over time, and incidentally causing 20+ linter errors.
* Fixes unwrapped negated object in list linter error.
* Resolves colon-like list accessing linter error.
* Turns linter on in linter config.
* Fixes closet indentation properly and cleans up suit storage unit switch.
Co-authored-by: Aronai Sieyes <arokha@arokha.com>
Co-authored-by: Leshana <Leshana@users.noreply.github.com>
- Fixes Spawned characters not having their job title set properly
- Fixes depreciated proc being called, replaces with closest equivalent: regenerate_icons()
Possessing mobs by drag-dropping your aghost into the mob now transfers your original body's spirit link into the possessed mob and thus prevents your original body from getting knocked out when your ghost disappears into the new body.
* Porting Fixes
- Ores now properly initialize
- Spawned in characters now have languages set
* Update ore.dm
* More Hard Delete Fixes
* Fixes compile issue
- Fixes Paper and font tags stacking across rounds, as shown in: 
- Fixes Persistence being always-on because of if("persistence_enabled") config.persistence_enabled = 1. As explained:
> it's on by default, which means config.txt will be read and if it's not there it stays at 1. If it is there,it gets set to 1. There is no way to disable it
- Adds config options to enable/disable **Persistence for Maploaded objects**, as well as a verb to toggle such.
- Adds Persistence to config.
Currently IGNORE_MAPLOAD for Persistance is **Disabled.**
Maploaded objects/dirt/etc will be saved by persistence, preserving current behavior.
You will need to update config.txt with the following lines:
\## Uncomment this to DISABLE persistence
\#PERSISTENCE_DISABLED
\## Uncomment this to DISABLE maploaded trash/paper/etc from being saved by the persistence system.
\#PERSISTENCE_IGNORE_MAPLOAD
Adds a HUD for observers
Adds a HUD for rigs and mechs
Adds up/down buttons for AI hud
Add more tg style alerts
Fix some bugs with the tg alerts
Improve icon_states usage by caching it
Redo how respawning works, add a button to ghost hud for it
* 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.