Commit Graph

294 Commits

Author SHA1 Message Date
Alexis 21b4095dfd [MDB IGNORE] [IDB IGNORE] Upstream Sync - 04/17/2026 (#5453)
Upstream 04/17/2026

fixes https://github.com/Bubberstation/Bubberstation/issues/5549

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com>
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
Co-authored-by: rageguy505 <54517726+rageguy505@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Aliceee2ch <160794176+Aliceee2ch@users.noreply.github.com>
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: Tsar-Salat <62388554+Tsar-Salat@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: Maxipat <108554989+Maxipat112@users.noreply.github.com>
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: SimplyLogan <47579821+loganuk@users.noreply.github.com>
Co-authored-by: loganuk <fakeemail123@aol.com>
Co-authored-by: Leland Kemble <70413276+lelandkemble@users.noreply.github.com>
Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com>
Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com>
Co-authored-by: Lucy <lucy@absolucy.moe>
Co-authored-by: siliconOpossum <138069572+siliconOpossum@users.noreply.github.com>
Co-authored-by: Isratosh <Isratosh@hotmail.com>
Co-authored-by: TheRyeGuyWhoWillNowDie <70169560+TheRyeGuyWhoWillNowDie@users.noreply.github.com>
Co-authored-by: Neocloudy <88008002+Neocloudy@users.noreply.github.com>
Co-authored-by: Alexander V. <volas@ya.ru>
Co-authored-by: ElGitificador <168473461+ElGitificador@users.noreply.github.com>
Co-authored-by: Twaticus <46540570+Twaticus@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: Layzu666 <121319428+Layzu666@users.noreply.github.com>
Co-authored-by: Arturlang <24881678+Arturlang@users.noreply.github.com>
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
Co-authored-by: mrmanlikesbt <99309552+mrmanlikesbt@users.noreply.github.com>
Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: John F. Kennedy <54908920+MacaroniCritter@users.noreply.github.com>
Co-authored-by: Cursor <102828457+theselfish@users.noreply.github.com>
Co-authored-by: Josh <josh.adam.powell@gmail.com>
Co-authored-by: Josh Powell <josh.powell@softwire.com>
Co-authored-by: Yobrocharlie <Charliemiller5617@gmail.com>
Co-authored-by: Hardly3D <66234359+Hardly3D@users.noreply.github.com>
Co-authored-by: shayoki <96078776+shayoki@users.noreply.github.com>
Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>
2026-05-16 00:56:00 +02:00
Robwo 19c2327893 I promise It's Not Wallening™ + New Tile Variations (#5169)
## About The Pull Request

As the second half of
https://github.com/Bubberstation/Bubberstation/pull/4918, this pr is
apart of my effort to comprehensively resprite many common assets to be
more cohesive in style and whatnot.

The extra tile variations are just thrown in for more mapper freedom.
They're not deserving of an entire pr dedicated to them.

## Why It's Good For The Game

Skyrat's walls and windows are for the most part ripped from other
codebases. While they have done a serviceable job, their implementation
is not all encompassing and many variations of the standard
walls/windows they intend to replace are simply not accounted for
(namely indestructible variants).

Not to mention, with walls specifically, what has been implemented is
incredibly tedious to modify as they do not use automated icon cutting.
Instead, the dmi is manually built and false wall variations are added
to them.

On top of replacing almost every wall and window tile, walls that were
previously bereft of icon smoothing, now have the capability to do said
smoothing.

Also it's not wallening™.

## Proof Of Testing

<details>
<summary>Screenshots/Videos</summary>
<img width="2304" height="1600" alt="image"
src="https://github.com/user-attachments/assets/94c3ef7b-d754-4754-aac1-4ac36cc81086"
/>

The tile variations: 
<img width="1216" height="896" alt="image"
src="https://github.com/user-attachments/assets/cbc6707e-5258-4cbc-9a79-befaea5efb4e"
/>

<details>
<summary>Contextual Examples</summary>

**Station**
<img width="1216" height="960" alt="image"
src="https://github.com/user-attachments/assets/98357cc3-0b2b-4da4-b148-0aa8005b7efd"
/>
<img width="1216" height="960" alt="image"
src="https://github.com/user-attachments/assets/bef30efd-ae88-49f3-b706-fe34d1df97a7"
/>
<img width="1216" height="960" alt="image"
src="https://github.com/user-attachments/assets/933786f6-a6f8-4fab-b222-fbcef88a440f"
/>

**Centcom**
<img width="1216" height="960" alt="image"
src="https://github.com/user-attachments/assets/7c92c645-4fdb-4e05-91c3-100508fcf0da"
/>

**Shuttle**
<img width="1216" height="896" alt="image"
src="https://github.com/user-attachments/assets/3304c842-8bac-40b0-8024-7c6616717331"
/>

**Plastitanium**
<img width="1088" height="576" alt="image"
src="https://github.com/user-attachments/assets/cb252aab-b501-4218-bd0d-ab60492676a4"
/>
<img width="448" height="704" alt="image"
src="https://github.com/user-attachments/assets/434bceb2-4884-4d2a-826b-b524ec054a56"
/>

**Necropolis**
<img width="1216" height="960" alt="image"
src="https://github.com/user-attachments/assets/aed42870-c4a4-4255-9ff0-7544127469f5"
/>

**Assorted With Notes**

<img width="1216" height="704" alt="image"
src="https://github.com/user-attachments/assets/01f826ee-ca4d-44dc-bc9f-9057f71cb9ea"
/>
Many variations of wall replacements were not previously accounted for.
The most immediate one I could think of were the indestructible wooden
walls in the Ghost Cafe.


<img width="1216" height="960" alt="image"
src="https://github.com/user-attachments/assets/1ad067c3-840c-4f78-a24d-b597dfc34743"
/>
<img width="1216" height="960" alt="image"
src="https://github.com/user-attachments/assets/d0f44e35-46fe-4c38-865c-c3421a2c2282"
/>
The "interior" of many of the wall sprites were kept intentionally flat
and dark as to more convincingly sell perspective*.


<img width="382" height="318" alt="dreamseeker_Cy4kIapjp6"
src="https://github.com/user-attachments/assets/fa5bd972-4a44-4eef-9faf-8992a768f144"
/>

The standard walls are an exception to this rule as they need to be
readily apparent to unscrupulous ne'er-do-wells with mesons.

</details>
</details>

## Changelog

🆑 Robwo
add: Added new variations to small tiles and pod floors
image: Almost all of the wall and window sprites have been redone
image: The palette of wooden platforms now more closely match wooden
floors
image: New bronze table sprites
fix: Fixed rock wall sprites being incorrectly (un)colored
fix: Decal painter now sprays our override decals.
/🆑

---------

Co-authored-by: The Sharkening <95130227+StrangeWeirdKitten@users.noreply.github.com>
2026-05-12 00:09:07 +02:00
nevimer 6e9f2ccfc0 Merge remote-tracking branch 'tgstation/master' into upstream-12-15
# Conflicts:
#	.github/workflows/compile_all_maps.yml
#	.github/workflows/run_integration_tests.yml
#	_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm
#	code/_onclick/hud/credits.dm
#	code/controllers/subsystem/networks/id_access.dm
#	code/datums/diseases/advance/advance.dm
#	code/datums/diseases/advance/symptoms/heal.dm
#	code/game/machinery/doors/door.dm
#	code/game/objects/structures/crates_lockers/closets/secure/medical.dm
#	code/game/objects/structures/crates_lockers/closets/secure/security.dm
#	code/modules/antagonists/malf_ai/malf_ai_modules.dm
#	code/modules/jobs/job_types/_job.dm
#	code/modules/loadout/categories/accessories.dm
#	code/modules/loadout/loadout_helpers.dm
#	code/modules/loadout/loadout_items.dm
#	code/modules/loadout/loadout_preference.dm
#	code/modules/mob/living/silicon/robot/robot_defense.dm
#	code/modules/mod/mod_theme.dm
#	code/modules/projectiles/ammunition/energy/laser.dm
#	code/modules/reagents/reagent_containers/cups/drinks.dm
#	code/modules/shuttle/mobile_port/variants/supply.dm
#	code/modules/surgery/organs/internal/eyes/_eyes.dm
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_heretic.png
#	icons/hud/screen_full.dmi
2025-12-15 18:12:29 -05:00
Ghom 0b0c5ea91e Unit test material checks are now performed on all crafting recipes by default. All stack recipes now transfer mats to the results (#92620)
## About The Pull Request
Extends the part of the crafting unit test that ensures consistency
between the total mats of the components of a recipe (or rather, the
result of said recipe) and a generic instance of the same type as its
result, previously only implemented on food recipes.

## Why It's Good For The Game
This ensures a degree of consistency with the material composition of
various objects in the game. I couldn't do it in the original PR as that
one was too big already and it took months to get it merged, and have
the relative bugs fixed.

Currently a WIP as I slowly deal with the unit test reports.

## Changelog

🆑
refactor: Follow-up to the crafting/material refactor from months ago.
All objects crafted with stacks now inherit their mat composition (not
necessarily the effects and color) by default, while previously only a
few things like chair, sinks and toilets did. Report any object looking
or behaving weirdly as a result.
fix: The material composition of ammo boxes is no longer a 1/10 of what
it's supposed to be. It was a shitty hack to make it harder to recycle
empty ammo boxes. Instead, they lose materials as they're emptied now.
/🆑
2025-12-02 18:29:01 -05:00
Thunder12345 c50c88a82a Icebox ruin: RoroCo glove factory (#92473)
## About The Pull Request

Adds a new surface ruin to icebox, the RoroCo factory. Contains a couple
of puzzles, and a small amount of loot in the form of ~~3 total pairs of
insulated gloves~~ a pair of insulated gloves, two adorable roros and a
cool unique labcoat. Just don't ask where the gloves come from...

Puzzles can of course be avoided/brute-forced by breaking down the walls
but that's for chumps.

<img width="1152" height="1024" alt="Space Station 13 2025-08-06 221903"
src="https://github.com/user-attachments/assets/21050aa6-9b27-494d-a949-7496aeda18cf"
/>

## Why It's Good For The Game

The upcoming 1x3 icebox surface calls for more ruin content to help fill
that space.

## Changelog
🆑
add: A new insulated glove factory has popped up on the ice moon.
add: Freezer floor tiles now come in the full range of shapes.
/🆑
2025-08-19 22:40:43 -04:00
Thunder12345 d1b8145ad2 Icebox ruin: RoroCo glove factory (#92473)
## About The Pull Request

Adds a new surface ruin to icebox, the RoroCo factory. Contains a couple
of puzzles, and a small amount of loot in the form of ~~3 total pairs of
insulated gloves~~ a pair of insulated gloves, two adorable roros and a
cool unique labcoat. Just don't ask where the gloves come from...

Puzzles can of course be avoided/brute-forced by breaking down the walls
but that's for chumps.

<img width="1152" height="1024" alt="Space Station 13 2025-08-06 221903"
src="https://github.com/user-attachments/assets/21050aa6-9b27-494d-a949-7496aeda18cf"
/>

## Why It's Good For The Game

The upcoming 1x3 icebox surface calls for more ruin content to help fill
that space.

## Changelog
🆑
add: A new insulated glove factory has popped up on the ice moon.
add: Freezer floor tiles now come in the full range of shapes.
/🆑
2025-08-15 00:10:01 +00:00
MrMelbert bc2215667f Re-refactors batons / Refactors attack chain force modifiers (#90809)
Melee attack chain now has a list passed along with it,
`attack_modifiers`, which you can stick force modifiers to change the
resulting attack

This is basically a soft implementation of damage packets until a more
definitive pr, but one that only applies to item attack chain, and not
unarmed attacks.

This change was done to facilitate a baton refactor - batons no longer
hack together their own attack chain, and are now integrated straight
into the real attack chain. This refactor itself was done because batons
don't send any attack signals, which has been annoying in the past (for
swing combat).

🆑 Melbert
refactor: Batons have been refactored again. Baton stuns now properly
count as an attack, when before it was a nothing. Report any oddities,
particularly in regards to harmbatonning vs normal batonning.
refactor: The method of adjusting item damage mid-attack has been
refactored - some affected items include the Nullblade and knives.
Report any strange happenings with damage numbers.
refactor: A few objects have been moved to the new interaction chain -
records consoles, mawed crucible, alien weeds and space vines, hedges,
restaurant portals, and some mobs - to name a few.
fix: Spears only deal bonus damage against secure lockers, not all
closet types (including crates)
/🆑
2025-05-22 21:30:07 -04:00
MrMelbert 5261efb67f Re-refactors batons / Refactors attack chain force modifiers (#90809)
## About The Pull Request

Melee attack chain now has a list passed along with it,
`attack_modifiers`, which you can stick force modifiers to change the
resulting attack

This is basically a soft implementation of damage packets until a more
definitive pr, but one that only applies to item attack chain, and not
unarmed attacks.

This change was done to facilitate a baton refactor - batons no longer
hack together their own attack chain, and are now integrated straight
into the real attack chain. This refactor itself was done because batons
don't send any attack signals, which has been annoying in the past (for
swing combat).

## Changelog

🆑 Melbert
refactor: Batons have been refactored again. Baton stuns now properly
count as an attack, when before it was a nothing. Report any oddities,
particularly in regards to harmbatonning vs normal batonning.
refactor: The method of adjusting item damage mid-attack has been
refactored - some affected items include the Nullblade and knives.
Report any strange happenings with damage numbers.
refactor: A few objects have been moved to the new interaction chain -
records consoles, mawed crucible, alien weeds and space vines, hedges,
restaurant portals, and some mobs - to name a few.
fix: Spears only deal bonus damage against secure lockers, not all
closet types (including crates)
/🆑
2025-05-19 13:32:12 +10:00
Ghom 11d82b7995 You can now interact with held mobs beside wearing them (feat: "minor" melee attack chain cleanup) (#90080)
People can now pet held mothroaches and pugs if they want to, or use
items on them, hopefully without causing many issues. After all, it only
took about a couple dozen lines of code to make...

...Oh, did the 527 files changed or the 850~ lines added/removed perhaps
catch your eye? Made you wonder if I accidentally pushed the wrong
branch? or skewed something up big time? Well, nuh uh. I just happen to
be fed up with the melee attack chain still using stringized params
instead of an array/list. It was frankly revolting to see how I'd have
had to otherwise call `list2params` for what I'm trying to accomplish
here, and make this PR another tessera to the immense stupidity of our
attack chain procs calling `params2list` over and over and over instead
of just using that one call instance from `ClickOn` as an argument. It's
2025, honey, wake up!

I also tried to replace some of those single letter vars/args but there
are just way too many of them.

Improving old code. And I want to be able to pet mobroaches while
holding them too.

🆑
qol: You can now interact with held mobs in more ways beside wearing
them.
/🆑
2025-04-29 18:22:44 -06:00
Ghom 339616ae78 You can now interact with held mobs beside wearing them (feat: "minor" melee attack chain cleanup) (#90080)
## About The Pull Request
People can now pet held mothroaches and pugs if they want to, or use
items on them, hopefully without causing many issues. After all, it only
took about a couple dozen lines of code to make...

...Oh, did the 527 files changed or the 850~ lines added/removed perhaps
catch your eye? Made you wonder if I accidentally pushed the wrong
branch? or skewed something up big time? Well, nuh uh. I just happen to
be fed up with the melee attack chain still using stringized params
instead of an array/list. It was frankly revolting to see how I'd have
had to otherwise call `list2params` for what I'm trying to accomplish
here, and make this PR another tessera to the immense stupidity of our
attack chain procs calling `params2list` over and over and over instead
of just using that one call instance from `ClickOn` as an argument. It's
2025, honey, wake up!

I also tried to replace some of those single letter vars/args but there
are just way too many of them.

## Why It's Good For The Game
Improving old code. And I want to be able to pet mobroaches while
holding them too.

## Changelog

🆑
qol: You can now interact with held mobs in more ways beside wearing
them.
/🆑
2025-04-23 20:18:26 +00:00
Waterpig 753d8e5ba4 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-25-04a 2025-04-08 18:58:45 +02:00
_0Steven 3b73af32c5 Table frame interaction refactor (#89880)
## About The Pull Request

So I was looking for `attackby(...)` instances to kill and, hey look,
table frames- oh what the fuck is this.
Oh why does this have the same checks like five times, across the parent
type and subtypes.

So this pr's primary point is to refactor the table frame
`attackby(...)` into `item_interaction(...)`, and by extension lower the
amount of weird `attackby(...)` override jank going on with them.
Instead of having all of the subtypes define their own almost exactly
the same table construction interactions, we use a single generic
interaction chain and add a new `get_table_type(...)` proc to let
subtypes override what tables to construct for what stacks.

We also move the assigning of frame-and-stack-related things to the
actual table types themselves, instead of specifying all these
interactions on the frame.

We also add screentips for deconstruction and table construction, again
using the `get_table_type(...)` proc so screentips can differentiate
between which stacks can and can't make a table for our table without
needing to change the screentips manually for the subtypes.

Beyond that is mostly generic clean-up.

I'm a bit icky on my implementation of
`/obj/item/stack/proc/get_table_type()`, because of hardcoding for
`/obj/structure/table/greyscale`, but I think it's better than the
alternatives.
This lets us use the old method of letting all `/obj/item/stack/sheet`
subtypes use the generic material table, but limit it to working as long
as they define a `material_type`. I feel it's better than letting broken
tables exist, needing to hardcode it on the table frame, or needing to
expect people to add the generic material table `table_type` whenever
they add a `material_type` (no one would do this).
## Why It's Good For The Game

Screentips good 👍
Less jank encountered good.
Specifically the inability to deconstruct table frames on right click
when tables can be deconstructed on right click has thrown me off so
many times it's wild.
## Changelog
🆑
refactor: Refactored table frame interactions, please report any issues.
fix: You can no longer make material-less material tables out of certain
items.
fix: Fancy tables remember which carpet was used to make them, and no
longer magically transmute carpets into simpler types.
fix: You can no longer stack abductor table frame-using tables
specifically.
qol: Added screentips for deconstructing table frames and constructing
tables out of them if the material you're holding can do so.
qol: Table frames can now also be deconstructed on right click for
parity with tables, in addition to left click.
qol: Table frame interactions use balloon alerts.
/🆑
2025-03-17 02:14:43 +01:00
Likteer 97a4e1af84 Usable hay tiles (#89570)
Dry grass. Collect hay tile. Get floor like in the raptor barn.

![obraz](https://github.com/user-attachments/assets/580aeb05-3bca-42fe-be74-8ff5077ea6f6)
If anyone has a better idea for in-game tile & turf descriptions, don't
be shy.

Coded in Dream Maker  💅
## About The Pull Request
I wanted hay tiles for a while.
The closest thing within my grasp was heat-damaged grass tiles.

![obraz](https://github.com/user-attachments/assets/4ddc80c6-4a56-4382-8f59-ebf2ce22e563)
Tedious and not satisfactory.

Then goofball and ben10omnitrix made the raptor PR. 
Cool! 
And it has a nice hay turf...

![obraz](https://github.com/user-attachments/assets/797c6002-f640-4365-82f8-4fdfef15b349)
But not usable by the player.
I made it usable.
## Why It's Good For The Game
Nice decor option. 
I need this for something sinister.
## Changelog
🆑
add: Grown grass can be dryed (rack/dehumidifier) to make hay tiles.
/🆑
2025-03-12 16:46:49 -04:00
itsmeow d589388355 RTD Icon Improvements (#89491)
## About The Pull Request

RTDs try to use tile item icons instead of turf icons for code that was
clearly intended to work with turfs themselves (they support combination
dirs, but none of the items actually have these!)

They also recreate datums with static data *every single time* you
select a new tile in *each individual RTD*. They now make much smarter
use of this data and quit storing stuff inside temporary datums that get
deleted every time you select something else.

FYI this thing is still pretty busted but I don't have time to fix every
problem with it. I'm mainly doing this to get rid of the Turn() procs
and broken, nonexistent dirs being inserted into the spritesheet for
#89478.

## Why It's Good For The Game

Code improvements, better previews of the turfs you're going to get in
the RTD.


![image](https://github.com/user-attachments/assets/3732370b-36ba-4221-8571-e80a20ff21d8)

## Changelog

🆑
tweak: RTDs now show the icon of the actual turf being placed rather
than its tile item.
/🆑
2025-03-12 16:03:01 -04:00
Tojo a6f257693c Wood Wall Resprite, Biodome changes, new Wooden CatWalks (#3107)
## About The Pull Request
Resprites the Wooden Walls, changes Biodome Bar to use a Staircase, and
gives it some fancy curtains, and even adds some new Wooden Catwalks for
some smoking areas.
## Why It's Good For The Game
MMM YESS I AM THE BARTENDER I WILL NOW CLIMB MY ICONIC BARTENDER LADDER
TO GET TO MY WACKY BARTENDER BACK ROOM.

Oh, and it looks good!

## Proof Of Testing
<details>
<summary>Screenshots/Videos</summary>


![image](https://github.com/user-attachments/assets/8998c0de-a5f1-4f86-8921-3c2e42c1f120)

![image](https://github.com/user-attachments/assets/e26207f1-2d66-44dc-a207-1e5e656e539c)

![image](https://github.com/user-attachments/assets/e3e8ee82-2f77-4de1-a333-13ea86a7b890)

![image](https://github.com/user-attachments/assets/d86bd7dd-eb5e-4a7f-bbdd-b98bcb8591db)


</details>

## Changelog
🆑
image: Resprites Wood Walls, adds new Wood Flooring.
map: updated the Biodome Bar area.
/🆑

---------

Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com>
Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>
2025-03-07 23:33:36 +00:00
Likteer b2b97539fc Usable hay tiles (#89570)
Dry grass. Collect hay tile. Get floor like in the raptor barn.

![obraz](https://github.com/user-attachments/assets/580aeb05-3bca-42fe-be74-8ff5077ea6f6)
If anyone has a better idea for in-game tile & turf descriptions, don't
be shy.

Coded in Dream Maker  💅
## About The Pull Request
I wanted hay tiles for a while.
The closest thing within my grasp was heat-damaged grass tiles.

![obraz](https://github.com/user-attachments/assets/4ddc80c6-4a56-4382-8f59-ebf2ce22e563)
Tedious and not satisfactory.

Then goofball and ben10omnitrix made the raptor PR. 
Cool! 
And it has a nice hay turf...

![obraz](https://github.com/user-attachments/assets/797c6002-f640-4365-82f8-4fdfef15b349)
But not usable by the player.
I made it usable.
## Why It's Good For The Game
Nice decor option. 
I need this for something sinister.
## Changelog
🆑
add: Grown grass can be dryed (rack/dehumidifier) to make hay tiles.
/🆑
2025-02-23 17:45:57 +00:00
Majkl-J b6b8306fda Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-25-02a 2025-02-20 00:00:19 -08:00
itsmeow 0ab9b55a1f RTD Icon Improvements (#89491)
## About The Pull Request

RTDs try to use tile item icons instead of turf icons for code that was
clearly intended to work with turfs themselves (they support combination
dirs, but none of the items actually have these!)

They also recreate datums with static data *every single time* you
select a new tile in *each individual RTD*. They now make much smarter
use of this data and quit storing stuff inside temporary datums that get
deleted every time you select something else.

FYI this thing is still pretty busted but I don't have time to fix every
problem with it. I'm mainly doing this to get rid of the Turn() procs
and broken, nonexistent dirs being inserted into the spritesheet for
#89478.

## Why It's Good For The Game

Code improvements, better previews of the turfs you're going to get in
the RTD.


![image](https://github.com/user-attachments/assets/3732370b-36ba-4221-8571-e80a20ff21d8)

## Changelog

🆑
tweak: RTDs now show the icon of the actual turf being placed rather
than its tile item.
/🆑
2025-02-17 00:20:56 +01:00
Penelope Haze 4c2a76ede3 Fix a large number of typos (#89254)
Fixes a very large number of typos. A few of these fixes also extend to
variable names, but only the really egregious ones like "concious".
2025-01-28 22:16:16 +01:00
Penelope Haze 8196190aa1 Removes a a at at be be of of and and have have (#89155)
## About The Pull Request
I just had to one-up https://github.com/tgstation/tgstation/pull/89127.

## Why It's Good For The Game
Removes a a at at be be of of and and have have

## Changelog
N/A
2025-01-22 08:09:57 +11:00
Ben10Omintrix d2c8e10e26 Repairbots (#86084)
## About The Pull Request
adds repairbots to the game!

![repairbot](https://github.com/user-attachments/assets/8c492c7c-6c12-4095-89f6-cc97ae1edbc0)

this pr serves as a massive rework and buff to floorbots. i was a bit
sad that they dont get built much anymore so ive given them tons of more
utilities and uses.
Repairbots still inherit to place tiles and repair breaches. but they
can now rebuild walls, rebuild windows and repair structure and
machinery. Also Ive given them voicelines to add more character to them.
In short, they are very depressed with their job (however they express
their happy go lucky attitude when u emag them where they will start
deconstructing the station)

to demonstrate capabilities, here's a slightly sped up clip of some
repairbots patching up an area that was maxcapped 4 times:

https://github.com/user-attachments/assets/bddac3b0-1984-4571-85d3-c5283dd7c0de

When repairbots feel threatened, they will retract into their little
toolbox which u can pick up and hold in ur hand, either to conveniently
carry and plop them down at breached sites, or to bash skull with it

U can build them using a toolbox, proximity sensor, cyborg arm and a
conveyor belt

## Why It's Good For The Game
refactors floorbots and makes them alot more useful tools for engineers
to use


## Changelog
🆑
refactor: floorbots have been refactored, please report any bugs
add: adds repairbots to the game!
/🆑
2024-11-19 15:19:44 -05:00
Tim af3ae5246e Fix glass floor crowbar interactions (#87630)
## About The Pull Request
Fixes #87569

This allows glass floor tiles (reinforced/plasma/etc.) to be crowbarred.
It also removes deprecated code from #66301 that was used as a band aid
to handle openspace multi-z interactions with glass floors.

## Why It's Good For The Game
Glass floors were permanently preventing people from placing or fixing
wires/pipes/etc since the tile could not be crowbarred.

## Changelog
🆑
fix: Glass floors can now be crowbarred.
code: Removed deprecated crowbar code for tiles
/🆑
2024-11-03 14:38:35 +01: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
Hoolny ae9d8f28a7 Material tiles now have inhand sprites (#87347)
## About The Pull Request
Fixes material tiles having no sprites
closes #87346

![dreamseeker_cWKNeQ1vM9](https://github.com/user-attachments/assets/a45e7741-3254-4694-b507-221f10c4f0d9)
## Why It's Good For The Game
It makes the game look bad to have error sprites and messages going
around, also color coating is cool.
## Changelog
🆑 Hoolny
fix: fixes material tiles having no inhand sprites
/🆑
2024-10-23 14:18:20 +02:00
grungussuss 58501dce77 Reorganizes the sound folder (#86726)
## About The Pull Request

<details>

- renamed ai folder to announcer

-- announcer --
- moved vox_fem to announcer
- moved approachingTG to announcer

- separated the ambience folder into ambience and instrumental
-- ambience --

- created holy folder moved all related sounds there
- created engineering folder and moved all related sounds there
- created security folder and moved ambidet there
- created general folder and moved ambigen there
- created icemoon folder and moved all icebox-related ambience there
- created medical folder and moved all medbay-related ambi there
- created ruin folder and moves all ruins ambi there
- created beach folder and moved seag and shore there
- created lavaland folder and moved related ambi there
- created aurora_caelus folder and placed its ambi there
- created misc folder and moved the rest of the files that don't have a
specific category into it

-- instrumental --

- moved traitor folder here
- created lobby_music folder and placed our songs there (title0 not used
anywhere? - server-side modification?)

-- items --

- moved secdeath to hailer
- moved surgery to handling

-- effects --

- moved chemistry into effects
- moved hallucinations into effects
- moved health into effects
- moved magic into effects

-- vehicles --

- moved mecha into vehicles


created mobs folder

-- mobs --

- moved creatures folder into mobs
- moved voice into mobs

renamed creatures to non-humanoids
renamed voice to humanoids

-- non-humanoids--

created cyborg folder
created hiss folder
moved harmalarm.ogg to cyborg

-- humanoids --




-- misc --

moved ghostwhisper to misc
moved insane_low_laugh to misc

I give up trying to document this.

</details>

- [X] ambience
- [x] announcer
- [x] effects
- [X] instrumental
- [x] items
- [x] machines
- [x] misc 
- [X] mobs
- [X] runtime
- [X] vehicles

- [ ] attributions

## Why It's Good For The Game

This folder is so disorganized that it's vomit inducing, will make it
easier to find and add new sounds, providng a minor structure to the
sound folder.

## Changelog
🆑 grungussuss
refactor: the sound folder in the source code has been reorganized,
please report any oddities with sounds playing or not playing
server: lobby music has been repathed to sound/music/lobby_music
/🆑
2024-09-23 22:24:50 -07:00
klorpa 69176298ed Spelling Fixes (#86056)
## About The Pull Request
Fixes several errors to spelling, grammar, and punctuation.
## Why It's Good For The Game
Improves readability and user experience.
## Changelog
🆑
spellcheck: fixed a few typos
/🆑
2024-09-10 17:04:59 +02:00
SkyratBot bb3c12d7d9 [MIRROR] Resprites Catwalk Tiles to match TG's floortiles (#28778)
* Resprites Catwalk Tiles to match TG's floortiles (#84819)

## About The Pull Request
Forgive me Maintainers, for I have sinned.
Months ago, a year ago, maybe longer, I PR'd some new and improved
sprites for the Catwalk Tiles here to TG. And when I did, I did not use
the right tile palettes for reference.

I have come to atone.

![image](https://github.com/tgstation/tgstation/assets/76465278/16605b30-455c-4c17-863b-00451a76fe27)

![image](https://github.com/tgstation/tgstation/assets/76465278/2d91e1b0-37c9-4916-b02a-9b23db0e3028)

![image](https://github.com/tgstation/tgstation/assets/76465278/c4233dec-1871-42ac-848b-2e8e94454dbc)

![image](https://github.com/tgstation/tgstation/assets/76465278/d8f09852-a8aa-4093-a4fd-68ddcbbc51af)

![image](https://github.com/tgstation/tgstation/assets/76465278/ff219529-d91c-459c-b8dc-b95e44890fa6)

Additionally, I removed a duplicate white catwalk tile (flat_white - the
one left is iron_white) and changed the `none`/error icon in the file to
double as both an error marker, and a template of the catwalk mesh for
future catwalk tile sprites.
## Why It's Good For The Game
Consistent matching tile sprites are much, much nicer to look at.
## Changelog
🆑
image: re-sprited Catwalk Floor Tiles to fit with TG floor tiles
/🆑

* Resprites Catwalk Tiles to match TG's floortiles

* modular

---------

Co-authored-by: OrionTheFox <76465278+OrionTheFox@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
2024-07-12 18:24:09 +05:30
OrionTheFox ddef344307 Resprites Catwalk Tiles to match TG's floortiles (#84819)
## About The Pull Request
Forgive me Maintainers, for I have sinned.
Months ago, a year ago, maybe longer, I PR'd some new and improved
sprites for the Catwalk Tiles here to TG. And when I did, I did not use
the right tile palettes for reference.

I have come to atone.


![image](https://github.com/tgstation/tgstation/assets/76465278/16605b30-455c-4c17-863b-00451a76fe27)

![image](https://github.com/tgstation/tgstation/assets/76465278/2d91e1b0-37c9-4916-b02a-9b23db0e3028)

![image](https://github.com/tgstation/tgstation/assets/76465278/c4233dec-1871-42ac-848b-2e8e94454dbc)

![image](https://github.com/tgstation/tgstation/assets/76465278/d8f09852-a8aa-4093-a4fd-68ddcbbc51af)

![image](https://github.com/tgstation/tgstation/assets/76465278/ff219529-d91c-459c-b8dc-b95e44890fa6)

Additionally, I removed a duplicate white catwalk tile (flat_white - the
one left is iron_white) and changed the `none`/error icon in the file to
double as both an error marker, and a template of the catwalk mesh for
future catwalk tile sprites.
## Why It's Good For The Game
Consistent matching tile sprites are much, much nicer to look at.
## Changelog
🆑
image: re-sprited Catwalk Floor Tiles to fit with TG floor tiles
/🆑
2024-07-11 02:27:39 +02:00
Andrew d6bafafc35 Moved loose tiles and wallframes to crafting (#84210)
## About The Pull Request

There were some tiles and wallframes in lathe designs, while most of
these are already in the crafting menu. Moved all of them into the
crafting menu to avoid confusion, when you can't find some wallframe in
the menu because it must be built in lathe.

Made the light tile craftable in menu, instead of slap-crafting, and
made the circuit tiles use similar recipe (since they both are emissive
tiles). And the circuit tiles can now be cycled in-hand:

![image](https://github.com/tgstation/tgstation/assets/3625094/c7caa5fb-54dd-44d7-8f71-cd02ad740eee)

## Why It's Good For The Game

Centralized place for tiles and wallframes.

## Changelog

🆑
qol: Made light tiles available in the crafting menu
qol: Circuit tile variants can be cycled in-hand
add: Moved loose tiles and wall frames from lathe designs to other tiles
and frames in the crafting menu
/🆑

---------

Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
2024-06-30 13:46:05 -04:00
Andrew e421f8e7c4 Moved loose tiles and wallframes to crafting (#84210)
## About The Pull Request

There were some tiles and wallframes in lathe designs, while most of
these are already in the crafting menu. Moved all of them into the
crafting menu to avoid confusion, when you can't find some wallframe in
the menu because it must be built in lathe.

Made the light tile craftable in menu, instead of slap-crafting, and
made the circuit tiles use similar recipe (since they both are emissive
tiles). And the circuit tiles can now be cycled in-hand:


![image](https://github.com/tgstation/tgstation/assets/3625094/c7caa5fb-54dd-44d7-8f71-cd02ad740eee)

## Why It's Good For The Game

Centralized place for tiles and wallframes.

## Changelog

🆑
qol: Made light tiles available in the crafting menu
qol: Circuit tile variants can be cycled in-hand
add: Moved loose tiles and wall frames from lathe designs to other tiles
and frames in the crafting menu
/🆑

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2024-06-30 17:39:38 +00:00
SkyratBot 5591d15b5f [MIRROR] fix tile/rod/rcd multi-z hole repairs (#28387)
* 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
/🆑

* fix tile/rod/rcd multi-z hole repairs

---------

Co-authored-by: FlufflesTheDog <piecopresident@gmail.com>
2024-06-25 16:25:26 +05:30
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
SkyratBot b540aaf8ab [MIRROR] Afterattack is dead, long live Afterattack (#28128)
* Afterattack is dead, long live Afterattack

* wew

* fixes

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2024-06-15 04:02:11 +02: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
SkyratBot 3bc6345a97 [MIRROR] Fix incorrect carpet reskin options [MDB IGNORE] (#25986)
* Fix incorrect carpet reskin options (#80756)

## About The Pull Request

Fixes https://github.com/tgstation/tgstation/issues/80737 where carpet
types with no reskinnable variants showing the default carpet variant.

## Changelog

🆑 LT3
fix: Alternate carpet colors will no longer reskin to normal carpet
/🆑

* Fix incorrect carpet reskin options

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2024-01-04 19:30:52 +00:00
lessthanthree 80de91088e Fix incorrect carpet reskin options (#80756)
## About The Pull Request

Fixes https://github.com/tgstation/tgstation/issues/80737 where carpet
types with no reskinnable variants showing the default carpet variant.

## Changelog

🆑 LT3
fix: Alternate carpet colors will no longer reskin to normal carpet
/🆑
2024-01-04 18:30:25 +00:00
SkyratBot b15b16976a [MIRROR] Attack chain refactoring: Broadening tool_act into item_interact, moving some item interactions to... atom/item_interact / item/interact_with_atom [MDB IGNORE] (#25516)
* Attack chain refactoring: Broadening `tool_act` into `item_interact`, moving some item interactions to... `atom/item_interact` / `item/interact_with_atom`

* Patches up merge skew (#80197)

## About The Pull Request

Yeah #79968 (1e76fd70b4) was not
compatible with master but no one said anything on the PR so i got
jebaited into merging it. The code should be up to the same standards
per the documentation I read (preventing thwacking the target in certain
situations while not returning anything in other situations)

master will definitely compile now though

* Patches up merge skew

* Merge conflicts

* Modular adjustments

* Removes this entirely duplicated proc...

* Update tool_override.dm

* Update weldingtool.dm

* Update tool_override.dm

* Update tool_override.dm

* Nope. Copy paste begone.

A skyrat edit is so much easier to deal with here

* Update brand_intelligence.dm

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-12-09 08:22:19 -05:00
MrMelbert 1e76fd70b4 Attack chain refactoring: Broadening tool_act into item_interact, moving some item interactions to... atom/item_interact / item/interact_with_atom (#79968)
## About The Pull Request

Implements half of this (with some minor changes): 


![image](https://github.com/tgstation/tgstation/assets/51863163/bf5cc4bb-5a1f-42e3-921d-9a57bc6096cc)

The ultimate goal of this is to split our attack chain in two: 
- One for non-combat item interactions
  - Health analyzer scanning
  - using tools on stuff
  - surgery
  - Niche other interactions
- One for combat attacking
  - Item hit thing, item deal damage. 
  - Special effects on attack would go here.  

This PR begins this by broadining tool act into item interact. 

Item interact is a catch-all proc ran at the beginning of attack chain,
before `pre_attack` and such, that handles the first part of the chain.

This allows us to easily catch item interaction and cancel the attack
part of the chain by using deliberate bitflag return values, rather than
`TRUE` / `FALSE`*.

*Because right now, `TRUE` = `cancel attack`, no matter what, which is
unclear to people.

Instead of moving as much as possible to the new proc in this PR, I
started by doing some easy, obvious things. More things can be moved in
the future, or technically they don't even need to move in a lot of
cases.

## Changelog

🆑 Melbert
refactor: Refactored some methods of items interacting with other
objects or mobs, such as surgery and health analzyers. Report if
anything seems wrong
/🆑
2023-12-08 23:50:19 -07:00
SkyratBot 4c01e3f805 [MIRROR] Demotes the "electrical conductivity" flag from flags_1 to obj_flags [MDB IGNORE] (#25381)
* Demotes the "electrical conductivity" flag from `flags_1` to `obj_flags` (#80033)

## About The Pull Request

Code to handle this flag only ever existed on the `/obj` sublevel, so
there's no need for it to be on the `/atom` level `flags_1`. There was
probably a point in time in which mobs or turfs conducted electricity
but there's zero code for it anymore so we truly just live in a society
now.
## Why It's Good For The Game

Frees up a slot on `flags_1` (which is really nice actually), proper
scoping of certain bitflag stuff, etc.
## Changelog
Not relevant to players.

I may have screwed something up, will be doing a few passes on this
myself to ensure all the search and replaces went alright but we should
be good™️

* Demotes the "electrical conductivity" flag from `flags_1` to `obj_flags`

* Modular

* Update misc.dm

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-12-03 07:58:26 +00:00
san7890 7f7688b60a Demotes the "electrical conductivity" flag from flags_1 to obj_flags (#80033)
## About The Pull Request

Code to handle this flag only ever existed on the `/obj` sublevel, so
there's no need for it to be on the `/atom` level `flags_1`. There was
probably a point in time in which mobs or turfs conducted electricity
but there's zero code for it anymore so we truly just live in a society
now.
## Why It's Good For The Game

Frees up a slot on `flags_1` (which is really nice actually), proper
scoping of certain bitflag stuff, etc.
## Changelog
Not relevant to players.

I may have screwed something up, will be doing a few passes on this
myself to ensure all the search and replaces went alright but we should
be good™️
2023-12-01 21:43:46 -05:00
SkyratBot 558c466b81 [MIRROR] Splits placeontop proc [MDB IGNORE] (#25103)
* Splits placeontop proc (#79702)

## About The Pull Request
I find the proc hard to read honestly. There's no reason we can't split
this into two functions - the secondary functionality is used only once,
in reader.dmm.
## Why It's Good For The Game
Code improvement
Glorious snake case
## Changelog
N/A nothing player facing

---------

Co-authored-by: san7890 <34697715+san7890@ users.noreply.github.com>

* Splits placeontop proc

* Update brass_spreader.dm

---------

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: san7890 <34697715+san7890@ users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-11-19 10:28:18 -05:00
Jeremiah 7a1b1fa9ad Splits placeontop proc (#79702)
## About The Pull Request
I find the proc hard to read honestly. There's no reason we can't split
this into two functions - the secondary functionality is used only once,
in reader.dmm.
## Why It's Good For The Game
Code improvement
Glorious snake case
## Changelog
N/A nothing player facing

---------

Co-authored-by: san7890 <34697715+san7890@users.noreply.github.com>
2023-11-19 04:58:31 +01:00
SkyratBot 7cf7be4b7b [MIRROR] Tram v6/Transport Subsystem [MDB IGNORE] (#24399)
* Tram v6/Transport Subsystem

* Update icon_smoothing.dm

* Update utility.dm

* defines/icon

* Update airlock.dm

* Update door.dm

* Update airlock.dm

* Update airlock.dm

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-10-17 15:16:46 -07:00
lessthanthree 7626c3bd6c Tram v6/Transport Subsystem (#78230)
Co-authored-by: Unit0016 <50649185+unit0016@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
2023-10-17 10:52:38 -07:00
SkyratBot a55591a09a [MIRROR] Makes it easier to place tiles on multi-z holes [MDB IGNORE] (#23381)
* Makes it easier to place tiles on multi-z holes (#77935)

## About The Pull Request
Adds the "open space click handler" to tile stacks, which makes it so
you don't have to pixel hunt for a turf on the BELOW z level in order to
fix a hole.
This exists on rods and rpds since they're often used to fix holes.
But wasn't added to tiles when they were made to be able to fix holes
directly, without rods.

Additionally, closes #77540 by having the open space click handler loop
up z levels so that it works if you're clicking on items from multiple z
levels away.
## Why It's Good For The Game
The current behavior can be very frustrating to work around, and appears
to not be intended.
## Changelog
🆑
fix: Made it easier to place tiles on multi z level holes
/🆑

* Makes it easier to place tiles on multi-z holes

---------

Co-authored-by: FlufflesTheDog <piecopresident@gmail.com>
2023-08-28 01:57:23 -04:00
FlufflesTheDog 7941c0c26f Makes it easier to place tiles on multi-z holes (#77935)
## About The Pull Request
Adds the "open space click handler" to tile stacks, which makes it so
you don't have to pixel hunt for a turf on the BELOW z level in order to
fix a hole.
This exists on rods and rpds since they're often used to fix holes.
But wasn't added to tiles when they were made to be able to fix holes
directly, without rods.

Additionally, closes #77540 by having the open space click handler loop
up z levels so that it works if you're clicking on items from multiple z
levels away.
## Why It's Good For The Game
The current behavior can be very frustrating to work around, and appears
to not be intended.
## Changelog
🆑
fix: Made it easier to place tiles on multi z level holes 
/🆑
2023-08-28 05:01:03 +02:00
SkyratBot 68b6f2caa8 [MIRROR] Fixes iron floor tiles instances without /base subtype. [MDB IGNORE] (#23175)
* Fixes iron floor tiles instances without /base subtype. (#77669)

## About The Pull Request
Closes https://github.com/tgstation/tgstation/issues/77564.
As it was reskinning into the `/obj/item/stack/tile/iron` it couldn't
merge with the `/obj/item/stack/tile/iron/base` tiles.
## Changelog
🆑
fix: Base iron floor tiles now will be able to stack with other base
iron floor tiles after being reskined to the base subtype.
/🆑

* Fixes iron floor tiles instances without /base subtype.

---------

Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
2023-08-17 23:49:06 -04:00
Helg2 abe4af3fa3 Fixes iron floor tiles instances without /base subtype. (#77669)
## About The Pull Request
Closes https://github.com/tgstation/tgstation/issues/77564.
As it was reskinning into the `/obj/item/stack/tile/iron` it couldn't
merge with the `/obj/item/stack/tile/iron/base` tiles.
## Changelog
🆑
fix: Base iron floor tiles now will be able to stack with other base
iron floor tiles after being reskined to the base subtype.
/🆑
2023-08-17 22:06:26 -04:00
SkyratBot 9fe6c1cee6 [MIRROR] Some iron floor fixes. [MDB IGNORE] (#22512)
* Some iron floor fixes. (#76785)

fixed that borgs cant merge their floor with other iron floor fixed
power amount floor tiles use
## About The Pull Request
- Changed energy cost for borgs so its not the same as for rods.
- Made cyborg's floor tiles merge with base floor tiles and not the
cyborg base ones, so you can pickup floortiles.
## Why It's Good For The Game
Things work like intended.
## Changelog
🆑
fix: fixed energy cost on floor tiles for engi borgs.
fix: engi borgs can now properly merge base floor tiles with other base
floor tiles.
/🆑

---------

Co-authored-by: Time-Green <7501474+Time-Green@ users.noreply.github.com>

* Some iron floor fixes.

---------

Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
Co-authored-by: Time-Green <7501474+Time-Green@ users.noreply.github.com>
2023-07-16 18:08:53 -04:00
Helg2 2a77edcd74 Some iron floor fixes. (#76785)
fixed that borgs cant merge their floor with other iron floor fixed
power amount floor tiles use
## About The Pull Request
- Changed energy cost for borgs so its not the same as for rods.
- Made cyborg's floor tiles merge with base floor tiles and not the
cyborg base ones, so you can pickup floortiles.
## Why It's Good For The Game
Things work like intended.
## Changelog
🆑
fix: fixed energy cost on floor tiles for engi borgs.
fix: engi borgs can now properly merge base floor tiles with other base
floor tiles.
/🆑

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
2023-07-16 21:01:00 +00:00