#53841 continuation
I recall that the reason for infinite stuns and such was that the priority wasn't being cleared properly when something hitched and I fixed it and I don't remember where exactly but it works now (TM)
A variation of this is TMed on TGMC and it works fine
About The Pull Request
Adds a minor negative quirk, Bad Touch. This quirk gives you negative moodlets from hugs instead of positive ones, as well as negative moodlets from headpats and passive grabs.
Why It's Good For The Game
The quirk catalogue is still quite short and could use some more to fill it out. So here's a minor quirk that could be really fun or interesting to play with, especially if you also take unstable and/or hypersensitive, given how common hugs are in station life. Someone suggested it to me so I thought why not.
Changelog
🆑 Melbert
add: New negative quirk: 'Bad Touch'. With it, you gain a negative moodlet from being hugged instead of a positive one, and you gain a negative moodlet from headpats and grabs.
fix: blind people can now feel headpats
/🆑
* Process procs now properly use deltatime when implementing rates, timers and probabilities
* Review fixes
* Geiger counters cleanup
Made hardsuit geiger code more similar to geiger counter code
Geiger counters are more responsive now
* Moved SS*_DT defines to subsystems.dm
* Rebase fix
* Redefined the SS*_DT defines to use the subsystem wait vars
* Implemented suggested changes by @AnturK
* Commented /datum/proc/process about the deltatime stuff
* Send delta_time as a process parameter instead of the defines
Also DTfied acid_processing
* Dtfied new acid component
Makes acid levels a component.
Merges the acid effect object into the component.
Reworks acids decay rates slightly.
Rebalances xenos acid spit so that they can still melt through walls.
Misc. associated changes:
Adds defines for a lot of the acid associated constants.
Documents clean types and adds CLEAN_TYPE_ACID
Adds and implements a return bitflag for COMSIG_COMPONENT_CLEAN_ACT
Adds a looping sound for acid.
Makes /atom/proc/acid_act return a boolean.
Fixes waterclosets creating a new reagent holder datum every time they are used.
Removes waterclosets regenerating reagents on-use and restricts their reaction volume to 5 units.
Adds and implements a couple reagent signals.
Renames a few vars so Rohesie can stop telling me to rename more vars.
Replaces like 70-80% of 0 and such, as a side effect cleaned up a bunch of returns
Edit: Most left out ones are in mecha which should be done in mecha refactor already
Oh my look how clean it is
Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Couls <coul422@gmail.com>
Living and machine stat vars are pretty different, one uses flags and other number-defines.
This should make some other mass-replacements and searches a bit easier.
* 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
* Adds mutually exclusive Clown and Mime Fan traits based off of Spiritual quirk
* Adds positive moodlets for sitting in rooms, adds pins and moodlets for pins
Need to figure out why the progress bar for being buckled doesn't show up.
* I forgot that Spiritual is 1 point.
* Reverts examining for mood boost and room mood boost events
cl Time-Green
add: Adds plumbing pipes and some hidden plumbing related machines. They're not available in-game yet.
sprites: Geyser and geyser pump sprites created by Mey-Ha-Zah!
/cl
Adds the following objects:
Fluid ducts . Like atmos pipe, but for reagents. They're smart and can be seperated by layer and color
Geysers. They spawn on lavaland and can be harvested with liquid pumps or just beakers.
Liquid pumps. For pumping geysers. They need to be on a wire node and connected to a duct network.
Plumbable reagent dispenser subtype.
New plumbing RPD specific RPD.
Plungers. The reinforced plunger can be used for plunging geysers to activate them. They currently serve no other function and can't be worn as a hat yet.
They're all disabled and admin only.
Adds the following systems:
Ductnet datum. They pretty much say "hey, we're connected"
Plumbing component. You can turn any movable atom into a plumbable thing. Comes with overlays and everything. They're essential for everything that has input and outputs, except pipes. That means you can have machines connected to both atmospheric pipes and fluid ducts. They only connect with layer 3 ducts.
Fluid subsystem that handles the processing on the plumbing machinery and other plumbing related stuff.
Basically atmospherics but with reagents. Reagents are pressurized and thus transferred instantly, to avoid those stupid leftovers in pipes no one likes. I am PRing it now because if I were to add a dozen or so associated machines, it would be too much of a pain to manage/review in one PR. It would also be a massive waste if people didn't even want it in the first place.
Also yes all of this works (as far as I know)
Things I plan to add in later PR's
Layers / colors (maybe) done
Machinery (Stuff like chemical processors, filters, special mixing chambers and factories)
Make geysers more interesting, so chemists/atmostechs/cargotechs/assistants can go to lavaland and get some exotic stuff.
Pipe fractures. Damaged pipes could do the cartooney water soaker beam coming out to shoot at people cause why the fuck not.
Code concerns:
Connecting is handled through pipes only. Not sure if this is the best approach. This means plumbing devices cant directly connect to each other without pipes. I could add some exceptions to handle it. I could also take connecting away from pipes and make it a global proc, with alot of exceptions since it'd be handling both plumbing machinery and the ducts.
Reagent transferring. Basically the transfer is instantaneous from A to B. I did this because stuff getting stuck in pipes could pose some serious mixing problems with chemistry, since it's alot more delicate than atmos. I could understand if people would want it to be like atmos. It wouldn't be difficult to change.
Also for testing I suggest you set the pipe_dispenser to category 3 to print fluid ducts. My tests were done with
/obj/structure/geyser
/obj/structure/reagent_dispensers/plumbed/storage
/obj/item/plunger/reinforced
/obj/machinery/power/liquid_pump
/obj/item/pipe_dispenser/plumbing
that and standard tools for setting things up
Removes the useless split by value lists. Updates savefile after
removing invalid quirks. I'd prefer usual savefile validation but quirk
lists are built pretty late. Other solution would be hooking all prefs
to after quirk SS initializes, this seems less intrusive if ugly but
I'm open to alternative suggestions.
cl Floyd / Qustinnus
tweak: You now have to be naked to get the nice shower moodlet, if you shower with clothes you get a bad moodie
add: Hygiene, you slowly become dirty over time, the more covered in blood you are the faster you will lose hygiene. When you are too dirty you will have a stink overlay. (Hygiene doesn't affect mood currently) It also spawns miasma slowly if you smell like shit.
add: adds NEET and neat traits. NEET's get 20 bucks social welfare extra and like being unhygienic, while neat people dislike being unhygienic and like being hygienic
/cl
This doesn't affect mood so plssss dont strawman in this PR about how I'm forcing you to shower or die or whatever
This PR is mostly visual and will allow for people to judge others for literaly being smelly as hell.
also NEET and neat traits which interact with being smelly. (neat likes hygiene, dislikes lack of it. NEETs like lack of hygiene and get some social welfare (20 bucks))
* newquirks
* revert
* hypersensitive/light drinker
* this is a commit
* may as well
* increments + fix
* i never liked math anyway
* I really dont like math
cl XDTM
add: Added the Vegetarian quirk, which costs 0 points and makes you dislike meat.
/cl
Because why not? Also, it could give a reason for the chef to prepare vegetarian dishes instead of the usual stuff.
* Adds programmable nanites to robotics
* Oh yeah i might want to actually PR the files
* nanite injectors, nanite printer, nanite analyzer
* We're back
* remove some reagent stuff
* more removal
* those too
* cool icons!
* might pass travis now
* lotsa code
* tgui fixes/misc fixes
* WE'RE FUNCTIONAL BOYS
* some ui stuff
* Misc fixes, cloud update, access nanites
* activation check
* stuff
* preparing for new chamber sprite
* Physical backups, sensor nanite programs
* techweb sensor nanites
* fix
* include
* fix again
* revert
* blinding nanites
* minor change
* minor tweaks
* makes minor shocks interfere with nanites
* fix
* split trigger file into the others, for consistency
* cleanup, added mindshield nanites to techwebs
* include n all
* how'd that even happen
* Fixed HUD, readded missing remote icon, added nanite scanner, health analyzers can now detect nanites, added stealth program
* cost tweaks
* better term
* new icon! by MrDoomBringer
* icons/tweaks
* tgui build
* boards
* fix
* fixes implants not updating mindshield status
* move implant hud to living
* new remote sprite
* scanner sprite
* biotype checks
* some nerfs
* new open chamber sprite
* Fixes mindshield implants not updating the HUD, fixes uninstalling always removing the first program, adds 25% and 75% health sensors
* correction
* nerfs antistun nanites
* fixes scanners and minor tweaks
* fixes revs with mindshield
* oh yeah haha
* Fixes wonky techweb
* Moves pyro program to weapon node
* Adds defib program and some investigate logging
* mistype
* fix
* fix2
* save your files before committing
* emps can desync from cloud
* pretty outdated
* Cloud backups are now tied to the cloud consoles; you can no longer build a new console to access existing backups.
* UI fix
* more fix
* okay fix for real
* tested and working
* Extra Settings rework, sensor nanites vastly better
* non-unique glitches
* Public chamber, extra settings rework, new sensors, speech program
* Mute and mind control nanites
* mind control into hazard
* better description
* fixes
* fixes relay nanites
* fixes TK access
* mind control costs less
* UI update
* removed pointless code bit
* tgui build
* compiles
* dammit
* paralysis keeps victim upright
* Adds sounds to consoles
* some feedback for some subtle effects
* new chem lore
* Viral nanite customization
* fix
* tgui build
* Added mitosis nanites
* removes glitched nanites from techwebs
* Added flesh eating nanites, poison nanites, hallucination nanites
* ,
* #traviscoding
* Adds memory leak, renames nanite roam node to nanite smart
* Voice sensor + some techweb desc tweaks
* hallucination and Hear() fix
* changes signal registering to the new method
* 75% done, i think
* should be all
* more fix
* more changes
* okay should be fine now
* ninja
* inheritance
* i don't care about originality!
* line endings
* line endings 2
* maybe
* fixes program installation
* new review
* line endings?
* line endings??
* line endings???
* wait do i even use this
* fixes public nanite chamber cloud id
* maint overlay for chambers
* args doesn't work well here
* antiabuse checks
* compile tho
* fixes locked remotes
* disk renaming
* skull echo nanites
* self scan program
* Condenses a lot of sensors into a few generic but customizable versions
* fixes machinery runtimes. Hacky, but a proper fix would likely require a refactor of machinery typing.
* forgot to save
* empty
* metastation nanite lab
* Removes duplicate APC
* fix for nanite chamber
* Raise max programs
* UI Tweaks, aggr. replication rebalance, minor fixes
* let's not do that again
* Fixes nanites meta merge conflict
* Merge conflict v2
* fuck this HDD is slow
* What the fuck did you just fucking say about me, you little leaf? I'll have you know I graduated top of my class in the Lawyer School, and I've been involved in numerous secret DMCA raids. I am trained in law violations warfare and you are nothing to me but just another target. I will wipe you the fuck out with precision the likes of which has never been seen before on BYOND, mark my fucking words. You think you can get away with changing the code? Think again, fucker. As we speak I am contacting my secret network of attorneys in the Fox and your IP is being traced right now so you better prepare for an outstanding warrant, maggot. The storm that wipes out the pathetic little thing you call your leaked code. You're fucking done, kid. I can file for an injunction anywhere, anytime, and I can take legal actions in over seven hundred ways, and that's just with my bare hands. Not only am I extensively trained in unarmed combat, but I have access to the entire arsenal of the Florida Statute and I will use it to its full extent to wipe your miserable ass off the face of Canada, you little shit. If only you could have known what unholy retribution your little "clever" action was about to bring down upon you, maybe you would have held your fucking tongue. But you couldn't, you didn't, and now you're paying the price, you goddamn idiot. I will send you to spend time in a Florida State Penitentiary if you ever decide to travel from Canada to the U.S. You're fucking done, kiddo.
* Adds virus symptoms that interact with nanites
* Fixes spreading nanites being more infective the more protection the victims have
* Review plus public chamber tweak
* . = ..()
* ball
* cloud
* . = ..()
* always press save all before committing
* missed a couple
cl
experimental: Hitscanning tracers now have lighting effects
experimental: Projectile pathing has been changed - instead of moving to a turf 32 pixels forward using byond's built in step_towards() proc, it now increments 2 pixel 16 times (subject to change). While this will increase the processing overhead, this will more or less eliminate cases of "projectiles clipping past corners in some angles but not others".
* data cards actually have a function now
* Adds data cards to the IC printer for real rea
* more cards, less shitty code
* how the fuck did I miss that
adds a missing ..()
* wait wrong use of ..() fuck