* Initial commit
Fixes up surgery.dm
Adds some tool behavior
* More basic changes
* Checkpointing: this is a little gross right now
* Add signal COMPONENT_CANCEL_ATTACK_CHAIN
* Cleans up surgery initiator
* Mostly gets surgery (and canceling it) working
* Add abstract proxy surgery steps
Also adds them to organ manipulation
* Clean up most existing surgeries
* Rework organ openness, adds define for aborting a beginstep
* surgery works again, also implements retry defines
* fix surgery computer
* add limb repair to synth implant removal
* retry implant checks
* Clean up abductor surgeries as well as some other things
* A lot
- Reworks organ manipulation to use a series of surgery steps instead
- Fixes some runtimes with open hands
- Lets mito zero out the germ level while treating necrosis
- Adds a debug surgery tool
* add debug surgery tool, note some TODOs for later
* Add conditional check for surgeries repeating
* update surgery retry logic to make it more of a bonus
* Lets abductors automatically retry any failed surgery steps
* Rework robotic surgery to use abstract/proxy steps
* Bunch of bugfixes and more!
- Limb reattachment works properly now, you can just slap a limb onto a person
- If the limb isn't robotic, it'll be useless until the surgery is finished with a hemostat, though it might be enough to get the patient out of the OR.
* Remove more now-implicit checks
* Slight reorganization
* more fixes across the board
* Remove unused variable
* Trying not to lose my mind here
- Does away with can_run() entirely
- Cleans up visible messages in code
- begin steps should now all have ..() afterwards
- slime bone surgery should be fixed now
- more docs
* Robotic surgery is stoppable with a crowbar, all surgery can_start now checks parent
* Fix some broken robotic typepaths
* Typepath fixes, do away with some last TODOs
* Forgor
* Last cleanups before we go gold
* jk lol
* Make early surgery termination clearer
* More "last" cleanups
* Fixes tool flags, surgery initiation
- Fixes surgery not being startable by sharp objects
- Moves surgical tool flags to item traits
* Clean up surgery cancellation, especially for borgos
* I think this should GC better
* Apply suggestions from code review
Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>
* Status is now step number
* Add a 20% chance to find nothing during organ manipulation
* Improve documentation, make forced_surgery a normal arg
* Charlie's reviews
* Why are abductors like this
* Little more verification, ensuring limb augmentation and organ manip healing work properly
* Fix torso organ manip being unfinishable
* Fix cavity implants, open-hand/any item steps
* Make sharp objects not try to start an operation with help intent
* Comments, quick target fix
* Re-order list so advanced bruise pack is pulled first
* Make surgical gripper function like an open hand
* Make mito only use one unit per organ for now
* Check if user is on operable surface before trying to operate
* Reduce admin logging
* Fix some bugs that appeared during the testmerge
- you can no longer start robotic surgeries with a scalpel (lol)
- you can now cancel surgeries on the first step after I fixed some bugs that I introduced (woo hoo)
- Synthetic limb attachment is now combined into a single startable surgery step, though still retains the fun flavor of both
* Swats some more bugs
- (hopefully) fixes a huge source of runtimes where we tried to check if we could run surgeries before checking if the surgery used an organ
- In doing so, moves the logic for determining if a surgery can start to the mob-level
- Fixes robotic reattachment surgery not working
* multi-bug drifting???
- Fixes a bug where a branching surgery with an any tool option could possibly override a step with a matching tool
- Fixes some intermediate surgeries failing due to not having specified possible_locs
* A few more fixes
- Fixes any surgery tool steps again
- Fixes cavity surgery again
* Hopefully fixes getting stuck in robotic organ manip
* Remove extra parent call
* Steel review
* Steel review
* Fix spacing for possible locs
* Roundstart traits
* Advanced surgical traits and other hal fixes
Co-authored-by: Sirryan2002 <80364400+Sirryan2002@users.noreply.github.com>