* Rags fixes for smothering (#54428)
Makes it so that the rag can be used to transfer reagents to a carbon again.
The check was set to does the carbon have any reagents when it should have een does the rag have reagents.
* Rags fixes for smothering
Co-authored-by: NightRed <nightred@gmail.com>
* Converts A && A.B into A?.B (#54342)
Implements the ?. operator, replacing code like A && A.B with A?.B
BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.
* Converts all A && A.B into A?.B
Co-authored-by: ZeWaka <zewakagamer@gmail.com>
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>
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Couls <coul422@gmail.com>
* Don't initialize the atom_colours list on atoms until it's actually needed
* Moved bloody_hands var to mob/living/carbon/human instead
* Added COMSIG_COMPONENT_CLEAN_RADIATION signal to reduce moms spaghetti
The shower and suit storage unit now calls this signal instead of either doing it manually or doing it via the washed proc
* Cleaned up carbon washing, renamed washed to wash
* The wash proc now doesn't take the washer as first arg because that wasn't used anywhere
* The wash strength is no longer optional
* Carbons now overrides the wash proc instead of using the signal
* Properly check for obscuredness before washing any equipped items
* Properly wash all items and bloody hands etc
* Added clean_lips proc for humans for cleaning any lipstick
* Cleaned up washing. Washy stuff now calls wash instead of calling the clean signal directly
* Renamed is_cleanable to ismopable, gives this category a more fitting purpose. Many things beyond floor decals are cleanable. It is now also determined using the atom layer instead to make it more generic.
* Properly utilize the is_cleanable define
* Added wash override for turfs where they also wash any mopables on the same tile
* Space cleaner and cleaning element etc now simply washes the mob instead of doing its own manual cleaning on ~some~ equipped items
* Non-component washables now simply override wash instead of registering for the clean signal
* Fixed some left over clean signal registers not returning true
* Added clean_strength var to space cleaner
* Moved human wash proc next to the other washing procs
* Also wash glasses and mask if not obscured when washing face
* Fixed attempting to "scoop up" cleanable decals using a rag
* Fixed plasmaman spacehelm icon not updating when washed
Also removed a duplicated worn_overlays proc
* Fixed head icon not updating when washing lipstick
* Moved radioactive clean signal register to where it should be
* Added atom radiate VV verb for debugging
* Redesigned the CLEAN constants into a more sensible flags setup
This makes it more dynamic, cleaning apparatuses can clean more specific than just a cleaning strength.
* CLEAN_TYPE_* flags indicate a specific cleanable, such as blood, fingerprints or disease
* CLEAN_* consts consist of a combination of cleaning types to make cleaning apparatuses have a consistent behaviour on what they clean
* Fixed broken rad removal logic in showers
* Apply suggestions from code review
Co-authored-by: Rohesie <rohesie@gmail.com>
* Removed unneccesary bool from sink code
* Fixed wrongly named variable in turf wash
* Renamed bloody_hands to blood_in_hands
Co-authored-by: Rohesie <rohesie@gmail.com>
* Converts everything to use setAnchored() + other fixes
* Fixed singulo debug
* singulo again
* forgot to move the vv_edit proc
* caught that this time :)
* changes
* Update code/game/atoms_movable.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
* Case of lower
* More changes
* Ruins the nice 420 diff, brainfart when doing the second batch of conversions
* More changes
* Next batch. I think
* Converts even more paths
* Restarts bots
* Capital Free Zone
* Come on travis, do something
* Renames areas
* Bots, please stop dying
* Updates CONTRIBUTING.md and updates a few paths I missed.
* APC recgarftzfvas
/obj/item/computer_hardware/recharger/apc to /obj/item/computer_hardware/recharger/apc_recharger
* Initial update
* tgui ofcourse
* Small fixes
* More lint fix
* Updated to support signatures and adding to paper
* Sign and adding to paper work, need to tune it a bit though
* Ok, signatures and adding work, still working on stamps
* Stamps now, fix rotate and cleanup tommow
* Alrighty! Lets try for some testing!
* Stupid travis
* annnd the bundle
* Minor fixes
* DONE. Still have some code cleanup, but all the major features work now
* Requested changes cleaned up formating
* Dammmn you bundle!
* Fixed the preview issue
* Updated bundle
* Ok, some more fixes and clean up
* Ugh damn you tgui bundle
* Update tgui.bundle.js
* Renames a few variables. Also reorders fallback order again.
Renames item_state to inhand_icon_state
Renames mob_overlay_icon to worn_icon
Renames mob_overlay_state to worn_icon_state
worn_icon_state/mob_overlay_state now never gets used for inhands.
* Fixes some comments
* Fixes map issue
* Restart lints
* Properly resolves conflicts
This disallows evidence bags from holding any subtypes of obj/item/storage, so that evidence bags can't hold other storage items, that hold evidence bags holding storage items that hold evidence bags holding storage items etc.
Ideally, they should probably be a storage subtype themselves, but this will keep them from holding effectively infinite storage.
* Replica pods notify ghosts, can show the blood DNA of injected samples
* basically im monky
* h
* removes garbo, adds hints that "blood DNA" is just the UE
* Reverts italics-span back to no color.
* Cleans up many extra spaces and indents.
* Adds 'hear' span class.
* Replaces all 'italics' used in heard messages with 'hear'.
About The Pull Request
Adds 'notice' span class to all visible_messages which had no span class, making all those black messages blue.
Why It's Good For The Game
This should help differentiate action-messages from talking-messages in the chat. More actions will be blue, thus black talking-messages should pop out more.
* Adds adjustLiverLoss & getLiverLoss procs to carbon
* Adds trophazole
Adds trophazole, a brute healer that makes doctors take a more holistic approach to heal, It is highly reagent efficient by converting nutriment to healing peptides. Creates an avenue for cooperation between kitchen and medbay.
* Adds rhigoxane
Rhigoxane is a chilly burn healer that works best in a spray bottle and is capable of extinguishing fires.
* Adds thializid
This tox healer has great potential and mixability, balanced by requiring the doctor to take note of the patients liver health as well as using proper dilution and an iv pole; that wont fit in a powergamers pocket.
* Charcoal + trans_to changes
Makes charcoal only work when ingested, and adds a new proc in reagent holder, lets trans_to react the transferred reagents if a method is chosen.
* Medical + Syndicate spray bottles
Medical spray bottles have been added to techweb under the biotech node for medical vapor application, alt click to change their skin.
Two suspicious spray bottles have been added as expensive contraband items in the chemdrobe. They have one extra spray range and a random suspicious skin from a pool of 8.
The large spray bottle and the space cleaner bottle also have new icons.
In addition trophazole and MMF have new colors.
* Adds chempacks
the IV medicine bag, or chem pack is the blood pack analogue for chems, it is easy to fill like a beaker but can also be permanently sealed to prevent spillage and mitigate tampering. It can be renamed with a pen. Both the new chem pack and the old blood pack have been added to the medical lathe and biotech node.
* Adds recipes to thializid and trophazole
Also fixes the rhigoxane recipe
* Medsprays are now medigels + fixes
chem packs can now be stored in the smartfridge and chem bag.
Medsprays were renamed medigels to reduce confusion. Calling them medical sprays made no sense since they apply chems through the patch method.
The lore for the new medigels is that they spray a thick gel onto the skin that dries into a film.
* minor fixes + mint frosting
I have tried to fix the problems people have pointed out. And the peptides now taste like mint frosting.
* Readds my cleaner sprites
* Adds liver damage to thializid + adds on_transfer proc
Thializid has a liver cost, the cost is worse if you have already sustained liver damage. Fixes weirdness by moving the reagent conversion effects from reaction_mob to on_transfer
* Fixes chem bag examine
The chem bag examine now werks, also fixed a typo in the description.
* Adds a clumsy check to sealing the chem pack
* Makes kelo, bicard and anti-tox unmixable.
I have retained the tricord recipe for now in case someone manages to collect all 3 through non-dispenser means. Think of it like collecting all the dragon balls but lame.
* Makes damp rag apply on_transfer effects
* glass and food now work with trophazole
glasses and food now call the on_transfer proc via trans_to
* Another round of fixes
Replaces 0/1 values with TRUE/FALSE where appropriate. Removes the debug printout from the spray bottle reskin. Replaces one instance of L.damage with C.GetLiverLoss().
* Rhigoxane recipe is now COOLER
200k was too warm since cryostylane cools down so much by itself upon mixing.
Now the chemist has to choose between adding oxygen for instant cooling or using the heater/cooler to conserve energy.
* Removes the seal() proc and moves its guts into AltClick
* Item_state switching moved to reskin_obj
* Fixes missing medical sprayer left inhand
the sprayer_med_yellow inhand sprite now has the correct name.
* Fixes inhand updating
* Update code/modules/mob/living/carbon/damage_procs.dm
Co-Authored-By: moo <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
* Update code/modules/mob/living/carbon/damage_procs.dm
Co-Authored-By: moo <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
* Tries to add typecache
* Moves the typecache and makes it static
* 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
cl ShizCalev
admin: Fixed AI fingersprints not getting logged
admin: Fixed some door interactions not being logged at all.
admin: Turret control interactions are now in mob combat logs
/cl
Fixes#40203
Semi WIP. Good to merge for the most part, but I would like to add logging in a couple more spots.
* Refactor several log lines to use datum_info_line and atom_loc_line
* Add default return strings from datum_info_line and atom_loc_line
* Add parentheses around atom_loc_line data
* Change more logs to use atom_loc_line
* Add check in atom_loc_line for turfs to avoid calling get_turf on them
* Re-add removed 'at'
* Replace datum_info_line with key_name and atom_loc_line with loc_name
* Refactor logging functions
* Avoid double-logging self-interactions
* Fallback to simple stringification if all else fails in key_name()
* Rewrite muscle spasm logging to use log_message
* Standardize logging of martial arts
* Tweak individual logging panel look
* Fix individual logging panel source
* When I typed || I really meant &&
* Fix Telecomms logging always showing client logs in the panel
* Reverts addition of buggy ownership log to panel
* Remove colon
* Fix missing log_directed_talk tag
* Add warning for missing type in log_direted_talk
* Change warnings to stack_traces
* Add square brackets around fallthrough key_name() case to help parsing
* Allow atom arguments/src in log_*() functions
* Change log_combat call with null argument to log_message
* Change mecha types' log_message() arguments to match atom and mob version
* Add key_name() case for atoms
* Fix resist_grab() unsetting pulledby before log_combat gets a chance to use it
* Fix log_globally logic
* Add logging for hitting objects with items
* Move log_combat() to atoms.dm
* Use utility functions for object stringification in log_combat()
* Use utility functions for object stringification in log_combat()
* Add missing logs for interacting with display cases
* Rewrite log_combat() comment
* Add missing space in log_combat()
* Add logging for hitting grilles barehanded
* Add missing ..()
* adds signal and modifies each call of afterattack to call it's inherited proc
* uses new macro for sendsignal()
* map fuck
* skip precommithooks
* combine and negate 2 ifs
* Fixed notes for detective's printed report
* Added alt-click functionality to clear logs for detective scanner
* Added a right click option to detective scanner to display logs without printing them
* Made the display function as an action button.
* Review changes done
* review changes
* review changes and a bad player message fix
* 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