39 Commits

Author SHA1 Message Date
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 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 ab23fbdb70 Function overloads condensation (#18939)
Unified most of the procs into one definition, so there are no duplicate
around the codebase.
Marked some of the above as overridable if a good enough case can be
made for them (eg. external dependency or unlikely to be used).
2024-04-19 21:19:41 +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
Cyantime 1a8940bbd8 Adds defines for species and bodytypes (#9707) 2020-08-24 13:59:24 +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
Matt Atlas 105cb5d64e Remove sharp/edge in procs and consolidate them into damage flags. (#8672) 2020-04-30 20:29:35 +02: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 bbecc7b461 Many vore improvements. (#7686) 2019-12-19 20:06:14 +01:00
Geeves 713a001b80 Surgery Overhaul (#7507) 2019-12-02 20:13:32 +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
Dwago 205ae7f36d Plastic Surgery Fix's (#5770)
Forgot a few things for my plastic surgery PR, including support for shells and robotics repairs
2018-12-22 00:17:07 +02:00
MarinaGryphon 98378819c4 Fixed bugs with shell surgery and human damage overlays. (#3637)
You no longer have to punch people to reset their overlay. (This bug was noticed with, but is not limited to, shells.)
Shells now have their own face repair surgery.
2017-10-14 20:03:47 +03:00
Ron 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
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
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 150b24023e Renamed kitchen utensils. 2015-05-16 21:24:36 +09:30
Zuhayr a32179a062 Renamed knives. 2015-05-16 20:54:34 +09:30
Zuhayr 8aa24b86bb Renamed shards, katanas, claymores. 2015-05-16 20:36:33 +09: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
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
Mloc-Argent 712e209ab6 Merge remote-tracking branch 'upstream/master' into dev
Conflicts:
	code/__HELPERS/text.dm
	code/game/machinery/podmen.dm
	code/game/machinery/vending.dm
	code/game/objects/items/candle.dm
	code/game/objects/items/devices/PDA/cart.dm
	code/modules/clothing/suits/jobs.dm
2014-09-10 22:14:37 +01:00
Whitellama f5c9586153 Fixed matches and candles not being able to burn papers. Also made Diona join prompt appear for a bit longer. 2014-08-31 02:12:04 -07:00
Kelenius a1348faa8c Cables are now stacks 2014-08-25 18:54:35 +04:00
mwerezak 1b33ca943d Separates the sharp flag into edge and sharp
Now weapons can properly cause cuts without necessarily having a greater
chance to remove limbs.

Also separates is_sharp, has_edge, and can_puncture.
2014-06-15 20:25:39 -04:00
LightningIron b5671e8bd8 Surgery grammar fixes 2013-11-10 13:08:44 -06:00
Chinsky c84ce517e3 Changed way substitute tools are handled.
Now all tools have chance of success. Proper ones have 100.
If tool has less than 100 chance of success, it can fail the step.
2013-05-28 18:16:11 +04:00
Chinsky e8f8138e04 Added priority system for surgery steps.
Steps with higher priority would be attempted first.

Added preparation step for item insertion surgery.
2013-02-22 23:06:37 +04:00
Chinsky 8b8556a1b1 Removed requirements for face surgery to cut open head too, real counterintuitive and looks like copypaste error >.> 2013-02-15 02:06:35 +04:00
Chinsky 7f84b415a8 Moved germ transferring and blood splatters in parent 'begin_step' of surgery steps. 2013-01-13 11:56:33 +04:00
Chinsky 3447c61e49 Moved surgery from WIP to modules, since it's not really that WIP anymore.
Split one huge file into several smaller ones for readability.
2013-01-13 02:11:06 +04:00