Commit Graph
107 Commits
Author SHA1 Message Date
70024ef6ad [MIRROR] Reverts Adds Neon Carpet (#55782) (#3040)
* reverts Adds Neon Carpet (#55782), it appears to have been causing massive amounts of maptick (#56496)

It appears to have been causing massive amounts of maptick, this'll need a testmerge so we can test my hypothesis

* Reverts Adds Neon Carpet (#55782)

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-02-03 10:22:43 +01:00
7f9a09f403 [MIRROR] Fixes a runtime in crate code due to the climbable element (#3013)
* Fixes up the crate climbing element being incorrectly removed when opened (#56518)

* Fixes a runtime in crate code due to the climbable element

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
2021-02-01 22:42:47 +00:00
283b687641 [MIRROR] Fixes drying rack not drying wet leather (#2931)
* leatherman (#56483)

Fixes stacks like wet leather not being dryable in a drying rack

* Fixes drying rack not drying wet leather

Co-authored-by: Valtos <valtos@spaces.ru>
2021-01-29 14:13:23 +00:00
3000d75ad5 Adds aquariums and aquarium fish. (#56343) (#2920)
Co-authored-by: tralezab <spamqetuo2@gmail.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: coiax <yellowbounder@gmail.com>

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: tralezab <spamqetuo2@gmail.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: coiax <yellowbounder@gmail.com>
2021-01-28 03:27:25 +01:00
d46cde8eae [MIRROR] Adds the Hauntium material, which turns any item into a ghost (with AI) (#2918)
* Adds the Hauntium material, which turns any item into a ghost (with AI) (#55728)

* Adds the Hauntium material, which turns any item into a ghost (with AI)

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2021-01-28 03:06:55 +01:00
902f0a06d7 [MIRROR] Adds Neon Carpet (#2882)
* Adds Neon Carpet

* HARDSET

* Update tgstation.dme

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-01-25 17:01:58 +00:00
e98840e206 Reworks skittish quirk to be automatic (#2848)
Co-authored-by: coiax <yellowbounder@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-01-25 16:59:22 +00:00
38ac7c5e4d [MIRROR] refactors climbing into an element (#2865)
* refactors climbing into an element (#55978)

Co-authored-by: Fikou <piotrbryla@ onet.pl>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@ users.noreply.github.com>

* refactors climbing into an element

* Update trash_pile.dm

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Fikou <piotrbryla@ onet.pl>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@ users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-01-25 16:19:02 +00:00
cb1835b6be [MIRROR] Refactor card scaling into an element for general item scaling (#2821)
* Refactor card scaling into an element for general item scaling (#56102)

The current TCG code had some code for scaling its cards down when they're on the ground and then scaling them back in hand/inventory. This element aims to preserve this functionality and to allow it work for other items.

While the TCG makes the cards smaller on the ground, this element allows for items to be scaled up OR down when on the floor or in inventory.

While this particular element has to do with scaling, I am looking at ways to expand this sort of icon change functionality to icon_state as well, but there are additional issues with blood decals needing to be redrawn and possibly vis_contents.

* Refactor card scaling into an element for general item scaling

Co-authored-by: Koshenko <53068134+Koshenko@users.noreply.github.com>
2021-01-21 14:34:46 +01:00
6bfbc753a3 [MIRROR] Increases the clarity of firealarms (#2745)
* Increases the clarity of firealarms (#56188)

## About The Pull Request

Makes firelocks closed by atmos issues open when those issues are resolved
Adds a finished proc to atmos_sensitive
Adds a new overlay for fire alarms that are currently triggered due to atmos issues
Makes the detecting var work properly instead of shutting off behavior until the next activity (This avenue needs more work put into it, but that's out of scope for this pr)

## Why It's Good For The Game

I've been getting "complaints" from players about firelocks and cold, and while I think part of it is stuff that will smooth out over time, they do have a point. So let's make fixing firelocks less of a shot in the dark, and more of a minigame.

* Increases the clarity of firealarms

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-01-17 13:32:25 +01:00
7361de863c [MIRROR] Refactor caltrop component into element (#2651)
* Refactor caltrop component into element

* Delete caltrop.dm

* Update caltrop.dm

Co-authored-by: coiax <jack@billbuddy.co.uk>
Co-authored-by: Azarak <azarak10@gmail.com>
2021-01-12 02:06:53 +01:00
c9c27d506d [MIRROR] Removes the ANIMATION_PARALLEL flag from floating and fixes another issue with the refactor. (#2630)
* Removes the ANIMATION_PARALLEL flag from floating and fixes another issue with the refactor. (#55930)

Co-authored-by: Rohesie <rohesie@ gmail.com>

* Removes the ANIMATION_PARALLEL flag from floating and fixes another issue with the refactor.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@ gmail.com>
2021-01-11 00:42:33 +01:00
f15faefef0 [MIRROR] Fixes 2 really annoying cytology virus bugs. (#2628)
* Fixes 2 really annoying cytology virus bugs. (#56062)

This PR fixes the generate_sample proc so it properly uses virus_chance to determine when to generate a virus. Now most samples will be virus free as intended.

It also fixes the bug where virus penalty and spaceacillin consumption would be multiplied by the number of cell lines, rather than the number of viruses, as intended.

* Fixes 2 really annoying cytology virus bugs.

Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
2021-01-10 23:19:36 +01:00
5eb385092c [MIRROR] Adds Rocket Backblast (#2617)
* Adds Rocket Backblast (#55681)

This PR adds the backblast element, which when attached to a gun, creates giant plumes of fire when said gun is fired. The PM9 rocket launcher that nuke ops can buy kinda sucks and even a direct hit with the standard rockets loaded isn't enough to guarantee a one-hit crit on a direct hit against an armored opponent, which sucks for how much you pay for it. In that vein, I've also buffed the standard rockets a bit, they now do 50 brute up from 30 on a direct hit, and they create flames on their explosion.

Also makes a tweak to /proc/get_turf_in_angle(), since tile coordinates start at 1,1 instead of 0,0 that proc is now clamped to min 1,1 rather than 0,0

* Adds Rocket Backblast

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2021-01-10 08:35:51 +01:00
83c0957413 [MIRROR] Turns squashing mobs into an element (#2606)
* Turns squashing mobs into an element (#55725)

Opens up room for extending squashing behavior for future cytology updates.

* Turns squashing mobs into an element

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2021-01-10 08:20:44 +01:00
f79e91462c [MIRROR] LINDA Reforged (#2573)
* LINDA Reforged

* Update airlock.dm

* Update biohazard_blob_controller.dm

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2021-01-08 18:52:35 +01:00
d57af096f2 [MIRROR] Fixes slimes riding monkeys and thus falling off of each other (#2576)
* Fixes slimes riding monkeys and thus falling off of each other (#55887)

Fixes slimes trying to ride monkeys.

* Fixes slimes riding monkeys and thus falling off of each other

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2021-01-08 18:45:58 +01:00
02c83dcd8a [MIRROR] Allows you to tuck the nuclear authentication disk (and plushes) into bed. (#2515)
* Allows you to tuck the nuclear authentication disk (and plushes) into bed. (#55940)

Adds an element, the tuckable element. Objects with this element can be tucked into bed by hitting a bed with it.

You can now make beds by hitting them with a blanket.
You can now tuck plushes into bed.
You can now tuck the disk into bed, too.

* Allows you to tuck the nuclear authentication disk (and plushes) into bed.

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2021-01-06 01:26:01 +00:00
94ed7ed0f1 [MIRROR] Refactors how movetypes are added and removed, No timers this time. (#2358)
* Refactors how movetypes are added and removed, No timers this time. (#55444)

* Refactors how movetypes are added and removed, No timers this time.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-12-29 02:39:03 +00:00
87930f4ea0 [MIRROR] [READY] Refactors riding (#2307)
* [READY] Refactors riding (#54778)

* [READY] Refactors riding

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2020-12-24 12:38:15 +01:00
a427dad410 [MIRROR] Makes drying racks apply color properly (#2127)
* Makes drying racks apply color properly (#55317)

Drying racks aren't coloring things currently because of how that typecheck works (It should be a type == current_type instead of !type)

* Makes drying racks apply color properly

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-12-11 00:39:49 +00:00
64cb64aae3 [MIRROR] Replace direct poi_list manipulation with element (#2117)
* Replace direct poi_list manipulation with element (#55416)

Replaces GLOB.poi_list |= src and GLOB.poi_list -= src with an element that handles it directly.

More consistent code, especially when a lot of code couldn't decide how to add/remove (some |=, some -=, some .Remove, etc).

* Replace direct poi_list manipulation with element

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-12-11 00:26:00 +00:00
135e659aab [MIRROR] Makes Metalgen Unrecycleable (#2111)
* Makes Metalgen Unrecycleable (#55417)

* Makes Metalgen Unrecycleable

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2020-12-10 10:47:01 +00:00
3a0491d3b4 [MIRROR] Small do-after refactor (#2074)
* Small do-after refactor (#55172)

This is an alternative to the PR Ryll made, it does some things similar e.g. the default limit of 1 interaction per target for a person, however, it refactors do_afters to support overrides for max interaction counts and unique sources.

For example, stripping uses the item being stripped as the source, allowing you to strip multiple items, but not the same item multiple times.

I've also fixed most other edge-cases this could cause where balance would be affected, but feel free to point out any I might've missed, this'll probably require some longer-term testmerging.

* Small do-after refactor

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-12-07 22:46:59 +01:00
2913364658 [MIRROR] Kills oldfood, Puts newfood on top. (#2041)
* Kills oldfood, Puts newfood on top. (#55160)

Slays the last of old-food, making new-food the new normal.

Co-authored-by: MrMelbert <kmelbert4@ gmail.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>

* Kills oldfood, Puts newfood on top.

* Update collars.dm

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: MrMelbert <kmelbert4@ gmail.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-04 16:46:26 +01:00
434b5d2f23 [MIRROR] Fixes newfood reagent transfer and food trash' to_chat (#2007)
* Fixes newfood reagent transfer and food trash' to_chat (#55150)

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>

* Fixes newfood reagent transfer and food trash' to_chat

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
2020-12-02 15:17:18 +01:00
c487c73f39 [MIRROR] Grep for space indentation (#1969)
* Grep for space indentation

* aa

* Update species.dm

* Update species.dm

* Update maps.dm

* Update examine.dm

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-01 12:26:41 +01:00
7d653f1f6b [MIRROR] Moves grown food to newfood (#1794)
* Moves grown food to newfood (#55040)

Moves grown food to newfood
Gives trash element support for callbacks for item creation override

* Moves grown food to newfood

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-11-23 22:35:35 +00:00
89a8cb991a [MIRROR] moves misc food to newfood code (#1725)
* moves misc food to newfood code (#54788)

misc food is now using newfood code

* moves misc food to newfood code

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-11-19 07:21:23 +01:00
b7122f2d6e [MIRROR] Converting art component into element. (#1562)
* Converting art component into element. (#54616)

* Only art is now an element. There have been some issues with beauty.

* Typo.

* Update art.dm

* Update art.dm

* Maintainer suggestions. Reversing order of switch(impress) for correct moodlets.

* Fixing some pre-existing oddities with art element.

* stating the right var.

* simplifying the component.

* Update art.dm

* lowercasing pronoun.

* Converting art component into element.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-11-04 00:35:26 +00:00
30fc6c78ac [MIRROR] Turns transparency for turfs into an element, and gives it to datum materials. (#1567)
* Turns transparency for turfs into an element, and gives it to datum materials. (#54250)

* Turns transparency for turfs into an element, and gives it to datum materials.

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-11-04 00:33:49 +00:00
0afaaa89d1 [MIRROR] rad_insulation component is now an element. (#1496)
* rad_insulation component is now an element. (#54625)

* rad_insulation component is now an element.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-10-27 22:51:52 +00:00
23ca0b88db [MIRROR] Converting the EMP protection component into an element. (#1494)
* Converting the EMP protection component into an element. (#54617)

* Converting the EMP protection component into an element.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2020-10-27 17:38:50 +00:00
970a2b03d6 [MIRROR] Mobility refactor: no more update_mobility() (#1233)
* Mobility refactor: no more update_mobility()

* Update robot.dm

Fixes robots.

* megadumb

* Update robot.dm

* weh

* Update gunpoint_datum.dm

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-10-10 02:31:35 +02:00
cae0e4cb5c [MIRROR] Adds Alloy Materials (#1228)
* Adds Alloy Materials (#53623)

Adds and implements alloy materials

Takes several materials that were mostly fluff and converts them into actual usable materials.
Messes with material code a bit to make alloys recycle back into their component materials.
Adds the alloy materials to their in-game stacks.

Materials added:
    Plasteel
    Plastitanium
    Plasmaglass
    Titaniumglass
    Plastitanium Glass
    Alien Alloy

Makes plasteel/plastitanium/plasmaglass and the rest able to have separate properties from their component materials. It doesn't make much sense that the materials used to seal off the supermatter chamber from the rest of the station would be prone to exploding when heated.

Allows for further expansion of materials, possibly including actual functional metallurgy and smelting at some point in the very distant future.

(Lemons note: Adds a regeneration component, used for alien alloy)

* Adds Alloy Materials

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2020-10-10 00:29:56 +01:00
8029db90ec [MIRROR] Fixes decals causing 20k runtimes and blood not cleaning (#1041)
* Fixes decals causing 20k runtimes and blood not cleaning (#53967)

decals will unregister signals and wont try to clean twice

* Fixes decals causing 20k runtimes and blood not cleaning

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
2020-09-29 12:27:54 +02:00
ba04621687 Fixes decals (#974)
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-25 13:59:10 +02:00
b5b151adcd [MIRROR] Fixes projectile impacts + messages, embedding, adds deployable landmines (#930)
* Fixes projectile impacts + messages, embedding, adds deployable landmines (#53436)

* icon and alert anim

* hmm

* projectile and embed fixes

* cap mine

* clean up, fix some issues with projectile embeds

* light

* doc

* icon

* awkward

* icon again

* Fixes projectile impacts + messages, embedding, adds deployable landmines

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2020-09-23 14:45:02 +02:00
7847364fc2 [MIRROR] s-s-s-spaghetti to newfood (#818)
* s-s-s-spaghetti to newfood (#53574)

🆑 Qustinnus
code: Moves spaghetti to new food
fix: Fixes some more size problems on food
fix: Fixes organs having wrong params
/🆑

fixes #53482 fixes #53572

* s-s-s-spaghetti to newfood

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-09-16 03:41:02 +01:00
1e705faa19 [MIRROR] Process procs now properly utilize deltatime when implementing rates, timers and probabilities (#709)
* Process procs now properly utilize deltatime when implementing rates, timers and probabilities (#52981)

* 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

* Process procs now properly utilize deltatime when implementing rates, timers and probabilities

Co-authored-by: Donkie <daniel.cf.hultgren@gmail.com>
2020-09-09 08:19:23 +02:00
d247931b07 [MIRROR] Adds a food trash element (#574)
* Adds a food trash element (#53225)

adds a food trash element, for dumping trash when u eat food

unused now, needed for food refactor. spawns trash in your hands (or on the floor) when the food this is attached to is eaten.

* Adds a food trash element

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-08-30 05:18:37 +02:00
SkyratBotGitHubTiviPlus <TiviPlus>CoulsTiviPlus
ec09510459 Bools and returns super-pr (#53221) (#565)
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>
2020-08-30 05:12:59 +02:00
7bbe8ec530 [MIRROR] [READY] Vatgrowing: Third time's the charm (#508)
* Merge pull request #53020 from Qustinnus/fatgrowing

[READY] Vatgrowing: Third time's the charm

* [READY] Vatgrowing: Third time's the charm

Co-authored-by: 81Denton <32391752+81Denton@users.noreply.github.com>
2020-08-25 01:36:10 +02:00
3bd294f26f [MIRROR] Defines damage flags. (Hopefully without 50+ commits) (#491)
* Defines damage flags. (#53158)

* Defines damage flags. (Hopefully without 50+ commits)

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2020-08-24 22:52:31 +02:00
6da6b33009 [MIRROR] Food refactor part 1: Bread destruction and processable element (#447)
* Food refactor part 1: Bread destruction and processable element (#53047)

* Food refactor part 1: Bread destruction and processable element

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-08-21 14:15:57 +01:00
e65a48e91f [MIRROR] Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking (#430)
* Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking (#52761)

Adds SIGNAL_HANDLER, a macro that sets SHOULD_NOT_SLEEP(TRUE). This should ideally be required on all new signal callbacks.

Adds BLOCKING_SIGNAL_HANDLER, a macro that does nothing except symbolize "this is an older signal that didn't necessitate a code rewrite". It should not be allowed for new work.

This comes from discussion around #52735, which yields by calling input, and (though it sets the return type beforehand) will not properly return the flag to prevent attack from slapping.

To fix 60% of the yielding cases, WrapAdminProcCall no longer waits for another admin's proc call to finish. I'm not an admin, so I don't know how many behinds this has saved, but if this is problematic for admins I can just make it so that it lets you do it anyway. I'm not sure what the point of this babysitting was anyway.

Requested by @optimumtact.
Changelog

cl
admin: Calling a proc while another admin is calling one will no longer wait for the first to finish. You will simply just have to call it again.
/cl

* Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-08-19 20:17:28 -04:00
72c69368b6 [MIRROR] Opacity refactor (#405)
* Opacity refactor (#52881)

    Moves all opacity var manipulation to a proc which sends a signal.
    light_blocker element for movable opaque atoms made, which tracks its movement and updates the affected turfs for proper lighting updates.
    has_opaque_atom boolean replaced by the opacity_sources lazylist to keep track of the sources, and a directional_opacity which serves a similar function but also allows for future expansion with on-border opaque objects (not yet implemented).
    Some opacity-related sight procs optimized as a result of this.
    Some variables moved to the object's definition.
    A define or two added into the mix for clarity.
    Some code cleaning, like turning booleans into their defines.
    One file renamed for clarity.

Changelog

cl
balance: Mechs no longer block sight. It's a non-trivial cost for the lighting system with little to no gain.
/cl

* Opacity refactor

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-19 04:48:14 +02:00
d8f5dc18d4 [MIRROR] Cleaning machines and the cleanbot now scrubs instead of washes, wiping forensics (#402)
* Cleaning machines and the cleanbot now scrubs instead of washes, wiping forensics (#52983)

* Cleaning machines and the cleanbot now scrubs instead of washes, wiping forensics

Co-authored-by: Donkie <daniel.cf.hultgren@gmail.com>
2020-08-19 04:42:48 +02:00
f088ef3ce4 [MIRROR] Fixes an embed runtime (#373)
* embed runtime (#52912)

* Fixes an embed runtime

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-17 23:32:27 +02:00
bae9371da5 Cleanable cleanup (#52477)
* 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>
2020-07-29 08:32:30 -04:00