91 Commits

Author SHA1 Message Date
Batrachophreno 1c8c0c2221 Bugfix pile (#22823)
Fixes several runtimes from the past few weeks, some additional material
repath regressions, and the fact that if I shoot you with a stream of
ionized deuterium particles, it doesn't riddle you with cancer.

changes:
- bugfix: "Fixes emergency shields runtiming when hit by thrown
objects."
  - bugfix: "Fixes several stale global list runtimes."
- bugfix: "Fixes several health percentage checks that could use unset
initial health values."
  - bugfix: "Fixes additional materials regressions in INDRA code."
  - bugfix: "Fixes invalid fuel injector depletion math."
- bugfix: "Makes accelerated particles apply radiation damage to living
mobs they pass through."
2026-07-12 18:06:28 +00:00
Batrachophreno 4ecb0bc21c Repath obj/machinery to obj/structure/machinery [MDB Ignore] (#22500)
Repaths obj/machinery to obj/structure/machinery. **Note for
reviewers:** the only meaningful changed code exists within
**code/game/objects/structures.dm** and
**code/game/objects/structures/_machinery.dm**, largely concerning
damage procs. With the exception of moving airlock defines to their own
file, ALL OTHER CHANGES ARE STRICTLY PATH CHANGES.

Objects, _categorically_, are largely divided between those you can hold
in your hand/inventory and those you can't. Machinery objects are
already subtypes of Structures behaviorally, this PR just makes their
pathing reflect that, and allows for future work (tool actions, more
health/destruction functionality) to be developed without unnecessary
code duplication.

I have tested this PR by loading up the Horizon and dismantling various
machines and structures with tools, shooting guns of various types
throughout the ship, and detonating a bunch of explosions throughout the
ship.
2026-05-26 19:35:48 +00:00
Batrachophreno 8111a8489b Restore many missing inhand sprites for items, add/port others (#21831)
Many, many, many items have inhand sprites in their .dmis but for
whatever reasons do not display them in-game. This PR:

1. Updates many item definitions to point to their already-existing
inhands correctly. This consists largely of held tools, but also gas
tanks and jetpacks mounted in the suit storage slot.

2. Adds a few codersprites made by me for objects with either missing
inhands or poorly matching mishands (IE, the tape recorder, which has a
black case, reused the white inhand sprites of the health analyzer). The
new sprites are modified or recolored variations of other inhand sprites
from our repo, except for circuitboards which are new.
<img width="444" height="400" alt="image"
src="https://github.com/user-attachments/assets/7f107b9a-fe24-4e31-8f16-4d34768ee117"
/>


3. Adds inhand sprites for Inflatables and Inflatable Boxes made by
Tomixcomics.
<img width="424" height="101" alt="image"
src="https://github.com/user-attachments/assets/434107c4-8577-49a2-a58e-d6b014c03933"
/>

4. Ports inhand sprites for the Hydraulic Rescue Tool from tg's Jaws of
Life.
<img width="224" height="94" alt="Screenshot 2026-02-07 172931"
src="https://github.com/user-attachments/assets/070c7956-f6a8-4fb5-870f-10c64afcc8b3"
/>

5. Some additional cleanup while in the area. The 'analyzer' has been
renamed the 'gas analyzer' to be consistent with the other analyzer
objects, standardized icon_state naming conventions where I saw
oddballs, updated code docs to use DMDocs when in the area, etc.

### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:

| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/item/hydraulic_rescue_tool.dmi | [SomeAngryMiner (bee
station)](https://github.com/BeeStation/BeeStation-Hornet/pull/2487),
[maxymax
(/tg/station)](https://github.com/tgstation/tgstation/pull/58616) |
CC-BY-SA |
| icons/obj/item/inflatables.dmi |
[Tomixcomics](https://github.com/tomixcomics) | CC-BY-SA |
2026-02-17 17:51:22 +00:00
VMSolidus 8998842f7a Large Variety Of Hard Dels (#21834)
I spent the entirety of today's event looking at hard dels with my new
digital minions. This was *nearly* every Hard Del that came up during
2/7/2026's event. It turns out that AI is extremely well suited to
hunting down circular references like this across an entire repo. This
PR was made with Antigravity-Gemini3Pro.

I have not yet tested this PR.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Wildkins <john.wildkins@gmail.com>
2026-02-17 15:57:11 +00:00
Batrachophreno 5277251959 Tool behaviors port (#21663)
For a robust crafting system, I need a new materials framework.
For a new materials framework, I need to clean up reagents.
To clean up reagents, I need to pare down foods from reagent holders.
To pare down foods from reagent holders, I need to port edibility
components.
To port edibility components, I need to port processing components.
To port processing components, I need to port tool behaviors.

This is all back-end code, no new features or functionality from this.
2026-01-27 08:44:49 +00:00
Batrachophreno 387cee9243 Object Examine Text Overhaul (#20923)
Extends and reworks how various extended information text (desc_info,
desc_build, desc_upgrades) are handled to make object interactions and
mechanics A.) much more clearly documented in-game and B.) much easier
to support from the back-end.

Almost certainly a candidate for test merge.

Assembly/Disassembly instructions are noticeably sporadic, largely due
to our current lack of a unified framework. That's a future thing I'd
like to attack so that it can be handled programmatically, but for now I
only targeted the biggest culprits as I came across them.

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
2025-07-21 15:35:14 +00:00
4000daniel1 08fe54baf7 Phoron Deposit Away Site (#20730)
This site is something of an experiment. It features a special mineral
deposit with lots of phoron. When the deposit is drilled, it'll activate
four mob spawners some distance away that'll send fauna towards it.
There can be a total of 20 active fauna on the map at once (5 per
spawner.) There's no limit on how many mobs can spawn in total (for
now.)

The idea is to make an away site with a clear goal and challenge, which
requires multiple people across different departments to accomplish
safely. Security to defend against the waves of fauna, engineering to
construct and maintain barricades/other defenses (very important),
mining to handle the drill, and of course medical in case something goes
wrong. You can't do it solo, trust me I've tried.

Once the deposit has been fully depleted, (takes about 15 minutes or so)
the team will have to sally out of their barricades and fight their way
back to their shuttle. Cause again, the mobs won't stop coming. I think
it's more interesting that way. But it ends with LOTS of fauna corpses,
of which the performance impact on a populated server might be too
severe to justify? I've no clue.

I also added some atmospheric sound and music which plays once the
deposit is drilled. Hopefully sets the tone without being too
overbearing.

This required a lot of code. I do not know how to code. I've tried to be
thorough, but may still want to review it under some extra scrutiny.

See the changelog for some other small tweaks.

### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:

| sound/music/phoron_deposit.ogg | Reitanna Seishin & Zander Noriega
|CC0 & CC-BY 3.0 | https://creativecommons.org/publicdomain/zero/1.0/
https://creativecommons.org/licenses/by/3.0/
2025-07-12 17:21:49 +00:00
Batrachophreno 27b5079066 Stock parts power usage and examine handling (#20892)
In preparation for future development, both A.) increased the power draw
of upgraded machines in more predictable ways and B.) reformated Examine
text output to handle displaying machines' upgradeable parts and what
they do in a more user-friendly way.

A.) is important because it opens the door to adding upgrade components
available for more machines.

B.) is important because not only do we need to communicate those sorts
of mechanics in a clean, clear, consistent way, but it also opens the
doors to being able to communicate more types of interaction mechanics
similarly well (such as assembly/disassembly tips).

Examples of new Examine boxes:
![Screenshot 2025-06-26
102050](https://github.com/user-attachments/assets/d7aa8b4c-b35f-4477-a1a2-b2846e92e06c)
![Screenshot 2025-06-26
102140](https://github.com/user-attachments/assets/0abb0a4c-a373-4427-af47-cadd192dfdc7)
![Screenshot 2025-06-26
102109](https://github.com/user-attachments/assets/886e4298-8a60-4cbb-be69-3de4cc8254d5)
![Screenshot 2025-06-26
102030](https://github.com/user-attachments/assets/5752da8c-b567-4337-94d4-b2ac2ca7ac36)

Note- while updating, made get_examine_text() also give Antagonism text
boxes to ghosts and storytellers, not just active Antags. This seemed
like a no-brainer thing but can be split into a separate PR if
requested.

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2025-06-30 18:02:57 +00:00
Wowzewow (Wezzy) e7232d04fc The Great Device Resprite and Contained Sprite-ening (#20344)
Don't let the large file size scare you, it's just mostly splitting
stuff into contained sprites and putting them in the correct place.

Anyway, resprites most non-resprited devices in devices.dmi, and puts
them in contained sprites.
Also puts any related /obj/item/device into contained sprites too.
That's basically the long and short of it.
2025-01-24 12:16:30 +00:00
Geeves a55907a090 Drill Examining (#20295)
* Examining a mining drill while standing next to it will now display
the ore inside it.
2024-12-28 18:24:16 +00:00
Fluffy d9c44532fc Refactored directionals (#20082)
Refactored directionals, ported lists of directions from TG, got rid of
useless proc to get the reverse direction.
2024-10-25 17:56:02 +00:00
Fluffy 404c90f688 Replaced the outside turfs with exoplanet ones for the digsite (#20066)
Replaced the outside turfs with exoplanet ones for the digsite.
Fixed some exoplanet areas not having an exoplanet base turf.
Wrote a unit test for exoplanet areas to ensure they have an exoplanet
base turf.
2024-10-20 18:49:39 +00:00
Fluffy 1345beac4b Added the z-level manager system from TG (#19532)
Added the z-level manager system from TG, mostly
2024-07-22 13:00:38 +00:00
Cody Brittain 9983fca311 Update SSOverlays (ported from Baystation) (#19051)
Our SSOverlays system is outdated, and is likely the cause of many of
the issues seen in #18895. It has also been linked to a massive server
performance decrease.

This brings an updated system from Baystation, hopefully with speed
increases.

Should be testmerged, ideally with #18895.

---------

Co-authored-by: Cody Brittain <cbrittain10@live.com>
2024-05-01 07:46:27 +00:00
Fluffy 1b40dbce82 Updated the sound system (#18724)
* sdaf

* sdaf

* sdfa

* sadf

* sfda

* gfd

* reduce thrusters volume

* sdafsadsdaf

* sdfa

* Reduced some sound ranges and made some/more not ignore walls for loops

* health analyzers too

* ivdrip adjustment

* most tools now use play_tool_sound to have the sound played, reduced range for it
2024-03-25 20:40:36 +00:00
Cody Brittain 9af6b74e99 Added Lead, Plastic, and Aluminium as new materials for the Autolathe (#18684)
* Added Lead and Aluminium as new materials, and added them and Plastic to the Autolathe

* Fix Spaceman.dmm lint

* CL

* Remove bad merge

* Mapped in Aluminium and Plastic to operations, mapped in Aluminium for Engineering

---------

Co-authored-by: Cody Brittain <cbrittain10@live.com>
2024-03-21 11:41:50 +00:00
Fluffy 9afe761db3 Some refactors, DMDoc and UT (#18365)
* dsfa

* accessories fix

* fixed "has been hit by" message with intent check

* sdfa
2024-02-12 15:32:23 +00:00
Matt Atlas 4423d03f2f Adds examine boxes. (#18370)
* Adds examine boxes.

* lint

* what kind of dreams did you dream?

* unlimited

* midgardsormr

* sdsd

* fixes

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2024-02-11 21:58:20 +00:00
Matt Atlas cadd19beac Ports the TG globals controller and converts globals. (#18057)
* SDQL2 update

* fix that verb

* cl

* fix that

* toworld

* this is pointless

* update info

* siiiiick..

* vv edit update

* fix that

* fix editing vars

* fix VV

* Port the /TG/ globals controller.

* part 1

* part 2

* oops

* part 3

* Hollow Purple

* sadas

* bsbsdb

* muda na agaki ta

* ids 1-15

* 16-31

* 41-75

* bring me back to how things used to be before i lost it all

* the strength of mayhem

* final touches

* cl

* protect some vars

* update sdql2 to use glob

* stuff?

* forgot that is not defined there

* whoops

* observ

* but it never gets better

* a

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2023-12-26 01:16:02 +00:00
Geeves 08ccbd5f69 Ground Ore Fix (#17486) 2023-10-01 10:46:22 +00:00
Cody Brittain ce5ac79e3c Split examine verb and function, and improve it (#17251)
* Split examine verb and function, and include adjacency and distance checking in examine function

* Fix various issues

* Update code/modules/mob/examinations.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>

* Add required define vars

* Update code/game/objects/items/stacks/wrap.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>

---------

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2023-09-09 08:07:36 +00:00
Werner 3742231bc2 Major UT Overhaul (#16544)
* Removes old UT definition files (drone/travis)
* Adds concurrency definitions to the workflows
* Changes our workflows to be more in line with what /tg does
* Adds a workflow to build/commit TGUI
* Adds a workflow to build/commit changelogs

Add python version to dependencies.sh
Fix dme errors
Removes a bunch of not included files
Cache Opendream and add directory to check_grep.py

Co-authored-by: Werner <Arrow768@users.noreply.github.com>
2023-06-27 16:44:16 +02:00
Geeves 2b70d859f0 Exoplanet Ore Patches (#16271)
* the end of the beginning

* SPEED

* SPEED

* we real speed

* fix ore gen

* re-organize exoplanet stuff

* reorg and rename defines, fix ores

* Everything Else

* 1.2.0+a3 rust_g

* fix merge

* get rid of noise maps

* fix adhomai, delete random maps

* make adhomai poggers or something idk

* debug

* crystal planet, misc bugfixes

* fixes

* log

* change mineral gen to make adhomai work

* try this

* huh

* huhw

* rust_g 1.2.0+a4

* Ore Patches

* finishing touches hopefully

---------

Co-authored-by: John Wildkins <john.wildkins@gmail.com>
2023-06-22 20:29:48 +00:00
RustingWithYou 6d4027cce2 DRILL (#16386) 2023-05-28 20:38:24 +00:00
Matt Atlas 31c73ead85 Ports the radiation subsystem and cleans up damage flags. (#15715) 2023-02-07 13:22:47 +01:00
Wowzewow (Wezzy) eafa547b5c Ports use_tool proc from /tg/ (#13411) 2022-05-23 14:39:00 +02:00
Wildkins a4461a17af Implement Bay's SSmachinery and power usage updates, further unclogging the toilet (#13910) 2022-05-16 18:50:16 +02:00
Doxxmedearly 4168dc0067 Deep ore scanner properly named (#13567) 2022-04-18 20:55:53 -03:00
Matt Atlas 537419aae9 Fixes several runtimes. (#10551) 2020-11-14 16:36:18 +01:00
Geeves b3891901ea Radiojammer Stationbound Blocking (#10246)
* AI Firedoor Rebalance

* Update geeves-because-the-question-is-incorrect.yml

* improve the implementation considerably

* Update geeves-because-the-question-is-incorrect.yml

* put this back

* jammer UI
2020-11-14 12:10:35 +01:00
Matt Atlas d4666caaac Ports Goonchat from Baystation. (#9635)
changes:

    rscadd: "Ported a new chat system, Goonchat, that allows for cool things like changing font style, size, spacing, highlighting up to 5 strings in the chat, and DARK MODE."
    rscadd: "Repeated chat messages can now get compacted. You can disable this in goonchat settings."
    rscadd: "You can change icon style to any font on your system."
    tweak: "The game window has been altered a bit to adjust for this."
    rscdel: "Removed skin style prefs as they are no longer used."
2020-09-24 23:06:04 +03:00
Geeves c30a88d89b Mining Fixes (#9330) 2020-07-12 14:59:34 +02:00
Geeves 972c0ae9db Various Tweaks and Changes (#9222) 2020-06-30 18:19:54 +02:00
Geeves 30bf2a8f02 Drill Fix (#9184) 2020-06-22 10:01:45 +02:00
Geeves 35a0dff2dc Mining Mech Equipment (#9084) 2020-06-13 14:10:08 +02:00
Geeves 0803eafe8e Drill Bracing Fix (#9003) 2020-06-03 11:11:00 +02:00
Wowzewow (Wezzy) e28d09f88a description_fluff, description_antag and description_info shortening (#8896)
* description_fluff, description_antag and description_info shortening

* Update wezzy_desc-shit.yml

* Update html/changelogs/wezzy_desc-shit.yml

Co-authored-by: Werner <Arrow768@users.noreply.github.com>

Co-authored-by: Werner <Arrow768@users.noreply.github.com>
2020-05-21 12:45:22 +02:00
Matt Atlas 105cb5d64e Remove sharp/edge in procs and consolidate them into damage flags. (#8672) 2020-04-30 20:29:35 +02:00
Geeves cae7e22f24 Drill Additions (#8598) 2020-04-08 13:00:05 +02:00
Geeves 1bd0a055e6 Big Mining Update (#8571) 2020-04-03 19:10:08 +02:00
Geeves 358e33759e Bluespace Mining (#8492)
Implements bluespace mining, or: How to keep your lousy ore box at home.
While it may sound complex, it's actually fairly simple once you get it down. This is an attempt to make mining a little more 24XX, as well as introducing a way for mining drills to not be awful.

    Bluespace mining is now possible, to do so, attach a warp extraction pack to a mining satchel, then a warp extraction beacon signaller to an ore box. Link them by clicking on the ore box with the satchel.
    You can attach a linked mining satchel to a mining drill to teleport mined ores to the connected ore box.
    Mining satchel beacons can be removed with a screwdriver, mining drill satchels by wrench, and ore box beacons by hand.
2020-03-30 22:39:18 +03:00
Matt Atlas 82437acd43 Materials subsystem, material defines instead of strings, structure materials. (#8447)
The shitcode crusade begins.
2020-03-18 20:19:11 +01:00
Geeves 388850d627 Some Mining Cleaning (#8363) 2020-03-18 14:01:36 +01:00
Matt Atlas 72c968eba6 Genericises rotate() on objects. (#8430) 2020-03-17 17:17:42 +01:00
Doxxmedearly c7b5f4769a Industrial Drills: Text update edition (#7988)
Adds some more text stuff to drills. Now it tells you more when changing cells, examining, and clarifies the warning given before a cell explodes in your face.
Cleaned up some stuff.
2020-01-14 22:17:48 -03:00
Matt Atlas 5da2a9c24b Splits organs into organ/internal (#7441) 2019-11-20 23:07:10 +01:00
Werner af16a489a6 Removes Weapons (#7415)
* Adds icon and hitsound where needed.

* Moves alt_attack to /obj/item and deletes weapons.dm

* Replaced /obj/item/weapon with /obj/item

* Fixes merge issues.

* Fix merge issues.
2019-11-16 18:36:13 +01:00
Geeves 0de575cfce Unbraced drills no longer explode (#7066) 2019-09-29 13:33:11 +03:00
Lady Fowl d6ff38ef96 The Epic Construction Update (#5976)
How to build machine blueprints!

Use steel sheets like normal, then rotate the frame how you like it using the directional arrow. From here use a Multitool to finalize it and then wire it up like you would before.
2019-09-10 22:07:46 +03:00
Werner 6d8a94d408 Simulated to Unsimulated (#6410) 2019-05-19 16:22:54 +02:00