Commit Graph

38 Commits

Author SHA1 Message Date
Luc
346a1b8142 Yet Another Surgery Refactor (#18325)
* 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>
2022-09-16 18:48:43 +01:00
meow20
938af9a854 Replaces unused key shortcut with the admin freeze button (#17433) 2022-03-05 21:23:09 +01:00
Fox McCloud
9a89ceed9c Better Alt Click (#15552) 2021-03-11 19:22:59 +00:00
AffectedArc07
f5f97882cf BRUTAL Part 1 - No proc var/ in procs 2021-02-01 14:10:08 +00:00
SabreML
2156ddd255 Ghost Pointing (#15272) 2021-01-14 21:41:49 +00:00
moxian
dd94a30dbb Allow ghosts to look inside containers (#14996)
* Allow ghosts to inspect storage via alt+clicking

Also streamlines orient2hud calls a bit.

* Normal click now also opens the storage for ghosts.
2020-11-30 16:07:49 +00:00
Gatchapod
3e6ad37661 renaming it is a good idea, too 2020-07-01 05:25:49 +02:00
Fox McCloud
b0c0d44895 Fixes Spectral Blade (#13694)
* Fixes Spectral Blade

* purge unused following
2020-06-26 01:17:14 -06:00
SteelSlayer
f0b50ab60c explanation comment 2020-01-11 21:24:08 -06:00
SteelSlayer
692301efb6 Fixes a runtime with revenants 2020-01-08 09:02:52 -06:00
Fox McCloud
f8c447dbba Merge pull request #12023 from SteelSlayer/ghost-health-analyzer
Health and Cyborg analyzer for ghosts
2019-08-22 19:54:48 -04:00
SteelSlayer
3e7156e263 Ghost health/cyborg analyzer 2019-08-17 10:00:05 -04:00
AffectedArc07
cd57a4605e P A R A L L A X 2019-08-13 16:32:31 -07:00
Crazylemon64
5b0eedcee5 Refactors buildmode into submodules, and adds an "atmos" buildmode
Also makes the mode selection interface far less tedious/painful

Adds unsimulated turf overriding, and admin logging

Temporary commit for storing the sdql buildmode

Adds extra documentation

also requires a path to be selected for "advanced" and "fill" modes, now

Spaces out mode switch buttons nicer

removes need for debug rights to do a fill with mob paths

Adds a bunch of extra fancy paths

Fox Changes pt 1

Backports /tg/station changes

Fixes a double-tap issue with dclick handling of certain mobs

Also no longer shows the "selection canceled" if you haven't selected a
region for the buildmode that supports region selection

Updates buildmode stuff
2018-10-07 20:54:40 -07:00
Krausus
56f6b3a14e Adds multi-mob warning to admin click shortcuts
Also, cleans up admin_mob_info code a bit
2016-07-28 17:02:46 -04:00
Krausus
16500f0f27 Adds admin ghost click shortcuts
Also refactors extra mob info code into its own proc.
2016-07-25 23:16:21 -04:00
Tigercat2000
78f53553f8 Reduce lines by removing blank lines added by PJ's script 2016-04-05 08:25:57 -07:00
Tigercat2000
9d430844c3 Replace most (if not all) output << operators with to_chat(user, message)
Currently, to_chat is literally just a proc that does user << message.
But it'll let us do output modification in the future, especially for
something like Goon's HTML chat.

Big thanks to PJB for his to_chat script, see
https://github.com/d3athrow/vgstation13/pull/6625 for more details.
2016-04-05 08:15:05 -07:00
Crazylemon
3d37285c2f Adds in returns, removes buildmode click speed limit on living mobs 2016-02-29 16:03:11 -08:00
Crazylemon64
a816e0e0aa Makes buildmode quit if you switch to another mob, to prevent tragedy 2016-02-29 08:09:47 -08:00
Crazylemon64
a8f890bad1 Updates the buildmode tool to allow for better area generator testing 2016-02-29 07:09:00 -08:00
Crazylemon64
b3c795f8fc Lets you follow any movable atom 2016-02-09 18:33:13 -08:00
Crazylemon64
88d90b1640 Ghosts can follow mechs 2016-02-07 13:42:42 -08:00
Tigercat2000
0603f73232 Bay12 examine overhaul.
This commit overhauls the examine system to baystation's latest system,
including a more efficient verb approach, and a new status panel tab,
which shows more information for pre-defined objects.
2015-09-14 11:51:40 -07:00
Markolie
6716c21a8f Update ghost following 2015-08-23 20:01:53 +02:00
Fox-McCloud
2ad1c74457 Singularity Refactor 2015-06-10 20:04:28 -04:00
Krausus
1e046c9fa4 Stat Panel Fixes
Fixes shuttle ETD, debugging info in Status tab, ghost alt-clicking,
mind-level spell listing, and ordering of Lobby tab.
2015-05-19 10:06:05 -04:00
Markolie
483565c56a Remove default examine from attack_ghost 2015-02-23 20:53:25 +01:00
Markolie
3b072b5a62 Remove click delay from most things 2015-02-22 18:47:58 +01:00
Markolie
d8d1670b68 Revert "Revert "Saycode/language/species port from Bay""
This reverts commit d54579850c.

Conflicts:
	code/game/gamemodes/nuclear/nuclearbomb.dm
	code/game/objects/items/devices/radio/intercom.dm
	code/modules/mob/living/silicon/pai/pai.dm
2015-02-20 17:46:35 +01:00
ZomgPonies
d54579850c Revert "Saycode/language/species port from Bay" 2015-02-19 20:15:42 -05:00
Markolie
e868c66ad9 Fix warning 2015-02-17 23:55:26 +01:00
Markolie
b39a86078e Let ghosts use teleporter 2015-02-17 23:53:57 +01:00
Markolie
ad167dc541 Announcement system overhaul, crew monitor system overhaul, add portable crew monitor 2015-02-16 19:03:29 +01:00
ZomgPonies
6b01c45a51 compile fix 2014-02-28 19:38:55 -05:00
Rob Nelson
27be1f85a1 Ghosts now can shift-click to examine. (Fixes Redmine #93)
Conflicts:
	code/_onclick/observer.dm
2014-02-28 19:31:43 -05:00
ZomgPonies
bdbfc227c6 Adminghosts can now interact with machines 2013-11-09 09:52:21 -05:00
ZomgPonies
1d9537bbdc New click code 2013-10-12 14:43:56 -04:00