Commit Graph

1390 Commits

Author SHA1 Message Date
SkyratBot
9098086959 [MIRROR] Adds a preference to make flashes darken your screen (#7308)
* Adds a preference to make flashes darken your screen (#60434)

* Adds a preference to make flashes darken your screen

* aaa

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-08-03 21:03:12 +01:00
SkyratBot
481398f5f3 [MIRROR] Fixes martial grab combos working while inside objects. (#7260)
* Fixes martial grab combos working while inside objects. (#60531)

* Fixes martial grab combos working while inside objects.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-08-01 11:39:03 +01:00
SkyratBot
c1163dff19 [MIRROR] EVEN MORE HARDDEL FIXES (#7017)
* EVEN MORE HARDDEL FIXES (#60228)

Fixes a ton of harddels, sourced from #59996
I think this brings us down to like, ~100 per round from ~200, with only like 20 of those being proper hell failures. I've seen harddel profiles below 1 second of total cost. Feeling good.

See you on the other side

Makes the cryopod control computer into a weakref, never trust bee code
Converts brig door timer internal lists to weakrefs
Fixes a harddel caused by qdeling a motion sensitive camera after it had left its source area, jesus christ why didn't we do this already holy shit
Converts the radio implant ref held by the antenna mutation to weakrefs because it isn't reliably cleaned up, makes the radio implant actually qdel its fucking radio
Removes the target var from the throwing datum, it does literally nothing and just exists to cause harddels, mostly for the singularity
 Fixes a cable harddel sourced from things that try to enter blueprints after smoothing, but before roundstart. IE, shuttles. Removes shuttles from the blueprints
Fixes emmisive blockers being added post qdel
Removes some manual ghosting from cryopods, I initially did this for harddel reasons, but I figured out a better fix for that. I'm now doing it because it's got this really strange logic for like "re-entering the game" that doesn't actually link to what the ghostize proc does. We should remove this at some point
Fixes robot hud objects harddeling due to hanging refs
Fixes buildmode related hanging refs, I'm coming for you admin team
Fixes a few instances of trying to add the forensics component post qdel, hhhhhhhhhhh
Fixes some split personality harddels/weirdness
Replaces a use of disconnect_duct with an init qdel hint, I suspect there's more issues with duct harddels, I've seen some odd logs about ahhh the area_contents list, but we can worry about that later
Makes teleporter targets into weakrefs, properly types them as /atom
Makes frequency devices into weakrefs
Makes cameras remove themselves from camera nets on Destroy
Makes tgui ui datums implement destroy, this means if I ever see one hang a ref to user or whatever, I know there's an error with calling close() properly. I've seen this harddel once, but not after this change so I assume there was some error with close(). IDK maybe this is a papering over? Would have to ask @ stylemistake
I've seen logs of beartraps being in world post del, putting a return there just in case. The same is true of nerf darts, but I haven't really looked into that yet
Makes a shoe's ref to untying alerts a weakref, yes this is needed.
Moves clearing client_in_contents to the Login of the new mob. This prevents doing things like ghosting someone before a mob qdel causing harddels
Fixes a harddel set sourced from adding a status effect to a qdeleted thing. Is this an error? I'm honestly not sure.
Converts bsa code to weakrefs
Converts the partner var of heat exchangers to weakrefs
Converts camera assemblies to weakrefs
Fixes some dumb behavior with ammo casings and assuming you'll be on a turf post Destroy parent call
Fixes? merger related harddels, you were never cleared from your own members list, so origin objects would end up making a new list, creating harddels. Potential input from @ ninjanomnom about the logic
Chasms store a static list of "falling atoms", which only exists for chasms that go somewhere else. This list wasn't being cleared of qdeleted objects, which is what happens when you fall in most chasms. Fixes this, and converts the list to weakrefs.
Fixes some runtimes in both sheet code, and the weather listener element. This is here because runtime spam made testing more of a pain, didn't think it needed its own pr
Fixes colorful reagent harddels sourced from reagents that were qdel'd before roundstart. I'm only like 50% sure this actually got it, but the issue may have been solved by #60174, so eh
Turns the nuke op antag datum's ref to the war button into a weakref
Fixes some holopad code that was not nulling refs all the time
Converts camera bugs to weakrefs, this was the result of the bug being "reworked" like 6 years back without taking the existing ref clearing into account. Whole item needs a redo, but this'll do for now.
Ensures that the both pulling and pullee refs are cleared on Destroy
The crew monitor held all users in a non clearing list, makes that list a weakref because I hate everything

Oh and I removed all sources of gas_mixture qdeletion, I'm kinda unsure on this since it's not technically supported, but any harddels from it might? indicate something going wrong with like, gas passing logic. I'd like @ MrStonedOne's thoughts, since I trust him to call me an idiot if I'm wrong.

<!-- Please add a short description of why you think these changes would benefit the game. If you can't justify it in words, it might not be worth adding. -->

## Why it's not good for the game

I crashed sybil like 10 times to get this data, I'm gonna put it to good use. Don't think you're safe sybilites, I'm coming for you.

* EVEN MORE HARDDEL FIXES

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-07-20 12:59:41 +02:00
SkyratBot
f593849ce5 [MIRROR] makes get_hearers_in_view() faster AGAIN, fixes issue with previous optimization (#6979)
* makes get_hearers_in_view() faster AGAIN, fixes issue with previous optimization

* Mirror!

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-07-19 20:15:59 +12:00
SkyratBot
99333fdfcc [MIRROR] Replace a number of New() overrides with Initialize() (#6945)
* Replace a number of New() overrides with Initialize() (#60223)

* Replace a number of New() overrides with Initialize()

Co-authored-by: coiax <yellowbounder@gmail.com>
2021-07-19 16:55:01 +12:00
SkyratBot
c9eefd511b [MIRROR] Fix Tram ghost magnet and other cases of observer forceMove (#6804)
* Fix Tram ghost magnet and other cases of observer forceMove (#60026)

* Fix Tram ghost magnet and other cases of observer forceMove

Co-authored-by: Wayland-Smithy <64715958+Wayland-Smithy@users.noreply.github.com>
2021-07-10 14:16:55 +01:00
SkyratBot
bea8d72e71 [MIRROR] Adds blob as a midround antag like midround traitors, where it does not require a ghost role (#6661)
* Adds blob as a midround antag like midround traitors, where it does not require a ghost role

* Update dynamic.json

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-03 01:17:50 +01:00
SkyratBot
eb09b20e47 [MIRROR] Adds a kneecapping element and adds that very element to baseball bats. (#6541)
* Adds a kneecapping element and adds that very element to baseball bats.

* Update signals.dm

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-27 16:34:19 +01:00
SkyratBot
665fe76566 [MIRROR] Modifies right click logic so that it is not the same priority as modifier keys. (#6498)
* Modifies right click logic so that it is not the same priority as modifier keys. (#59656)

Strips out the existing right click code - Due to the myriad of ways right clicking has been implemented, dedicated signals and procs for right clicking without modifiers are fundamentally incompatible with our system of primary and secondary attacks.

Adds additional signals to attacking code. These signals allow atoms to cancel the attack chain early on secondary attacks, or override the standard procs and not send signals to prevent any undesired behaviour from signal handlers.

Items that used RightClick procs have been converted to attack_hand_secondary.

The slaughter demon, having its own set of snowflake code as poor OOP principles have been applied in UnarmedAttack() procs with lacking calls to parent procs and arbitrary redefinition of behaviour, checks for a right click in its own UnarmedAttack() and performs a bodyslam off that.

Storage components now hijack the secondary attackby stage via signals to handle their opening and closing shortcuts on right click. When you right click a storage component equipped item with an object in your active hand, the object has an opportunity to perform its logic in pre secondary attack code and cancel the attack chain. If it does not cancel the attack chain in pre-attack, then the storage component takes over for attackby and, if possible, opens the relevant inventory and ends the attack chain.

The forensic scanner is a proof-of-concept of this working in action. With its scan logic moved from afterattack code to pre attack code for right clicking, right clicking with the scanner will now perform a scan where previously one was impossible. Left clicking still does what it always does - Scans at the very end of the attack chain.

The logic still isn't perfect - For example, you still can't attack containers in melee even in combat mode (you'll either open them or put your weapon into them regardless of which option you choose) - But this is a better setup overall which allows for items to at least override this behaviour in pre-attack if needed.

* Modifies right click logic so that it is not the same priority as modifier keys.

* a

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-27 16:10:15 +01:00
SkyratBot
1211d28c90 [MIRROR] Fixes blockers blocking themselves + cleanup (#6528)
* Fixes blockers blocking themselves + cleanup (#59808)

* Fixes blockers blocking themselves + cleanup

Co-authored-by: Rohesie <rohesie@gmail.com>
2021-06-25 22:34:02 +01:00
SkyratBot
a14b1dadb5 [MIRROR] CanPass refactor (#6527)
* CanPass refactor (#59804)

* CanPass refactor

Co-authored-by: Rohesie <rohesie@gmail.com>
2021-06-25 22:33:51 +01:00
SkyratBot
70c12c2598 [MIRROR] Removes animate that almost never did anything from parallax (#6458)
* Removes animate that almost never did anything from parallax (#59759)

This animate wouldn't run if the jump was too big, meaning we were only ever animating 1 or 2 pixels of parallax, and i do not believe the cost on the server nor the client is warranted for how unnoticeable this animation is.

* Removes animate that almost never did anything from parallax

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2021-06-23 03:27:12 +01:00
Arkatos1
7bc7264f2b Swarmer HUD cleanup and improvements (#6387) 2021-06-19 21:49:05 +01:00
SkyratBot
7d1d0e1fad [MIRROR] Refactors most spans into span procs (#6315)
* Refactors most spans into span procs

* AA

* a

* AAAAAAAAAAAAAAAAAAAAAA

* Update species.dm

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-16 00:24:49 +01: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
af8c4df393 [MIRROR] Radial info box layer fix (#6296)
* Radial info box layer fix (#59628)

This PR fixes radial info boxes, like blob strains or spider clusters have. Since some layer changes sometime ago, these little boxes layer behind the rest of radial button - so they are quite hard to spot and click. Now they will once again properly layer over the radial button, like they used to and how are they supposed to.

* Radial info box layer fix

Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
2021-06-14 18:40:32 +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
Funce
6a3a5d170f Revert "Revert Clown Spection and Two Person Mecha (temporarily) (#6182)" (#6183)
This reverts commit 1fd2c0f455.

Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-10 08:21:52 +12:00
SkyratBot
7f84ff9a66 Fixes the game triggering a do_after when you mouse over an inventory slot with a non-instantly equippable item. (#59548) (#6198)
Mousing over an inventory slot with an item in-hand can trigger a call to equip_delay_self_check.

If the item has an equip_delay_self and bypass_equip_delay_self is FALSE, then it acts like it's going to equip the item and starts a do_after.

I think the only two items that do this are /obj/item/clothing/gloves/cargo_gauntlet and /obj/item/clothing/suit/straight_jacket

I make sure the call to can_equip back in the /atom/movable/screen/inventory/add_overlays section of the call stack calls with bypass_equip_delay_self = TRUE to prevent this.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2021-06-09 10:44:39 +12:00
SkyratBot
e6304466b2 Logs throwing with telekinesis (#59533) (#6190)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>

Co-authored-by: Fhaxaris <Chrisamcculler@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
2021-06-09 09:55:34 +12:00
SkyratBot
f1c714646d Right-clicking on reagent containers picks previous reagent transfer amount (#59508) (#6187)
Right-clicking a reagent container in your active hand will pick the previous transfer amount instead of the next one
Adds an attack_self_secondary proc which allows for different interactions when right-clicking things in your active hand

Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
2021-06-09 09:24:26 +12:00
Funce
1fd2c0f455 Revert Clown Spection and Two Person Mecha (temporarily) (#6182)
* Revert "Adds two clown-spection scanners that print clowncrypted reports  (#59306) (#6176)"

This reverts commit 91e1aa4fe4.

* Revert "Two Person Mecha for Robotics: The Only Real Solution To An Imminent Geometer Summoning 💪  (#59249) (#6177)"

This reverts commit cf2c1ca19d.

Co-authored-by: SkyratBot <59378654+SkyratBot@users.noreply.github.com>
2021-06-08 23:05:12 +12:00
SkyratBot
cf2c1ca19d Two Person Mecha for Robotics: The Only Real Solution To An Imminent Geometer Summoning 💪 (#59249) (#6177)
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2021-06-08 15:39:23 +12:00
SkyratBot
6cab6dfc16 [MIRROR] Fix runtimes when offering an item multiple times (#6052)
* override existing signals when offering item multiple times (#59385)

* Fix runtimes when offering an item multiple times

Co-authored-by: Gamer025 <33846895+Gamer025@users.noreply.github.com>
2021-06-01 14:43:35 +12:00
Gandalf
56a7766d1b Revert "Fixes master 514 (#5927)" (#5929)
This reverts commit aab764575a.
2021-05-25 03:24:45 +01:00
Gandalf
aab764575a Fixes master 514 (#5927)
* a

* l

* Update sheet_types.dm
2021-05-25 03:06:58 +01:00
Azarak
20db06c6d0 Liquids system (#4584)
* a

* a

* uncommentize

* aa

* Cache stuff

* Attrition

* blcok heights

* Abstractify reagents

* Lots of stuff

* stuff

* stuffs n drains

* Update drains.dm

* pumps and drains

* Update liquids.dm

* Ethanol burns, but only sometimes..

* color debug and big fuel tank boom fix

* watermeta

* Atmos moment

* Update living.dm

* burn

* anti-aliased icons, drain fix, liquids not on space

* Thermal energy + magboots fix

* Update liquids.dm

* Plumbing devices for liquids & engineering plumbing rcd

* From the creators of watermeta: WaterKilo

* Update WaterKiloStation.dmm

* Update WaterKiloStation.dmm

* Update _basemap.dm

* ocean biome generator

* Convert immutables when constructed over

* Forgot water pumps for station

* Update liquids.dm

* Ocean ruins

* cool looking blue ocean

* a

* a

* a

* weh

* a

* aa

* Merge pull request #1 from Azarak/errrrrror

Updates

* finishing touches

* aaa

* aaaa

* aaaa

* patch

* map fixes

* not so high pressurized now

* squeezing into bucket now removes 75% reagents, buckets get 100 volume

* empty ocean maps not used anymore

* reforged

* Update WaterKiloStation.dmm

* Update ocean_listening_outpost.dmm

* Update WaterKiloStation.dmm

* a

* ol

* 0

* Update liquids.dm

* Update _open.dm

* 0

Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-05-24 02:43:57 +01:00
SkyratBot
b59605f3df [MIRROR] Moves secure closet locking to Right click (#5732)
* Moves secure closet locking to Right click (#58774)

Co-authored-by: Enricode <SgtHunk@ users.noreply.github.com>
Co-authored-by: tjatpbnj <tjmayfield05@ gmail.com>

* Moves secure closet locking to Right click

Co-authored-by: SgtHunk <68669754+SgtHunk@users.noreply.github.com>
Co-authored-by: Enricode <SgtHunk@ users.noreply.github.com>
Co-authored-by: tjatpbnj <tjmayfield05@ gmail.com>
2021-05-16 17:41:28 +12:00
SkyratBot
dbfeabd7a7 [MIRROR] Adds deflection messages for no damage attacks against objects (#5694)
* Adds deflection messages for no damage attacks against objects (#58873)

* Adds deflection messages for no damage attacks

* Changes the addition to ", which doesn't leave a mark" instead

* Adds deflection messages for no damage attacks against objects

Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
2021-05-14 22:14:12 +01:00
SkyratBot
ed58570114 [MIRROR] Replace Maint. Drone machinery whitelist with last touched check & other tweaks (#5564)
* Replace Maint. Drone machinery whitelist with last touched check & other tweaks

* AAAAAAAA

* Update wires.dm

* AQ

Co-authored-by: Jonathan Rubenstein <jrubcop@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-05-10 15:59:15 +01:00
SkyratBot
42bd885efd [MIRROR] Fixes a fuck ton more harddels (#5476)
* Fixes a fuck ton more harddels (#58779)

Redoes how geese handle eating shit, it was fucking stupid and caused harddels, and while this method is technically slower in the best case, it's a fucking goose
Fixes action related harddels, I hate how they work but at least this way they won't hold refs.
Fixes the hierophont causing its beacon to harddel
Removes the M variable from megafauna actions, it was used like a typed owner and caused harddels, so I burned it
Fixes target and targets_from harddels, replaces all setters of target with LoseTarget and GiveTarget, which should help maintain behavior. I'm not sure if this breaks anything, but if it does we should fix the assumptions that code makes instead of reverting this change
Fixes more area_senstive_contents related harddels, we need to allow the mob to move before clearing out its list.
Fixes marked object harddels (I'm coming for you admin team)
Fixes a language based human harddel
Fixes managed overlay related harddels (This was just emissive blockers, but I think this is a good safety net to have. If we clear the overlay list we should clear this one as well)
Fixes bot core harddels, I hate the fact that this exists but it has no reason to know who its owner is
Adds a walk(src, 0) to simple_animal destroy, it's the best bang for the buck in terms of stopping spurious harddels. Walk related harddels aren't that expensive in the first place, since byond does the same thing I'm doing here, but this makes finding mob harddels easier, so let's go with it
I fixed another source of part harddels, I hate fullupgrade so much
Fixes all the sound loop harddels

* Fixes a fuck ton more harddels

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-05-05 17:46:22 +01:00
SkyratBot
02f6be35e1 [MIRROR] Allows canister repairs and adds right click tool acts (#5411)
* Allows canister repairs and adds right click tool acts (#58830)

* Allows canister repairs

* Name consistency and some output cleanup

* Allows canister repairs and adds right click tool acts

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
2021-05-02 14:46:15 +01:00
SpaceVampire
f0d87c9430 RIP-Funnybat (#5344)
Co-authored-by: SpaceVampire <>
2021-04-30 14:30:12 +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
SkyratBot
b58b170d8c [MIRROR] Makes Ctrl+shift+click pass user (#4996)
* Makes Ctrl+shift+click pass user  (#58480)

* Makes Ctrl+shift+click pass user

Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2021-04-18 15:11:19 +02:00
Gandalf
6b8a912840 Item use power and cell component refactor (#4900)
* aaaaaaa

* Update cell_component.dm

* Update cell_component.dm

* Update cell_component.dm

* aaaaa

* aaaaaaaaaaaaaaaaaaaaa

* Update flashlight.dm

* Update flashlight.dm

* aaaaaaaaaaaaaaaaaaaaaaaaaaaa

* AAAAAAAAAA

* Update _wires.dm

* aaaa

* AAAAAAAAAAAAAAAAA

* aaa

* Update cell_component.dm

* aaaa

* AAAAAAAAAAAAAAA

* AAAAAAAAAA

* AAAAAAAA

* Update youtool.dm

* aaaaaaaa

* aaaa

* aaaa

* asaa

* HOLY FUCK YOU GUYS ARE ALL SO LAZY JESUS FUCKING CHRIST

* aaaaa

* Update cell_component.dm

* Update cell_component.dm

* Update cell_component.dm

* Update cell_component.dm

* Update cell_component.dm

* Update traitordevices.dm

* aaa

* Update traitordevices.dm

* Update traitordevices.dm

* aaa

* Update cell_component.dm

* POWER CELLS VERSION 2

* OH YEAH BABY

* A

* Update cell_component.dm

* Update flashlight.dm

* AAAAAA

* Update flashlight.dm

* Update atoms.dm

* aa

* AAAAAAAAAAAAA

* aa

* Update multi_cell_charger.dm

* Update flashlight.dm

* Update flashlight.dm

* Update multi_cell_charger.dm

* aaa

* Update _wires.dm

* Update electric_welder.dm

* aaaaa

* Update tools.dmi
2021-04-18 15:09:13 +02:00
SkyratBot
fa8e5628e6 [MIRROR] Move eyestabbing to an element, rather than as part of core combat code (#4964)
* Move eyestabbing to an element, rather than as part of core combat code

* Update item_attack.dm

* Update item_attack.dm

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-04-17 01:57:45 +01:00
SkyratBot
a08d398675 [MIRROR] Renews Maintenance Drones (#4868)
* Renews Maintenance Drones

* And these have conflicts too, but you can't see them

* Skyrat Map Updates (Adding Supermatter Room Area)

Co-authored-by: Jonathan Rubenstein <jrubcop@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-04-16 13:04:21 +02:00
SkyratBot
2f41c708d2 [MIRROR] Clicking floor tiles closes airlocks (#4940)
* Clicking floor tiles closes airlocks (#58124)

* Clicking floor tiles closes airlocks

Co-authored-by: norill <norill@wp.pl>
2021-04-16 00:58:00 +01:00
SkyratBot
819d98a4a7 [MIRROR] minor layer fixes (#4869)
* minor layer fixes (#58350)

cl
fix: radials layer correctly
/cl

* minor layer fixes

Co-authored-by: Rob Bailey <actioninja@gmail.com>
2021-04-13 03:03:09 +01:00
SkyratBot
f5fd7dacc3 [MIRROR] Fixes plane master filters not working properly (#4852)
* Fixes plane master filters not working properly due to a null in the controlled planes list, turns out OPENSPACE_PLANE isn't an actual plane master. Let's add a stack trace for this case just in, well case yeah? (#58291)

* Fixes plane master filters not working properly

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-04-12 22:09:32 +01:00
Gandalf
0b957f39a9 Lobby UI overhaul (#4738)
* aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

* aaaaa

* Update _basemap.dm

* Update new_player.dm

* Update CaveGenerator.dm

* aaaaaaaaaaaaaaaaaaaaa

* a

* aaa

* aaaa

* aaaa

* Update login.dm

* aaaaaaaaaa

* aaaaaa

* Update lobby.dm
2021-04-09 21:18:40 +01:00
Gandalf
f8c8d0bc26 Gun huds V2 [NOW WITH COMPONENTS!] (#4333)
* start

* Update tgstation.dme

* Update human.dm

* aaa

* aaaaaa

* Advanced shit here.

* NEXT GEN FPS

* Update gun_hud.dm

* Update gun_safety.dm

* Update ballistic.dm

* Delete gun_safety.dm

* Create gun_safety.dm

* eeee

* WAKE THE FUCK UP SAMURAI

* aaaa

* aaaa

* v2.3

* aa

* Update gun_hud_component.dm

* aaaaaaaa

* aaaaaaaaaa

* Update gun_hud_component.dm

* Update weldingtool.dm

* Update gun_hud_component.dm

* aaaaa

* aaa

* JAMMED"

* Update gun_hud_component.dm

* Update gun_hud_component.dm

* Update gun_hud_component.dm

* Fullauto stack tracing added

* aaaaaa

* TICK TEST

* Update fullauto.dm

* Update fullauto.dm

* REVERT THIS MAYBE

* Update fullauto.dm

* Update fullauto.dm

* Update fullauto.dm

* Update fullauto.dm

* WORK YOU BITCH

* Update fullauto.dm

* a

* Update gun_hud_upgrades.dm

* aaaa

* aaaaaaaaa

* aaaaa

* Update gun_hud_component.dm

* Update gun_hud_component.dm
2021-04-03 18:20:25 +01:00
Tom
897c02e9f3 [MODULAR] Lets cyborgs move dragged objects around (#4561)
* cyborg drag

* tfw forget to commit

* move to modular

* fuck off linter

* imagine modularising properly
2021-04-03 16:54:30 +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
40e8eb4531 [MIRROR] Cyborgs now use the same icon states for charge screen alerts as ethereals. (#4458)
* Cyborgs now use the same icon states for charge screen alerts as ethereals. (#57966)

* Cyborgs now use the same icon states for charge screen alerts as ethereals.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-03-27 19:17:52 +00:00
SkyratBot
daec7111cd [MIRROR] You can now put food on plates, and plate no longer materialize out of nowhere as you cook (#4418)
* You can now put food on plates, and plate no longer materialize out of nowhere as you cook

* Update dish_drive.dm

* aaaaaaaaaaaaaaa

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-03-26 15:40:39 +00:00
SkyratBot
02a5d7eede [MIRROR] Blobbernaut HUD improvements (#4428)
* Blobbernaut HUD improvements (#57922)

* Blobbernaut HUD improvements

Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
2021-03-26 14:20:37 +00:00