* Makes raw HTML and browser datum popups UTF-8 aware
Admin menus specifically really shouldn't break just because you named some guy "☺s the Clown"
* Fixed new_player.dm
* Fucking filing cabinets
About The Pull Request
A PR now several weeks in the making that spiraled ridiculously out of control for something not many even use.
What else is new in NTOS hell?
I spent several days doing nothing but playing escape from tarkov so this took longer than expected I valiantly spent all night and day working on this, and barely finished it before The Deadline
the card ntos program was split into three programs, manifest, job management, and id card modification. It didn't make much sense for them all to be the same program imo, and made the project a bit more managable.
Airlock electronics saw some improvements as well since it uses this new access control section as well.
Yet again some new functionality and improvements to core components. Buttons now have an "altSelected" feature where instead of changing the color it adds a small white marker, among some other things.
There were a couple of small changes in inconsequential ways in other places, and datacore was refactored a tiny bit. Probably some other stuff I don't remember.
I would replace the old card console with a modular computer right now, but I know a few people actually use this program and want a bit of time to iron out bugs and inconsistencies before replacing the main job console with it.
Changelog
🆑
add: tgui-next NTOS card console, job manager, and crew manifest
tweak: airlock electronics interface is a little fancier
/🆑
* change the late join menu to get department name and color from a global list instead of from jobs
* move job category list to a separate global
* remove unnecessary GLOB scope
* Unicode support Part 2 -- copytext()
This is the transition of all copytext() calls to be unicode aware and also some nearby calls in the same functions. Most things are just replacing copytext() with copytext_char() as a terrible character limiter but a few others were slightly more involved.
I replaced a ton of
````
var/something = sanitize(input())
something = copytext(something, 1, MAX_MESSAGE_LEN)
````
with a single stripped_input() call. stripped_input() already calls html_encode(), trim(), and some other sanitization so there shouldn't be any major issues there.
This is still VERY rough btw; DNA is a mess, the status displays are complete ass, there's a copytext() in code\datums\shuttles.dm that I'm not sure what to do with, and I didn't touch anything in the tools folder. I haven't tested this much at all yet, I only got it to compile earlier this morning. There's also likely to be weird bugs until I get around to fixing length(), findtext(), and the rest of the string procs.
* Makes the code functional
* Assume color hex strings are always # followed by ascii.
Properly encodes and decodes the stuff in mob_helpers.dm which fixes some issues there.
* Removes ninjaspeak since it's unused
* Makes all CanPass procs call parent
* Makes CanPass more extendable and gives the mover a say in the matter
* Replace CanPass with CanAllowThrough to use the new system
Regex replace `(?<!proc)/CanPass\(` => `/CanAllowThrough(`
* Simple optimization pass
* Pipe init runtime
* Modular computer explosion runtime.
* Waterbottle thrown by explosion runtime.
* Spark runtime. Should systems continue after deletion ?
* restore ghost appearance runtime
* parallax update timer runtime.
* borg unbuckling runtime
* surgery cancel runtime. FALSE is not a null.
* relic self deletion runtime.
* dog collar runtime
* Another part of that buckled_mobs robot runtime.
* Let's go over all of these
* free ()
Co-Authored-By: MrPerson <spamtaffic@gmail.com>
Co-authored-by: MrPerson <spamtaffic@gmail.com>
* Adds sorting to most input() lists.
* Sorted some global lists, added more input sorting
* Should now use correct sort everywhere.
* compiles
* Last fixes.
Several of the greps were missing the `-P` switch which caused them to
fail to match things. The EOL grep also wasn't working right so I
replaced it with the one I added to TGMC.
* Refactors screen object update_icon to call parent
And makes update_icon an /atom proc
* Cleans up some missed null checks
The student teaches the master
* Nanotrasen fires the Wave Motion Gun at the Clock Cult
* Fixes a random changelog appearing from the reebe void.
* Fixes a wrong type reference regarding the bronze sheets in the Lavaland Ruin for it.
* Fixes redundant cells after CC removal in ruin by populating them with varied ore chunks, or destruction clutter.
* why is it /obj/item/stack/sheet/metal but not /obj/item/stack/sheet/iron
* Fixes the lavaland ratvar ruin to have fluff variant structures of deleted shit it referenced instead what I thought was reasonable.
About The Pull Request
Well known statics rejoice! You can now choose to have random name/body/age/gender whenever you roll roundstart antagonist.
Since player mobs are generated before antag datums are handed out, I added a list that collects minds chosen as antags during pre_setup() to keep track of this.
"Other" was also missing from the random gender, added it.
Wizard, clown op, nukeop, latejoin and midround antags are excempt.
Why It's Good For The Game
Some static namers get metagamed to the extreme when antagonists, this should help alleviate that while allowing them to keep static naming for the RP. Keep in mind all conversion, midround and latejoin antag rolls are excempt, this is not a guarantee someone is a non-antag.
Changelog
cl Skoglol
add: Random name/body/age/gender when roundstart antagonist preference added.
add: Random gender will now have a chance of picking "Other".
/cl
* Selectively randomisable characters
* it's a list now
* this doesn't work
* it's totally fucking fucked mate big time
* it works
* so sick of this goddamn pull request and yes i know this is a retarded way to do this it didn't work the other way
* anturk forestalls the inevitable suicide
'associative lists are more performant'
* final changes anturk requested
'remove all the "in randomise" and it's ready'
About The Pull Request
Completely removes item_color and the clusterfuck of bad programming it caused.
In places where item_color was used for entirely unique purposes it was split off and renamed to a new var on that typepath only, or refactored so it wasn't needed
In places where item_color was used as a dye color, it was converted to the new dye_color var
In places where item_color was used as the worn overlay it was removed and instead now icon_state is always used as the clothing overlay.
A new mob_overlay_icon var was added for manually setting where the mob overlay icon path is for specific items.
Moved some mob overlay files relating to clothing to their own directory as well for organization purposes.
Totally refactors washing machines, instead of the horrible abortion that was iterating through the typepath it now uses a registry of dye results.
Some bonus functionality to come out of this:
the washing machine now supports arbitrary dye colors.
Why It's Good For The Game
It's been 4 years since the "this should be deprecated soonish" comment was added, and this var is a shitpile of confusion if you just trace the usage of it.
Changelog
cl
add: Washing machines now support arbitrary dye color
add: Washing machines now dye nearly every item.
refactor: lots of backend changes to clothing overlays, report any issues
/cl
* HEY RACISM GOT A SPRITE ACCESSORY FOR YA
* angel + dragonborn > givespeciesflight
* more review stuff
* last of the review stuff
* compile
* readds my fix
* Boolean numero uno
* Boolean numero dos
About The Pull Request
Changes our current underwear selection to greyscale so you can color them any way you like, just like hair.
Removed duplicate underwear types that only served as a few color options(female_yellow, male_blue, ect.) Underwear with designs are unaffected(female_uk, male_commie, ect.)
Added a new option in dressers to change underwear color.
Changed some underwear names to fit the new option(female_red is now female_lace, ect.)
A9hAqkxgin
If all is well i plan on adding this to undershirts and socks too.
also HUGE thank you to nonfictiongames for the help!!!!
Why It's Good For The Game
More character customization in roleplaying game GOOD
Changelog
cl
add: Underwear can now have any color. (Your character will most likely be nude now so check your prefs!!)
add: Underwear color option in dressers
tweak: changed some underwear names
imagedel: deleted duplicate underwear
/cl
* WIP (not working) version of species randomizer in character settings
* Adds a WORKING species randomizer to character settings
* Re-orders random species code to be ahead of random name and random body code.
* Fixes species naming conventions by forcing random name onto those who choose to always be a random species
* Fixes dumb html mistake