Commit Graph

180 Commits

Author SHA1 Message Date
SkyratBot
4af0dd0b8f [MIRROR] addresses reviews on the tram pr made after merge, fixes diagonal movement bugs [MDB IGNORE] (#14943)
* addresses reviews on the tram pr made after merge, fixes diagonal movement bugs (#68033)

* addresses reviews on the tram pr made after merge, fixes diagonal movement bugs

* wew

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-07-19 00:51:33 +00:00
SkyratBot
18a56ffeeb [MIRROR] (code bounty) The tram is now unstoppably powerful. it cannot be stopped, it cannot be slowed, it cannot be reasoned with. YOU HAVE NO IDEA HOW READY YOU ARE [MDB IGNORE] (#14477)
* (code bounty) The tram is now unstoppably powerful. it cannot be stopped, it cannot be slowed, it cannot be reasoned with. YOU HAVE NO IDEA HOW READY YOU ARE

* fex

* fex

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-06-25 01:24:00 +01:00
SkyratBot
2f76afada5 [MIRROR] Cleans up some varedit procs using strings for var names instead of the proper helper [MDB IGNORE] (#12384)
* Cleans up some varedit procs not using strings instead of the proper helper (#65769)

Although these vars are unlikely to ever change, if the vars were ever renamed it would result in these strings not erroring properly if they weren't updated as well.

* Cleans up some varedit procs using strings for var names instead of the proper helper

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-03-30 14:59:41 +01:00
SkyratBot
c67f06ffdc [MIRROR] Renames the change_area proc to be more accurate [MDB IGNORE] (#12372)
* Renames the `change_area` proc to be more accurate (#65758)

* Renames the `change_area` proc to be more accurate

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
2022-03-29 16:49:13 -07:00
SkyratBot
dc3c8e9e52 [MIRROR] Fixes bugged lighting overlays on dark tiles [MDB IGNORE] (#9835)
* Fixes bugged lighting overlays on dark tiles (#63171)

* Fixes bugged lighting overlays on dark tiles

Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>
2021-12-02 22:24:00 +00:00
SkyratBot
7954d664a8 [MIRROR] removes double spaces before symbols [MDB IGNORE] (#9117)
* removes double spaces before symbols (#62397)

This can apparently cause some bugs on occasions, so I thought I might as well try to kill them all.

* removes double spaces before symbols

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2021-10-29 04:14:00 +01:00
SkyratBot
3d8e5c3f81 [MIRROR] Fixes base lighting appearance inheritance (corner shadows bug see pics inside) [MDB IGNORE] (#8774)
* Fix base lighting appearance inheritance (#62042)

* Fixes base lighting appearance inheritance (corner shadows bug see pics inside)

Co-authored-by: Wayland-Smithy <64715958+Wayland-Smithy@users.noreply.github.com>
2021-10-13 11:07:24 +01:00
SkyratBot
556d6f074b [MIRROR] fix lighting mapping placement (#8272)
* fix lighting (#61530)

* fix lighting mapping placement

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
2021-09-19 15:51:56 +01:00
SkyratBot
033fca0b7b [MIRROR] Default Baselighting to white (#8270)
* Default Baselighting to white (#61544)

* Default Baselighting to white

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
2021-09-19 15:51:38 +01:00
SkyratBot
2c682cf83e [MIRROR] Things that love the station may no longer leave the station, even when Dr. Anomaly says they should. (#8254)
* Things that love the station may no longer leave the station, even when Dr. Anomaly says they should. (#61335)

Bluespace anomalies detonating Move() things. When something is Move()d, none of the logic in forceMove() or doMove() is called, and thus stationloving things can't tell when they've left the z-level (since that's where the logic for it is).

There are a number of approaches I could have taken: Refactoring anomalies to use different movement code. Refactoring Movement code to send more signals in various scenarios. Refactoring the stationloving component.

I settled on two steps. First, refactoring the component to bring it up to modern code standards. Second, moving the logic for COMSIG_MOVABLE_Z_CHANGED to Moved() so the signal always fires regardless of if Move() or forceMove() or doMove() is used, with an optional var for whether the z-change is communicated to contents. This means the ore box was changed to actually send the signal instead of just returning with no parent call or signal sent. Stationloving ore boxes when?

stationloving procs no longer call SIGNAL_HANDLERs directly. Var names are now more descriptive. Things are renamed and documented. At least for the parts of the code I know.

Probably some other code cleanups.

* Things that love the station may no longer leave the station, even when Dr. Anomaly says they should.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2021-09-18 21:45:42 +01:00
SkyratBot
1501a322ef var/static_lighting proper varedit support (#8065)
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-11 16:30:10 +01:00
Gandalf
8eb1a428f3 Revert "Revert "[MIRROR] Refactor area and turf lighting"" (#8063)
* Revert "Revert "[MIRROR] Refactor area and turf lighting (#7775)" (#7902)"

This reverts commit 64c4c52d12.

* This should probably fix it

* I love linters

Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2021-09-10 19:01:18 -04:00
Gandalf
64c4c52d12 Revert "[MIRROR] Refactor area and turf lighting (#7775)" (#7902)
This reverts commit 1219e433be.
2021-09-08 18:48:29 +01:00
SkyratBot
a7d6611e0b Reduces copypasta in emissive code. (#8040)
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2021-09-07 19:53:49 +01:00
SkyratBot
1219e433be [MIRROR] Refactor area and turf lighting (#7775)
* Refactor area and turf lighting

* AAAAAAAA

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-08-29 00:43:40 +01:00
SkyratBot
c3d3637fdb [MIRROR] Only blend areas when it's actually needed (#6978)
* Only blend areas when it's actually needed (#60237)

* Only blend areas when it's actually needed

* Respect varedits

* Only blend areas when it's actually needed

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
2021-07-19 20:11:16 +12:00
SkyratBot
00519c0c1a [MIRROR] Turns lighting objects into a datum, makes all lighting be performed with an underlay. big maptick fix very good! (#6286)
* Turns lighting objects into a datum, makes all lighting be performed with an underlay. big maptick fix very good!

* Mirror!

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-06-14 18:43:14 +12:00
SkyratBot
6f3b151bb8 [MIRROR] Fixes a bunch of harddels that are sourced from player action (#6252)
* Fixes a bunch of harddels that are sourced from player action

* Mirror!

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-06-11 03:13:33 +01:00
SkyratBot
2d04f758b2 [MIRROR] [READY] Lighting list cleanup. (#6238)
* [READY] Lighting list cleanup. (#59002)

Removed a bunch of back reference lists that were either entirely unused, or contained references that could be found within the datums contained in other lists.

lighting corner datums now get deleted with unused.

light sources no longer track lighting corners where the appiled light rounds to 0.

Fix lighting on turfs that gained dynamic lighting mid round. lazy init corner datums.

these two are related. by decoupling corner datums from the turfs dynamic lighting state, we can use them to know what level of light a non-dynamic light turf should have once it gains dynamic light.

Also should free up some memory not storing these datums in maint. Corner datums only exist on a turf that has light cast upon it by the dynamic lighting system.

Lighting corners are now lazy inited and deleted. they should always (and only exist) if there is a light source shining on it within range (even if the turf has no dynamic lighting). This is needed to support turfs that become lighting enabled mid round. On the plus side, they will no longer be generated on full dark turfs.

* [READY] Lighting list cleanup.

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2021-06-10 23:47:04 +01:00
SkyratBot
01af3694ce [MIRROR] Emissive system refactor (#5234)
* Emissive system refactor (#58130)

The emissives system is the system that both lets computer screens and vendors glow in the dark and lets mobs and items block those glows. The current implementation relies on using filters to let mobs and items mask out the glow in the dark overlays on some structures. This is difficult to extend properly without massively increasing maptick. This PR changes the emissives system to use BYONDs native image layering to mask emissive overlays. This should prove to be a more extensible option.

tldr; There exists a system that lets computer screens glow on the dark and lets mobs and items block the glow. It isn't very extensible and this PR attempts to make it more extensible.

How emissive overlays used to work

Currently emissive overlays and the emissive blockers that mask those overlays are handled using a system of inter-masking planes. The emissive overlays and the emissive blockers are placed on separate, hidden plane masters. These are essentially rendering layers and groups. The emissive blocker plane is then used to mask the emissive overlay plane which effectively allows the emissive blockers to block the emissive overlays from being seen. After is has been masked the emissive overlay plane is used to mask the lighting plane, essentially creating holes in the shadows wherever an unblocked glowing thing exists.

Why this is a potential problem

This system works fine. In fact it works great! The computer screens glow, any person or item that winds up on a computer blocks the glow, and everything just works. However, this system runs into some issues when you try to extend it to work on things other than structures. Namely, the current system only supports emissive overlays on structures and emissive overlays that are completely unblockable by any means. As a result, several interesting uses to the system require extending the system.

As a result, if you want to apply emissive overlays to items (which exist between structures and mobs) or emissive overlays to turfs (which exist below structures) you must extend the emissives system to get the emissive overlays and emissive blockers to properly function. Doing this naively, by adding extra emissive overlay and emissive blocker planes and applying all of the relevant masking filters, is not exactly performant.

Maptick is a major contributor to lag and the higher the maptick the more free lag you, the player, get delivered fresh to your client. Trying the naive method resulted in #55782 (1f1b58bb26), an attempt to add glowing carpet to the game. Since the PR revolved around adding glowing carpet it had to extend the emissives system to allow for emissive turfs and emissive blocking structures. Extending the system was done naively as described above and you can see the results. 1.5 times the maptick across the board. Ouch.

So, we know that extending the system in it's current form is impractical. At least if done naively. Thus we are stuck.

tldr; The emissive system currently uses inter-plane masking to allow for emissive blockers to function. This is difficult to reasonably extend without murdering maptick. See #56496 (1f1b58bb26) for the results of naively extending this system.

How emissive overlays are going to work

Alright, so we know that the current system of using planes to let the emissive blockers mask the emissive overlays is difficult to extend in it's current form. The solution is to change how the system works so that it can be extended in a more efficient manner. What we want is a system that allows one set of images to be out masked by another set of images and for the first set of images to be capable of masking the light plane. Preferably, we would also like the ability to interleave the masking effect between emissives and emissive blockers with almost arbitrary layering.

Conveniently, this layering and masking is something BYOND already does to normal items and objects. If we put the emissive overlays and the emissive blockers on the same plane we can use their layers to interleave them almost arbitrarily like any normal structures and items! All we need is a way to mask away the emissive blockers from the resulting rendered plane and we can mask the lighting plane with the remaining emissive overlays.

Luckily, BYOND has provided a single filter that is capable of this task. The color matrix filter. This filter can be used to apply a color matrix to an image! Provided that the emissive overlays and the emissive blockers are different colors we can use a color matrix filter to effectively mask out the emissive blockers from the plane! The resulting emissive plane can be applied as an alpha mask to the lighting plane as it used to, to the same effect. The best part is, we get layering practically for free!

This is exactly what this PR does. It converts the emissives system from the old plane and masking based blocking to a new layer-based system which uses BYONDs native layer handling to mask the emissive overlays.

* Emissive system refactor

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2021-04-27 00:03:46 +01:00
Gandalf
d14f4ea7c9 Revert "Revert "[MIRROR] Layer overhaul (#4503)" (#4509)" (#4536)
This reverts commit b27ede689e.
2021-03-31 02:08:56 +01:00
Useroth
b27ede689e Revert "[MIRROR] Layer overhaul (#4503)" (#4509)
This reverts commit 8ac892d340.
2021-03-30 23:45:08 +01:00
SkyratBot
8ac892d340 [MIRROR] Layer overhaul (#4503)
* Layer overhaul (#57915)

## About The Pull Request
Changes up some layer and plane defines for no particular reason lol

## Why It's Good For The Game
Planes actually override layers, and layers control ordering within planes. A lot of the usage of plane and layer was wholly unnecessary. This refactor helps future maintainability while also being needed staging for _future features._

* Layer overhaul

* aaaaaaaaa

a

Co-authored-by: Rob Bailey <actioninja@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-03-29 16:36:36 +01:00
SkyratBot
9ffdf58259 [MIRROR] Some explosions code cleanup (#4276)
* Some explosions code cleanup (#57493)

Clears out two deprecated explosions systems (explosion ids and explosion levels)
Refactors a bunch of contents_explosions procs to be maybe slightly faster.
Cleans up a bunch of ex_act code.
Slightly cleaner code
A few less unused vars on /atom and /turf

* Some explosions code cleanup

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2021-03-21 01:03:36 +00:00
SkyratBot
c2d6dd7d75 [MIRROR] Fixes a ton of harddels (#4215)
* Fixes a ton of harddels (#57736)

Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: ShizCalev <ShizCalev@ users.noreply.github.com>

* Fixes a ton of harddels

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: ShizCalev <ShizCalev@ users.noreply.github.com>
2021-03-17 20:42:47 +00:00
SkyratBot
63de7b4b0d [MIRROR] Refactors the Light Eater and gives it some flavortext. Some minor behavior changes included. (#3415)
* Refactors the Light Eater and gives it some flavortext. Some minor behavior changes included. (#55551)

Converts the effects of the nightmares light eater into a component and a couple elements
Adds some flavor text to the light eater
Makes the effects of the nightmare's light eater dispel if the armblade is destroyed
Probably a net increase in code quality
More flavortext
The nightmare's light eater effect can be dispelled if you are willing to sacrifice the armblade

* Refactors the Light Eater and gives it some flavortext. Some minor behavior changes included.

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2021-02-16 00:45:39 +00:00
SkyratBot
b332b46b65 [MIRROR] Remove hideous inline tab indentation, and bans it in contributing guidelines (#3394)
* Remove hideous inline tab indentation, and bans it in contributing guidelines

* a

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-15 15:32:02 +00:00
SkyratBot
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
SkyratBot
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
SkyratBot
5c59e5d537 [MIRROR] Tweaked insulated spray-on gloves (#2783)
* Tweaked insulated spray-on gloves (#56232)

Some tweaking and code smoothing of the spray-on gloves. The only
mechanical change is in also letting them be washed off (although it
takes a while under a shower or using a sink).

A visible message also provides better feedback.

* Make /wash a SHOULD_CALL_PARENT proc

A number of things depend on that signal being called.

* Makes suggested changes

- Adds SIGNAL_HANDLER to signal handler
- Changes name of turf variable for readability
- Reenables lighting object override of parent

* Tweaked insulated spray-on gloves

Co-authored-by: coiax <yellowbounder@gmail.com>
2021-01-19 10:36:10 +00:00
SkyratBot
7882d911c0 [MIRROR] You can look into the gateway now (#2516)
* You can look into the gateway now (#55624)

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

* You can look into the gateway now

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
2021-01-06 01:25:36 +00:00
SkyratBot
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
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
cc028592bb [MIRROR] Fixes dynamic lighting not impacting is_softly_lit (#1426)
* Fixes dynamic lighting not impacting is_softly_lit  (#54518)

This fixes an issue with visible messages being hidden, despite being on lit looking turfs

* Fixes dynamic lighting not impacting is_softly_lit

Co-authored-by: Azarak <azarak10@gmail.com>
2020-10-22 23:02:07 +01:00
SkyratBot
b8cea2209f [MIRROR] Improves VV-related code (#1374)
* Improves VV-related code (#54416)

VV-related code cleanup
    Added code to trigger the proper setters for several variables that have them.
    Added some admin logging for var-edit teleports.
    Cleaned-up some code all around.

* Improves VV-related code

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-10-19 17:22:19 +01:00
SkyratBot
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
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
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
ee324ab3c2 [MIRROR] Cleanup up all instances of using var/ definitions in proc parameters. (#240)
* Cleanup up all instances of using var/ definitions in proc parameters. (#52728)

* var/list cleanup

* The rest of the owl

* plushvar bad

* Can't follow my own advice.

* Cleanup up all instances of using var/ definitions in proc parameters.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-08-07 18:26:21 +01: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
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
L
52bf8a66f9 smooth 2020-07-16 11:14:05 -03:00
ShizCalev
254536072e [s] sanity checks vv_edit_var() values (#52255)
cl ShizCalev
fix: Added some sanity checking for varedit values.
/cl
* sanity checks vv_edit_var() values

* this should be an or

* one more fix
2020-07-16 10:20:41 +12:00
ShizCalev
d1b15ae80d Merge pull request #51943 from AnturK/hellodarknessmyoldfriend
Fixes lighting updates from opaque objects changing state (ie doors)
2020-07-01 12:19:25 -04:00
AnturK
304bd061b8 Fixes lighting updates from opaque objects changing state (ie doors) 2020-06-30 22:31:42 +02:00
Jordan Brown
2685f263fe Removes unused lighting var 2020-06-30 03:48:01 -04:00
Bobbahbrown
ead5e1d9e1 VROOOOM (#51546) 2020-06-09 20:45:16 -04:00
vuonojenmustaturska
6455fb3be5 Speeds up /datum/light_source/proc/update_corners() by 16% or so (#51004)
About The Pull Request

Just moving /turf/proc/get_corners() into its only caller, slightly shuffled.

Also #defining /proc/GetRedPart() etc, which should flatten down to a copytext+text2num operation with #51005. Also defining parse_light_color() since it has two callers and does something trivial (splits #ff0000 into three luminance vars).

cl Naksu
code: Lighting corner updates are ever so slightly faster.
/cl
2020-05-11 11:33:28 +12:00
spookydonut
8dbf1cf4ec Changes to comply with GitHub TOS
Further changes to comply with the ToS

More ToS cleanup

Bye bye George Melons

Better to be safe than sorry
2020-04-14 21:24:50 +00:00
Rob Bailey
1aeb72b2a9 Better glowing lights (#49454)
* better glowy lights

* phase 2

* some doc comments

* working emissive blocking

* flag so these rotate correctly

* full brightness screens

* doc comments and rename

* better doc comments

* stub overrides

* better autodoc format

* Update code/game/atoms_movable.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* Update code/modules/lighting/emissive_blocker.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* render target defines for all planes

* update proc for emissive blocker

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
2020-03-03 11:50:19 -05:00