Commit Graph

1503 Commits

Author SHA1 Message Date
SkyratBot
edfaf90ebf [MIRROR] Ventcrawling improvements, performance and visual [MDB IGNORE] (#13461)
* Ventcrawling improvements, performance and visual (#66709)

* Initial pipecrawl work

Ok so pipecrawl images were updating EVERY TIME YOU MOVED
This was not good mojo

What I've done here is twofold
First, I ensured pipecrawl updates only when the net changes. This
breaks the current implementation, but I intend on fixing that

Second, I moved our method of getting pipes to the spatial grid
This isn't that great at the moment, but I intend on adding support for
tracking entered/exited cells, which should make this much better

* Much faster pipecrawling processing, niceties

Adds a concept called a cell tracker datum.
It manages a list of cells a passed in bound is "inside", and when
queried will return a list of new cells, and old cells.

Because we only really care about maintaining an absolute window of
"CELLS WE ARE IN" and less about always removing cells we're not in, we
can manage a second window to prevent moving up and down on a cell line
causing a ton of updates.

Uses this concept to optimize pipecrawling significantly, from 3ms per
call before to roughly 0.03ms per call.

Also moves pipecrawl images to their own plane, so they don't overlap ui
elements

* Pipecrawling effects niceties, direction help

You can now move in more then one direction when pipecrawling
This works as expected, if you hold up and left, move up for a while,
and come to a fork, you'll go left

Added some effects to pipecrawling. It'll darken the lighting plane
slightly, so you get a nice effect instead of just fullbright.
Also added a color matrix and drop shadow to the pipe images, this way
they stand out a bit more.

You now glide between pipe moves, rather then moving instantly. This
doesn't effect your actual move rate, but it no longer feels jittery
with say, 60fps

* Bounds

* Fixes runtimes, cache something somethign sonic speed

* Reworks how being interested in the spatial grid is tracked

Rather then checking multiple variables on the atom to consider, we
instead check for the existence of a string key.

This key is used by a list on the spatial grid subsystem to retrive a
cached list of all of the atoms "types"

Doing this requires doing a bit of extra work in
important_recursive_contents code, but it allows us to separate being a
part of the spatial grid from using important recursive contents, which
is very nice.

As a consequence, I've had to unroll some lazylist macros in important
recursive contents logic. It's not ""that"" bad but it's not great
either.

Oh and this adds a slight cost to enter/exit cell, but it's minimal.
Basically, rather then checking for different features of a grid member,
we just iterate the list their string key points to. Very handy

So there's an added cost of a list copy and all, but we save the
headache of more types technically increasing the cost of
addition/removal.

I also made adding/removing from the grid into one "pulbic" proc rather then two
different ones for each operation, because it was starting to get silly

* waaa waa it doesn't compile

* chord -> coord

* Ensures important_recursive_contents is actually emptied on removal

* Removes soul

* Kyler's review

Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>

* Kyler's review 2

Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>

* Kyler's review 3

Moves some procs around, improves some documentation, catches a few
small issues

Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>

* Ventcrawling improvements, performance and visual

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>
2022-05-09 15:06:38 +01:00
Useroth
4d07f3a620 Missed mirror (#13460)
* Converts drunkness and dizziness to status effects. Refactors status effect examine text (and, subsequently, stabilized black extracts).  (#66340)

* Refactors dizziness into a status effect

* Refactors the dizziness setter to use the new kind

* Drunkness.
- Should drunk continue to work off of a magic value or be swapped to duration? I've not yet decided: For understandability it's preferabale for "drunk" to use a timer (they are drunk for 3 more minutes), but both adding drunk and decreasing drunk currently use weird calculations which would be difficult to carry over.
- Ballmer is a liver trait

* Dizzy was a setter, not an adjuster

* Does all the drunk effects over
- refactors examine text fully
- refactors stabilized blacks because of this

* Removed

* repaths, fixes some issues

* Minor fixes

* Some erroneous changes

* Fixes some dizziness errors

* Consistency thing

* Warning

* Undoes this change, I dont like its implementation

* max_duration

* Max amount

* Should be a negative

* max duration

* drunk doesn't tick on death

* Rework dizziness strength

* Erroneous dizzy change

* Fixes return type

* this should do it?

* well, one more

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-05-09 15:05:42 +01:00
SkyratBot
9592e8096c [MIRROR] Changes stripped_input to behave like tgui_text [MDB IGNORE] (#13443)
* Changes stripped_input to behave like tgui_text (#66757)

After a little bit of EVEN MORE misunderstanding, it's apparent that tgui text handles null differently, which meant fixing last whisper for tgui inputs users (chads) would mean that it would be broken for byond input users (lizards).

All jokes aside, this changes it so that text inputs will return null when you hit cancel or X for BOTH tgui and stripped_input.

* Changes stripped_input to behave like tgui_text

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
2022-05-08 12:06:30 -07:00
SkyratBot
694a0740dc [MIRROR] Parallax but better: Smooth movement cleanup [MDB IGNORE] (#13414)
* Parallax but better: Smooth movement cleanup (#66567)

* Alright, so I'm optimizing parallax code so I can justify making it do a
bit more work

To that end, lets make the checks it does each process event based.
There's two. One is for a difference in view, which is an easy fix since
I added a view setter like a year back now.

The second is something planets do when you change your z level.
This gets more complicated, because we're "owned" by a client.
So the only real pattern we can use to hook into the client's mob's
movement is something like connect_loc_behalf.

So, I've made connect_mob_behalf. Fuck you.

This saves a proc call and some redundant logic

* Fixes random parallax stuttering

Ok so this is kinda a weird one but hear me out.

Parallax has this concept of "direction" that some areas use, mostly
the shuttle transit ones. Set when you move into a new area.
So of course it has a setter. If you pass it a direction that it doesn't
already have, it'll start up the movement animation, and disable normal
parallax for a bit to give it some time to get going.

This var is typically set to 0.

The problem is we were setting /area/space's direction to null in
shuttle movement code, because of a forgotten proc arg.

Null is of course different then 0, so this would trigger a halt in
parallax processing.

This causes a lot of strange stutters in parallax, mostly when you're
moving between nearspace and space. It looks really bad, and I'm a bit
suprised none noticed.

I've fixed it, and added a default arg to the setter to prevent this
class of issue in future. Things look a good bit nicer this way

* Adds animation back to parallax

Ok so like, I know this was removed and "none could tell" and whatever,
and in fairness this animation method is a bit crummy.

What we really want to do is eliminate "halts" and "jumps" in the
parallax moveemnt. So it should be smooth.

As it is on live now, this just isn't what happens, you get jumping
between offsets. Looks frankly, horrible. Especially on the station.

Just what I've done won't be enough however, because what we need to do
is match our parallax scroll speed with our current glide speed. I need
to figure out how to do this well, and I have a feeling it will involve
some system of managing glide sources.

Anyway for now the animation looks really nice for ghosts with default
(high) settings, since they share the same delay.

I've done some refactoring to how old animation code worked pre (4b04f9012d). Two major
changes tho.

First, instead of doing all the animate checks each time we loop over a
layer, we only do the layer dependant ones. This saves a good bit of
time.

Second, we animate movement on absolute layers too. They're staying in
the same position, but they still move on the screen, so we do the same
gental leaning. This has a very nice visual effect.

Oh and I cleaned up some of the code slightly.

* Parallax but better: Smooth movement cleanup

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-05-07 23:33:34 +01:00
SkyratBot
bca6a53e8e adds new z-level trait to disable parallax (#66637) (#13353)
* first push woohoo

* more stuff

* Update code/datums/components/z_parallax.dm

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

* mothblockification

* fuck

* fuck 2

* uh

* uh yeah style stuff ig

* more changes

* last changes

* fuck

* fuck 2

* i hate potatopotato

* i hate potato * 2

* a

* god

* woops

* Update code/modules/mapping/space_management/traits.dm

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>

* Update code/modules/mapping/space_management/traits.dm

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>

* Update code/modules/mapping/space_management/traits.dm

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>

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

Co-authored-by: magatsuchi <88991542+magatsuchi@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-07 22:14:14 +01:00
SkyratBot
3d7db9e28f okay (#66653) (#13355)
I'm not sure who tested #65379 (a58c8b7fa4) or if this was only a downstream issue,
But it is not true that TGUI inputs can't return null. It returns null if you cancel or hit X.
By changing the isnull check to only look for a falsy value, you can no longer enter a blank text to succumb without last words.
Meaning you MUST enter something to succumb.
This is unintended.

Fixes a bug again. Please allow blank text last words, some people would rather the silent treatment.

I believe this was the result of merge skew, the two prs that proported to fix this issue went through at close to the same time, was likely just a mixup -Lemon

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
2022-05-06 12:48:27 +01:00
SkyratBot
4c46268492 Middle Mouse Button now toggles equipment safety on mechs. (#66185) (#13292)
- Mechs now have a weapons_safety toggle. If set to true, clicking does not use equipment. This is mostly intended to allow users to keep from accidentally firing. Weapon safety defaults to off, but will keep the same state it was in between pilot exit/entry events.
- All mechs now use the green reticle mouse icon. If weapons_safety is enabled, the mouse is reverted to normal. The reticle (if shown) still turns red during an EMP-related weapons fault.
- AIs can use mech weapons if the safety is off, and use AI clicks if the safety is on.

Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
2022-05-03 16:05:31 +01:00
Gandalf
5f1815b0c0 https://github.com/tgstation/tgstation/pull/65971 2022-05-02 14:37:59 +01:00
SkyratBot
c9dd719d37 [MIRROR] Converts drugginess to status effect, striking another var processed on life() [MDB IGNORE] (#12987)
* Converts drugginess to status effect, striking another var processed on life() (#66331)

* Changes drugginess to an effect

* Missed some changes

* Removed

* Converts drugginess to status effect, striking another var processed on life()

* wew

* 0

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-04-22 15:52:23 +01:00
SkyratBot
6e8299cdf3 [MIRROR] Auto-docs + code improvements + splits up status_effect.dm [MDB IGNORE] (#12983)
* Auto-docs + code improvements + splits up status_effect.dm (#66362)

* Code improvements for status effects in general

* Does this for now

* Throws in a qdeleted check

* A return

* comment tweak

* Missed some ref()s

* Wrong var

* Comment clarifications

* Some more comment clarifications

* Auto-docs + code improvements + splits up status_effect.dm

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-04-22 00:03:52 +01:00
magatsuchi
dc8adc2924 Modular Tablets: Converting PDAs to the NtOS System (SKYRAT VERSION) (#12920)
* hot-patch 1

* hot patch 2

* hot patch 3

* slight issue
2022-04-20 16:55:49 +01:00
SkyratBot
2c1b8d3703 [MIRROR] Ling huds persist through bodies + non carbons can sting [MDB IGNORE] (#12760)
* Ling huds persist through bodies + non carbons can sting

* Update hud.dm

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2022-04-18 16:36:44 -07:00
SkyratBot
8ab93cece2 [MIRROR] Made screentips appear on a higher layer than action buttons. [MDB IGNORE] (#12747)
* Made screentips appear on a higher layer than action buttons.

* Update layers.dm

Co-authored-by: Alex Pynnonen <alexpynnonen01@gmail.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2022-04-16 08:44:46 -07:00
Gandalf
5918489c0a [Salt PR] Stops station traits running on LOWMEMORYMODE as well as allowing admins to bypass flavour text (#12615)
* fuck you

* Update station.dm
2022-04-08 23:17:21 +00:00
Zonespace
1118b4175a Adds a bunch of PRs that the Mirror bot missed (#12535)
* aaAAA

* fix-maps
2022-04-06 17:50:47 +01:00
Gandalf
0df4e479d2 renews a missed PR 2022-04-01 04:52:09 +01:00
SkyratBot
0efc694378 [MIRROR] Ingame Atmos Reaction Guide [MDB IGNORE] (#12428)
* Ingame Atmos Reaction Guide

* Update health_analyzer.dm

Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-04-01 01:48:28 +01:00
SkyratBot
cec72761ac [MIRROR] Action button refactor/rework: Enhanced Dragging [MDB IGNORE] (#12423)
* Action button refactor/rework: Enhanced Dragging

* PHEW

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-04-01 01:38:57 +01:00
SkyratBot
be78b63740 [MIRROR] Can fire guns and secondary attack (right-click) with TK [MDB IGNORE] (#12288)
* Can secondary attack (right-click) and fire guns with TK (#65473)

* Can fire guns and secondary attack (right-click) with TK

Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
2022-03-25 22:02:55 -07:00
SkyratBot
42f1c5e8ec [MIRROR] Painting improvement: Added a palette component for spraycans and palette items. [MDB IGNORE] (#12219)
* Painting improvement: Added a palette component for spraycans and palette items. (#65577)

* Painting improvement: Added a palette component for spraycans and palettes.

* Painting improvement: Added a palette component for spraycans and palette items.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2022-03-22 21:03:57 +00:00
SkyratBot
dfc7e7022e [MIRROR] Allows you to offer an item to only one person with Shift+Ctrl+Click [MDB IGNORE] (#12176)
* Allows you to offer an item to only one person with Shift+Ctrl+Click (#65441)

You can click someone directly with shift+ctrl+click to offer an item only to them. This is in contrast with pressing G, which offers the item to every adjacent carbon mob.

Also fixes a runtime where the Give screen alert on a potential recipient was trying to remove itself on proximity loss after the Offering status effect had already done it.

Removes duplicate range check on Give screen alert that was causing the runtime as Offering status effect takes care of it.

Also adds a check after clicking the screen alert to take something to make sure we're not dead or incapacitated, so dead people can no longer take things.

Also adds a screentip for this functionality.

Also adds some more checks to give() to make sure we can do it before sending the message to players that we're offering something.

* Allows you to offer an item to only one person with Shift+Ctrl+Click

Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
2022-03-22 21:03:06 +00:00
SkyratBot
7b263f25b2 [MIRROR] Low/no power screen alert tooltips tell you where the recharging stations actually are [MDB IGNORE] (#12174)
* Low/no power screen alert tooltips tell you where the recharging stations actually are (#65467)

* Low/no power screen alert tooltips tell you where the recharging stations actually are

Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
2022-03-19 08:35:58 -07:00
SkyratBot
b11bf67b1f [MIRROR] Fixes succumb cancel not working. [MDB IGNORE] (#12028)
* Fixes succumb cancel not working. (#65379)

* fixes this

* Update code/_onclick/hud/alert.dm

probably better

Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>

Co-authored-by: nevimer <foxmail@ protonmail.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>

* Fixes succumb cancel not working.

Co-authored-by: nevimer <77420409+nevimer@users.noreply.github.com>
Co-authored-by: nevimer <foxmail@ protonmail.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
2022-03-12 00:21:30 +00:00
SkyratBot
ee5f9e2180 [MIRROR] Fixes hud objects being hidden by blindness [MDB IGNORE] (#12001)
* Fixes hud objects being hidden by blindness (#65385)

They have a higher plane then fullscreen overlays, but unfortunately for
me, they were rendering to the game plane, which is below
RENDER_PLANE_NON_GAME. I was therefore getting hit in the nuts.

Hate this timeline

* Fixes hud objects being hidden by blindness

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-03-11 12:21:24 -05:00
SkyratBot
41aa1d2ee4 [MIRROR] Adds a colorblind accessability testing tool [MDB IGNORE] (#11995)
* Adds a colorblind accessability testing tool (#65217)

* Adds a colorblind accessability testing tool

I keep finding myself worrying about if things I create will be parsable
for colorblind people. So I've made a debug tool for approximating
different extreme forms of colorblindness.

It's very very much a hack. We can't do the proper correction required
to actually deal directly with long medium and short wavelengths of
light, so we need to rely on approximations. Part of that means say,
bright things being brighter then they ought to be. S not how people
actually experience things, but it's not something we can do anything
about in byond.

Anyway uh, it works by taking color matrixes, and using the plane master
grouping system floyd added to apply them to most all parts of the game
you would want to color correct.

There's some slight fragility here, but I couldn't think of a better way
of handling it.

We also need to deal with planes that have BLEND_MULTIPLY as their
blendmode, since that fucks up the filter. I've come up with a hack for
it, since I wanted to avoid breaking anything.

Oh and since I want it to apply to huds too I added plane masters to
represent them. I think that's about it.

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

* Adds a colorblind accessability testing tool

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2022-03-10 20:35:12 -05:00
SkyratBot
bd4fef3266 [MIRROR] Machinery attack_paw() gives feedback for no damage attacks [MDB IGNORE] (#11974)
* Machinery attack_paw() gives feedback for no damage attacks (#65306)

* Machinery attack_paw gives feedback for no damage attacks

* I am growing stronger

* Makes messages consistent and read better

- Cleans up shitty code

* hmm

* Adds it to hulk object attack message

* Machinery attack_paw() gives feedback for no damage attacks

Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
2022-03-08 23:12:37 -07:00
SkyratBot
c287eb1e3c [MIRROR] Turns most alerts into defines [MDB IGNORE] (#11744)
* Turns most alerts into defines

* Update mobs.dm

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-03-03 16:10:31 +00:00
SkyratBot
054802781f [MIRROR] Fix distortion effect cutting [MDB IGNORE] (#11667)
* Fix distortion effect cutting (#64947)

Changed blend mode for the plane master

* Fix distortion effect cutting

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
2022-02-22 15:59:29 +00:00
SkyratBot
d1cfb4338e [MIRROR] Contextual screentips -- Screentips now show you what items/objects can do [MDB IGNORE] (#11529)
* Contextual screentips -- Screentips now show you what items/objects can do (#64502)

Adds the foundational system for contextual screentips, which will show you what you can do with objects/items, including through context, such as what you are holding.

Provides several helper elements for most use cases, and applies it to a handful of common objects in order to show the full breadth of the system.

Changes screentips preference from on/off to on/off/only with context. Players who originally had it on off will have it migrated to only with context, though can re-disable it.

* Contextual screentips -- Screentips now show you what items/objects can do

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-02-15 23:48:07 +00:00
SkyratBot
b8279a2b3c [MIRROR] BIDDLE HERETICS: Heretic revamp! (Shadow Realm, UI Overhaul, Refactoring, and Murderhoboing Tweaks) [MDB IGNORE] (#11427)
* BIDDLE HERETICS: Heretic revamp! (Shadow Realm, UI Overhaul, Refactoring, and Murderhoboing Tweaks)

* fex

* e

* Update zombieprison.dmm

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-02-11 02:53:01 +00:00
SkyratBot
b2cc74a77e [MIRROR] Fixes layering issues brought by the FoV PR. [MDB IGNORE] (#11411)
* Fixes layering issues brought by the FoV PR.

* Update code/__DEFINES/layers.dm

* Update code/modules/mob/living/living_defines.dm

* Update code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-02-10 02:51:52 +00:00
SkyratBot
4b38b7f933 [MIRROR] Fixes hud layering issues [MDB IGNORE] (#11351)
* Fixes hud layering issues (#64746)

Co-authored-by: TiviPlus <572233640+TiviPlus@ users.noreply.com>

* Fixes hud layering issues

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: TiviPlus <572233640+TiviPlus@ users.noreply.com>
2022-02-08 01:59:55 +00:00
SkyratBot
3a8459a5f8 [MIRROR] Mining MODsuit Rework [MDB IGNORE] (#11328)
* Mining MODsuit Rework (#64688)

makes dropkey deactivate device modules
fixes speed potion being fucky
fixes doubled up balloon alerts
makes some cell code better i think
makes the gps module open the gps tgui for you, instead of putting a gps in your hand
the loader suit can now hold mailbags

Reworks the mining modsuit.
The suit is no longer cold-proof (this can be mitigated by using module space for thermal regulators)
The suit fits less modules than standard suits, but cant burn in lava.
In suit storage it can carry ore bags, resonators and kinetic crushers.
It features a storage, gps, ore bag, drill, clamp and by default comes with a plasma core, being recharged with plasma ore rather than by power cell.
Features two new modules:

Ash Accretion, it gathers dust from basalt (or snow) you walk on to create a layer of ash around the suit, acting as armor and a speed up that quickly drains when you walk on other terrain.
Sphere Transform, turns you into a fast moving ball that can travel past lava, you cannot use your hands when in this form, but you can launch aoe mining bombs to attack or mine

* Mining MODsuit Rework

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-02-08 00:46:15 +00:00
SkyratBot
67b89dccf9 [MIRROR] Change default render relay plane to game relay [MDB IGNORE] (#11337)
* Change default render relay plane to game relay (#64567)

* Change default render relay plane to game plane

* fix typo

Co-authored-by: TiviPlus <572233640+TiviPlus@ users.noreply.com>

* Change default render relay plane to game relay

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: TiviPlus <572233640+TiviPlus@ users.noreply.com>
2022-02-07 10:05:30 +00:00
SkyratBot
07c88ffb0a [MIRROR] Add new surgery tgui that provides a built in body zone selector and doesn't let you start surgeries if their body is covered. Replaces some stuff with balloon alerts [MDB IGNORE] (#11322)
* Add new surgery tgui (#64579)

* Move element to component, start UI, move assets into their own directory

* Complete UI

* Stop when another surgery is started

* Set your real zone since I forgot you actually need to start the surgery too

* Bring this back since I was just removing it as part of a cleanup for asset cache, but I can't prove it's not used anymore

* Remove unnecessary constructor I was using for something else

* Fix signal override

* Add new surgery tgui that provides a built in body zone selector and doesn't let you start surgeries if their body is covered. Replaces some stuff with balloon alerts

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-02-06 20:37:56 +00:00
SkyratBot
da527e22cd [MIRROR] Refactor incapacitated optional arguments [MDB IGNORE] (#11167)
* Refactor incapacitated optional arguments

* Refactor incapacitated optional arguments

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-01-31 11:29:36 +00:00
SkyratBot
abf7e98baa [MIRROR] Removes useless defines for mutation paths [MDB IGNORE] (#11138)
* Removes useless defines for mutation paths (#64512)

* Removes useless defines for mutation paths

* Update cortical_borer_abilities.dm

* Update cqcplus.dm

* Update clown.dm

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-01-30 15:56:08 +00:00
SkyratBot
d04e8abace [MIRROR] Re-organizes the files in the root of the icons/ folder into it's substituents [MDB IGNORE] (#11100)
* Re-organizes the files in the root of the icons/ folder into it's substituents

* Update code/__DEFINES/fonts.dm

Co-authored-by: san7890 <34697715+san7890@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-01-29 13:33:14 +00:00
SkyratBot
af819aab4f [MIRROR] Kinesis Module [MDB IGNORE] (#10815)
* Kinesis Module

* Update security_officer.dm

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-01-20 03:45:22 +00:00
SkyratBot
19a08588d3 [MIRROR] Fixes aiming at the click catcher making you shoot up and right of your target. [MDB IGNORE] (#10831)
* Fixes aiming at the click catcher. (#64147)

My PR to fix pixel aiming broke aiming when you were aiming at obscured turfs.
The click catcher was properly modifying the click target to be the turf under the click location,
but it was passing the `ICON_X` and `ICON_Y` variables on unmodified.
This means that instead of being measured from the bottom left corner of the turf you clicked on they were being measured from
roughly the bottom left corner of your screen.

This makes the click relevant click parsing proc also update the ICON_X and ICON_Y values of the click modifiers.

* Fixes aiming at the click catcher making you shoot up and right of your target.

* Update fullauto.dm

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-01-20 03:39:10 +00:00
SkyratBot
5910fd9649 [MIRROR] MOD update: Modular Cores [MDB IGNORE] (#10710)
* MOD update: Modular Cores

* Fixing all dem conflicts

* Okay now it's going to compile too

* Fixing some Trigger() (they triggered me)

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-01-16 15:25:41 -05:00
SkyratBot
32bc9a96b6 [MIRROR] General pAI code improvements [MDB IGNORE] (#10683)
* General pAI code improvements

* Feex

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-01-16 17:40:00 +00:00
SkyratBot
711df4f765 [MIRROR] Stamina indicator HUD for humans [MDB IGNORE] (#10730)
* Stamina indicator HUD for humans (#64011)

imageadd: Added a stamina indicator to the human mob's HUD.

* Stamina indicator HUD for humans

Co-authored-by: Jack LeCroy <3073035+jacklecroy@users.noreply.github.com>
2022-01-16 02:27:44 +00:00
SkyratBot
f42d424b49 [MIRROR] Removes swarmers from the game [MDB IGNORE] (#10645)
* Removes swarmers from the game

* Removes swarmers from the game

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-01-15 17:19:18 +00:00
SkyratBot
65b8082678 [MIRROR] Harddel Fix Pack #42 + Better Live Reftracking Support [MDB IGNORE] (#10639)
* Harddel Fix Pack #42 + Better Live Reftracking Support

* awooga

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-01-12 21:57:49 +00:00
SkyratBot
027b5c5601 [MIRROR] TK no longer tries to interact with your hud [MDB IGNORE] (#10547)
* TK no longer tries to interact with your hud  (#63882)

* fix tk by adding a blacklist

* Update code/datums/mutations/telekinesis.dm
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>

* god damn you fikou

* TK no longer tries to interact with your hud

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
2022-01-09 20:48:40 +00:00
SkyratBot
e63bb39ac9 [MIRROR] Fix Transparent Floors Multi Z clipping [MDB IGNORE] (#10523)
* Fix Transparent Floors Multi Z clipping (#63878)

Fixes #63770 (Objects on Lower Z level appearing on top Z level when under glass tiles)

This fixes some MultiZ issues that were discovered after I made #62875 (566b9ee1d8). I never setup a new plane for the transparent turfs and because of this any objects, icons, or sprites that were offset from the boundary of the turf would make any bottom Z level stuff appear on the current Z level.

We want stuff to look normal.

* Fix Transparent Floors Multi Z clipping

Co-authored-by: Tim <timothymtorres@gmail.com>
2022-01-08 02:43:42 +00:00
SkyratBot
9df563cb76 [MIRROR] Dullahan Partial Refactor: They Work Again Edition [MDB IGNORE] (#10491)
* Dullahan Partial Refactor: They Work Again Edition (#63696)

So, a few months ago I was like "hmm there's something weird going on with party pods...", which got me looking into important_recursive_hearers or something like that. I spoke about it in the coding channel and Kyler actually fixed it before I did. But I also caught a similar glitch with Dullahans, so I decided to investigate...

Two months later...

I present to you a partial unfuckening of the Dullahans, in that I made them fully functional once again:

They only hear speech through their head (not sounds, sadly, someone else would have to tell me how to do that because I otherwise really wouldn't know how to do it in a sane way), they speak through their head, runechat-included.
When you spawn a Dullahan, you're set to look through the Dullahan's eyes (so from their head), and that doesn't reset when you log off and back in, or admin-ghost and come back in your body.
When you're looking through your head, your view will no longer be reset to your body upon entering a locker, which is nice to avoid not being blind while looking through your body.
Dullahan heads no longer look completely lifeless and without organs. They have eyes that don't look dead and that even match the player's intended eye color.
Dullahan can now properly examine things from their head, which was intended and 100% not functional.
Dullahan heads now speak with the proper name of their owner, instead of having a random name attached to it at round-start.
Dullahan heads are also now properly named too.
Dullahans can now properly whisper, sing and do all these funny things that they were unable to do before.
Dullahan whispers will now properly respect the range of the whisper.
Dullahans can now succumb in hardcrit by whispering, as intended. This potentially fixes other species that worked similarly not being able to succumb, like abductors, although I didn't test if they normally could, I just know they absolutely will be able to now.
When switching from Dullahans to a different species, your old head will no longer stay behind.
I also added a proc for species to do some code when we get a ckey login in our mob, which could potentially be useful for other stuff in the future, but it was necessary here as the view is reliant on the client, which we want to ensure doesn't get weird view glitches like having their head's vision overlay while actually being centered on their body.

I also made it so say() now takes a range argument, which is 7 by default, just so things that aren't humans can also whisper and do all those kinds of things. Going with that, there's probably a few more things that will be able to be done better thanks to this, although I haven't tested every edge case with this, but I doubt it will make much of a difference in the future.

* Dullahan Partial Refactor: They Work Again Edition

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-01-07 15:21:37 -05:00
SkyratBot
ca43ac2770 [MIRROR] Adds Maintenance MOD Modules! [MDB IGNORE] (#10446)
* Adds Maintenance MOD Modules! (#63791)

* Adds Maintenance MOD Modules!

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2022-01-06 08:15:29 -05:00
SkyratBot
092e534e75 [MIRROR] TGUI list conversions + bug fixes [MDB IGNORE] (#10355)
* TGUI list conversions + bug fixes

* Fixing conflicts

* Maintaining a few modular files while we're at it...

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-01-03 22:53:58 +00:00