* A christmas tree with presents is now a subtype
Admins can now spawn `/obj/structure/flora/tree/pine/xmas/presents`
directly, instead of spawning regular christmas trees and then
triggering the event.
Also, the event now just deletes and replaces the xmas tree with a
present tree; saves on duplication of icon states and vars and all that.
* Code review I
* Gaia's Landing: The PR
MoreRobustThanYou's datum forensics but it's a component this time.
Fully refactors forensics, including fingerprints, hidden/admin fingerprints, suit/clothing/whatever fibers, and blood DNA residue to /datum/component/forensics.
Adds support for manually adding fingerprints.
🆑
code: Forensics is now a datum component.
balance: NPC humans will now start leaving fingerprints on things they touch!
/🆑
* move door_assembly types to new door_assembly_types.dm
fixed some stupid airlock varedits
made glass airlocks a subtype of their solid variant
* examine door assembly to see what name is set
move airlock emagged description to examine()
* Refactor radio message broadcasting in a major way
Broacast_Message and everywhere that uses it, including radio talk_into
and the telecomms broadcaster and allinone. Other telecomms machinery
has had dead code excised.
Functionality should be roughly the same as before, but:
- CentCom headsets are only magic when using the CentCom frequency
- Syndicate frequency speech on the station no longer double-talks
- Talking directly into an intercom or radio which also has its
microphone on no longer double-talks.
* Split signal/vocal into subspace and subspace/vocal
* Move the message server and its computer to telecomms folder
* Slightly tidy the message server and computer
* Move subspace receiver logic to a proc on signal/subspace
* Repath the message server under machinery/telecomms
* Largely get PDA messages onto subspace proper
* Actually require the server for PDA messages
* Improve signal/subspace/New() and copy()
* Improve input handling on the message server
* Fix initialization and Z checks of allinones
* Add a constructor for virtualspeaker
* Fix radiation storms initializing a bad virtualspeaker
* Fix runtimes with machines talking into radios
* Finish making the message server a real telecomms machine
* Make CTF radios independent also
* Fix window IDs of message server PDA photos
* Replaces a bunch of manual OPENCONTAINER checks with helper procs
* Removes unnecessary vars
* Updates reagent bitflags, adds some new ones
* Replaces most of the is_open_container calls with more specific ones
* Puts new AMOUNT_VISIBLE flag to use
* Uses new helper procs in more objects
* Standardizes chemicals logging
* De-snowflakes two more checks
* Fixes
* Minor fixes and improvements
* Refactors disabilities into lists, allowing for independent disability sources
* defines
* Xhuiiiiissss
* living
* did that
* adjusted for traumas
* Updates pacifism and removed remove_all_disabilities from fully_heal to prevent issues.
* makes antur happy
* Lollipop dispensers can push lollipops into people's hands
🆑 coiax
add: A lollipop dispenser in "dispense lollipops" mode can push the
lollipop straight into the targets hand, rather than getting it dirty on
the floor first.
/🆑
Also tidied up and around the robot_items.dm file.
This is a good idea because then you can give people lollipops as a
cyborg that has the lollipop dispenser module.
* Integers instead of numbers
* Brain Trauma additions
* Adds Aphasia
* Adds the aphasia language
* Short window
* nuke exploits GONE
* fixes draggable portals
* psychobrawl won't just kill you if you use it too much, but stuns longer
* Adds anosognosia, and lowers thresholds
* .
* RANDOM GODWOKEN
* Default brain damage is now 0
* antur
* fix 1
* forcemove and afk friend adjustments
* okay it's ready now
* dead people can hear imaginary friends
* Remove extraneous parameters of receive_signal
* Delete unused signal datum procs
* Remove signal/var/encryption in favor of data
* Add and use datum/signal/New
* Clean up PDA and pAI integrated signalers
* Remove unused send_hear proc
* Clean up vars on obj/item/radio, change receive_range to can_receive
* Remove suffix var from radios
* Fix cell timer radios
I had some time free, and noticed how awful the reagent grinder code was - it used huge static lists containing types and their associated reagents from grinding.
This is now split into two new vars on /obj/item - var/list/grind_results and var/list/juice_results, as well as two new helper procs, on_grind() and on_juice() to allow those to change based on conditions like plant potency. Such checks and the like have been moved to that. If any of these procs return -1, the operation is canceled.
I also fixed some of the recipes that didn't work. The reagent IDs for them didn't exist, leading me to believe that they weren't tested. I corrected that! (I've tested every single recipe in this PR, with the exception of a few juicing-related ones.)
* big batch of loc assignments
* Update emergency.dm
* Update spiders.dm
* Update parrot.dm
* Update ripley.dm
* Update firealarm.dm
* seems to work
* this maybe works?
* brainmemes, again
* stuff
* fix brainmob, camera runtimes