Adds the Quantum Spin Inverter device to the science protolathe under
the Miniaturized Bluespace node. Basically a remote that swaps the
user with its connected twin, along with any movable containers, like
lockers.
Another fancy teleportation gadget to use in some creative way. An
important element it has is that it teleports its containers as well,
meaning that for example you can hide it in a box inside a bag
somewhere, and trigger its twin when someone picks it up for an easy
kidnapping.
About The Pull Request
So organ damage is a thing now associated with general object of organ, meaning all organs inherit a damage variable, failing boolean, healing variable, and maxHealth variable. The proc applyOrganDamage takes in the damage and organ path, applying damage/healing to said organ. While an organ is in use, it heals a small amount over time (granted the organ is not failing), with this fraction being set by the healing variable.
This also reworks preexisting organ damage systems to function more so on the universal organ damage system, the liver specifically. So much code exists in regards to eyes/blindness and ears/deafness that I'll need to go ahead and take a longer time combing through the code to get everything that can reasonably be tied to those two organs and their level of damage reworked to function off of the organ damage system, as opposed to just a trait add/remove system.
Lastly, this slightly reworks scanners, since now you need to check for every organ in the body. Since organs are stored as "the [organ]" with the method I used to get them, the phrasing on the medical scanner was changed to make more sense given it now has to say something along the lines of "severe/minor damage detected within [the organ]". I'll likely add another proc if I cannot find a way to get the organ's max health during this operation, since a static number determining minor/severe damage does not work when an organ's max health is less than the typical 100 points (as is the case with eyes).
Why It's Good For The Game
Every organ can be damaged, though not every damaged organ does anything right now. Damaged livers do the same thing as they did previously, and damaged eyes develop varying levels of vision impairments. The benefits to this PR are more for future coding projects than it is for the game currently, with no foreseeable changes to the way it's played currently.
Changelog
cl
code: Universal Organ Damage variables and procs
/cl
* Citations Step 1 - New Datacore Stuff
* Committing before merging with master
* Initial work on PDA messaging
* Adds support for automated PDA messages
This is just a flag that, when set, replaces the standard (Reply) href with a static "automated message" message
* Citations now generate PDA messages
The target of a citation will be notified via PDA message
* Escaping some non-optimal characters in PDA messages
* Creates a public warrant computer
Initial framework. Computer machine and circuit. Adds it to the DME.
* We're gonna flipflop on this for a while
* Removing unneeded functions
This is a read-only terminal, so we don't need to have all this code for managing entries and updating fields
* Whoops
So this is why byond was warning me about unused vars
* Need some help
Pushing this commit because I got this into a state where it doesn't work right
* Adds support to pay fines!
* Map changes. Adds a warrant console to the hallway outside the brig and law office on Box.
* Adds some checks to fine creation
* Aaaaand more work on paying citations
* Paying citations works! The money goes into the defense budget!
* More functionality and usability changes
* Adds warrant consoles to the rest of the maps
* Cleaning up text
* Rewrote warrant computer to be more up to date.
* Fines are capped to 1000 credits
* Requested changes
* Citations can now be paid with holochips and warrant consoles don't require your ID to be inserted.
* Fines can be paid from security record consoles, and more feedback messages
* Citation payments now actually go into the defense budget for real
* Removing even more unused code!
* Removes unused code (emp_act and ID handling)
* More unused code for the unused code gods
* ID card reference is now just fetching attached name.
* remove simple mob typepath kthx for the remove simple mob typepath kthx gods
* one usr, many M
In advance of eventually adding SpacemanDMM's linter to Travis, fix everything it can currently detect.
Some lists, including global lists, are given types so that L[i].foo expressions can be checked.
Some procs are given a new form of return type annotation so that DuplicateObject(O).forceMove()-type invocations can be checked.
Open to syntax suggestions on the return type annotations, and on whether the preprocessor strategy makes sense.
Return type syntax is currently roughly:
<typepath> | <paramname>([_])*(.type)?
Credits to Europaisch for help finding all the records stuff
Fixes a few issues I was not aware of with my initial PR
* Being agender is now a distinct DNA value (fixes agender spessmen
turning female when having their DNA referenced, like during cloning
and some rudimentary transformations)
* Neatens up preference code, more in line with previous code, fixes
an issue with male underwear not surviving preference loading and
defaulting to female underwear
* Allows agender spessmen to change their facial hair with mirrors
* Change medical, personnel, and security records from sex to gender
and add "Other" option (they currently display "plural" even for
agendered species like ethereals)
* The -san honorific now applies to plural gender instead of just
neuter with the Chinese Cartoons admin secret (highly important)
I have never really played genetics and only tested the DNA code with
cloning and rudimentary transformations while still in a body (which
causes it to reference the old body's DNA, like with cloning). Please
let me know if there's a better way to do this and/or if this is apt
to create issues.
* 1/4 done? maybe?
* more
* stuff
* incremental stuff
* stuff
* stuff & things
* mostly done but not yet
* stuffing
* stuffing 2: electric boogaloo
* Git Commit and the Kingdom of the Crystal Skull
* make it actually compile
* found more stuff
* fixes
* fix AI laws appearing out of order
* fix windows
* should be the remaining stuff
* this time for real
* i guess it should compile too
* fix sechuds
About The Pull Request
This PR removes speech message and span hooks from dna, mutations, pierrot throat disease, species, tongues, masks, hats, held items, brain traumas and a carbon proc overload handling tonguelessness.
Tonguelessness is now handled by tongue removal registering for the speech signal and the hook being deregistered by having a tongue put in.
Also cleans up some /atom/movable/proc/get_spans() overloads that called the empty parent or overloaded the parent to do the exact same thing as the parent proc did.
Also cleans up calls to radio.talk_into() where the caller would often, as a result of copypasta, provide the proc with fresh copies of the proc's default values for proc args, and makes say_quote() better by giving it a default spans value so that none of the callers have to provide the same default one.
Why It's Good For The Game
Changelog
cl Naksu
code: Cleaned up saycode
/cl
* start with this
* oh man this looks so good
* hats are dead
* /obj/item/proc/speechModification is dead
* brain traumas and get_held_item_speechspans() are dead
* these should be static
* unfortunately we still need this
* /mob/living/carbon/treat_message(message) is kill
* clean up get_spans()
* dunk get_spans, modifies_speech for brain traumas, some superfluous static stuff
* move stuff around
* return values
cl Naksu
code: reagent IDs have been removed in favor using reagent typepaths where applicable
fix: mechas, borg hyposprays etc no longer display internal reagent ids to the player
/cl
The genetic sequencer will now give you only the list of mutations something has. You can then use it in-hand to select one of the mutations and view the sequence. It's on a 20 second cooldown.
Breaks people just running around, scanning a bunch of people and then using a script to get it all done at once. This change hardly obstructs people that use it the way that it was intended.
cl
tweak: The genetic sequencer has been reworked. Use it in-hand to view the sequence
/cl
About The Pull Request
I made a machine board for the PDA message server and added it to the telecomms techweb node. To keep the usefulness of the machine's password, a player built message server won't work until 15 minutes after construction. I've also converted a lot of magic numbers to defines, and changed the departmentType var on request consoles into a bitflag.
I'm open to ideas other than a time gate when it comes to keeping the server password's usefulness.
Why It's Good For The Game
You can't build a Message Server right now. If it's destroyed, PDAs may be knocked out for the rest of the round.
Changelog
cl JJRcop
add: You can now build a new PDA messaging server if you lose it.
tweak: Requests console messages no longer work if the messaging server is offline. Emergency alerts will still function in that case as long as the rest of telecomms is online.
/cl
* yeets a GET_COMPONENT_FROM
* signal rather than component
* Update code/game/objects/items/devices/PDA/virus_cart.dm
Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>
* Initial overhaul work and some fixes.
Running into a bug with getting healthanalyzer variables to pass.
Signed-off-by: RaveRadbury <risforradbury@gmail.com>
* Fixes some typos, shortens a message
* Update pai.dm
* Prevents pAI OS from coming up in other windows.
* Moved around some camera stuff, trying to fix lost pAI zoom
* Fixes pAI zoom, adds camera flash
* PAI buttons grey out if they need software first
* Better greying out of buttons in PAI
* Removes unimplemented HUD stuff
* Should make pAI Host Scan require being held (like DNA check)
* Includes host scan as a greyed out hud
* Improved button loop
* Fixes pda icon off-set
* Fixed inconsistent indentation
* Replaces outdated and innacurate checks for scans
Thanks to Cobblestone for the help
* Refactor pAI hud button grey out
* Changes browse to browser
* cleans up the code, gets rid of an error
* Removes indent from #undef
* Removes an unneeded text-align:right
* Untangles code that was trying too hard.
It tried to use "wires" to handle both wires and it didn't work.
* Adds two variables to make it all work.
* dropped an else
* Found out how I dropped an else. Fixed
* Changes can_tx and can_rx to longer names
* more descriptive var names
* How did I miss these deletions?
* Then I don't move the ", geeze.
* Adds Cobblestone's suggested code.
* pAI's have little AI headsets and can use encryption keys.
* pAI's now spawn radio AND headset.
Reverted radio code and changed new variables to the new headset var
* Undid the comment out of radio code.
As far as I can tell this isn't working properly though. Tried testing it locally and can't enable/disable radio as pAI or master.
* Removed redundant null keyslots.
* Final version
It should all work.
# Conflicts:
# code/game/objects/items/devices/radio/headset.dm
# code/modules/mob/living/silicon/pai/pai.dm
* Merge
* Mergies
* Update code/modules/mob/living/silicon/pai/pai.dm
Co-Authored-By: RaveRadbury <3204033+RaveRadbury@users.noreply.github.com>
* Gave service headsets to jobs that report to HoP (not assistants, obviously). Created a headset and encryptionkey for lawyers that is sec service (similar to genetics)
* Typo
* Less copypasta more sensemaking
pAI cards will now provide updates about available personalities even
when in a player's inventory. Improves the pAI matchmaking system, making
personalities more likely to be noticed and downloaded.
Currently pAIs cannot be configured for DNA and secondary directives
while inside a PDA. If I need to eject my pAI from my PDA, why would I
want to drop it on the floor, especially when it hasn't been configured?
An activated pAI is too valuable to drop from your PDA directly to the
ground.
* better darkmode v1
* ever better colors
* slightly improved tip color + fixed scrolly bug
* updates skin.dmf as well as some small color tweaks
* slightly tweaked more readable info and admin shit
* span_class fix
* merges ooc fixes
* whoops
* MC and ticket screen fix
* no default darkmode
* skin fixes
* more obnoxious adminpm
* more obnoxious adminshit
* skin revert to ensure proper light theme.
* prevents weirdness with default whiteness