68 Commits
Author SHA1 Message Date
Casper3667andGitHub a179366f96 Fixes scanning and external repairs of IPC on surgical chairs (#23157)
Fixes some issues introduced in a recent PR regarding IPC and and other
people on surgical tables, preventing using a welder on their external
limbs and the robotic analyzer, potentially more.
2026-08-29 00:25:33 +00:00
GeevesandGitHub d5aff0fe4d Prosthetics Fixes (#23079)
* Fixed robotic and mechanically assisted organs retaining or recovering
from EMP surge damage incorrectly.
* Fixed several prosthetic limb interactions causing inappropriate pain,
screams, blood, or organic surgery sounds.

For the various tick_surge_damage procs with 'this is intentional' being
removed, it's because it was moved to the base level proc which always
(generally) fires, which caused double-ticks.
<img width="1316" height="488" alt="image"
src="https://github.com/user-attachments/assets/99c97ad8-3bbe-4131-a6fd-86dea23b3239"
/>

AI usage disclosure: The code for the tweaks here was created using GPT
5.6 Sol.
2026-08-27 22:40:14 +00:00
VMSolidusandGitHub 0625b841c3 Surgery Speed Modifiers (#22472)
This PR "gently refactors" surgery doafter timers to be deterministic
and variable. Instead of being simply a random number of seconds between
an upper and lower bounds, surgeries now have a base amount of time they
take to perform (in fractional seconds). This doafter time can then be
modified via signal interactions, such as coming from components.

The Morale component, Surgery skill, Anatomy skill, and Xenobiology
skill all have had signal hooks for surgery speed added, while the
latter two are uniquely conditional signal modifiers. Anatomy only
provides its modifier if the target's species matches your own, while
Xenobiology only applies its modifier if the target is an alien. Morale
can situationally either give a bonus or a penalty depending on your
current amount of morale points.

So to offset that this is now significantly more variable and that 4
different sources of bonus surgical speed exist, I've actually made the
base surgery times always on the upper end of what their previous
doafter duration range was, so surgeries are in general slower if you
aren't taking advantage of specializing in it.

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
2026-06-19 16:47:29 +00:00
260f744906 Skills System Revival: The Things She Remembered Had Never Been Her Own (#21853)
This PR is a revisit to the previously derelict PR #20159 that has been
unfinished for sometime now. More details about it in general can be
found here:
https://github.com/orgs/Aurorastation/projects/2?pane=issue&itemId=53167153

For awhile I've been talking about "Things I've been doing but it would
be really nice to do them with a skills system", or "And here's how I
would put this into the skills system when it's done". The main thing
that was stopping me from building it myself was having poor real life
skills in UI code and in DB code. However, I've gotten permission to
resume this PR, which has already completed the steps I would not have
been able to do myself. The rest of the PR fits well into my skillset as
a dev.

I'm opening this PR as a draft so as to enable my dev environment to
locally track all the previously modified files. I'll take this PR out
of draft and give this a full writeup when I have more work to show for
the PR this weekend.

### TODO

- [x] Rework a decent chunk of the currently existing skills to no
longer require hardcoded inserts into other systems. EG, converting from
classical ss13 methods, to modern /tg/-style ECS coding methods that
work off of component-signal patterns.
- [x] Make sure all of the existing skills have actual game
functionality (I won't PR a 2016 Baystation12 situation where 90% of the
skills are fluff only)
- [x] Add the various skills not yet made but are necessary for
completion sake, EG: Pilot (Spacecraft), Gunnery, Pilot (Walkers).
- [x] Examine each existing job in the game and assess whether it should
have a skill made with it in mind, or if it's covered by an existing
skill.
- [x] TO DISCUSS, BUT NOT ESSENTIAL: Additional skill proposals not
currently in the pre-existing TODO list, proposing subcategories.
- [x] Ensure that the previous TODO list is completed.

### Current Skills
The current list of skills, checkmarked for if I've completed them/they
have actual game mechanics. Or if we're just relegating them to separate
PRs. Originally this list was going to be forced to visit for a bare
minimum "does at least one thing" requirement, but now that is being
forgone due to this PR ballooning out of control and in complexity, as
well as development time overruns.

- [x] Bartending
- [x] Cooking
- [x] Gardening
- [x] Entertaining
- [x] Electrical Engineering
- [x] Mechanical Engineering
- [x] Atmospherics Systems
- [x] Reactor Systems
- [x] Medicine
- [x] Surgery
- [x] Pharmacology
- [x] Anatomy
- [x] Forensics
- [x] Robotics
- [x] Pilot: Spacecraft
- [x] Pilot: Exosuits
- [x] Research
- [x] Xenobotany
- [x] Xenoarchaeology
- [x] Xenobiology
- [x] Unarmed Combat
- [x] Armed Combat
- [x] Firearms
- [x] Leadership

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: FabianK3 <21039694+FabianK3@users.noreply.github.com>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
2026-04-18 14:33:48 +00:00
BatrachophrenoandGitHub 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
FluffyandGitHub d40d459d42 Refactored movement observable away (#20083)
Refactored movement observable away, use only the signal.
Some tweaks to the signal.
2024-10-26 15:53:07 +00:00
FluffyandGitHub 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
AlaunusLuxandGitHub 6bf406067c Various Borer fixes (#18969)
I changed add_antag to add_antag_mind in borer/LateLogin because the
former proc re-created the borer, causing it to drop the src/client
reference. The only notable difference I observe is the antag noise
doesn't play, which could be added manually if needed. Alternative
methods to solve this would be welcome, though. I did have an
alternative method
[here](https://github.com/Aurorastation/Aurora.3/commit/5d4157588baa0998f499aba7678bf8c6551247ca),
but that only "fixed" the ghost spawner, not admin possession. I also
say "fixed" because that method does not give the post ghost-spawn
message.


Fixes #18600 

- The implant check was only checking for objs, which the borer implant
is not. The borer was also erroneously being removed from the implants
list when releasing control back to their host.

Fixes #18281 

- This had a few pain points. psi was null, so it made the callback for
activating powers fail. Once that was fixed, it caused many RTEs when
trying to draw the HUD/screen for the powers. Refactoring a few
encoding/decoding procs fixed that.
Fixing these issues fixed borer monkeys not being able to speak TCB,
which is strange because I thought I'd seen a borer monkey speaking TCB
during a round where the psychic bug existed.

Fixes #9621 

- For this, I switched rejuvenate to revive. This lets them move, and
also does not kill them again due to brain damage. If it proves to be
too strong, it can be tweaked, but I did want to get brain devouring
working for this PR.

- There's also the jumpstart verb, which seems will never be used with
this revive in place (or even before, with the rejuvenate). I suppose it
can be used if they die again after reviving.

- Should a message be added to the revive given during the devouring
process? Jumpstart gives one:

`visible_message(SPAN_WARNING("With a hideous, rattling moan, [src]
shudders back to life!"))`

Fixes #9523


Also fixes borers not being able to infest someone they are being held
by.

Existing Issues not addressed by this PR:
- Infesting a monkey does not give you the monkey's health HUD (because
it doesn't exist?). Assuming and releasing control will show it, though.
- Borer antag overlay icons on Mobs seems inconsistent. potentially due
to testing methods with clientless mobs
- Borers cannot use psychic lance while being held
- Psi aura on first receiving powers. Equip first ability and drop to
fix.

---------

Signed-off-by: AlaunusLux <89751433+AlaunusLux@users.noreply.github.com>
2024-06-08 16:54:28 +00:00
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
FluffyandGitHub f05b11f0f3 sdfsa (#17793) 2023-11-20 19:22:26 +00:00
f58c6a9eb0 Shrapnel removal now queues up all implants at once. (#17598)
Co-authored-by: Matt Atlas <liermattia@gmail.com>
2023-10-17 14:51:46 +00:00
PirouetteandGitHub 2880d7098b Ported surgery sounds from /vg/station (#17531)
* Ported surgery sounds from /vg/station

Source: https://github.com/vgstation-coders/vgstation13/pull/31850

* Requested changes

* accidentally a line

* Moves cautery sound
2023-10-13 08:01:21 +00:00
0db705d678 Implant Improvements (#16905)
* Modernize and improve implant code

* Lint fix

* Fix initialize hint in implant cases

* fix tabulations

---------

Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
2023-09-24 22:41:02 +00:00
DoxxmedearlyandGitHub 5ce0e5a8a9 Fixes multisurgery, reduces surgical times (#16779)
* Fixes multisurgery, reduces surgical times

* Reflect laser scalpels in CL
2023-07-21 19:35:07 +00:00
Matt AtlasandGitHub 31c73ead85 Ports the radiation subsystem and cleans up damage flags. (#15715) 2023-02-07 13:22:47 +01:00
Matt AtlasandGitHub 06b2707463 Fixes events. (#15665) 2023-01-27 17:49:28 +01:00
FluffyandGitHub 04d89f212a Singletons + refactor of /datum/observ + refactor of /decl/ into /singleton/ (#15519) 2023-01-10 19:22:14 +01:00
Matt AtlasandGitHub b1869884c1 Revert "Singletons + refactor of /datum/observ (#15487)" (#15515) 2023-01-05 19:21:22 +01:00
FluffyandGitHub 0ddcf0817a Singletons + refactor of /datum/observ (#15487) 2023-01-05 18:41:40 +01:00
SleepyGemmyandGitHub 836818d104 Clarifies Bone Repair Options (#14985) 2022-11-03 13:39:21 +01:00
GeevesandGitHub 0370e8c896 Tool Quality: Surgery and RIG Assembly (#12091) 2021-06-29 12:49:53 +02:00
flpfsandGitHub 3d8863e3e3 Increase shrapnel removal chances (#10105) 2020-10-01 01:48:36 -03:00
mikomyazakiandGitHub bf19b6653d Surgery tidy-up & bugfixes (#9501) 2020-07-30 14:05:38 +02:00
synystersparxandGitHub 719e3ac9e0 Register move event when implanting GPS (#9346)
* Call pickup proc before implanting object

I'm sure this has no unintended consequences

* Changelog

* register move event if implanting GPS

This is better I think

* changelog change

* unregister when implant removed

* Keep track of if GPS is implanted, and who

This is to unregister the move event in the case of the GPS being destroyed while implanted

* try building before pushing, dummy

* this is bothering me
2020-07-14 11:49:43 +02:00
Matt AtlasandGitHub 0a00700401 Switches most common visible_messages to look like emotes, inc. surgery. (#8981) 2020-06-02 19:24:02 +02:00
Matt AtlasandGitHub 105cb5d64e Remove sharp/edge in procs and consolidate them into damage flags. (#8672) 2020-04-30 20:29:35 +02:00
Wowzewow (Wezzy)andGitHub b9b42f4f8f Janitor, hydroponics and medical inhands (#8456) 2020-03-21 13:36:49 +01:00
Matt AtlasandGitHub 7e10f31776 Welders and cable coil now automatically repair the targeted robotic limb. (#8246) 2020-02-18 15:54:27 +01:00
Matt AtlasandErki a02e6e7e81 Adds Bughunt, Incursion, Spy vs Spy, Tower Defense (#7698)
rscadd: "Added three new gamemodes: Tower Defense, Bughunt, Spy vs. Spy."
    rscadd: "Bughunt, mercenary and borer, needs twenty required players and five required enemies."
    tweak: "Borers have received some miscellaneous fixes and tweaks across the board. They should overall work better now."
    rscadd: "Borers can now awaken psionics in their hosts. Maybe it's not a bad idea to get a brain slug after all..."
    rscadd: "Spy vs. Spy, traitor and renegade, needs four required players."
    tweak: "Changed how renegades work a bit. You're not traitors! You're paranoid people who smuggled a gun to work and are working to keep themselves safe."
    rscadd: "Tower Defense, mercenary, heist and ninjas, needs thirty required players and ten required enemies. Good luck!"
2020-01-04 17:47:02 +02:00
Matt AtlasandGitHub 56ed56ad05 Implant removal improvements. (#7825)
Implant surgery has been improved. Knife shrapnel extraction has been improved.
2019-12-30 12:26:10 +01:00
GeevesandWerner 713a001b80 Surgery Overhaul (#7507) 2019-12-02 20:13:32 +01:00
Matt AtlasandWerner ce6c12f8a6 Ports arterial bleeding and tendon severing (#7432) 2019-11-21 14:45:19 +01:00
Matt AtlasandWerner 5da2a9c24b Splits organs into organ/internal (#7441) 2019-11-20 23:07:10 +01:00
WernerandGitHub 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
LordFowlandErki 8d436c4a03 Converts all necessary << outputs into the to_chat() macro. (#6076)
This PR will lead us towards the Promised Day, for in its wake there shall be much celebration and ecstasy as this world becomes a world suitable for developer hegemony. The first strike is thusly;

All << is converted into to_chat().
2019-03-10 23:39:03 +02:00
BurgerLUAandErki 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
Ronandskull132 790480c8da Removes all \red and \blue's (#2309)
Removes all \red's and \blues in favor of span classes. \red things that were bold were replaced with danger because it's warning but bold.
2017-05-21 12:07:57 +03:00
skull132 87e041aa75 Merge remote-tracking branch 'bay12-upstream/master' into development 2016-10-07 00:58:39 +03:00
LordFowlandskull132 fbaeb13039 Vaurca Patch 3.00; Fixes #496 (#493)
Vaurca filtration bit organ added. When destroyed or removed, oxygen becomes poisonous to the Vaurca.
Vaurca lungs have been made organic.
Vaurca take 3x toxin damage, as a result of their rather alien biology.
Vaurca lose additional blood when an opportunity to lose blood presents itself, due to their open-circulatory system.
Vaurca organs are no longer all robotic, except for the neural socket and filtration bit.
Vaurca organ surgery is now possible.
2016-07-10 01:09:56 +03:00
PsiOmega f25e8a7a67 Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/game/objects/items/stacks/tiles/plasteel.dm
	code/game/objects/items/stacks/tiles/tile_types.dm
	code/modules/materials/materials.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/mob/living/silicon/pai/pai.dm
	code/modules/surgery/implant.dm
	code/setup.dm
2015-06-26 20:28:47 +02:00
Chinsky 265b1d5b51 Fixes #9913
Also axes hidden var in lieu of using implants like other foreign objects. Now instead of one object, amount of stuff you can put in someone's organ is restricted by stuff's combined w_class.
2015-06-25 23:51:58 +03:00
Zuhayr f0006ec6bf Removes redundant surgery for brain and eye repair, now covered by organ repair in general.
Attempted to limit regular surgery to non-robotic limbs and added surgical steps for robotic limbs.
Readded checks for smoking reagent transfer.
Fixes, oversights, tweaks with IPC.
Added some reagent bypassing for NO_BLOOD and some checks to various affect_touch() calls for NO_SCAN/IPC.
Added prosthetic-scanning functionality to cyborg analyzer.
Added prosthetic analysis to the robot analyzer.
Allowed people with internal cells to charge in robot chargers (IPCs).
2015-05-25 14:49:57 +09:30
Zuhayr 93b014c699 Merge with dev. 2015-05-20 13:39:31 +09:30
Chinsky f016d51f38 Fixes cavity surgery using old organ names 2015-05-18 06:15:09 +03:00
Zuhayr 150b24023e Renamed kitchen utensils. 2015-05-16 21:24:36 +09:30
Zuhayr 8f242740a8 Added Techhead's cyberlimbs under datum system. Added limbs to dionaea. Working on robotic limbs. 2015-03-28 11:01:11 +10:30
Zuhayr 97112c8a4c Replaced display_name with name, worked on severing limbs and damage propagation. 2015-03-25 19:07:22 +10:30
Zuhayr e0f23aead5 Collapsed all organs into one object type. Added more interesting amputation. Added dislocation. WIP. 2015-03-11 21:17:51 +10:30
Chinsky f8b94456ba Merge pull request #7844 from Kelenius/ofDryingAndRacks
Adds drying racks, tobacco, and updates pipes
2015-02-04 18:15:13 +03:00
Kelenius 6f7a7177f2 Adds drying racks and updates pipes
You can now dry plants using a special machine, and you can now stuff
those plants into pipes to smoke then. It slowly transfers the reagents
from the plant into the smoker.
2015-01-16 02:57:59 +03:00