Commit Graph

10 Commits

Author SHA1 Message Date
SkyratBot
6e677a2bbd [MIRROR] Invisibility refactor [MDB IGNORE] (#24405)
* Invisibility refactor (#78908)

This adds a tracker for sources of invisibility and a priority system. I
needed this for another thing so I'm doing this first since it touches a
lot of code. As for the bugs fixed in the changelog, it's only what I
noticed while going through everything and there's likely a few more
things fixed with this. This should be testmerged for a while, I'll
bring this out of draft when it feels safe.

🆑
admin: Invisimin can now be used on mobs that are already invisible,
whether through temporary or permanent effects.
fix: Monkeyize/Humanize mob transformations no longer permanently reveal
invisible mobs if they had effects making them invisible otherwise.
fix: Objects with the undertile element that have been made invisible
through other means are no longer revealed by being uncovered.
/🆑

* Invisibility refactor

---------

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
2023-10-18 00:36:09 -04:00
SkyratBot
b9f559776e [MIRROR] Replaces Upgraded Cybernetic Ears with two new variants [MDB IGNORE] (#22854)
* Replaces Upgraded Cybernetic Ears with two new variants  (#75931)

## About The Pull Request
Adjusts the placement of basic and upgraded cybernetic ears in the
research tree and adds two new variants: Whisper-sensitive Cybernetic
Ears, which make it slightly easier to hear whispers from a tile away,
at the cost of higher vulnerability to flashbangs and other loud noises;
and Wall-penetrating Cybernetic Ears, which allow you to 'hear through
walls' so to speak, also at the cost of higher vulnerability to loud
noises.

Basic cybernetic ears are now in basic medical tech node, meaning that
medbay can print them roundstart the same as other basic cybernetics.
The upgraded cybernetic ears are now unlocked with the other tier 2
cybernetics. The two new ear variants are unlocked with the other tier 3
cybernetic organs, and the luminiscent and welding shield eyes have also
been moved there from the cybernetic implants node for consistency
reasons.

The whisper ears allow you to clearly hear whispers from up to seven
tiles away, the same range where you can hear normal speech. The
wall-penetrating ears allow you to hear normal speech within seven tiles
even through walls. Due to technical limitations, runechat popups do not
show up for people you can't see, but the messages will still show up in
chat.
## Why It's Good For The Game
Currently, upgraded cybernetic ears are very underwhelming compared to
other high-tier cybernetic organs. All other high tier organs provide
some sort of benefit; even if the benefit is minor like a built-in
flashlight, a slightly higher tolerance to alcohol and toxins, or higher
tolerance to disgusting food. This change is intended to grant similarly
minor but useful benefits to the cybernetic ears.
## Changelog
🆑
add: Added whisper-sensitive cybernetic ears, which make it much easier
for the user to hear whispers at the cost of being more vulnerable to
loud noises
add: Added wall-penetrating cybernetic ears, which allow you to hear
speech through walls
balance: Basic cybernetic ears and upgraded cybernetic ears are now
unlocked with the other basic/normal cybernetics
balance: The welding shield and luminiscent cybernetic eyes are now
unlocked with the other upgraded cybernetics
/🆑

* Replaces Upgraded Cybernetic Ears with two new variants

* Modular adjustments

* Linters

* Linters

---------

Co-authored-by: GPeckman <21979502+GPeckman@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-08-03 06:51:26 -04:00
SkyratBot
0ba6722d89 [MIRROR] ports Kapu's optimization of get_hearers_in_view() [MDB IGNORE] (#22579)
* ports Kapu's optimization of get_hearers_in_view() (#76902)

## About The Pull Request
ports https://github.com/DaedalusDock/daedalusdock/pull/421
@ Kapu1178 pointed out that get_hearers_in_view() could be improved by
replacing view() with hearers() since 1. hearers only looks for mobs
(this is the same as what view() was already doing in this case since it
used the for(var/primitive_type/name in view(...)) optimization) and 2.
unlike view(), hearers() doesnt need to set and unset the center turf's
luminosity
## Why It's Good For The Game
profiled it for a bit and the results are:

![Figure_3_no_mega](https://github.com/tgstation/tgstation/assets/15794172/00d23458-d8ef-478b-9e37-d20fa6254970)
about a microsecond per call across all ranges for the area i tested. so
not much but its a hot proc

* ports Kapu's optimization of get_hearers_in_view()

---------

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
2023-07-19 00:18:57 -04:00
SkyratBot
02e3251f84 [MIRROR] Makes gasses use defines [MDB IGNORE] (#21492)
* Makes gasses use defines

* Mirror!

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2023-06-01 15:24:31 +12:00
SkyratBot
db33d75a5e [MIRROR] Space/Changeturf fixes and optimizations [MDB IGNORE] (#19201)
Space/Changeturf fixes and optimizations

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-02-28 15:23:35 -05:00
SkyratBot
c5ca08fd01 [MIRROR] Adds spaces around logical operators [MDB IGNORE] (#18776)
* Adds spaces around logical operators

* Update code/modules/admin/verbs/admingame.dm

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-01-21 22:16:43 -08:00
SkyratBot
24267f7768 [MIRROR] Readds Alien Vore [MDB IGNORE] (#14967)
* Readds Alien Vore

* Update parts.dm

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2022-07-17 03:54:40 -07:00
SkyratBot
65dd75b1b6 [MIRROR] updates documentation for how the oranges_ear mob optimization works [MDB IGNORE] (#13699)
* updates documentation for how the oranges_ear mob optimization works (#67056)

fixes documentation for how the oranges_ear mob optimization works

* updates documentation for how the oranges_ear mob optimization works

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
2022-05-18 20:01:02 +01:00
SkyratBot
63445b4e11 [MIRROR] Fixes a missing initialize flag set in oranges_ear [MDB IGNORE] (#10337)
* Fixes a missing initialize flag set in oranges_ear (#63660)

* Fixes a missing initialize flag set in oranges_ear

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-12-29 20:46:09 +00:00
SkyratBot
119356e97f [MIRROR] Fixes Massive Radio Overtime, Implements a Spatial Grid System for Faster Searching Over Areas [MDB IGNORE] (#10107)
* Fixes Massive Radio Overtime, Implements a Spatial Grid System for Faster Searching Over Areas

* no spamming pings for upstream :(

* E

* E

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-12-23 03:06:56 +00:00