Commit Graph

59 Commits

Author SHA1 Message Date
Cameron Lennox fb81ffbe83 Amputation Repair, Surgery adjustments, and amputation vision. (#19199)
* Fixes necrosis steps setting bone

Makes it so you the 'cut away' step doesn't set bones to open. This is entirely a non-internal fix (you're working on the flesh, not the organs inside) so you don't need the bone retracted.

* Update other.dm

* Crowbar Augment

* descriptors

* Update carbon.dm

* no typecasting

* removes unused proc

* Limb status

* Makes butchering take time

Gives a warning as well when starting it.

* Update organ.dm

* Update organ.dm

* Closing surgical stages and desc.

Opened organs have descriptions that they're opened.

Organs inform you that they have SPECIAL MECHANICS THAT'VE BEEN IN FOR 10 YEARS that you can do to them.

Allows fixing amputated organs

A BUNCH of stuff

* Update organ.dm

* Keep the washing

* Update external_repair.dm

* Update other.dm

* Organizes surgeries

* fix a typo

* Update surgery.dm

* More surgery

* Nerve Surgery

Adds template for nerve surgery

* Prevents pain from limbs that feel no pain

* Update external_repair.dm
2026-02-27 19:16:27 +01:00
Will 779d33dc4c germs (#19130) 2026-02-04 02:15:29 +01:00
Cameron Lennox 4899465a23 Various Surgery & Medical fixes, QoL, and adjustments (#18718)
* bunch of medical adjustments

* or so i thought

* De-death surgery

* Update carbon.dm

* Update mob_grab_specials.dm

* yeh

* Palpation

* internal bleeding

* Update life.dm

* duration increase

* adjust these

* Fixes a bug with defibs that I caused

When I reworked get_crit_point, it caused defibs to DEAL oxyloss instead of HEALING it, like it has been doing for the past 8 years. This fixes it.

* fixcees this

* fixes syringe stabbing

* Converts these to managed global lists

* gets rid of disabilities

* Change injury check to use do_after with delay

* lungfix

* actually remove the necrosis

* Fixes brain surgery

* fix language bug

* Update brain.dm

* ghetto surgery adjustments

Buffs some ghetto surgery
Makes some injuries sustained less gnarly if you fail with a ghetto tool.
Some mild typo fixes.
2025-11-09 00:24:55 +01:00
Cameron Lennox c2b50ace33 Gets rid of hasorgans() helper proc (#18692)
This was just ishuman()
2025-11-08 03:30:32 +01:00
Cameron Lennox 57d1d031da Axes do_mob and replaces with do_after (#18739)
* moooore do_afters

* theese

* Failsafe

* Update human_attackhand.dm
2025-11-08 02:01:23 +01:00
Cameron Lennox d73f6b8dbd Makes uses of do_after sane (#18334)
* Prevents insta-actions

* Do_after sanity

NOTE: NUKE do_after_action

* Update bonfire.dm

* The  rest of them

Also fixes a tpyo

* no minitest :)

* .

* .

* Gets rid of the slowdown for now

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-09-08 02:25:08 +02:00
Cameron Lennox 84dc5535dc var/global/list -> GLOB. conversion (#17928)
* These two are easy

* !!!runlevel_flags

the fact it was global.runlevel_flags.len has me a bit...iffy on this.

* !!!json_cache

Same as above. used global.

* player_list & observer_mob_list

* mechas_list

* this wasn't even used

* surgery_steps

* event_triggers

* landmarks_list

* dead_mob_list

* living_mob_list

* ai_list

* cable_list

* cleanbot_reserved_turfs

* listening_objects

* silicon_mob_list

* human_mob_list

* Update global_lists.dm

* joblist

* mob_list

* Update global_lists.dm

* holomap_markers

* mapping_units

* mapping_beacons

* hair_styles_list

* facial_hair_styles_list

* Update global_lists.dm

* facial_hair_styles_male_list

* facial_hair_styles_female_list

* body_marking_styles_list

* body_marking_nopersist_list

* ear_styles_list

* hair_styles_male_list

* tail_styles_list

* wing_styles_list

* escape_list & rune_list & endgame_exits

these were all really small

* endgame_safespawns

* stool_cache

* emotes_by_key

* random_maps & map_count

* item_tf_spawnpoints

* narsie_list

* active_radio_jammers

* unused

* paikeys

* pai_software_by_key & default_pai_software

* plant_seed_sprites

* magazine_icondata_keys  & magazine_icondata_states

* unused

* ashtray_cache

* light_type_cache

* HOLIDAY!!!

this one was annoying

* faction stuff (red?!)

* Update preferences_factions.dm

* vs edit removal

* backbaglist, pdachoicelist, exclude_jobs

* item_digestion_blacklist, edible_tech, blacklisted_artifact_effect, selectable_footstep, hexNums, syndicate_access

* string_slot_flags and hexdigits->hexNums

* possible_changeling_IDs

* vr_mob_tf_options

* vr_mob_spawner_options

* pipe_colors

* vr_mob_spawner_options

* common_tools

* newscaster_standard_feeds

* Update periodic_news.dm

* changeling_fabricated_clothing

* semirandom_mob_spawner_decisions

* id_card_states

* Update syndicate_ids.dm

* overlay_cache & gear_distributed_to

* more

* radio_channels_by_freq

* Update global_lists.dm

* proper

* default_medbay_channels & default_internal_channels

default_internal_channels is weird as it has a mapbased proc() but that proc is never called...

* valid_ringtones

* move this

* possible_plants

* more

* separate these

moves xeno2chemlist from a hook to a new global list.

* tube_dir_list

* valid_bloodreagents & monitor_states

* Junk

* valid_bloodtypes

* breach_burn_descriptors & burn

* more!!

appliance_available_recipes seems uber cursed, re-look at later

* Appliance code is cursed

* wide_chassis & flying_chassis

* allows_eye_color

* all_tooltip_styles

* direction_table

* gun_choices

* severity_to_string

* old event_viruses

* description_icons

* MOVE_KEY_MAPPINGS

* more more

* pai & robot modules

* Update global_lists.dm

* GEOSAMPLES

Also swaps a .len to LAZYLEN()

* shieldgens

* reagent recipies

* global ammo types

* rad collector

* old file and unused global

* nif_look_messages

* FESH

* nifsoft

* chamelion

* the death of sortAtom

* globulins

* lazylen that

* Update global_lists.dm

* LAZY

* Theese too

* quick fix

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
2025-07-14 20:14:31 +02:00
Guti 78c71907e9 Balloon Alerts (#17540)
* balloon alerts

* Take that one out

* fixes

* fixes 2

* Missing one

* That goes there

* ough

* ,

* .

* .

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2025-05-08 22:00:54 +02:00
Kashargul a2c673ab7a refactors most spans 2024-10-02 21:10:31 +02:00
Nadyr 7696ad5253 Adds amputation delay 2024-09-25 18:36:12 -04:00
Heroman 9a94306585 Refactors tool typechecks, refactors transforming tools, makes Altevian wrench into one 2023-10-01 09:34:43 +10:00
C.L 6283faf305 Ripper Surgery 2022-10-03 19:47:04 -04:00
C.L 4ef8c0e9d8 useless return 2022-10-03 04:45:57 -04:00
C.L 47230cac4f Makes surgery steps have names. Exclusive Steps. 2022-10-03 04:44:49 -04:00
C.L 366533390e This works and things are all good
Revert "This works and things are all good"

This reverts commit a8a40d6a3111478a572047d3ffbcf0f85550827b.

This works and is all good
2022-10-03 01:01:50 -04:00
Mechoid 9cc7d641b2 Self-Surgery 2020-11-18 16:57:32 -05:00
Aronai Sieyes 0b19c528da Allows do_mob and do_after to be exclusive, to prevent stacking 2020-05-05 19:10:55 -04:00
Heroman a6d6cf7825 More fixes for broken medical 2020-02-19 08:35:37 +10:00
Heroman cdd0885c93 Fixes broken tool usability logic for surgery 2020-02-18 18:11:35 +10:00
Arokha Sieyes 47ccc655db Deprecate the stream operator 2020-02-12 19:38:43 -05:00
Atermonera 571fe9f734 Merge pull request #6667 from Heroman3003/voidsuti-surgery
Prevents surgery from being done while wearing a voidsuit
2020-02-10 16:03:04 -05:00
Anewbe 729ce71aa0 Converts most istype(thing,tool) procs into an appropriate thing.is_tool() format 2018-08-02 21:45:15 -05:00
Mechoid 437aad2d77 Adds a Frankenstein Surgical Procedure (#4990)
* Makes a Surgery for Frankensteining

* Fix a thing.

* Tweak things!

* Sickness not permanent, Recovery is.
2018-03-05 19:46:05 -06:00
Cyantime a5cb20a820 Fixes multisurgery 2018-01-19 23:26:56 -05:00
Anewbe 0b83e020af Better borg tools, improves Electric Welder 2017-09-20 21:48:15 -05:00
Arokha Sieyes 6d58df9f60 Surgery and syringe fixes
Fixes a line printed about staying close to your patient printed in error, and makes syringes work on laying patients again.

The do_surgery overrides are from a bygone era.

Tested == yes
2017-06-09 02:11:23 -04:00
Neerti a0a390e887 Surgery Modifications
Semi-rewrites how surgery failure works.  Using an improper surface will call the surgery step's fail proc instead of just doing a melee attack.
Adds 'surgery odds' var to objs, which determines effectiveness.  The numbers for operating tables/roller beds/tables remain unchanged from the previous version, however doing it this way makes it cleaner to add new surfaces in the future.
Adds a proc to get a surgery surface.
Also makes burn repair on FBPs more efficent, so that one scorched robot does not take literally all of robotic's wires.
2017-05-31 17:41:02 -04:00
Anewbe 7538cfbe45 Another glorious bugfix 2016-11-16 20:48:04 -06:00
Anewbe 18b15163f6 Fixes some surgery bugs 2016-10-28 23:19:27 -05:00
HarpyEagle fc063115df Makes do_surgery() into an item proc, refactors medical stack application
Surgery is now handled before attack() is called, no need to check that in attack()
2016-06-17 18:08:36 +01:00
Yoshax e11a7a5342 Fixes beating people up during surgery 2016-05-18 22:59:05 +01:00
Yoshax 5aeb6fd5a2 Can use items on roller/optable people on help intent 2016-04-22 20:31:33 +01:00
PsiOmegaDelta ba423361bd Updates macro/span use. 2015-12-02 15:00:58 +00:00
PsiOmegaDelta 7ef07aeca6 Fixes hemostat surgery.
Port of https://github.com/PolarisSS13/Polaris/pull/381.

# Conflicts:
#	code/modules/surgery/organs_internal.dm
#	code/modules/surgery/robotics.dm
#	code/modules/surgery/surgery.dm
#	polaris.dme
2015-12-02 14:42:41 +00:00
Jon 03a4b91ad0 Removes erroneous world.log line. 2015-12-02 03:47:05 +00:00
Jon 230d676c3f Changes the arbitrary failure return for surgery from 2 to -1. This is because ORGAN_BLEEDING in damage_organs.dm is now 2 so some statements evaluate to 2, which causes bleeding clamp surgery to fail as it triggered the "This is an error that's already been dealt with" condition coincidentally.
Surgeries which report failures (like trying to stick a brain in someone who's already got one) now throw back a -1 not a 2.
2015-12-02 03:45:24 +00:00
Zuhayr bb82f80885 Added get_bodytype() species proc as groundwork for subspecies.
Conflicts:
	code/modules/mob/living/carbon/human/update_icons.dm
	code/modules/organs/organ_icon.dm
2015-08-22 02:53:16 +09:30
= 601e6fb7ef Merged with dev. 2015-03-31 11:17:13 +10:30
PsiOmega 464d702d4b Mob refactoring.
Updates Bump() code.
Intents now use constants.
Simple animals can now use languages without overriding say().
There is now a difference between being able to smash normal and reinforced walls.
Reworks simple_animal/attackby so that constructs don't need to override it simply to add damage resistance.
2015-03-29 10:44:31 +02:00
Zuhayr e0f23aead5 Collapsed all organs into one object type. Added more interesting amputation. Added dislocation. WIP. 2015-03-11 21:17:51 +10:30
PsiOmega 173f0527eb Merge remote-tracking branch 'upstream/master' into dev-freeze
Conflicts:
	code/modules/mob/living/carbon/human/life.dm
	code/modules/nano/nanomanager.dm
	code/modules/surgery/surgery.dm
2015-03-05 08:05:44 +01:00
Chinsky b0be5a90ff Fixed exploit that allowed you to apply surgery step to any zone regardless of where you state it. For example it allows you to cut off heads, groins and even torsos by starting to cut off limb and then switching to other zone. Also now surgery lock is area-based, so more than one surgeon can work on different organs at same time. 2015-03-03 13:37:26 +03:00
Chinsky acfd99e33c Surgery now shows up on mob, in all gory glory. 2015-02-21 16:31:44 +03:00
Chinsky 6e7eb38c5d Merge pull request #7850 from Baystation12/master
master -> freeze
2015-01-16 14:23:03 +03:00
Chinsky 6f8618ded8 Fixes surgery steps never failing 2015-01-15 18:04:10 +03:00
Zuhayr bbfc6db0a3 Refactored gibbing and slipping for carbon mobs, entirely removed mutantrace var. This commit is only partial, following commits are contiguous to it (lol this is atomic right) 2014-12-23 17:38:05 +10:30
Zuhayr 37cb78eefa Fixes #6613 and #6492 2014-10-08 23:10:12 +10:30
Zuhayr 9fcde12b4f Organ rewrite mapclean attempt. 2014-09-29 06:18:58 +09:30
Hubblenaut 1602cb883c Surgical tools that are nowhere near the patient don't cause a fail step 2014-08-17 02:34:25 +02:00
Zuhayr 16c1494d7f Merge pull request #5613 from comma/master
Fixes #5563
2014-07-14 15:49:19 +09:30