* 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>
* Moved chainsaw buff to afterattack()
* Fixes to oversights I wasn't aware of
* Actually fixes things
* Dangling return
Co-authored-by: Gatchapod <Gatchapod@users.noreply.github.com>
* Adds support for self-filling reagent containers
* Sets tool_behaviour on the default set of tools
* Fixing merge conflicts
* Refactors welder to use tool behaviour
* The refactor: part I
* The refactor: part II
* Tool Refactor Part III: Revenge of the Maint
* Tool Refactor Part IV: A New Hope
* Tool Refactor Part V: The Oldcoder Strikes Back
* Tool Refactor Part VI: Return of the Coder
* VII
* Holy shit, it compiles?!
* Nannek I completed your TODO, you owe me ice cream
* Tool helpers; telepad is compliant
* Bugtest, Round 1: Fight
Fuck refactoring disposals
* Buggfixing, Round 2: Electric Boogaloo
* Personal crafting uses tool behaviours now
* Construction datums use new tool behaviours; better way of handling fueltank refuelling; more bugfixing
* multitool_check_buffer change; removes some useless things in tool_helpers
* proc name change
* TRUE/FALSE changes
* Bugfixing, Round 3: A Good Day To Bugfix Hard
Fixes multiple issues raised by the testmerge
* Minor style changes
Fixes more compile errors. Down to 65 now.
updates << into to_chat
Down to 60 errors, also starts to port the codex gigas and law 666 for cyborg devils.
Fixes more compile errors. Down to 41 now.
Replaces timers with spawns, and <<s with to_chats
40 compile errors.
Down to 34 compile errors.
whoops, actually down to 34 now.
Down to 25 compile errors.
Down to 15 compile errors, I'llprobably need some help at this point.
Woo! Down to 7 compile errors.
Ported over devil hud. Number of errors up to 19.
WOO! It compiles. It's completely untested, but it compiles.
Adds devils to traitor panel
Implements iron, silver and salt banes.
implements flashing lights bane
Selling your soul prevents cloning, and some other methods of revival.
Implements harvest bane
Merged and sorted icons/obj/bureaucracy.dmi
Adds toy codex gigas
Fixes compile errors, adds codex gigas sprite.
Lots of bug fixes. Contracts work, devil revival is more consistant, etc
Adds missing icons for flaming contracts, summon pitchfork, summon wealth, employment cabinet, and sintouch.
Converts DEEP LORE explanations from hell to inferno incorporated.
Banishes the compile errors.
Devils come from hell again.
replaces offer drink obligation with a much more lore appropriate devil's fiddle reference
Also fixes contract bashing brain damage chance.
Undoes some changes I accidentally did to example config files.
Fixes up a few remaining bugs.
Puts in the codex gigas and employment contract cabinets.
-- Lemon - I kinda skipped this one, I'll patch it back in later because
map conflicts are suffering incarnate
Solves the devil law problem in a REALLY hacky snowflake way.
Fixes a few methods in which a hellbound can be revived.
Devils respawn with a limited number of appropriate items, instead of COMPLETELY naked upon corpse destruction. Also adds lines to example config.
Updates devil laws to be less hacky.
Objective to sintouch x mortals now greentexts correctly.
Contracts no longer cause brain damage. I didn't realize it was lethal on this codebase. Oops.
Splits dust(visual_only) into dust() and dust_animation() procs
Fixes some defines.
Adds undef statements to improve compile times.
Fixes race changes from demonic form changes.
Fixes small runtime error. (Which somehow didn't break anything?)
Implements lots of small changes/corrections suggested by CrazyLemon64
I still need to test these changes, along with other potential issues he brought up.
Fixes harvest bane and power contracts. Also adds a few </span> tag enders.
Corrects some edge cases with revival contracts.
Fixes compile error.
Reverts unneccecary change to item/weapon/reagent_containers
Cleans up the code for readability.
Prevents cloning of hellbound individuals.
Latejoins now properly have employment contracts added to employment cabinets (provided they still exist)
Infernal contracts are no longer rendered unreadable by fire and alcohol.
All fireproof paper remains readable after being fireballed, not just infernal contracts. (Though infernal contracts are the only fireproof paper atm)
Fixes an edge case problem with cloning.
Adds is_revivable proc to mind.
Removes snowflake code involving preventing soulseller resurrection.
Indulges in the sin of sloth, and copies tg's lazy list macros
Proc calls that transform the user no longer go to a null target
Fixes devil UI, human regression will keep appearance, and adds danceoff
Devil's base forms no longer suffocate inside the devil
Fixes runtimes, gets stuff working
The arch devil can now blast down walls with their pitchfork
EXTERMINATE ALL SPIRITS
Activates devil clause in voice of god
Fawks Mcclood
Feature P A R I T Y
Fixes devil bugs from testing
- Does a death refactor to make sure that diabolical resurrection works
- Walls no longer leave girders when blasted by the devil
- Getting a new body gives you a rudimentary amount of equipment to work
with to get out of maintenance or whereever
Does all the icons in a single commit on their own because icon
conflicts suck
Starting point of extra devil rebalance/fixes
Ports devil friends
Also oops tramples all over Fethas' corpse PR that's still up I need
to take care of that one
Styling fixes
This is a merged port from /tg/station and Virgo on logging standards.
The diary has been replaced with GLOB.world_game_log, diaryofmeanpeople
is gone (because it wasn't actually used) and a whole bunch of logging
procs have been changed to optimize Splunk.
added a few defines and helpers
do_after family supports callbacks
added airlock security levels to airlocks
obj_integrity for doors, door assemblies, firelock frames
vault door assembly is 8 plasteel up from 6
explosion_block works better
heavy firelocks block explosions, firelock (de)construction uses crowbar instead of welder
xenos can open airlocks
minor change to attacking obj message
make environment_smash into bitflags
add obj_damage for simple animals
make default max_integrity and obj_integrity INFINITY for non-defined objects, until we can move more objects to obj_integrity/take_damage() system
adds examining objects to roughly check damage
more obj_defense.dm procs
tables can be attacked with items, glass tables have a narsie_act()
fixes, changes to make it compile