35 Commits

Author SHA1 Message Date
die 54198986b7 generic device handling sounds (#93536) 2025-10-24 09:42:10 +02:00
Xander3359 012e9ec701 Atmos holofans automatically open firelocks (#91511)
## About The Pull Request
Atmos holofans automatically open firelocks
## Why It's Good For The Game
Just some small QOL to incentivize atmos techs to use holofans in
doorways to fix air
## Changelog
🆑
qol: Atmos holofans automatically open firelocks
/🆑

---------

Co-authored-by: Lucy <lucy@absolucy.moe>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2025-06-08 15:32:52 +00:00
Hatterhat 5385b2678c Holosign QoL: signs on doors, holofans on doors/windows/grilles (#89781)
## About The Pull Request
This PR makes it so that you can project holographic signs (e.g. PENLITE
holobarriers, engineering holobarriers, etc.) onto doors (e.g. airlocks,
material doors), while ATMOS holofan projectors can project their
holofans under doors, windows, and grilles.

Doors specifically means "anything under /obj/machinery/door" and
material/mineral doors, e.g. sandstone ones.

## Why It's Good For The Game
Holofans being weirdly offset off doors out of necessity irks me from a
visuals perspective and I think putting holofans in doors looks way
nicer. Holosigns can get this too as a treat, I guess.
2025-03-08 13:49:08 -06:00
SyncIt21 6f98b9efe7 Holosign creators interact with storage correctly (#87824)
## About The Pull Request
- Fixes #87539
 
Racks, bags & basically anything that stores stuff will interact with
all holosign creator's correctly

## Changelog
🆑
fix: holosign creators interact with storage items correctly
/🆑
2024-11-13 02:35:15 +01:00
DrTuxedo 8a350dae9c Holosignification (#85062) 2024-07-19 17:54:05 -04:00
FlufflesTheDog 4a9b6804b0 fix tile/rod/rcd multi-z hole repairs (#84255)
## About The Pull Request
Fixes some interactions with attempting to patch multi-z holes.

1. openspace clicks happen on different z levels, so it's inherently a
*ranged* interaction- it was being ignored due to using the non ranged
signal
2. RCD was lacking the open space click handler,
3. #77540 still exists to a degree, I've refactored the click handler to
use parse_caught_click_modifiers to always grab the tile you're aiming
at rather than going off of whatever item you happened to click on
4. handle_openspace_click was treating the modifiers list as the old
parameters list
## Why It's Good For The Game
fix bugs, being able to repair holes is a very important and time
sensitive task that needs to flow well, and not require pixel hunting
## Changelog
🆑
fix: multi-z hole repair works better, especially when the turf below is
blocked by items
/🆑
2024-06-25 00:34:17 -04:00
MrMelbert ff6b41aa07 Afterattack is dead, long live Afterattack (#83818)
## About The Pull Request

- Afterattack is a very simple proc now: All it does is this, and all
it's used for is for having a convenient place to put effects an item
does after a successful attack (IE, the attack was not blocked)


![image](https://github.com/tgstation/tgstation/assets/51863163/1e70f7be-0990-4827-a60a-0c9dd0e0ee49)

- An overwhelming majority of afterattack implementations have been
moved to `interact_with_atom` or the new `ranged_interact_with_atom`

I have manually tested many of the refactored procs but there was 200+
so it's kinda hard

## Why It's Good For The Game

Afterattack is one of the worst parts of the attack chain, as it
simultaneously serves as a way of doing random interactions NOT AT ALL
related to attacks (despite the name) while ALSO serving as the defacto
way to do a ranged interaction with an item

This means careless coders (most of them) may throw stuff in afterattack
without realizing how wide reaching it is, which causes bugs. By making
two well defined, separate procs for handing adjacent vs ranged
interactions, it becomes WAY WAY WAY more easy to develop for.

If you want to do something when you click on something else and you're
adjacent, use `interact_with_atom`
If you want to do something when you click on something else and you're
not adjacent, use 'ranged_interact_with_atom`

This does result in some instances of boilerplate as shown here:


![image](https://github.com/tgstation/tgstation/assets/51863163/a7e469dd-115e-4e5b-88e0-0c664619c878)

But I think it's acceptable, feel free to oppose if you don't I'm sure
we can think of another solution

~~Additionally it makes it easier to implement swing combat. That's a
bonus I guess~~

## Changelog

🆑 Melbert
refactor: Over 200 item interactions have been refactored to use a
newer, easier-to-use system. Report any oddities with using items on
other objects you may see (such as surgery, reagent containers like cups
and spray bottles, or construction devices), especially using something
at range (such as guns or chisels)
refactor: Item-On-Modsuit interactions have changed slightly. While on
combat mode, you will attempt to "use" the item on the suit instead of
inserting it into the suit's storage. This means being on combat mode
while the suit's panel is open will block you from inserting items
entirely via click (but other methods such as hotkey, clicking on the
storage boxes, and mousedrop will still work).
refactor: The detective's scanner will now be inserted into storage
items if clicked normally, and will scan the storage item if on combat
mode
/🆑
2024-06-11 21:58:09 -07:00
13spacemen d36a589589 Atmos Holofan Clearview (#80662)
## Vid


https://github.com/tgstation/tgstation/assets/46101244/b322aac7-519f-4a55-8180-eb9a38b3abc7
## About The Pull Request
You can right-click the Atmos Holofan projector in-hand to make the
holograms more transparent and unclickable

Only lasts for 40 seconds if you don't toggle it off yourself
## Why It's Good For The Game
Sometimes you want to pipe under the holofan or put a machine there, and
it's frustrating having to alt-click the tile for every action since you
can't see anything under the holofan
## Changelog
🆑
add: Atmos Holofan projectors can be right-clicked inhand to make their
holograms more transparent
/🆑
2023-12-31 13:26:04 -05:00
YesterdaysPromise 71a1fee2f1 Explodes device.dmi (#80025)
## About The Pull Request

I woke up today and thought 'what would be easy thing to do today so I
can say I've done something?'. Then I remembered I saw several gangtool
usages the time I split radio up, and I could remedy those. 7 hours
later, device.dmi is split in a folder of its own, and I've also given
unique sprites to door remotes and landing desginators.


## Why It's Good For The Game

The device.dmi was kind of a mess.

## Changelog

🆑
/🆑
2023-12-09 13:31:50 +01:00
lessthanthree f6487e838d Coloured holobarriers (#79219)
If the projector is spray painted, the barriers will match the colour of
its projector
2023-11-05 23:14:07 +00:00
lessthanthree b94f5867f3 Add fingerprint data for holobarriers (#79358)
## About The Pull Request

Adds player ckey to who builds a holobarrier, for admin use

## Changelog

## Changelog
🆑
admin: Holobarrier creation now adds player fingerprint data
/🆑
2023-11-04 02:53:46 +00:00
Pickle-Coding 92063262a2 Engineering, janitor and medical holosign projector changes. Much faster, more capacity, less integrity. (#75543)
## About The Pull Request
The engineering, janitor and medical holosign projectors can project
their holosigns in 1 second. The holosign integrity has been reduced to
1. Engineering max capacity increased to 12, medical to 6.
## Why It's Good For The Game
The long time to project made these projectors, especially the
engineering ones, impractical to use during an emergency that warrents
their usage. Medical capacity increase allows them to block off a
typical hallway, which could be used if there's a biohazard (60 gibbed
monkeys, or botanist). Engineering capacity increase is warrented due to
the nature of breaches and how large they can get.

The integrity reduction should help prevent them from being used to
Fortnite people.
## Changelog
🆑
balance: Engineering, janitor and medical holosign projector projection
time reduced to 1 second.
balance: Engineering, janitor, and medical holosign integrity reduced to
1.
balance: Engineering holosign projector max capacity increased to 12.
balance: Medical holosign projector max capacity increased to 6.
/🆑
2023-05-30 17:15:06 -04:00
Jeremiah 872e64fb05 Adds spaces around logical operators (#72603)
## About The Pull Request
Part of a prior PR that was closed (#72562). This version does not add
the check in CI.
## Why It's Good For The Game
The work is already done, so I figured why not.
## Changelog
N/A Nothing player facing

Co-authored-by: Jeremiah Snow <jlsnow301@pm.me>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-01-16 16:56:35 -08:00
Mothblocks f54dcda1c0 afterattack now returns a flag if it's reasonable to suspect the user intends to act on an item (#72320)
Necessary for #72292 to work effectively, and probably not very useful
out of that context. Split out of its own PR because this is long and
boring.

I want to make sure that we're catching actual mistakes there, and not
just experiencing side effects of how shitty the attack chain is.
2023-01-04 21:10:41 -08:00
tattle fd9f50c552 [IDB IGNORE] Renames the inhand/misc folder to inhand/items (#69573)
Also adds balloons to inhand/items
2022-09-01 03:29:10 +02:00
GuillaumePrata d1ca6e58a1 Balloonify welders and extinguishers (and more later) (#67818) 2022-06-18 17:08:04 -07:00
GuillaumePrata 69d695ca18 Winter coat allowed item fixes (#61450)
Sometime ago I cleaned a slice of the winter coats to cut on copy pasta in their allowed list and important items being missed there but I misunderstood how the global list of allowed security items work, which ended up with the global list overwriting my base list.
So this fix that, also thanks Athath for bullying me about this issue a few months ago before I went on coding hiatus...

Also since I was here I decided to fix the allowed list for the janitor winter coat, it had some odd items without a worn_icon so we had the annoying bugged sprites with it.
2021-09-15 22:57:55 +01:00
Ghom b51ebfaf90 Fixes difficulties with placing lattices on multiz maps. (#60124)
Title. Because of mob and object visuals under open space being able to be hovered over with the cursor and examined and in general acting as entities distint from the turf holding them it tends to be hard or even impossible to build floor and catwalks over these turfs. This PR aims to fix it with a basically simple, more-convenient-than-a-painstaking-refactor and easy to apply element (edit: and proc).
2021-07-25 19:02:31 -03:00
Watermelon914 375a20e49b Refactors most spans into span procs (#59645)
Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs.
Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines.

Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing.
Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc.

(Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such)
2021-06-14 13:03:53 -07:00
Qustinnus dc78e93543 Adds tourist robots that order food and drinks from the bar and cafeteria (#57010)
* Adds Tourism Economy

Co-authored-by: Emmanuel S. <emmanuelssr@gmail.com>
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: coiax <yellowbounder@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-25 19:39:02 +01:00
Cimika/Lessie/KathyRyals 5c45a259e0 Buffed atmos holofans. Added to CE locker. (#57074)
Atmos holofans can now make six holos instead of three. Swapped the (useless) engineering holo with the atmos holo in the CE locker.
2021-02-21 13:55:23 -05:00
NotRanged 1f49c2bd65 Change holosign examine; show sign count (#56440)
The examine text of holosign creators now show how many projections are
being maintained.

Co-authored-by: Ranged <nickvanderkroon@gmail.com>
2021-01-27 16:44:11 +00:00
Ghilker c4c36e9add holosign little refractor (#54287) 2020-10-12 13:58:56 -03:00
ShizCalev 3eeef6c272 Cleans up some unused procs and makes is_blocked_turf a turf proc. (#52482)
* Cleans up some unused procs and makes is_blocked_turf a turf proc.

* Update code/game/turfs/turf.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-30 02:20:35 -03:00
nemvar 6ef421be42 Renames a few variables. Also reorders icon fallback order again. (#51060)
* Renames a few variables. Also reorders fallback order again.
Renames item_state to inhand_icon_state
Renames mob_overlay_icon to worn_icon
Renames mob_overlay_state to worn_icon_state
worn_icon_state/mob_overlay_state now never gets used for inhands.

* Fixes some comments

* Fixes map issue

* Restart lints

* Properly resolves conflicts
2020-05-25 06:47:19 +02:00
Rob Bailey 2029163d33 playsound vary boolean define conversion (#46254)
About The Pull Request

Converts every single usage of playsound's vary parameter to use the boolean define instead of 1 or 0. I'm tired of people copypasting the incorrect usage.
Also changes a couple of places where a list was picked from instead of using get_sfx internal calls

This was done via regex:
(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\)) to match 1
(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\)) to match 0
full sed commands:
/(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\))/\1TRUE\2/ 1 to TRUE
/(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\))/\1FALSE\2/ 0 to FALSE

I'm not very good with regex and these could probably be optimized, but they worked.
Why It's Good For The Game

Code usability
2019-08-30 18:45:20 +12:00
Tlaltecuhtli 933976a12b new icons for the forcefield projector and the atmos projector (#40483)
cl
sprites: new icon for the atmos projector and forcefield projector
/cl
new icons
2018-10-03 10:01:48 +13:00
cacogen 00feea5594 Janitor balance changes (#40141)
cl cacogen
balance: Space cleaner in spray bottles travels 5 tiles instead of 3 (doesn't affect other reagents)
balance: Trash bag fits in exosuit slot of janitor biosuit
balance: All soaps are faster
balance: Soaps now clean all decals on a tile instead of just one
balance: Soap now has limited uses (100 for most, 300 for NT brand which janitor gets)
balance: Mops are considerably faster
balance: Basic mop holds twice the reagents
balance: Janitorial cart now refills mops completely with one click
balance: Basic and advanced mops are more robust (8 force and 12 force)
balance: Galoshes no longer leave bloody footprints
balance: Chameleon noslips no longer leave bloody footprints
fix: Bulb boxes can be used on light replacers refill them in bulk
balance: Light replacer can be used in-hand to change all bulbs on a tile
add: Custodial barrier projector which creates solid wet floor signs that force people to walk to pass (available through service protolathe)
/cl

Janitor's been an exercise in futility for years, and the job is made redundant by janitor cyborgs who can't even keep up with the mess themselves. Spreading blood is instant, but takes a lot longer to clean. The goal here is to make it easier to keep up with the mess and make the controls less finicky while avoiding affecting combat too much (the mop and spray bottle are is a good weapons after all).
2018-09-28 09:21:14 +12:00
Grandmother of 50 9e4df6aa78 Adds PENLITE holobarriers (#39344)
Adds a simple way to quarantine individuals but doesn't make it roundstart, as it has potential to make 2 antags have a very difficult time: Bad virologists and (mainly) sentient diseases. Uses a sliver of silver because of this.

It uses the exact same proc as the MEDHUD, so it CAN be countered by buffing stealth. Virologists can also activate the free-access so long as they do it while not infected with anything bad.

That said, it has a build delay and is relatively easy to destroy. Think of it as a more obvious visual for people without huds to know "hey, I should probably avoid everyone else until I get better" and not necessarily an actual barrier device.

sprites edited by me if you like them, by someone else if you don't!
2018-07-29 13:40:47 +12:00
Trevor Serpas bee0b5b2c3 Afterattack() Signal (#38606)
* adds signal and modifies each call of afterattack to call it's inherited proc

* uses new macro for sendsignal()

* map fuck

* skip precommithooks

* combine and negate 2 ifs
2018-07-07 02:00:25 -04:00
vuonojenmustaturska c65a99f130 Move NODROP_1, DROPDEL_1, ABSTRACT_1 and NOBLUDGEON_1 to item_flags where they belong (#38171)
* (mostly) nodrop

* (mostly) dropdel

* (mostly) abstract

* nobludgeon

* things i missed

* forgot one

* unintended changes

* energy handcuffs
2018-06-01 11:36:31 +02:00
kevinz000 caa1e1f400 Massive research refactor; changes research system to techwebs; Decentralized research 2017-11-18 19:55:40 -08:00
Tad Hardesty 5a0bb2f599 Grammar fixes to atom descriptions (#31293)
* Grammar fixes to atom descriptions

- Capitalization and punctuation on most descriptions
- CentCom instead of centcom where appropriate
- Earth instead of earth where appropriate

* Remove spaces before newlines and oneline some strings
2017-10-05 16:33:35 -04:00
Ian Turk 7460f2c5b8 Replaced flags with flags_1 2017-08-16 13:01:15 -06:00
Jordan Brown af4d9a85c9 Repaths /obj/item/weapon to /obj/item (#29929) 2017-08-16 10:38:51 -03:00