35 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 849340274d sdaf (#18321) 2024-02-08 12:38:28 +00:00
Matt Atlas 8cb6502772 Fixes broken bone surgery not requiring broken bones. (#18157)
Co-authored-by: Matt Atlas <liermattia@gmail.com>
2024-01-07 02:47:33 +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
Geeves 0370e8c896 Tool Quality: Surgery and RIG Assembly (#12091) 2021-06-29 12:49:53 +02:00
mikomyazaki bf19b6653d Surgery tidy-up & bugfixes (#9501) 2020-07-30 14:05:38 +02:00
Matt Atlas c6d9cba325 Changes up a lot more messages to look like emotes. (#9133) 2020-06-18 10:29:47 +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 ab2723a3c5 Security equip. fixes/buffs, general brainmed fixes, agony + halloss into pain (#7699)
tweak: "Security's base nonlethal equipment - tasers and rubbers - is now a bit better."
    bugfix: "Fixed teargas doing practically nothing."
    bugfix: "Fixed a lot of stuff not applying pain damage. Ow."
    bugfix: "Fixed undefined values on the CMC."
    bugfix: "Fixed dionae not regenerating damage."
2019-12-18 09:15:17 +02:00
Geeves 713a001b80 Surgery Overhaul (#7507) 2019-12-02 20:13:32 +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
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
NanakoAC ceff4ae424 Tech Fixes: (#1888)
Fixes #1790 
Fixes #1791 

Fixes a number of issues with robot sprites, chem master machine, and surgery steps

The issue with borg sprites was caused by duplicate calls to ..()
Ive standardised robot module parent calls to the top of the function

Fixed the chemmaster not depositing pills in bottles properly. I added a new add_to_storage proc to storage.dm which is just a simple, safe means of putting stuff in stuff. it handles the checking.

Fixed some issues with surgery. A few surgery steps had incorrect "open" var ranges defined which was causing organ repair surgery to be interfered with

Also removed screwdriver from the list of bone mending tools, and added duct tape instead as the ghetto alternative. And allowed energyswords + chainswords to be used for cutting open ribs. theyre already useable for amputation

Fixed an incorrect return var for surgery that was making surgeons able to attack their patients on help intent. Shouldnt happen anymore

And also fixed the experimental welder being un-makeable at the protolathe.
2017-03-12 11:52:33 +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 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
Zuhayr 9fcde12b4f Organ rewrite mapclean attempt. 2014-09-29 06:18:58 +09:30
Boop c7d745e9c1 fixed some weird slime runtime that's been around forever apparently 2014-06-17 23:30:25 +01: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 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