* Semiport of Allow_Spacemove from Bay.
* Porting flying robots from Bay.
* Converting platforms to an alt title of Robot.
* Converting existing modules to new proc flow.
* Cleaning up jetpack code for robots.
* Making flyers and platforms buildable.
* Debugging/refining robots port.
* Reverting some unneeded spacemove changes.
* Refining/debugging bots.
* Removing Bay subtypes, adding flying subtypes of existing modules.
* Icon rework for flying robots.
* Working commit for flying borgs PR.
* Porting species equip_adjust from Neb.
* get_species() => get_species_name(), adds correct get_species() impl
* sprite_sheets is now crudely lazylisted.
* Adds returns to add_blood and add_accessories.
* apply_addblends now uses an overlay.
* Renames the various worn overlay procs to be more informative.
* Debugging/refining overlay gen.
* Adding handling for string icon paths.
* Refining/debugging offset overlay gen.
* Getting the offset system working.
* Commenting out Teshari offsets for the time being.
* Allowing vox to join as survivalists.
* Adding a crash survivor alt title for survivalist.
* Sideporting vox icons from Bay.
* Updating some vox gear and adjusting vox code for planet spawns.
* Attempting to fix up join checking on latejoin links.
* Crash survivor now loads a pod if it can't find one.
* Nerfs vox cold resistance, they now sit between Tesh and humans.
* Decl music + ported music
* Bugfixes and not
* unit test
* debug shit + some fixes
* More Changes
* Removes some unused/extra songs in case it was a file size issue
* Nuke crash-prone songs
* Add cynosure defines
* It Just Works Now + Finished Headphone code/sprites
* requested tweaks/debug removal
* recheck dme
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.
* Fix Runtime in atoms_movable.dm,597: list index out of bounds
* Fix Runtime in floor_attackby.dm,118: Cannot execute 0.is crowbar().
* Fix null values being present in mob_list.
* Another fix for Runtime in update_icons.dm,254: Cannot execute null.GetUIState().
- This time lets just ensure dna is instantiated no matter who is calling dress_preview_mob().
* Fix Runtime in suit_storage_unit.dm,792: Cannot execute null.set machine().
- Also fixed other mixups of usr vs. user that I found in the same file.
* Fixes Runtime in find_spawning.dm,688: Cannot read null.origin_tech
- if this else if block is reached, new_item must not exist, so we obviously can't set origin_tech on it. Examination of the code seems to suggest the original author intended that for any "talking" items to have arcane and precursor tech; since src is now being made talking, src should get the tech.
* Fix talking artifacts downgrading arcane/precursor tech
- Bump up the values by one for talking artifact items instead of overwriting whatever the value was.
* Port ParadiseSS13/Paradise#2100 - Saycode refactor
* Removed unused old carbon slimes code
* Port ParadiseSS13/Paradise#5099 - Saycode part 2
* Ported ParadiseSS13/Paradise#7170's /datum/browser Check Known Languages
* Port ParadiseSS13/Paradise#9240 - Get rid of alt_name in favor of GetAltName()
* Port ParadiseSS13/Paradise#10330 - You can now use multiple languages in one message
* Addressed Atermonera's review.
Translators now print the full message if they find any languages within the
message that the user doesn't understand, minus languages it cannot translate.
Additionally, the combine_message proc has been significantly simplified
by eliminating an ugly tree structure with the help of a little helper
proc.
The removal of the extra span inside each piece doesn't seem to have
visually changed the messages in any other way than changing where the
wordwrap happens, strangely enough. Must be something in IE's code being
picky about invisible elements. On the bright side, it splits *later*
than it did before, thus reducing the lines a message will take up by a
tiny amount.
Also, a bunch of things now have the 'filter_say' class from
PolarisSS13/Polaris#6998. Since span classes with no definition are
totally valid and just don't do anything, this PR does **not** depend on
that PR being merged first.
* Always gotta be one