Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MIRROR] Blocks (most instances of) screen elements from entering base atom /Click #2574

Merged
merged 1 commit into from
Mar 26, 2024

Conversation

Steals-The-PRs
Copy link
Collaborator

Mirrored on Nova: NovaSector/NovaSector#1646
Original PR: tgstation/tgstation#82236

About The Pull Request

Fixes #76495

This PR prevents (most) screen elements from running base /atom/proc/Click and /mob/proc/ClickOn() when clickend.

(The only exception I found to it was the cursor catcher for scopes.)

Why?
Most, if not everything in ClickOn is considered "in world" interacting. It abides by incapacitated, runs faceAtom, etc.
This means, currently, you can "interact" with screen elements using in world elements. For example, TK-ing / pointing a gun at your mood face.

Right now this affects very little, but there is a large potential for errors. All you have to do is forget a sanity check in afterattack and suddenly you have an item that can affect your screen objects.
The only example I found was the /item/godstaff, which can color some of your screen elements. But there may be more. Like guns.

Note:
Many, many screen elements ALREADY do not fall down into atom click. They simply don't call parent. Which is totally fine.
I am just ensuring ALL* screen elements do not fall down into atom click.

Changelog

🆑 Melbert
fix: Blocks mobs from trying to "physically" interact with some of their hud elements, such as using Telekinesis or point a gun at your mood meter.
/:cl:

…e atom `/Click` (#1646)

* Blocks (most instances of) screen elements from entering base atom `/Click` (#82236)

## About The Pull Request

Fixes #76495

This PR prevents (most) screen elements from running base
`/atom/proc/Click` and `/mob/proc/ClickOn()` when clickend.

(The only exception I found to it was the cursor catcher for scopes.) 

Why?
Most, if not everything in `ClickOn` is considered "in world"
interacting. It abides by `incapacitated`, runs `faceAtom`, etc.
This means, currently, you can "interact" with screen elements using in
world elements. For example, TK-ing / pointing a gun at your mood face.

Right now this affects very little, but there is a large potential for
errors. All you have to do is forget a sanity check in `afterattack` and
suddenly you have an item that can affect your screen objects.
The only example I found was the `/item/godstaff`, which can color some
of your screen elements. But there may be more. Like guns.

Note: 
Many, many screen elements ALREADY do not fall down into atom click.
They simply don't call parent. Which is totally fine.
I am just ensuring ALL* screen elements do not fall down into atom
click.

## Changelog

:cl: Melbert
fix: Blocks mobs from trying to "physically" interact with some of their
hud elements, such as using Telekinesis or point a gun at your mood
meter.
/:cl:

* Blocks (most instances of) screen elements from entering base atom `/Click`

---------

Co-authored-by: MrMelbert <[email protected]>
@ReezeBL ReezeBL merged commit 24d1e9b into master Mar 26, 2024
24 checks passed
@ReezeBL ReezeBL deleted the upstream-mirror-1646 branch March 26, 2024 22:00
AnywayFarus added a commit that referenced this pull request Mar 26, 2024
Iajret pushed a commit that referenced this pull request May 20, 2024
* Advanced Health Analysers can detect certain organs

* Update surgery.dm

* Update screenshot_humanoids__datum_species_moth.png

---------

Co-authored-by: Jacquerel <[email protected]>
Co-authored-by: SomeRandomOwl <[email protected]>
Co-authored-by: Mal <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants