* 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
* Refactors antag datum hud giving code
* epic fail. this is a much better way to do it
* reduces copy and paste for clown mutation
* review additions
* didn't mean to put that there
* re-add check
* Adds sorting to most input() lists.
* Sorted some global lists, added more input sorting
* Should now use correct sort everywhere.
* compiles
* Last fixes.
* Having none skill whatsoever will now give you the worst possible skill modifier.
Viewing your skills is now formatted correctly.
Skill names are now capitalized. Looks slightly better.
* fileendings
* Needs to check for null this one.
* Newline
* 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.
* Throttle mind notes (memories)
Some dipshit is spamming this on ss13 servers
Limits to 100 times the message limit (removing old text after that), and one call every 5 game seconds.
* Throttle at the right place
* Not here
* We really need a generic throttler solution
* Adds simple framework for learnable crafting recipes
* whoops
* Moves teach/check functions to mind
* Code golf
* I just moved these around but fine.
Co-Authored-By: AnturK <AnturK@users.noreply.github.com>
cl coiax
add: Uplink pens now require two seperate rotations to unlock. This also
applies to failsafe codes.
/cl
With only 359 combinations on an uplink pen, it's crackable given a
small amount of time. With two, it's now 92,981 combinations, which
is more secure than PDA uplink codes (899 * 26 = 23,374).
cl
code: Adds helpers for finding if a user has a martial art type
/cl
[why]: requested in coderbus, as somebody is making a new martial art or something.
cl
add: Re-added autoprocessing function on the cloner
balance: records now have an associated last death time, which must sync with the mind to clone. This means you need a new record every time someone dies.
add: diskette records can be partially applied to records in the cloner, for instance to overwrite a name.
add: you can still scan living people to obtain their records for disk use, but these records can't be cloned from.
fix: cloning records are no longer based upon ckey
tweak: ghosts are no longer required for scanning
balance: Head access is no longer needed to delete records
balance: genetics access is required to alter (but not delete) records
add: do not resuscitate verb added for ghosts (can be toggled on and off)
/cl
Previous changes done in a neater way. Helps medics clone large piles of bodies, but doesn't provide a safety net.
Ghosts are no longer required for scanning so if you miss the prompt you're not screwed over, but you can set Do Not Resuscitate if you don't want to be cloned.
*label GCAT mutations
*allow partial modification of cloning record, i.e. put in a different UI/SE
*restrict modification to genetics access
make cloning disks compatible with genetics machines
"Features" that may need to be removed:
As before, this acts as a changeling test. Pre-scan someone, then scan them again when you think they might have been replaced - if they're a changeling, it'll create a new record instead of updating the old one.
Decisions to be made:
should being placed in the cloner give you a notification?
should autocloning prompt the ghost instead of the DNR system?
should you receive a detailed "cannot clone from outdated record", or should the extra information gained be limited?
cl ShizCalev
tweak: Added some examine messages to disembodied heads indicating if it's missing eyes, or if it's brain is nonfunctional.
tweak: Added some examine messages to cyborg parts to indicate their current construction status.
tweak: You can now remove the power cell and cut the wiring out of a cyborg chest during construction.
/cl
Small indicator to help alleviate some minor wastes of time (such as folks bringing suicider's heads to the roboticist instead of the chef.)
Added some missing destroy handling, fixed vars not being set and unset properly, cleaned up some duplicate code in human/examine handling for departed souls.
* Overthrow gamemode, again!
* Fixes objectives even more, especially AI one, removes boss antag subtype
* Fixes and refactors objective code, especially AI
* Expands greeting msg, fixes AI getting storage implant, rewords objectives to make it clear that they're teamshared objectives
* Resets gamemode required players to production values
* Lowered the number of teams existing during highpop
* refactors code a bit, fixes special_report to not use roundstart list, renames converter
* Cannot convert mindshielded people anymore unless you remove the implant
* Changes the Nothing explanation_text of head objective to hint at autoupdating, updates greet()
* Fixes define compile error
The 50s/5s thing appears to be a mistake, given that 5s is 50ds and fast travel checks seconds against 50 and sets deciseconds to 50 on adjacent lines.
In addition to sending shuttles to docks, three extra modes are added:
Infinite Transit puts the shuttle in transit which lasts until another destination is chosen
Delete Shuttle does what it sounds like
Into The Sunset marks every mind on the shuttle as 'escaped' and then deletes the shuttle
Also puts the mobs in stasis so they won't suffocate, bleed out, etc. before roundend
It is also now possible to change the destination dock of the arrivals shuttle (example: an event where arrivals are sent to the Lavaland Wastes dock instead).
This will just give all of your records a flag on suicide, preventing them from being used to create a clone.
Created suicide_act on /datum/mind to log animal suicides and handle the record deactivation without cluttering up the mob verbs.
* Update mind.dm
* ok togopal i guess you could call that a webedit
* AHHHHHH
* xhuis
* I only had 1 cup of coffee today ok
* dost thou hast storage?
* cb
* we did it... we finally did it.
* Antag Panel & Friends Refactor
* Prettfying
* Removes abduction also blob from default configs.
* Ninja fixes
* Ninjafix
* First draft of the new check_antags
* I love coding without compiler
* Yes
* Fixes
* Check_antags part 2
* Fixes and cleanup
* Okay should be good now.
* Adds simple no move & no tc syndie for events
* Integrates toggle objective pr
* Why i even bother.
* Offer mob shows all antags
* Some minor visual stuff
* Proper name for the helper