75 Commits

Author SHA1 Message Date
VMSolidus e117ef3f87 Nuke Limb Processing (#22814)
<img width="1549" height="857" alt="image"
src="https://github.com/user-attachments/assets/3830233d-0635-4942-b2aa-024651e6cffa"
/>

Limbs make up roughly half of the "Per additional player" processing
overhead, while Organs make up most of the other half.
Not every organ is an easy candidate for "Event-only processing", but
external limbs are significantly easier to do so.

So this PR makes it so that External Limbs no longer require Processing
unless an event happens that would justify them requiring processing.
Which SIGNIFICANTLY reduces the overall additional cost to the
Processing subsystem per player that joins the server.

Oh and I also made the Appendix and Kidneys not require constant
processing. The Appendix will only process if it is hit by an
Appendicitis event, and the Kidneys will only process if they are either
damaged, or you get poisoned.
2026-07-12 20:45:24 +00:00
FenodyreeAv 012a05ff79 Allows robot organs to die (#22739)
Fixes robot organs continuing to process after death.

Stops this:
<img width="790" height="331" alt="image"
src="https://github.com/user-attachments/assets/5f8db817-0a8d-4263-90f4-74a18da78d9a"
/>
2026-06-22 13:52:28 +00:00
VMSolidus 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
VMSolidus 4379dd2c1b Surgery Soft Requirement Refactor (#22314)
Skills being based on "Hard Requirements" absolutely suck, and I wasn't
happy with the surgery code being essentially hardcoded around them. So
this PR refactors surgery to use soft requirement checks, based on
modifiers to the success rate probability. Surgeries still state what
skills (if any) they require and at what level, but rather than blocking
the surgery, it instead imposes a penalty(or bonus) on the success
chance based on how much the user's surgical skill differs from the
required level. This actually stacks with the penalties for "non ideal
tools", so if you're completely unskilled in surgery and you attempt to
make an incision with a shard of glass, you're going to have an
extremely hard time.

Individual surgeries also can define how much the success rate is
modified by "skill diff", with the more advanced "surgeon exclusive"
surgeries having extremely large potential modifiers.

I have also added a signal based check for modifiers, which the Morale
component now hooks into. This can also allow for other components,
implants, drugs, etc to modify the surgery chances in the future.

I have manually tested this PR and verified by examining debug
breakpoints in VSCode that the system correctly applies its modifiers.
2026-04-26 19:57:59 +00:00
VMSolidus cb560ba6c0 Nanopaste Tweak (#22305)
Apparently made the surgeons role nearly unplayable. I need to revisit
the surgery code after my Finals Week is done.
2026-04-21 14:19:08 +00:00
VMSolidus 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
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
Fluffy 3dc4cce9c2 Minor span refactoring (#19177)
Minor span refactoring
2024-05-19 16:37:29 +00:00
Matt Atlas 82beece3db Backports the new zombification mechanics from the Konyang zombie event. (#18710)
* Reorder parasites

* sounds

* organ defines, dmdocs

* maiming stuff

* undead changes, abilities

* hylemnomil, undead sprites

* antibodies

* antibody extractor code

* icons

* antibody fixes

* antibodies vial, rock break sfx

* You're all going to die down here.

* hylemnomilz eta vial and attributions

* zombified organs can't be removed

* hylemnomil zeta edits

* fixes

* lmao

* easier check

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2024-03-24 14:04:52 +00:00
Pirouette 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
Matt Atlas 54dc8a0860 Adds TGUI say and TGUI input. (#17471)
* i alone am the honoured one

* THROUGHOUT HEAVEN AND EARTH I ALONE AM THE HONOURED ONE

* hollow point

* nanana

* ssss

* tgsay final touches

* stuff

* tgui inputs

* help

* carpal tunnel syndrome

* ffff

* again and again and again and again

* hehehehe

* dsada

* readd sanitize

* whoops

* dsad

* nah fuck that

* sd

* fix

* ow

* remove prefs for testmerging

* oops

* oops 2

* fix that

* f

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2023-10-11 23:26:59 +02:00
Matt Atlas dd6e9c4ab6 Fixes a few organ mending surgery oddities. (#17404)
* Fixes a few organ mending surgery oddities.

* ssss

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2023-09-24 12:26:58 +00:00
Doxxmedearly 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 Atlas 31c73ead85 Ports the radiation subsystem and cleans up damage flags. (#15715) 2023-02-07 13:22:47 +01:00
Fluffy 04d89f212a Singletons + refactor of /datum/observ + refactor of /decl/ into /singleton/ (#15519) 2023-01-10 19:22:14 +01:00
Matt Atlas b1869884c1 Revert "Singletons + refactor of /datum/observ (#15487)" (#15515) 2023-01-05 19:21:22 +01:00
Fluffy 0ddcf0817a Singletons + refactor of /datum/observ (#15487) 2023-01-05 18:41:40 +01:00
SleepyGemmy 836818d104 Clarifies Bone Repair Options (#14985) 2022-11-03 13:39:21 +01:00
VisVirific 986eb71f60 Lung Rescue Surgery Fixes (#13714) 2022-05-01 02:16:09 +02:00
mikomyazaki 4886413375 Updates spaceman dmm to 1.7 (#13603) 2022-04-24 16:13:50 +02:00
Geeves 0370e8c896 Tool Quality: Surgery and RIG Assembly (#12091) 2021-06-29 12:49:53 +02:00
Geeves 80fe5ab11b MMI: Braincase (#12005) 2021-06-08 19:39:46 -03:00
Doxxmedearly e231381688 Removes Brain Traumas (#11558) 2021-03-31 12:56:49 -03:00
Matt Atlas 80be3d88e1 Another set of brainmed adjustment & miscellaneous things. (#11354) 2021-03-05 23:35:58 +01:00
Wowzewow (Wezzy) 7114d3525f More new sounds and fixes equip sounds (#9464) 2020-08-12 11:17:39 +02:00
mikomyazaki 9717c518b1 Repairing robotic organs is now of type /decl/surgery_step/internal instead of robotics because it can be inside an organic external organ. (#9591) 2020-08-03 17:08:32 +02:00
mikomyazaki bf19b6653d Surgery tidy-up & bugfixes (#9501) 2020-07-30 14:05:38 +02:00
Matt Atlas 0a00700401 Switches most common visible_messages to look like emotes, inc. surgery. (#8981) 2020-06-02 19:24:02 +02:00
Geeves 01c22b9246 Language Processors (#8823)
Added certain language augments to the Vaurca loadout.
2020-05-30 16:19:07 +03:00
Matt Atlas 105cb5d64e Remove sharp/edge in procs and consolidate them into damage flags. (#8672) 2020-04-30 20:29:35 +02:00
Matt Atlas 4b97822bb4 Bump dreamchecker version to 1.4 (#8711) 2020-04-28 15:41:32 +02:00
Alberyk 7d86fdf901 Cyberpunk 2462: augments for real this time (#8113)
This pr adds an augment option to the loadout, that by using copious amounts of shitcode, allows players to spend their snowflake points into becoming total powergamers cool augmented cyborgs.
Also, make a couple of changes to allow all limbs to host internal organs and interact with them in surgery.
2020-04-23 19:27:53 +03:00
Wowzewow (Wezzy) b9b42f4f8f Janitor, hydroponics and medical inhands (#8456) 2020-03-21 13:36:49 +01:00
Matt Atlas 7e10f31776 Welders and cable coil now automatically repair the targeted robotic limb. (#8246) 2020-02-18 15:54:27 +01:00
Matt Atlas 06dbe222ad Fixes a whole bunch of bugs. (#7984) 2020-01-12 11:37:05 +01:00
Matt Atlas 37abd8f771 Brainmed Code Quality + Organ Scarring (#7645)
Organ scarring has been made into a better system.

New healthdoll.

Other misc code cleanup attempts.

Fixes #7647
2019-12-14 00:10:53 +02:00
Matt Atlas df0cd6189a Brainmed Update (#7502)
gamer time.
2019-12-10 20:41:15 +02:00
Geeves 713a001b80 Surgery Overhaul (#7507) 2019-12-02 20:13:32 +01:00
Matt Atlas f088260110 Fixes organ damage and pulse (#7521)
Fixes organ damage and pulse
2019-11-27 23:15:11 +02:00
Matt Atlas ce6c12f8a6 Ports arterial bleeding and tendon severing (#7432) 2019-11-21 14:45:19 +01: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
LordFowl 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
LordFowl 1086e1fdb2 [Ready for Review] Unapologetic Psych Buffs - Now with 80% less Mike Pence! (#4377)
This PR removes brain surgery's ability to instantly cure all traumas. Now traumas have been roughly divided into four categories of treatment:
1: Chakra therapy cures traumas that directly affect physical behavior, such as tourettes or paralysis. It is accomplished via the crystal therapy pod available to the psychiatrist.

2: Hypnotic therapy cures traumas that directly affect mental behavior, such as phobias or confusions. It is accomplished via the mesmetron pocketwatch available to the psychiatrist.

3: Isolation therapy cures traumas that cause hallucinations. It is accomplished via the metronome and facilitated by the isolation room available to the psychiatrist.

4: Surgical therapy cures traumas that do not fit into the above categories. It is accomplished via brain surgery.

Using the crystal therapy pod's neural scan function will provide the psychiatrist the brain damage the patient suffers from in numerical form. It falls upon the psychiatrist to determine how much of this brain damage is being caused by mental traumas the crystal therapy pod is equipped to deal with. Excessive cycles will cause increasing amounts of radiation damage.

The mesmetron pocketwatch requires the patient to believe in hypnosis. It then puts the patient into a slumber, where the psychiatrist can hypnotically suggest new behavior, provided the patient continues to believe in hypnosis. Each suggestion cures a single hypnotic trauma.
The isolation room is equipped with a metronome. When active, the metronome will have a chance every ticktock of the metronome to cure an isolation trauma, provided the patient is totally alone.

The psychiatry office has been expanded into a complete mental health ward. The only thing it is lacking is beds, as I believe recovering mental health patients still belong in the recovery ward.

The chaplain can also cure isolation and chakra traumas by dispelling the demons within with his null rod. Staring at the supermatter unprotected has been known to hypnotize. Electricity applied by any source directly to the head is also known to sometimes cure electroshock trauma.
2018-04-08 16:29:33 +03:00
LordFowl ad00601b81 Ports /tg/ Brain Trauma (#3979) 2018-01-27 12:13:19 -06:00
Alberyk 1fc6291d46 Return of the facehuggers (#3883) 2017-12-12 13:46:44 -06:00
Erki 07cedfb335 Some more fixes (#3130)
Fixes #2173
Fixes #1927
Fixes #3100
Fixes #3087
Fixes #3124
2017-07-23 01:03:41 +03:00
MarinaGryphon 5955697663 Changed lobotomization to memory recall removal. (#2145)
Changed the name of lobotomization to MMI preparation in messages displayed to players.
It still functions the same. This is due to concerns that a lobotomy would not have the described effect, and a medical professional (such as a character performing the surgery) would not call that one.
2017-06-15 12:33:41 +03:00
LordFowl 28edd6fe33 Adds surgery: Lobotomies (Cake's request) (#2128)
As per Cake's looser instructions, MMI's will require a lobotomized brain to function. Instead of having the MMI automagically lobotomize a brain, I decided instead to make it a surgical operation and a prerequisite to borging. This also cleans up some snowflake istype() checks by instituting two new variables.

Cortical stacks, slime brains, and golem brains cannot be lobotomized, and as such cannot be put into an MMI.

You can lobotomize a person either by surgical-drilling their brain in surgery, or by surgical-drilling their removed brain.

The roboticist now spawns with a drill to accomodate this change. Surgical drills are not really useful otherwise, so I don't think this is a huge upset of the surgery balance.

Lobotomy will send the following message to the lobotomee;
"You have been lobotomized. Your memories and your former life have been surgically removed from your brain, and while you are lobotomized you remember nothing that ever came before this moment."
2017-04-29 01:29:23 +03:00
SoundScopes 97bb1e8e38 Travis: Indentation / list fixes (#1254)
Fixes the tools/indentation.awk script to not demand a comma at the end of perfectly valid comments.
Makes it report unnecessary commas in lists.
Readds it to the Travis build list.
2016-12-19 16:40:52 +02:00