Commit Graph

72 Commits

Author SHA1 Message Date
SkyratBot
03d81cfb75 [MIRROR] Fixes the attack chain (#1520)
* Fixes the attack chain

* a

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-10-31 15:58:00 +01:00
SkyratBot
b01d3f3efe [MIRROR] Fixes two incorrectly named COMSIG defines. (#1510)
* Fixes two incorrectly named COMSIG defines (#54660)

* Fixes two incorrectly named COMSIG defines.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-10-30 02:33:27 +00:00
SkyratBot
cb880bb359 [MIRROR] Adds layer switching with mouse wheel to the RPD. (#1491)
* Adds layer switching with mouse wheel to the RPD. (#54458)

Adds a signal that gets sent to items in currently active hand on mouse scroll
and makes RPD listen to this and change the piping layer accordingly.

* Adds layer switching with mouse wheel to the RPD.

Co-authored-by: TheChosenEvilOne <34602646+TheChosenEvilOne@users.noreply.github.com>
2020-10-27 09:09:25 +00:00
SkyratBot
3b623b8b67 [MIRROR] [READY]Directional lighting component + light system (#1474)
* Directional lighting component + light system (#54520)

Adds in a new type for the lighting system, the directional one. It piggybacks on the overlay lighting to create a directional effect + adds a nice visual cone mask to make the effect feel really directional.
Also: made the static light system respect the light_on variable.

It feels really nice to shine AT things you're looking at with flashlights and the such, it makes maintenance scouring much more immersive too.
Adds more paranoia as you dont see light behind yourself when you've got a flashlight. Plus makes ambushes more fun

* [READY]Directional lighting component + light system

Co-authored-by: Azarak <azarak10@gmail.com>
2020-10-26 09:13:47 +01:00
SkyratBot
ed7e7b9cb8 [MIRROR] [READY] Multilayer plumbing machinery (#1440)
* [READY] Multilayer plumbing machinery (#54081)

* multilayer machinery!

* adds layer mode to plungers for changing plumbing layers

* minor fixes

* Adds more feedback to plunger layer mode and places proper checks for layer changing

* [READY] Multilayer plumbing machinery

Co-authored-by: Time-Green <timkoster1@hotmail.com>
2020-10-23 12:50:50 +02:00
SkyratBot
6ecaa9a994 [MIRROR] Standardizes attack chain signal returns and fixes a tk bug (#1409)
* Standardizes attack chain signal returns and fixes a tk bug (#54475)

The attack chain is a bit of a mess, and the introduction of signals hasn't helped in simplifying it.

In order to take a step into untangling this, I re-ordered the attack signals to no longer be by source type and instead to be grouped more modularly, as they are all members of the attack chain and function similarly. They all share the trait of potentially ending the attack chain via a return, but had several different names for it. I joined it into one.

Additionally, fixed a tk bug reported by @ Timberpoes by adding a signal return check at the base of /mob/proc/RangedAttack

Lastly, removed the async call of /datum/mutation/human/telekinesis/proc/on_ranged_attack, which was added as a lazy patch to appease the linter complaining about a sleep on a signal handler (namely in /obj/singularity/attack_tk). Fixed the problem using timers.

Also cleaned some code here and there.

* Standardizes attack chain signal returns and fixes a tk bug

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-10-21 07:39:32 +02:00
SkyratBot
72974ebac4 [MIRROR] Refactors occupant to use setter (#1357)
* Refactors occupant to use setter (#54373)

This is to make it easier to attach a signal to the setting of the occupant.

* Refactors occupant to use setter

Co-authored-by: nicbn <nicolas.nattis@gmail.com>
2020-10-18 17:05:22 +01:00
SkyratBot
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
SkyratBot
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
SkyratBot
35cbcf8a8b [MIRROR] replaces a cursed proc in trauma code with a blessed signal (#1184)
* replaces a cursed proc in trauma code with a blessed signal (#54208)

code: some cursed snowflake proc call now uses a blessed signal in trauma code

* replaces a cursed proc in trauma code with a blessed signal

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-10-07 15:58:16 +02:00
SkyratBot
e3f8b4c96c [MIRROR] Adds tank holders (#1177)
* Merge pull request #54048 from nicbn/tank-frames

Adds tank holders

* Adds tank holders

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2020-10-07 01:11:16 +02:00
SkyratBot
8f853ea80d [MIRROR] Fixes monkeycube size and organ callback and microwaves (#1107)
* Fixes monkeycube size and organ callback and microwaves (#54095)

* fixes

* dumb runtime

* fixes eggs

* Fixes monkeycube size and organ callback and microwaves

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-10-01 21:41:47 +02:00
SkyratBot
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
SkyratBot
29b79b3350 [MIRROR] Refactors decals to an element (#973)
* Refactors decals to an element (#53922)

* Refactors decals to an element

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
2020-09-25 13:38:52 +02:00
SkyratBot
ec28f27bf8 [MIRROR] Fix broken dmdoc crosslinks (#933)
* Fix broken dmdoc crosslinks

* Update species.dm

Co-authored-by: Tad Hardesty <tad@platymuus.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-23 15:14:45 +02:00
SkyratBot
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
SkyratBot
39c1a99020 [MIRROR] Moves over cakes to newfood and transfers reagents when crafting (#688)
* Moves over cakes to newfood and transfers reagents when crafting (#53316)

* Moves over cakes to newfood and transfers reagents when crafting

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-09-09 08:09:36 +02:00
SkyratBot
3a0bbe9498 Acid Component (#53273) (#661)
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.

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2020-09-07 03:52:59 +02:00
Useroth
caa6b81048 Cleans up extinguish_mob and prevents perpetual fire (#53252) (#685)
Co-authored-by: NightRed <nightred@gmail.com>
2020-09-07 03:40:42 +02:00
SkyratBot
549fa16cbc [MIRROR] Skeletons can treat their bone wounds again, improves door crush dislocation fix (#626)
* Skeletons can treat their bone wounds again, improves door crush dislocation fix (#53307)

* Skeletons can treat their bone wounds again, improves door crush dislocation fix

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2020-09-04 00:10:55 +01:00
SkyratBot
cd0d700a85 [MIRROR] Mecha refactor 2020 (#579)
* Mecha refactor 2020

* Update effects.dm

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-02 02:16:51 +02:00
SkyratBot
8177144397 [MIRROR] Bring back painting arbitrary objects with spray cans (#570)
* Bring back painting arbitrary objects with spray cans (#52936)

Brings back the behavior removed from #52186 with cleaner code.

Differences in the code:

    No more explicit type checks in the spray paint code, other than a broad isobj.
    Checking for dark colors is now based on luminosity, rather than unscientifically summing all the RGB components and checking an arbitrary number.
    Removes the paintable component. This was used on one item, and its behavior is replicated in the spray can.
    Instead of checking for windows specifically and changing opacity through there, atoms can now specify through init flags whether or not they allow dark colors. Windows set this flag.
    Adds a COMSIG_OBJ_PAINTED signal. Windows use this signal to dynamically update opacity, just like how they did before.

This was a fun cosmetic feature that I'm not sure anyone had a problem with. The original reason for removal seemed to be because of code quality, and not because of negatives about the feature.

Makes canvasses unpaintable

* Bring back painting arbitrary objects with spray cans

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-08-30 05:25:02 +02:00
SkyratBot
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
SkyratBot
f3a0fd3231 [MIRROR] Componentizes Food Storage (#561)
* Componentizes Food Storage (#53116)

Moves the food storage behavior on (formerly) bread, cheese wheels, and cakes from /food/snacks/store/ to a component.
This lets just about any food/edible thing be used for storing fun things like glass shards, which is pretty neat. Also helps work towards the food refactor.

* Componentizes Food Storage

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2020-08-29 20:32:58 +01:00
SkyratBot
0a2d016002 [MIRROR] Smooth Movement: Resurrection: Resurgence: Revengeance 4: The Return of Smooth Movement: Smooth Edition Director's Cut (#550)
* Smooth Movement: Resurrection: Resurgence: Revengeance 4: The Return of Smooth Movement: Smooth Edition Director's Cut (#52515)

Automatic glide size adjustment based on move delay.
Essentially a port of https://github.com/yogstation13/Yogstation/pull/8132 but that was mostly my code with some fixes.

Why again? well it turns out the recent byond fixes to glide size actually worked and solved the issues that were unsolvable.
https://file.house/0B3u.mp4
Glide size no longer incorrectly scales at fps, so it works as intended at any framerate with the only stuttering being normal byond suck stuttering.

* Smooth Movement: Resurrection: Resurgence: Revengeance 4: The Return of Smooth Movement: Smooth Edition Director's Cut

Co-authored-by: Rob Bailey <actioninja@gmail.com>
2020-08-29 20:27:18 +01:00
SkyratBot
e6f770410a [MIRROR] Bloody feet update (#538)
* Bloody feet update (#53109)

Componentized the bloody feet feature.

* Hardsuits and other feet-covering clothing can now get bloody feet as well and spread gunk around.
* Bare feet can now get bloody as well and spread gunk around.
* Shoes/feet won't get bloody if something is covering them.
* Improved blood spreading behaviour. Previously, magic numbers were used in the blood pick up and drop off process. Now, when you step in blood, you and the floor share the blood volume. When you step on a non-bloody tile, you give away half of your shoe blood to the tile, and so on. This means the total blood volume always stays constant when moving around. * Blood doesn't appear out of thin air, nor get flushed to bluespace.
* Lowered footprint minimum opacity. Because it looks better, imo.
* Improved footprint exit/enter dirs.
* Improved footprint examine.
* Removed code for cult magic where a spell can suck up blood on your shoes. I'm pretty sure this code didn't work anyway. Implementing that for this new system would require a new signal and I just don't think it's worth it.

How can this game make you spend 20 hours on fucking spaceman footprints

Hardsuits will become "fully bloody" by just stepping in blood. This is a limitation of the current forensics system, as that is what is used to determine if an item is bloody or not. I'm aware of this but I don't think it fits to fix that in this PR.

cl
add: Footprints and bloody shoes major update. Hardsuits and bare feet can now get bloody as well. Improved blood spreading behaviour.
fix: Shoes will no longer get bloody while wearing something that covers them.
/cl

* Bloody feet update

Co-authored-by: Donkie <daniel.cf.hultgren@gmail.com>
2020-08-27 03:12:11 +02:00
SkyratBot
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
SkyratBot
a9dd5c684c [MIRROR] Makes bloodcrawl not use a dumb var (#494)
* Makes bloodcrawl not use a dumb var (#52714)

* Makes bloodcrawl not use a dumb var

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
2020-08-24 23:52:27 +02:00
SkyratBot
0b65cc596b [MIRROR] Overlay lighting component (#469)
* Overlay lighting component (#52413)

Sparks no longer lag, projectile beams move super smoothly, same with mobs and whatnot. This also allows for easy expansion into directional lights, field-of-view, wee-woo rotating lights or whatever.

It does have a downside: things right-clicked or checked through the alt+click tab will show the light overlay:


This is a BYOND limitation, very well worth it IMO.

🆑
add: Smooth movable lighting system implemented. Projectiles, sparks, thrown flashlights or moving mobs with lights should be much smoother and less laggy.
balance: Light sources no longer stack in range, though they still do in intensity.
/🆑

* Overlay lighting component

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-23 20:17:12 +02:00
SkyratBot
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
SkyratBot
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
SkyratBot
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
SkyratBot
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
SkyratBot
0fe96ab3c3 [MIRROR] Adds a signal for storage exit and insert, uses it to make trading cards zoom properly (#285)
* Adds a signal for storage exit and insert, uses it to make trading cards zoom properly (#52737)

* Adds a signal for storage exit and insert, uses it to make trading cards shirk properly

* Adds storage param

* Adds a signal for storage exit and insert, uses it to make trading cards zoom properly

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-08-11 22:45:55 +02:00
SkyratBot
e551ebd990 [MIRROR] Immobilized trait (#280)
* immobilized (#52578)


    Adds an immobilized trait.
    Adds procs for several variable changes so we can respond to their events.
    Adds some signals for said variables changing.

Need to turn the variation in number of usable legs and arms (get_num_legs() and get_num_arms()) into events we can respond to, but they are pretty annoying to do so. Probably for a different PR.

* Immobilized trait

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-11 04:08:31 +01:00
SkyratBot
9228782297 [MIRROR] Added the ability to upload honk viruses to doors, machines and computers. Added new sound_player component. (#278)
* Added the ability to upload honk viruses to doors, machines and computers. Added new sound_player component. (#52593)

* Added the ability to upload honk viruses to airlocks.

* Removed shoes requirements. Added charge gain sound.

* Revert "Removed shoes requirements. Added charge gain sound."

This reverts commit 641fe91a1c936c2de0cdd8104304d7f25bc831a8.

* Added ping on charge gain.

* Refactored to use components and signals.

* Now works on all machines / computers.

* implements suggested changes

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

* Moved signals around.

* WIP

* Finally added sound_playing component.

* Rohesie provides good code

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

* More Rohesie goodies

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

* Everything is fucked oh god

* Clean sweep

* Update code/game/objects/items/devices/PDA/PDA.dm

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

* Update code/game/objects/items/devices/PDA/PDA.dm

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

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

* Added the ability to upload honk viruses to doors, machines and computers. Added new sound_player component.

Co-authored-by: KathyRyals <65850818+KathyRyals@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-11 00:39:56 +01:00
SkyratBot
6c0a9dd8cb [MIRROR] Riders will now turn with their vehicle (#200)
* Riders will now turn with their vehicle (#52612)

* Riders will now turn with their vehicle

* Remove new signal, refactor to accept a direction

* Update code/datums/components/riding.dm

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

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

* Riders will now turn with their vehicle

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-05 10:11:12 +02:00
SkyratBot
5fd8cb072e [MIRROR] Color standardization, vars moved, and signals (#194)
* Color standardization, vars moved, and signals (#52574)

    Defined all the existing light_color values.
    Moved their definitions to colors.dm
    Made white the default color. It was so already, but that was very obscured.
    Moved the atom light-related variables to the atom definition.
    Wrapped changes to variables such as light_color into procs that report the event through signals.
    Moved the light_on variable to the atom level, also adding a signal for its changing, to represent toggling lights.
    Cleaned up a little bit of code in where new variables were defined before redefinitions.

This is all atomization to reduce changes in #52413
None of this affect gameplay at all, it's all code cleaning and refactoring.

There's more colors to standardize, a search for color = will find lots of targets, and I see little need to have both the LIGHT_COLOR and COLOR patterns, but I don't want to make this PR bigger than it already is.

* Color standardization, vars moved, and signals

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-04 12:20:31 +02:00
Couls
35f50b14de Drinks can now carry diseases, Wipe down your glasses with rags bartenders! (#52421)
* Drinks can now infect you, Wipe down your glasses with rags bartenders!

* Apply suggestions from code review

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

* Update code/datums/components/infective.dm

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

* Update code/datums/components/infective.dm

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

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-29 20:08:37 -04:00
Daniel Hultgren
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
Ryll Ryll
a97c51b30b [READY] Wounds part 2: Piercing wounds, dismemberment changes, housekeeping (#51786)
* pierce the heavens

* starts doing projs

* continue pierce

* before armor

* before sharpness redefine

* rename sharp defines, before further implementation

* finishing undoing atk_type back to sharpness

* neatens up sharpness defines, FALSE -> SHARP_NONE

* more piercing, removes brute damage bleed, bubblegum no longer wound

* starts letting embeds get in on the fun

* half with embed

* work on dismembering

* continued embed work

* more moving bandaging to limbs

* more dismemberment work

* removing embed pierce stuff

* tweaking bullets

* more docs and work on dismemberment

* spans, piercing, guns

* dismemberment and scar fixes

* bee changes

* bullets embedding

* more bullet and dismember work

* dismemberment, surgery, piercing, formaldehyde,

* pleases travis

* pierce smite

* nicer on blood

* Auto stash before rebase of "tgstation/master"

* more neatening

* wounds only consider up to 35 damage, wounds on l6 and 762

* updates hulk

* balance

* defines

* lower slug to 50 brute to accommodate wounds

* adds differentiation for having flesh/bones/both in mobs

* moves scar descs to json, renames organic_state

* excises removed healing skill

* fixes logs, inconsistencies, some balance changes

* untab

* slight compress

* a

* kills pointed global list

* dmdoc

* halfway through roh

* finishes roh review

* okay NOW i finished roh's reviews

* roh roh roh your boat

* gently down the stream

* global lists

* list ops, fix scanner for bone gel improvised fix

* travis moment

* sounds added and moved

* pellet clouds can join the fun fully, slight gun balancing for wounds

* doc moment

* unconflicts myself

* update hulk

* Update code/_onclick/item_attack.dm

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

* crying ascii face

* final rohview

* oops

* final final

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-23 22:20:09 -04:00
ShizCalev
4b6500fb67 Makes all anchored changes use setAnchored(), COMSIG_MOVABLE_SETANCHORED now only sent if an AM's anchored var has changed for more reliable usage. (#52254)
* 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>
2020-07-21 02:20:26 -03:00
ArcaneMusic
911e702540 Adds a simple payment component, photocopiers now cost 5 credits to make copies each. (#51944)
* Take 1, initial mediocity

* Stonks

* I'm working on it don't stale me

* HOOOOOOO adjusts the photocopier, extends component functionality to the medical kiosk, etc etc/

* Fixes that one bug with printers.

* Removes an unused var.

* Makes defines

* I am a champion

* Moves econ defines over... econ defines.

* Forgot the comment.

* How about now?

* Accidently excluded payments from the dme.

* Slight text tweaks, also checkmark.

* updates economy defines.

* Apply suggestions from code review

Review Commits pre-cleanup

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

* Post-Fixes from review.

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-20 22:40:59 -03:00
LemonInTheDark
d3f9b70c0f Adds a message modification packet to saycode to allow for unordered parsing of operator chars, like ;, #, :, or % (#51790) 2020-07-18 18:18:23 +02:00
Ryll Ryll
53d1f1477d Adds hauberoaches, cockroaches wearing spiked helmets (#52161)
* done in under an hour

* sprite
2020-07-18 12:53:45 +02:00
AnturK
f4af5ed28c Makes CanReach default to blocking. (#52115) 2020-07-12 04:25:27 +10:00
Ryll Ryll
4a481bc861 Adds eye contact (#52108)
* doesn't do it for me

* signal and hijinx

* creep stare

* less lazy code
2020-07-12 03:39:57 +10:00
Emmanuel S
6a4c79ac3c The Supplypod Renaissance Part 3: Admins can add shrapnel to supplypods (#51957)
* test


get code up to speed


finished?


polish


fixes mergies

* tgui
2020-07-06 16:23:34 +03:00
TemporalOroboros
e78d82592f Refactors reagent exposure code (#51396)
* Refactors reagent exposure code

Removes istype clutter. Renames a few procs

* == TRUE

Adjusts COMPONENT_NO_EXPOSE_REAGENTS bitflag offset.

TODO: Remove comment

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

* == TRUE

Adjusts COMONENT_NO_EXPOSE REAGENTS bitflag offset.

Removes comment

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-06-21 20:03:19 -03:00
SteelSlayer
0728e696a7 intercom refactor 2020-06-16 21:00:40 -05:00