49 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
VMSolidus a290281d14 Fix Improper Destroys (#22166)
We think the culprit behind this one was VSCode autofilling Destroy()
with . = ..()
which is improper. There's a **surprising** number of improper order
Destroy() procs in the repo, so I might as well get all of them in one
pass. Several of these files are associated with currently known hard
dels, such as the modular computer and organ related dels. More than a
couple were my own mistakes, since the Destroy() or Removed() . = ..()
behavior on signal registering objects also prevents the signal from
being unregistered, which similarly creates a hard del.

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
2026-04-08 15:52:13 +00:00
Wildkins e1770df81e Lag War Day 4: Under Pressure, High Voltage (#21878)
Replace /datum/gas_mixture/proc/return_pressure with XGM_PRESSURE(xgm)
macro. Having such a relatively simple statement contributing proc
overhead to procs called millions of times is ridiculous

Rename /datum/gas_mixture/proc/zburn to react, deleting the old react
which was just an alias for it. Free proc overhead

Turn check_combustibility into a macro CHECK_COMBUSTIBLE(is_cmb, xgm).
also rewrite it slightly so that it only needs to do one pass. Its a bit
nasty so I apologize for that, but speeeeed.

Delete most powernet and obj/machinery/power procs for handling power,
replacing them with macros. The fact that we were unironically calling a
draw_power() on APCs to call draw_power() on their terminals to call
draw_power() on their powernet every single process tick was insane.

Turn `between` into a macro alias for clamp() since the param order is
different

turn `Percent` into a macro AS_PCT

Rewrite significant chunks of update_canmove so its not quite as
horrifying of a proc and hopefully doesn't eat the entire mob subsystem
every movement now
2026-02-27 00:35:41 +00:00
Cody Brittain 3f62424312 [MDB Ignore] [IDB Ignore] Kills off /obj/item/device (#21774)
This has zero reason to exist in our code base. We have no procs or
variables tied to this. I removed it to make future modifications
cleaner.

---------

Signed-off-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
2026-02-01 05:14:26 +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
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
Fluffy a3a4d46fa7 Hitby refactor (#19624)
Refactored hitby to be in line with TG's version.
Refactored item weight defines to a more clear naming scheme, also in
line with TG's version.
Refactored how the movement bumps are handled, ported signals to handle
them, in preparation for the movement update.
Fixed disposal hit bouncing the hitting atom on the wall.
Items do not push other items anymore if they are tiny.
2024-07-28 20:52:08 +00:00
Fluffy 3e1b9d4170 Repathed /obj/item/projectile to /obj/projectile (#19693)
Repathed /obj/item/projectile to /obj/projectile, same as TG and Bay,
that's pretty much it.
2024-07-27 10:09:46 +00:00
Fluffy 3dc4cce9c2 Minor span refactoring (#19177)
Minor span refactoring
2024-05-19 16:37:29 +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
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
Fluffy d8d063edc6 EMP Refactor & Multi Z-level EMPs (#17781)
* sdfasf

* sdfas

* dsf
2023-12-04 19:37:49 +00:00
Cody Brittain 06601c9ec3 Split up and rename var/flags (#17794)
* Split up and rename `var/flags`

* Various fixes

* CL

* Don't rename Phoron Guard phoron preset

---------

Co-authored-by: Cody Brittain <cbrittain10@live.com>
2023-11-22 16:27:51 +00:00
Fluffy 4538e2a7cc Fix indentations (#17481)
* cbt

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* fsadffsda sad

* sadfasd

* jhn

* dsfa

* saf

* safsad

* sda
2023-10-05 10:15:58 +00:00
CampinKiller24 24da7ce09c fix (#17240) 2023-09-05 10:29:52 +00:00
CampinKiller24 864a6ad20a redux (#17216) 2023-09-04 20:29:57 +00:00
Cody Brittain 9a6edb999f Cleanup and expand suppressors (#17173)
* Cleanup and expand suppressors

Suicide uses suppressed sounds too

Fix CL

Added the suppressor to the antagonist uplink

Fix CL escape characters

Fix random list

Resolve issues from code review

Split the suppressor into its own file

* Bayonets and ammo displays now add their weight to their attached weapon

* Balloon alerts for weapon mods

* Fix lint
2023-09-04 08:22:14 +00:00
Fluffy 5e1332d60f OpenDream linting (#16468)
* I wanna set the universe on fire

* dfsaaf

* setup

* dir issue?

* dsf

* Perhaps the script

* saf

* cry

* pain

* sdfas

* Try reintroduction of tag-matcher

* Failed

* Tries to suppress dotnet compile warnings

* Like this maybe?

* woopsie

* Damn pathings

* Hate

* Pragmas

* unlint?

* Maybe?

* GDI

* Redundant ifdef removed and changelog

* Did I forgot the tag matcher, or it was still broken?

* Yea no that script is still broken

* Removed tag-matcher as requested

* *sigh*

* test

* bro what?

* hope

* just fixing the input

* Let's see if we catch it...
2023-06-26 17:05:38 +02:00
Epic c317ade2d6 Fixes PKA examine typo: offical -> official (#16507)
* finally

Fixes the typo.

* changelog as well
2023-06-25 00:39:04 +00:00
mikomyazaki e59589ec8a Gripper attackby fixes (#13571)
This cannot go wrong, can it?
2022-04-20 22:15:15 +02:00
Matt Atlas c38f4bddf1 Moves wielding firearms to attack_self, adds unique-action and toggle-firing-mode hotkeys. (#11205) 2021-02-20 14:14:13 +01:00
fernerr 270a81ab9d Fixes some guns going invisible, cleans up update_icon and wielded (#10840) 2020-12-20 11:15:02 -03:00
Geeves d19cf6e3d6 KA Leftovers Fix (#10165)
KAs no longer leave behind phantom projectiles that injure people.
    KAs no longer recursively destroy rocks when one breaks, but still retain AoE effects.
    KAs now have at least one tile of AoE on all modules.

Also fixes a runtime with pin attackby.
2020-10-06 15:06:10 +03:00
Wowzewow (Wezzy) 307c214541 makes w_class use defines (#9848) 2020-09-06 17:37:56 -03:00
Wowzewow (Wezzy) 7114d3525f More new sounds and fixes equip sounds (#9464) 2020-08-12 11:17:39 +02:00
Geeves 7dd0bb2b56 Robot Cleanup (#9332) 2020-07-17 14:26:30 -03:00
Geeves 9dffea6eea (Syndicate) Cyborg Improvements (#9148) 2020-06-19 23:57:17 +02:00
Matt Atlas c6d9cba325 Changes up a lot more messages to look like emotes. (#9133) 2020-06-18 10:29:47 +02:00
Mykhailo Bykhovtsev 1839e44d72 KA fix and small refactor (#8618) 2020-04-07 10:34:31 +02:00
Geeves 390d91a405 Illegal KA Fix (#8590) 2020-04-03 15:36:32 -03:00
Geeves 1bd0a055e6 Big Mining Update (#8571) 2020-04-03 19:10:08 +02: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
JohnWildkins 9c335f6c00 Killing off inconsistencies with impact wrenches / combi-tools (#7269)
Part 1 in the "why my impact wrench no wrench bolt" saga

tl;dr for end users: combitools / impact wrenches now work on everything their non-powered versions do (except mechs and RIGs, tune in next time on dragon ball Z for that)

essentially all this PR does is murder every istype() check possible that could use a helper function instead, most notably many pen checks with ispen(). it also repaths combitools and powerdrills to /obj/item/weapon so they aren't instantly taken out of contention by half of the known attackby() prompts

I already squashed a couple runtimes here and there from the pen changes and it's possible I missed another because pencode is another scourge upon our lives
2019-10-26 22:20:40 +03:00
Alberyk 0e80790893 Bug fixes: tcfl vox, impact wrench again, KA pin exploit (#6997)
-fixes impact wrenches again
- fixes #6995 by making the rigs species restrictions not stupid
-fixes ka having firing pins
- fixes #6697
2019-09-16 22:26:36 +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
Matt Atlas d9fb393845 Unifies wield-shotgun and wield-rifle into wield-firearm. (#6591)
Title says it all.

This needed some changes to offhand (which is now a subtype of weapon, not /weapon/gun), but otherwise it seems to work well in testing.
2019-07-21 22:53:27 +03:00
fernerr 8356ffb1c7 Adds new kinetic accelerator sprites and wielded variants. (#6324) 2019-05-09 22:44:05 +02:00
alsoandanswer 1bab746d17 adds new sounds (the not stupid version) (#6307) 2019-05-05 23:51:08 +02:00
Mykhailo Bykhovtsev 15640f0286 Lohikar's bugfixes (#6364) 2019-05-05 23:06:48 +02:00
Alberyk 301f25abee Research and development tweaks: guns and illegal techs (#6111) 2019-03-11 23:27:55 +01:00
BurgerLUA 822961e185 Vault Tweaks (#5623)
* added

* oops

* Update code/game/objects/random/random.dm
2018-11-17 20:40:03 +01:00
BurgerLUA c31bcd2d72 Additional August Fixes (#5104)
Fixes #5101
Fixes plants/food being able to be poured into reagent containers.
Fixes server hanging during backpressure surge.
2018-08-07 22:09:30 +03:00
BurgerLUA 8519dcc393 .loc = to forceMove() (#4937)
As requested, this PR is changed to only include all .loc = to forceMove() changes.
2018-08-04 01:48:58 +03:00
BurgerLUA d93d155fdd Kinetic Accelerator Additions (#4965)
I want mining to be able to find some unique, powerful kinetic accelerators while out on the dig. Most of these are pretty high tier (Class B to S, or BS for short) and should be great finds for miners.

I also made it so that you can only pump the assemblies if you have two hands, and some kinetic accelerators are just too heavy to fire with one hand.
2018-08-03 00:15:55 +02:00
BurgerLUA 5444e578f5 Kinetic Fixes (#4898)
Fixes a mining borg issue caused by an old bug, fixes processing for the uranium charger, adds a new cyborg kinetic accelerator that uses cyborg battery charge.
2018-06-18 07:28:54 +03:00
BurgerLUA 9da929d4a1 Custom Kinetic Accelerators (#4802)
This is honestly one of my biggest and most ambitious projects. I hope people are happy with this.

Custom kinetic accelerators are special, customizable mining weapons that are meant to give a sense of progression, and a sense of pride and accomplishment while mining. Each custom KA is made up of 3 or 4 parts:

The Frame (5 to choose from)
The Cell (5 to choose from, +1 traitor)
The Barrel (5 to choose from, +1 traitor)
The Upgrade Chip (7 to choose from, +1 traitor)
The sprites change with each addon, they are truly dynamic and there are so many combinations of parts that a miner can have. You can have several different builds for each desired mining style, it's quite a robust system.

You can have a KA that shoots slowly, but delivers high-penetrating shots that go through several walls of rock. You can have a KA that shoots REALLY fast, but precisely destroys 1 rock at a time. You can have an absolute canon of a beast, that destroys rocks in a 3 tile radius around it.

The parts can be obtained via research, via abandoned crates, or via RNG in the cargo warehouse. There are some custom KAs that spawn on the raider's ship, on the mercs ship, and a laser one on the merc's headquarters. That laser one can also be bought from the traitor uplink as well.

ERT get a class 4 KA for use in special operations, if they choose to use it.
2018-06-17 23:02:42 +03:00