Commit Graph

215 Commits

Author SHA1 Message Date
Return
217dcf12c5 Makes rags holdable in a pocket protector (#2506)
## About The Pull Request
This makes it so that the bartender's damp rag can go in a pocket
protector, letting them have a rag in their lapel pocket. Makes sense,
too!

## Why It's Good For The Game
Allows bartenders to wear a pocket protector and keep a rag in it. Also,
I'm working on a backpack-less build right now and this would allow me
to go completely backpack-free.

I don't intend to wear anything in the backpack slot I just think this
is cool. Full disclosure.

## Proof Of Testing
Compiles. Testing now.

<details>
<summary>Screenshots/Videos</summary>

</details>

## Changelog

🆑 ReturnToZender
add: You can now put a damp rag in your lapel pocket protector.
/🆑

---------

Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>
2024-11-24 22:12:04 +00:00
SyncIt21
6cbf559902 [NO GBP] Fixes drone toolbox issues (#87073)
## About The Pull Request
- Fixes #87071 as in
 a) Dropping a drone tool will put it back in the toolbox again
 b) You can manually put the tool back in the toolbox via mouse click
 c) You cannot dump the contents of the drone toolbox on anything

## Changelog
🆑
fix: you can drop/put drone tools back in the toolbox
fix: you cannot dump the contents of the drone toolbox
/🆑
2024-11-14 15:57:15 -08:00
Majkl-J
e59d8ba64b Merge commit '179a607a90ad7ec62bdaff4e6fe72af60ee56442' of https://github.com/tgstation/tgstation into upstream-24-10b 2024-10-23 23:27:16 -07:00
Majkl-J
f8faccd70a Merge branch 'master' of https://github.com/Skyrat-SS13/Skyrat-tg into upstream-24-10a 2024-10-20 04:12:02 -07:00
Waterpig
bb70889f6e TG Upstream Part 1
3591 individual conflicts

Update build.js

Update install_node.sh

Update byond.js

oh my fucking god

hat

slow

huh

holy shit

we all fall down

2 more I missed

2900 individual conflicts

2700 Individual conflicts

replaces yarn file with tg version, bumping us down to 2200-ish

Down to 2000 individual conflicts

140 down

mmm

aaaaaaaaaaaaaaaaaaa

not yt

575

soon

900 individual conflicts

600 individual conflicts, 121 file conflicts

im not okay

160 across 19 files

29 in 4 files

0 conflicts, compiletime fix time

some minor incap stuff

missed ticks

weird dupe definition stuff

missed ticks 2

incap fixes

undefs and pie fix

Radio update and some extra minor stuff

returns a single override

no more dupe definitions, 175 compiletime errors

Unticked file fix

sound and emote stuff

honk and more radio stuff
2024-10-19 08:04:33 -07:00
The Sharkening
ab73b21879 Fixes backbacks becoming bricks (#2128)
Early bugfix since this annoyed me too much.

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2024-09-25 20:21:16 +00:00
SmArtKar
057135702d Fixes storage UI breaking upon an observer detaching while having your storage UI open under odd circumstances (#86842)
## About The Pull Request
This is one of the stupidest issues I had the displeasure of working
with and I still do not know concrete details behind the issue because
some of the code introduced in this (supposed-to-be) debug PR
accidentally fixed said issue. Essentially, under odd circumstances of
the user either being SSD or having their storage focus stolen by
something else, an observer who had their storage UI open via
autoobserve could break their UI by moving away because that improperly
removed the user from some lists. This is the primary theory judging
from what fixed the issue, but sadly there is no concrete info behind it
as all attempts to reproduce the bug, both locally and on live, have
failed.

Closes #85259

## Changelog
🆑
fix: Storage UI should no longer (not so much) randomly disappear,
hooray!
/🆑
2024-09-24 19:30:07 +00:00
Ben10Omintrix
4e4a904a3b [no gbp] reverts some unintended duplicate checks (#86674)
## About The Pull Request
when working on #86031 , i added some checks that were already being
handled earlier in the chain, serving nothing. thanks to melbert for
catching these

## Why It's Good For The Game
removes some duplicated checks
2024-09-16 08:42:34 +02:00
MrMelbert
8486f2f7e2 Storage / table interactions at the bottom of the interaction chain (#85512)
Because the wings were in fact made of wax 

## About The Pull Request

Storage goes to the very bottom of the interaction chain, hardcoded in
on `/atom`.
This is not preferred, obviously, but it ends up being a lot less
snowflaking overall.

Tables also go at the very bottom by extending `base_item_interaction`. 

Fixes #83742
Fixes #84434 
Fixes #83982
Fixes #85516
Fixes #84990
Fixes #84890
Closes #85036
Closes #84025 (RMB places it on the table.)
Closes #86616

Other changes:

Refactored pod storage to be less jank. Patches some exploits around it.

## Why It's Good For The Game

Should make a lot more interactions a lot more reliable... hopefully

## Changelog

🆑 Melbert
refactor: Storage and Tables are now a lower priority action, meaning
some uses of items on storage should work... better, now. Here's hoping
at least, report any oddities.
refactor: Note: For an overwhelming majority of items, **combat mode**
will attempt to attack/insert into the target, while **non-combat-mode**
will attempt to use on a target. This means screwdrivering or emagging a
MODsuit must be done on non-combat-mode, as combat mode will simply put
the screwdriver or emag into its storage. Same applies to tables, though
when in doubt, RMB may help (for things which are also weapons, like
mops).
refactor: Refactored escape pod storage, now they actually properly show
as unlocked on red alert and above.
/🆑
2024-09-12 23:48:19 +02:00
Waterpig
4c4930c71d Merge branch 'master' of https://github.com/tgstation/tgstation into pulls-tg-to-fix-shit 2024-09-08 00:59:39 +02:00
Ben10Omintrix
91baa94ac5 event based incapicated and able_to_run (#86031)
## About The Pull Request
this is a revival of #82635 . i got permission from potato to reopen
this, he did almost all the work. i only just solved the conflicts and
fixed all the bugs that were preventing the original from being merged
(but it should be TMed first)

## Why It's Good For The Game
slightly improves the performance of basic mob AI

## Changelog
🆑
LemonInTheDark
refactor: able_to_run and incapacitated have been refactored to be event
based
/🆑

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: ZephyrTFA <matthew@tfaluc.com>
2024-09-04 10:02:49 -04:00
lessthanthree
594fd069ab Fixes Skub not fitting in Skub box (#86155)
## About The Pull Request

Fixes the exceptions_hold list not being checked when trying to put an
item in the box

## Changelog

🆑 LT3
fix: You can now put Skub back in the Skub box, as intended
/🆑
2024-09-03 17:41:36 +02:00
Waterpig
0f637c8360 Merge branch 'master' of https://github.com/Skyrat-SS13/Skyrat-tg into upstream-24-08d 2024-08-22 15:40:58 +02:00
SkyratBot
fc614f1701 [MIRROR] Refactored the fish case and examining fish. New bluespace fish case to fit large fish inside a backpack. (#29448)
* Refactored the fish case and examining fish. New bluespace fish case to fit large fish inside a backpack. (#85271)

## About The Pull Request
I've refactored the FISH_SAFE_STORAGE trait into an element, mainly
because there were a few problems with how it worked: It wasn't stopping
hunger from raising, ditto with the breeding wait, and it offered no
healing whatsoever, which I find kind of a bummer. The new element will
keep the fish from getting any hungrier or ready to reproduce and will
heal them up to 65% of their base health.

Also, I've added a new bluespace fish case as a techweb design, found
along with other stuff in the advanced fishing node, though if you want
I can move it to a bluespace node. This should make it possible to
reasonably store and carry around larger fish.

Examining a fish will no longer give out readings on weight and size if
you haven't at least attempted fishing once (you can get to novice level
in less than a minute). While examining a fish with apprentice level or
higher will also give readings on the general conditions of the fish (is
it starving? drowning? has it lost a considerable chunk of health?). The
fishing skillchip also gives you these traits.

I've also converted two fish variables into traits, because fish have
waaaay too many variables. and gave some topdown shading to the
pre-existing fishbox sprite.

## Why It's Good For The Game

## Changelog

🆑
add: Added a bluespace fish case to the advanced fishing node.
balance: Fish cases will keep a fish from getting hungrier or ready to
reproduce, while also healing it up to 65% health.
balance: Examining a fish with zero fishing skill whatsoever won't give
a reading on its size and weight. Conversely, examining one with the
skill leveled two times will give general information on if it's
starving, sick, hungry, or dead.
/🆑

* Refactored the fish case and examining fish. New bluespace fish case to fit large fish inside a backpack.

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-08-21 13:45:37 +07:00
Waterpig
330cf42ff9 Merge branch 'master' of https://github.com/Skyrat-SS13/Skyrat-tg into upstream-24-08c 2024-08-19 14:43:23 +02:00
Ghom
ff3b73dc82 Refactored the fish case and examining fish. New bluespace fish case to fit large fish inside a backpack. (#85271)
## About The Pull Request
I've refactored the FISH_SAFE_STORAGE trait into an element, mainly
because there were a few problems with how it worked: It wasn't stopping
hunger from raising, ditto with the breeding wait, and it offered no
healing whatsoever, which I find kind of a bummer. The new element will
keep the fish from getting any hungrier or ready to reproduce and will
heal them up to 65% of their base health.

Also, I've added a new bluespace fish case as a techweb design, found
along with other stuff in the advanced fishing node, though if you want
I can move it to a bluespace node. This should make it possible to
reasonably store and carry around larger fish.

Examining a fish will no longer give out readings on weight and size if
you haven't at least attempted fishing once (you can get to novice level
in less than a minute). While examining a fish with apprentice level or
higher will also give readings on the general conditions of the fish (is
it starving? drowning? has it lost a considerable chunk of health?). The
fishing skillchip also gives you these traits.

I've also converted two fish variables into traits, because fish have
waaaay too many variables. and gave some topdown shading to the
pre-existing fishbox sprite.

## Why It's Good For The Game


## Changelog

🆑
add: Added a bluespace fish case to the advanced fishing node.
balance: Fish cases will keep a fish from getting hungrier or ready to
reproduce, while also healing it up to 65% health.
balance: Examining a fish with zero fishing skill whatsoever won't give
a reading on its size and weight. Conversely, examining one with the
skill leveled two times will give general information on if it's
starving, sick, hungry, or dead.
/🆑
2024-08-18 06:06:17 -07:00
SkyratBot
0ac0b26309 [MIRROR] Toolbox, medkit, cardboard box sounds. (#29349)
* Toolbox, medkit, cardboard box sounds. (#85337)

## About The Pull Request

https://github.com/user-attachments/assets/155210d1-d0ae-404e-b69c-a0d185306db6

### Added container rustle sounds for:
- medkit
- box
- toolbox

### Added container open sounds for:
- box
- toolbox

### De-hard coded container rustle sounds so now you can change the
sound path on subtypes.
## Why It's Good For The Game
- Hearing the same cloth rustling SFX for boxes, toolboxes and medkits,
when they're clearly not made of cloth is immersion breaking, let's fix
that.
- giving players satisfying sounds when they open containers and an
overall diversity of sounds will reduce ear fatigue
- rustle SFX were previously hard coded and you couldn't change them or
change the `vary` boolean, we should keep the code customizable and
allow contributors to add more rustle sounds by implementing this
framework.
## Changelog
🆑 grungussuss
sound: added rustle sounds for: toolbox, medkit, box
sound: added open sounds for: toolbox, box
code: added support for giving container items rustle sounds
/🆑

* Toolbox, medkit, cardboard box sounds.

---------

Co-authored-by: grungussuss <96586172+Sadboysuss@users.noreply.github.com>
2024-08-15 22:27:06 +07:00
grungussuss
a4a92eb84c Toolbox, medkit, cardboard box sounds. (#85337)
## About The Pull Request


https://github.com/user-attachments/assets/155210d1-d0ae-404e-b69c-a0d185306db6

### Added container rustle sounds for:
- medkit
- box
- toolbox

### Added container open sounds for:
- box
- toolbox

### De-hard coded container rustle sounds so now you can change the
sound path on subtypes.
## Why It's Good For The Game
- Hearing the same cloth rustling SFX for boxes, toolboxes and medkits,
when they're clearly not made of cloth is immersion breaking, let's fix
that.
- giving players satisfying sounds when they open containers and an
overall diversity of sounds will reduce ear fatigue
- rustle SFX were previously hard coded and you couldn't change them or
change the `vary` boolean, we should keep the code customizable and
allow contributors to add more rustle sounds by implementing this
framework.
## Changelog
🆑 grungussuss
sound: added rustle sounds for: toolbox, medkit, box
sound: added open sounds for: toolbox, box
code: added support for giving container items rustle sounds
/🆑
2024-08-14 13:46:51 +02:00
StrangeWeirdKitten
132f9363e4 Merge branch 'master' of https://github.com/Skyrat-SS13/Skyrat-tg into fuck-fuck-fuck
# Conflicts:
#	_maps/map_files/Birdshot/birdshot.dmm
#	_maps/map_files/NorthStar/north_star.dmm
#	_maps/map_files/VoidRaptor/VoidRaptor.dmm
#	code/datums/status_effects/debuffs/debuffs.dm
#	code/game/objects/items/devices/scanners/health_analyzer.dm
#	code/modules/cargo/packs/imports.dm
#	html/changelogs/archive/2024-07.yml
2024-07-31 21:19:46 -06:00
SmArtKar
503d689ad1 Players can now reorder items inside storages by dragging them (#85318)
## About The Pull Request

https://github.com/user-attachments/assets/8949965f-a78a-4f3d-b528-afcdfe5c4e72

Drag'n'dropping items inside of an open storage that you can access will
reorder them. I had to register dropping onto items themselves instead
of cells as they ignore icon transparency when in storage for QOL
reasons, so bear with that.
## Why It's Good For The Game

Reordering your storage currently requires taking out all items in front
of position that you want a certain item to be and putting them back in
which could be rather annoying with large storages.

## Changelog
🆑
qol: You can now reorder items inside storages by dragging them
/🆑
2024-07-31 11:05:06 -04:00
SmArtKar
2e8f45737c Players can now reorder items inside storages by dragging them (#85318)
## About The Pull Request


https://github.com/user-attachments/assets/8949965f-a78a-4f3d-b528-afcdfe5c4e72

Drag'n'dropping items inside of an open storage that you can access will
reorder them. I had to register dropping onto items themselves instead
of cells as they ignore icon transparency when in storage for QOL
reasons, so bear with that.
## Why It's Good For The Game

Reordering your storage currently requires taking out all items in front
of position that you want a certain item to be and putting them back in
which could be rather annoying with large storages.

## Changelog
🆑
qol: You can now reorder items inside storages by dragging them
/🆑
2024-07-31 14:58:43 +01:00
SkyratBot
8f81666251 [MIRROR] Fixes exploit allowing players to open Bag of Holding rifts in the Heretic dimension (#29106)
* Fixes exploit allowing players to open Bag of Holding rifts in the Heretic dimension (#85330)

## About The Pull Request

This PR prevents players from opening a BoH tear in the Heretic
dimension areas. It also introduces a new area flag, "NO_BOH", which can
be added to areas to replicate this behavior.

## Why It's Good For The Game

This prevents the (very unlikely) edge case that someone manages to open
a BoH tear in one of the funny hand rooms, which is bad not only because
it fucks over anyone else who gets sacrificed, but could also interfere
with other things on that z-level (shuttles, other Lazy Template areas,
etc).

Messing with some new code here, so if there's better ways to handle
this, by all means, chime in. This is a much more elegant method than
just banning anything but the station.
## Changelog
🆑 Vekter
fix: Fixes an exploit that allowed players to open a Bag of Holding rift
in the Heretic dimension.
/🆑

---------

Co-authored-by: Kapu1178 <75460809+Kapu1178@ users.noreply.github.com>

* Fixes exploit allowing players to open Bag of Holding rifts in the Heretic dimension

---------

Co-authored-by: Vekter <TheVekter@users.noreply.github.com>
Co-authored-by: Kapu1178 <75460809+Kapu1178@ users.noreply.github.com>
2024-07-29 21:34:01 +05:30
Vekter
5b23db8a2c Fixes exploit allowing players to open Bag of Holding rifts in the Heretic dimension (#85330)
## About The Pull Request

This PR prevents players from opening a BoH tear in the Heretic
dimension areas. It also introduces a new area flag, "NO_BOH", which can
be added to areas to replicate this behavior.

## Why It's Good For The Game

This prevents the (very unlikely) edge case that someone manages to open
a BoH tear in one of the funny hand rooms, which is bad not only because
it fucks over anyone else who gets sacrificed, but could also interfere
with other things on that z-level (shuttles, other Lazy Template areas,
etc).

Messing with some new code here, so if there's better ways to handle
this, by all means, chime in. This is a much more elegant method than
just banning anything but the station.
## Changelog
🆑 Vekter
fix: Fixes an exploit that allowed players to open a Bag of Holding rift
in the Heretic dimension.
/🆑

---------

Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
2024-07-28 21:26:34 -06:00
StrangeWeirdKitten
38c3a6336d Merge branch 'master' of https://github.com/skyrat-ss13/skyrat-tg into upstream-7-24/204 2024-07-25 00:08:53 -06:00
SyncIt21
3411cd1411 Fixes runtime with storage datum & portable chem mixer beaker insertion (#84966)
## About The Pull Request
- Fixes this when hiding the storage ui
![Screenshot
(436)](https://github.com/user-attachments/assets/a5e2e512-bbf6-4b55-a7e4-01a9e89afe39)

- Fixes #84963

## Changelog
🆑
fix: fixes runtime in storage datums when hiding the ui
fix: you can insert the withdrawal beaker into the portable chem mixer
when locked
/🆑
2024-07-17 16:51:54 -04:00
SyncIt21
976c830a5b Fixes runtime with storage datum & portable chem mixer beaker insertion (#84966)
## About The Pull Request
- Fixes this when hiding the storage ui
![Screenshot
(436)](https://github.com/user-attachments/assets/a5e2e512-bbf6-4b55-a7e4-01a9e89afe39)

- Fixes #84963

## Changelog
🆑
fix: fixes runtime in storage datums when hiding the ui
fix: you can insert the withdrawal beaker into the portable chem mixer
when locked
/🆑
2024-07-17 20:29:49 +02:00
SkyratBot
add3fb9faf [MIRROR] Make storage datums actually send COMSIG_ATOM_STORED_ITEM on the parent atom instead of COMSIG_STORAGE_STORED_ITEM (#28866)
* Make storage datums actually send `COMSIG_ATOM_STORED_ITEM` on the parent atom instead of `COMSIG_STORAGE_STORED_ITEM` (#84901)

## About The Pull Request

We have a bunch of signals for storage datums, right?

0eef564954/code/__DEFINES/dcs/signals/signals_storage.dm (L8-L18)
As the comments say, we send the atom ones on the parent and the storage
ones on the storage:

0eef564954/code/datums/storage/storage.dm (L544-L545)
Howeeeeeeeever, we don't actually do this for storing stuff:

0eef564954/code/datums/storage/storage.dm (L447-L448)
So this just swaps such over to using the right signal on the parent
atom, `COMSIG_ATOM_STORED_ITEM`.

This is technically used by the bloody spreader component, but the one
example we have of such on a storage item (the meat backpack) doesn't
seem to have a difference in functionality from this change.
So no changelog as this is not player-visible.
## Why It's Good For The Game

Should proooooobably use the right signals for the right things.

* Make storage datums actually send `COMSIG_ATOM_STORED_ITEM` on the parent atom instead of `COMSIG_STORAGE_STORED_ITEM`

---------

Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
2024-07-16 10:47:28 +05:30
_0Steven
f84e5ed713 Make storage datums actually send COMSIG_ATOM_STORED_ITEM on the parent atom instead of COMSIG_STORAGE_STORED_ITEM (#84901)
## About The Pull Request

We have a bunch of signals for storage datums, right?

0eef564954/code/__DEFINES/dcs/signals/signals_storage.dm (L8-L18)
As the comments say, we send the atom ones on the parent and the storage
ones on the storage:

0eef564954/code/datums/storage/storage.dm (L544-L545)
Howeeeeeeeever, we don't actually do this for storing stuff:

0eef564954/code/datums/storage/storage.dm (L447-L448)
So this just swaps such over to using the right signal on the parent
atom, `COMSIG_ATOM_STORED_ITEM`.

This is technically used by the bloody spreader component, but the one
example we have of such on a storage item (the meat backpack) doesn't
seem to have a difference in functionality from this change.
So no changelog as this is not player-visible.
## Why It's Good For The Game

Should proooooobably use the right signals for the right things.
2024-07-15 14:32:17 +01:00
Waterpig
a3b79bb3b3 Merge branch 'master' of https://github.com/Skyrat-SS13/Skyrat-tg into upstream-2407c 2024-07-15 10:13:59 +02:00
SkyratBot
76a9716aa0 [MIRROR] Add interaction sounds to pill bottle (#28850)
* Add interaction sounds to pill bottle (#84924)

## About The Pull Request

https://github.com/user-attachments/assets/111ec50f-9e52-41be-925a-0fb9d880ab3d
## Why It's Good For The Game
More soundscape is good for immersion
## Changelog
🆑
sound: added pickup, dropping and opening sound for pill bottle
/🆑

* Add interaction sounds to pill bottle

---------

Co-authored-by: FinancialGoose <92416224+TheBoondock@users.noreply.github.com>
2024-07-15 10:06:24 +05:30
FinancialGoose
44fd12a956 Add interaction sounds to pill bottle (#84924)
## About The Pull Request


https://github.com/user-attachments/assets/111ec50f-9e52-41be-925a-0fb9d880ab3d
## Why It's Good For The Game
More soundscape is good for immersion
## Changelog
🆑
sound: added pickup, dropping and opening sound for pill bottle
/🆑
2024-07-14 20:07:11 -06:00
Waterpig
7cb3b3f472 Merge branch 'master' of https://github.com/Skyrat-SS13/Skyrat-tg into upstream-24-07b 2024-07-08 12:30:21 +02:00
SkyratBot
1df0e42efb [MIRROR] Cigarettes and vapes are no longer subtypes of masks. (#28479)
* Cigarettes and vapes are no longer subtypes of masks.

* clothing path

* clothing misses

* more

* fix donator

* more2

* more3

* Update prop_summoner.dm

* Update prop_summoner.dm

* fix

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
2024-07-03 19:00:27 +05:30
Waterpig
00aa495320 Merge branch 'master' of https://github.com/Skyrat-SS13/Skyrat-tg into upstream-24-07a 2024-07-02 23:57:38 +02:00
Ghom
35484728f1 Cigarettes and vapes are no longer subtypes of masks. (#82942)
## About The Pull Request
Since non-clothing items can also be worn on several slots, there's no
need for cigarettes/vapes to be subtypes of masks anymore, since that
comes with a few oddities like #82870.

## Why It's Good For The Game
This should fix #82870, with about no side-effect aside them no longer
being edible by moths 🤢.
2024-06-29 12:44:48 -05:00
SkyratBot
917891f97c [MIRROR] [NO GBP] Fixes critical storage issues (#28468)
* [NO GBP] Fixes critical storage issues

* Update storage.dm

* Update storage.dm

* Update storage.dm

---------

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
2024-06-29 16:04:39 +05:30
SkyratBot
a04aa2f4f6 [MIRROR] Prettified storage UI (#28459)
* Prettified storage UI (#84160)

## About The Pull Request

This PR rewrites some storage UI code to make it compose itself from
multiple elements (corners and row connectors) and allow it to be
affected by player's preferred UI theme.
Also resprites it and adds variations for all themes.

Midnight (Default UI theme, the example doesn't show it very well but
the cells are rather transparent)

![image](https://github.com/tgstation/tgstation/assets/44720187/62c54417-ee38-4000-bea2-a8fab3b935c4)

Some examples of other themes. (Shows transparency much better)

![изображение](https://github.com/tgstation/tgstation/assets/44720187/9323dab9-d127-4f51-9ea0-7057bb7e022c)

![изображение](https://github.com/tgstation/tgstation/assets/44720187/368e775a-6644-4372-b66a-0e33f790b7bf)

## Why It's Good For The Game

Storage UI is ancient and doesn't look very good, nor fit the modern UI
in general.

## Changelog
🆑
code: Rewrote a portion of storage UI code to allow it to be influenced
by UI style.
image: Prettified storage UI and made it affected by UI theme.
/🆑

---------

Co-authored-by: san7890 <the@ san7890.com>

* Prettified storage UI

---------

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2024-06-29 10:48:37 +05:30
SkyratBot
df9daa6d32 [MIRROR] You can access your inventory when lying down (#28434)
* You can access your inventory when lying down (#84380)

## About The Pull Request
- Fixes #84373

## Changelog
🆑
fix: you can access your inventory when lying down
/🆑

* You can access your inventory when lying down

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2024-06-29 10:33:27 +05:30
SmArtKar
9861f0e5df [NO GBP] Fixes critical storage issues (#84449)
## About The Pull Request

Closes #84447
Closes #84445

Fixes incorrect assoc list deletion, storage deletion order and some
math oopsies

## Changelog
🆑
fix: Storage no longer deletes all of its viewers upon being deleted
fix: Storage UI now renders properly
/🆑
2024-06-28 21:50:23 -07:00
SmArtKar
6a7e6ad3b5 Prettified storage UI (#84160)
## About The Pull Request

This PR rewrites some storage UI code to make it compose itself from
multiple elements (corners and row connectors) and allow it to be
affected by player's preferred UI theme.
Also resprites it and adds variations for all themes.

Midnight (Default UI theme, the example doesn't show it very well but
the cells are rather transparent)


![image](https://github.com/tgstation/tgstation/assets/44720187/62c54417-ee38-4000-bea2-a8fab3b935c4)

Some examples of other themes. (Shows transparency much better)


![изображение](https://github.com/tgstation/tgstation/assets/44720187/9323dab9-d127-4f51-9ea0-7057bb7e022c)

![изображение](https://github.com/tgstation/tgstation/assets/44720187/368e775a-6644-4372-b66a-0e33f790b7bf)

## Why It's Good For The Game

Storage UI is ancient and doesn't look very good, nor fit the modern UI
in general.

## Changelog
🆑
code: Rewrote a portion of storage UI code to allow it to be influenced
by UI style.
image: Prettified storage UI and made it affected by UI theme.
/🆑

---------

Co-authored-by: san7890 <the@san7890.com>
2024-06-28 15:38:00 -07:00
SyncIt21
f42a7fe394 You can access your inventory when lying down (#84380)
## About The Pull Request
- Fixes #84373

## Changelog
🆑
fix: you can access your inventory when lying down
/🆑
2024-06-28 10:07:27 -04:00
SkyratBot
5513052ab8 [MIRROR] Some alt & ctrl click improvements (#28391)
* Some alt & ctrl click improvements (#84203)

## About The Pull Request
Improved code quality of both so they resemble each other. Some of the
new specs are as follows

1. Moved` COMSIG_CLICK_ALT` & `COMSIG_CLICK_ALT_SECONDARY` up i.e.
before `can_perform_action()` making them pure hooks not bound by any
action checks giving components full control over them
2. Removed range check(`CAN_I_SEE`) & view check(`is_blind()`) out of
the base alt click proc. They now only apply to living mobs and don't
apply to ghosts(ghosts don't get blind & see everything) & revenants
(the range check still applies for revenants though).

This was actually a bug because these 2 checks were only meant to see if
the loot panel could be opened (as stated in
https://github.com/tgstation/tgstation/pull/83736#discussion_r1628097941)
but because they are at the top of the proc they also apply to all alt
click actions which is not intended. Also, by moving these checks down
to mob subtype levels some of the snowflake checks like this
7579e0e173/code/_onclick/click_alt.dm (L23)
can be removed. We should not check for subtypes within the parent type
proc but instead have subtypes override their parent procs to implement
custom behaviour
3. Removed redundant signals like` COMSIG_XENO_SLIME_CLICK_ALT` in
favour of just `COMSIG_MOB_ALTCLICKON`
4. While looking for alt click signal overrides I found alt click for
style meter was run timing, that's fixed now

## Changelog
🆑
fix: alt click runtime no more when using style meter
code: improved alt & ctrl click code
/🆑

* Some alt & ctrl click improvements

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2024-06-26 09:40:04 +05:30
SyncIt21
9c9a5d28ff Some alt & ctrl click improvements (#84203)
## About The Pull Request
Improved code quality of both so they resemble each other. Some of the
new specs are as follows

1. Moved` COMSIG_CLICK_ALT` & `COMSIG_CLICK_ALT_SECONDARY` up i.e.
before `can_perform_action()` making them pure hooks not bound by any
action checks giving components full control over them
2. Removed range check(`CAN_I_SEE`) & view check(`is_blind()`) out of
the base alt click proc. They now only apply to living mobs and don't
apply to ghosts(ghosts don't get blind & see everything) & revenants
(the range check still applies for revenants though).

This was actually a bug because these 2 checks were only meant to see if
the loot panel could be opened (as stated in
https://github.com/tgstation/tgstation/pull/83736#discussion_r1628097941)
but because they are at the top of the proc they also apply to all alt
click actions which is not intended. Also, by moving these checks down
to mob subtype levels some of the snowflake checks like this
7579e0e173/code/_onclick/click_alt.dm (L23)
can be removed. We should not check for subtypes within the parent type
proc but instead have subtypes override their parent procs to implement
custom behaviour
3. Removed redundant signals like` COMSIG_XENO_SLIME_CLICK_ALT` in
favour of just `COMSIG_MOB_ALTCLICKON`
4. While looking for alt click signal overrides I found alt click for
style meter was run timing, that's fixed now

## Changelog
🆑
fix: alt click runtime no more when using style meter
code: improved alt & ctrl click code
/🆑
2024-06-25 16:06:59 -07:00
SkyratBot
a69e8ddc13 [MIRROR] Event Horizon Anti-Existential Beam Rifle. The ultimate conclusion to the arms race and the sniper's art. (#28285)
* Event Horizon Anti-Existential Beam Rifle. The ultimate conclusion to the arms race and the sniper's art. (#83934)

## About The Pull Request

Replaces the Particle Acceleration Rifle, or the Beam Marksman Rifle,
with the Event Horizon Anti-Existential Beam Rifle.

In short, it shoots black holes.

It takes five cores to make.

It pretty much kills everything you point it at and their immediate
bystanders as well.

You can do this from the relative safety of a whole four screens away
thanks to it having a scope.

There can only ever be one vortex anomaly made in the round. The recipe,
however, always requires the maximum number of cores that can be made in
a round. If the number goes up for some reason (maybe someone wants to
add more vortex items), so does the total number of cores needed to make
an AEBR.

## Why It's Good For The Game

Firstly; the beam rifle? Awful. Jank code. Bad performance. Ancient
balancing considerations. Just too strong to bring out regularly against
specifically blobs, but completely fucking useless against anyone else.

So I'm hitting all these problems at once. I reduced a 600 line file to
less than 60. I've removed all that bad code. I've also made it
specifically unable to combat blobs at all because singularities send
blobs off to safety.

Secondly; this is maybe the first example of 'more cores = bigger
power'. The rifle was already utterly trash to have around, and I just
didn't think the way it worked currently could really excite anyone
enough to go on a big ol' quest to get it. Solution?

You will cause a shuttle call if you get this weapon.

## Changelog
🆑
add: Replaces the Particle Acceleration Rifle with the Event Horizon
anti-existential beam rifle. It shoots black holes. You can make this
in-game. That's right, YOU!
balance: Only one vortex anomaly can be made in a round.
/🆑

---------

Co-authored-by: Jacquerel <hnevard@ gmail.com>

* Event Horizon Anti-Existential Beam Rifle. The ultimate conclusion to the arms race and the sniper's art.

* Fix linter

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
2024-06-21 13:14:49 +05:30
necromanceranne
4739cedebc Event Horizon Anti-Existential Beam Rifle. The ultimate conclusion to the arms race and the sniper's art. (#83934)
## About The Pull Request

Replaces the Particle Acceleration Rifle, or the Beam Marksman Rifle,
with the Event Horizon Anti-Existential Beam Rifle.

In short, it shoots black holes.

It takes five cores to make.

It pretty much kills everything you point it at and their immediate
bystanders as well.

You can do this from the relative safety of a whole four screens away
thanks to it having a scope.

There can only ever be one vortex anomaly made in the round. The recipe,
however, always requires the maximum number of cores that can be made in
a round. If the number goes up for some reason (maybe someone wants to
add more vortex items), so does the total number of cores needed to make
an AEBR.

## Why It's Good For The Game

Firstly; the beam rifle? Awful. Jank code. Bad performance. Ancient
balancing considerations. Just too strong to bring out regularly against
specifically blobs, but completely fucking useless against anyone else.

So I'm hitting all these problems at once. I reduced a 600 line file to
less than 60. I've removed all that bad code. I've also made it
specifically unable to combat blobs at all because singularities send
blobs off to safety.

Secondly; this is maybe the first example of 'more cores = bigger
power'. The rifle was already utterly trash to have around, and I just
didn't think the way it worked currently could really excite anyone
enough to go on a big ol' quest to get it. Solution?

You will cause a shuttle call if you get this weapon.

## Changelog
🆑
add: Replaces the Particle Acceleration Rifle with the Event Horizon
anti-existential beam rifle. It shoots black holes. You can make this
in-game. That's right, YOU!
balance: Only one vortex anomaly can be made in a round.
/🆑

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2024-06-20 13:58:21 +01:00
SkyratBot
6a8b418812 [MIRROR] Improvements for can_perform_action() (#28262)
* Improvements for `can_perform_action()` (#84006)

## About The Pull Request
The proc `can_perform_action()` now
- Accepts atoms & not just movables without runtiming. Fixes #83985
- It now uses `CanReach()` instead of `Adjacent()`. Allows you to
  - Check if the target object is placed on top & not hidden
  - Is the object inside another storage atom & such
- Properly checks for recursive locs. Before we were passing the direct
atom & not the type to `recursive_loc_check()` causing this proc to
always return true & giving us false positives. Now this proc has been
adjusted to accept both type paths & real atoms
- Removes `can_perform_turf_action()` since its now obsolete

## Changelog
🆑
fix: no more runtimes when dragging turfs onto other stuff
code: most actions now properly check for recursive locs & better
adjacency
/🆑

* Improvements for `can_perform_action()`

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2024-06-20 10:56:42 +05:30
SkyratBot
cd2b96aba3 [MIRROR] Fixes some more climbing/buckling issues (#28259)
* Fixes some more climbing/buckling issues (#83986)

## About The Pull Request

First of all, updates `COMPONENT_CANCEL_MOUSEDROPPED_ONTO` in the same
way Melbert did for `COMPONENT_CANCEL_MOUSEDROP_ONTO`, so it will only
block other interactions if it succeeds. Second of all, makes the
climbable element compatible with buckling again, since the two
behaviors have a lot of overlap.
## Why It's Good For The Game

Fixes a bug (Fixes #83998) where the chaplain altar can't be buckled to.
There might be other, similar cases that I'm not aware of.
## Changelog
🆑
fix: The chaplain altar can once again be buckled to.
/🆑

* Fixes some more climbing/buckling issues

---------

Co-authored-by: GPeckman <21979502+GPeckman@users.noreply.github.com>
2024-06-20 10:56:13 +05:30
SyncIt21
8cca0333d7 Improvements for can_perform_action() (#84006)
## About The Pull Request
The proc `can_perform_action()` now
- Accepts atoms & not just movables without runtiming. Fixes #83985
- It now uses `CanReach()` instead of `Adjacent()`. Allows you to
  - Check if the target object is placed on top & not hidden
  - Is the object inside another storage atom & such
- Properly checks for recursive locs. Before we were passing the direct
atom & not the type to `recursive_loc_check()` causing this proc to
always return true & giving us false positives. Now this proc has been
adjusted to accept both type paths & real atoms
- Removes `can_perform_turf_action()` since its now obsolete

## Changelog
🆑
fix: no more runtimes when dragging turfs onto other stuff
code: most actions now properly check for recursive locs & better
adjacency
/🆑
2024-06-19 11:47:51 -07:00
GPeckman
66b72dce25 Fixes some more climbing/buckling issues (#83986)
## About The Pull Request

First of all, updates `COMPONENT_CANCEL_MOUSEDROPPED_ONTO` in the same
way Melbert did for `COMPONENT_CANCEL_MOUSEDROP_ONTO`, so it will only
block other interactions if it succeeds. Second of all, makes the
climbable element compatible with buckling again, since the two
behaviors have a lot of overlap.
## Why It's Good For The Game

Fixes a bug (Fixes #83998) where the chaplain altar can't be buckled to.
There might be other, similar cases that I'm not aware of.
## Changelog
🆑
fix: The chaplain altar can once again be buckled to. 
/🆑
2024-06-19 11:10:36 -07:00
nevimer
e96f29d4a5 Merge remote-tracking branch 'Skyrat-SS13/master' into upstream-2024-06-16
# Conflicts:
#	_maps/_basemap.dm
#	_maps/map_files/IceBoxStation/IceBoxStation.dmm
#	_maps/skyrat/automapper/automapper_config.toml
#	code/__DEFINES/surgery.dm
#	code/datums/weather/weather_types/radiation_storm.dm
#	code/modules/antagonists/changeling/changeling.dm
#	code/modules/clothing/neck/_neck.dm
#	code/modules/events/_event.dm
#	code/modules/jobs/job_types/_job.dm
#	code/modules/mining/equipment/kinetic_crusher.dm
#	code/modules/mob/living/basic/vermin/frog.dm
#	modular_skyrat/modules/borgs/code/robot_upgrade.dm
2024-06-16 20:54:25 -04:00