diff --git a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm index c5efb941401..5485e09eace 100644 --- a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm +++ b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm @@ -383,7 +383,7 @@ "ahs" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/pickaxe,/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox) "aht" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/scalpel,/obj/item/stack/cable_coil,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox) "ahu" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/circular_saw,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox) -"ahv" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/optable,/obj/item/organ/brain,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox) +"ahv" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/optable,/obj/item/organ/internal/brain,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox) "ahw" = (/obj/machinery/door/poddoor/shutters{density = 0; dir = 4; icon_state = "shutter0"; id_tag = "voxshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/shuttle/window{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5_mid"; tag = "icon-window5 (EAST)"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox) "ahx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/auxsolarport) "ahy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "redcorner"},/area/security/prison) @@ -7701,7 +7701,7 @@ "cSe" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) "cSf" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) "cSg" = (/obj/machinery/door/morgue{name = "Relic Closet"; req_access_txt = "22"},/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/chapel/office) -"cSh" = (/obj/structure/table/woodentable,/obj/item/weapon/spellbook/oneuse/smoke{name = "mysterious old book of "},/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater{name = "flask of holy water"; pixel_x = -2; pixel_y = 2},/obj/item/weapon/nullrod{pixel_x = 4},/obj/item/organ/heart,/obj/item/device/soulstone,/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/chapel/office) +"cSh" = (/obj/structure/table/woodentable,/obj/item/weapon/spellbook/oneuse/smoke{name = "mysterious old book of "},/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater{name = "flask of holy water"; pixel_x = -2; pixel_y = 2},/obj/item/weapon/nullrod{pixel_x = 4},/obj/item/organ/internal/heart,/obj/item/device/soulstone,/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/chapel/office) "cSi" = (/obj/machinery/door/airlock/maintenance{name = "Chapel Maintenance Access "; req_access_txt = "0"; req_one_access_txt = "12;27"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cSj" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/camera{c_tag = "Departure Lounge - Port Fore"; dir = 4; network = list("SS13")},/obj/structure/flora/kirbyplants{icon_state = "plant-24"; layer = 4.1; tag = "icon-plant-24"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/hallway/secondary/exit{name = "\improper Departure Lounge"}) "cSk" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/hallway/secondary/exit{name = "\improper Departure Lounge"}) diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 5a07eb647ca..ed33a166b23 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -8470,7 +8470,7 @@ "dha" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/broken_device,/obj/item/robot_parts/chest,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox) "dhb" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/scalpel,/obj/item/stack/cable_coil,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox) "dhc" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/pickaxe,/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox) -"dhd" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/optable,/obj/item/organ/brain,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox) +"dhd" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/optable,/obj/item/organ/internal/brain,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox) "dhe" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/circular_saw,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox) "dhf" = (/obj/machinery/door/poddoor/shutters{density = 0; dir = 4; icon_state = "shutter0"; id_tag = "voxshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/shuttle/window{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5_mid"; tag = "icon-window5 (EAST)"},/turf/simulated/shuttle/plating/vox,/area/shuttle/vox) "dhg" = (/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/shuttle/floor4/vox,/area/shuttle/vox) diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 4d4e601ce72..af9519dddc9 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -364,15 +364,15 @@ scantemp = "Error: Unable to locate valid genetic data." nanomanager.update_uis(src) return - if("brain" in subject.internal_organs_by_name) - var/obj/item/organ/brain/Brn = subject.internal_organs_by_name["brain"] + if(subject.get_int_organ(/obj/item/organ/internal/brain)) + var/obj/item/organ/internal/brain/Brn = subject.get_int_organ(/obj/item/organ/internal/brain) if(istype(Brn)) var/datum/species/S = all_species[Brn.dna.species] // stepladder code wooooo if(S.flags & NO_SCAN) scantemp = "Error: Subject's brain is incompatible." nanomanager.update_uis(src) return - if (subject.brain_op_stage == 4.0) + if(!subject.get_int_organ(/obj/item/organ/internal/brain)) scantemp = "Error: No signs of intelligence detected." nanomanager.update_uis(src) return @@ -388,7 +388,7 @@ scantemp = "Error: Mental interface failure." nanomanager.update_uis(src) return - if (scan_brain && !("brain" in subject.internal_organs_by_name)) + if (scan_brain && !subject.get_int_organ(/obj/item/organ/internal/brain)) scantemp = "Error: No brain found." nanomanager.update_uis(src) return @@ -403,7 +403,7 @@ R.ckey = subject.ckey var/extra_info = "" if(scan_brain) - var/obj/item/organ/B = subject.internal_organs_by_name["brain"] + var/obj/item/organ/B = subject.get_int_organ(/obj/item/organ/internal/brain) B.dna.check_integrity() R.dna=B.dna.Clone() var/datum/species/S = all_species[R.dna.species] diff --git a/code/modules/mob/living/carbon/brain/brain_item.dm b/code/modules/mob/living/carbon/brain/brain_item.dm index a44b3d20450..40f7f9a871a 100644 --- a/code/modules/mob/living/carbon/brain/brain_item.dm +++ b/code/modules/mob/living/carbon/brain/brain_item.dm @@ -1,4 +1,4 @@ -/obj/item/organ/brain +/obj/item/organ/internal/brain name = "brain" health = 400 //They need to live awhile longer than other organs. max_damage = 200 @@ -13,33 +13,30 @@ var/mob/living/carbon/brain/brainmob = null organ_tag = "brain" parent_organ = "head" + slot = "brain" vital = 1 -/obj/item/organ/brain/attack_self(mob/user as mob) - return //let's not have players taken out of the round as easily as a click, once you have their brain. - -/obj/item/organ/brain/surgeryize() +/obj/item/organ/internal/brain/surgeryize() if(!owner) return owner.ear_damage = 0 //Yeah, didn't you...hear? The ears are totally inside the brain. owner.ear_deaf = 0 -/obj/item/organ/brain/xeno +/obj/item/organ/internal/brain/xeno name = "thinkpan" desc = "It looks kind of like an enormous wad of purple bubblegum." - icon = 'icons/mob/alien.dmi' - icon_state = "chitin" + icon_state = "brain-x-d" -/obj/item/organ/brain/New() +/obj/item/organ/internal/brain/New() ..() spawn(5) if(brainmob && brainmob.client) brainmob.client.screen.len = null //clear the hud -/obj/item/organ/brain/proc/transfer_identity(var/mob/living/carbon/H) +/obj/item/organ/internal/brain/proc/transfer_identity(var/mob/living/carbon/H) brainmob = new(src) if(isnull(dna)) // someone didn't set this right... - log_to_dd("[src] at [loc] did not contain a dna datum at time of removed.") + log_to_dd("[src] at [loc] did not contain a dna datum at time of removal.") dna = H.dna.Clone() name = "\the [dna.real_name]'s [initial(src.name)]" brainmob.dna = dna.Clone() // Silly baycode, what you do @@ -53,18 +50,18 @@ brainmob << "You feel slightly disoriented. That's normal when you're just a [initial(src.name)]." callHook("debrain", list(brainmob)) -/obj/item/organ/brain/examine(mob/user) // -- TLE +/obj/item/organ/internal/brain/examine(mob/user) // -- TLE ..(user) if(brainmob && brainmob.client)//if thar be a brain inside... the brain. user << "You can feel the small spark of life still left in this one." else user << "This one seems particularly lifeless. Perhaps it will regain some of its luster later.." -/obj/item/organ/brain/removed(var/mob/living/user) +/obj/item/organ/internal/brain/remove(var/mob/living/user,var/special) if(!owner) return ..() // Probably a redundant removal; just bail - var/obj/item/organ/brain/B = src + var/obj/item/organ/internal/brain/B = src if(istype(B) && istype(owner) && is_primary_organ()) var/mob/living/simple_animal/borer/borer = owner.has_brain_worms() @@ -76,12 +73,12 @@ ..() -/obj/item/organ/brain/replaced(var/mob/living/target) +/obj/item/organ/internal/brain/insert(var/mob/living/target) var/brain_already_exists = 0 if(istype(target,/mob/living/carbon/human)) // No more IPC multibrain shenanigans - var/mob/living/carbon/human/H = target - if(organ_tag in H.internal_organs_by_name) + //var/mob/living/carbon/human/H = target + if(target.get_int_organ(/obj/item/organ/internal/brain)) brain_already_exists = 1 if(!brain_already_exists) @@ -97,19 +94,22 @@ target.key = brainmob.key ..() -/obj/item/organ/brain/slime +/obj/item/organ/internal/brain/prepare_eat() + return // Too important to eat. + +/obj/item/organ/internal/brain/slime name = "slime core" desc = "A complex, organic knot of jelly and crystalline particles." icon = 'icons/mob/slimes.dmi' icon_state = "green slime extract" -/obj/item/organ/brain/golem +/obj/item/organ/internal/brain/golem name = "Runic mind" desc = "A tightly furled roll of paper, covered with indecipherable runes." icon = 'icons/obj/wizard.dmi' icon_state = "scroll" -/obj/item/organ/brain/Destroy() //copypasted from MMIs. +/obj/item/organ/internal/brain/Destroy() //copypasted from MMIs. if(brainmob) qdel(brainmob) brainmob = null diff --git a/code/modules/mob/living/carbon/human/species/skeleton.dm b/code/modules/mob/living/carbon/human/species/skeleton.dm index 713a83d1180..7a4f1bae4eb 100644 --- a/code/modules/mob/living/carbon/human/species/skeleton.dm +++ b/code/modules/mob/living/carbon/human/species/skeleton.dm @@ -37,7 +37,7 @@ "is collapsing into a pile!", "is twisting their skull off!") has_organ = list( - "brain" = /obj/item/organ/brain/golem, + "brain" = /obj/item/organ/internal/brain/golem, ) /datum/species/skeleton/handle_reagents(var/mob/living/carbon/human/H, var/datum/reagent/R) diff --git a/code/modules/surgery/bones.dm b/code/modules/surgery/bones.dm index 4a3848a483a..54d199694e8 100644 --- a/code/modules/surgery/bones.dm +++ b/code/modules/surgery/bones.dm @@ -7,12 +7,13 @@ name = "bone repair" steps = list(/datum/surgery_step/generic/cut_open,/datum/surgery_step/generic/clamp_bleeders,/datum/surgery_step/generic/retract_skin, /datum/surgery_step/glue_bone, /datum/surgery_step/set_bone,/datum/surgery_step/finish_bone,/datum/surgery_step/generic/cauterize) possible_locs = list("chest","l_arm", "l_hand","r_arm","r_hand","r_leg","r_foot","l_leg","l_foot","groin") - + disallowed_mob = list(/mob/living/carbon/human/machine,/mob/living/carbon/human/diona) /datum/surgery/bone_repair/skull name = "bone repair" steps = list(/datum/surgery_step/generic/cut_open,/datum/surgery_step/generic/clamp_bleeders, /datum/surgery_step/generic/retract_skin, /datum/surgery_step/glue_bone, /datum/surgery_step/mend_skull,/datum/surgery_step/finish_bone,/datum/surgery_step/generic/cauterize) possible_locs = list("head") + disallowed_mob = list(/mob/living/carbon/human/machine,/mob/living/carbon/human/diona) /datum/surgery/bonerepair/can_start(mob/user, mob/living/carbon/target) if(istype(target,/mob/living/carbon/human)) diff --git a/code/modules/surgery/face.dm b/code/modules/surgery/face.dm index c2af503c62c..7a27476f4c5 100644 --- a/code/modules/surgery/face.dm +++ b/code/modules/surgery/face.dm @@ -6,6 +6,7 @@ name = "plastic surgery" steps = list(/datum/surgery_step/generic/cut_face, /datum/surgery_step/generic/retract_skin, /datum/surgery_step/face/mend_vocal, /datum/surgery_step/face/fix_face,/datum/surgery_step/face/cauterize) possible_locs = list("head") + disallowed_mob = list(/mob/living/carbon/human/machine) /datum/surgery/plastic_surgery/can_start(mob/user, mob/living/carbon/target) @@ -16,8 +17,6 @@ return 0 if((target.get_species() == "Machine")) return 0 - if(!(affected.encased)) - return 0 return 1 /datum/surgery_step/face diff --git a/code/modules/surgery/helpers.dm b/code/modules/surgery/helpers.dm index 67ed3b08c17..5841d7282d9 100644 --- a/code/modules/surgery/helpers.dm +++ b/code/modules/surgery/helpers.dm @@ -27,7 +27,7 @@ continue for(var/path in S.allowed_mob) - if(istype(M, path)) + if(istype(M, path) && (!locate(M) in S.disallowed_mob)) available_surgeries[S.name] = S break @@ -86,9 +86,4 @@ proc/get_location_modifier(mob/M) else if(locate(/obj/structure/stool/bed, T)) return 0.7 else - return 0.5 - - -//just until i update maps.... -/obj/item/organ/brain/New() - new /obj/item/organ/internal/brain(src.loc) \ No newline at end of file + return 0.5 \ No newline at end of file diff --git a/code/modules/surgery/implant.dm b/code/modules/surgery/implant.dm index fe2acd815c3..fcdba7b2b71 100644 --- a/code/modules/surgery/implant.dm +++ b/code/modules/surgery/implant.dm @@ -6,22 +6,25 @@ ////////////////////////////////////////////////////////////////// /datum/surgery/cavity_implant - name = "cavity implant" + name = "item implant/removal" steps = list(/datum/surgery_step/generic/cut_open,/datum/surgery_step/generic/clamp_bleeders, /datum/surgery_step/generic/retract_skin, /datum/surgery_step/open_encased/saw, /datum/surgery_step/open_encased/retract, /datum/surgery_step/cavity/make_space,/datum/surgery_step/cavity/place_item,/datum/surgery_step/cavity/close_space,/datum/surgery_step/open_encased/close,/datum/surgery_step/glue_bone, /datum/surgery_step/set_bone,/datum/surgery_step/finish_bone,/datum/surgery_step/generic/cauterize) possible_locs = list("chest","head") + disallowed_mob = list(/mob/living/carbon/human/machine) /datum/surgery/cavity_implant/soft - name = "cavity implant" + name = "item implant/removal" steps = list(/datum/surgery_step/generic/cut_open, /datum/surgery_step/generic/clamp_bleeders, /datum/surgery_step/generic/retract_skin, /datum/surgery_step/generic/cut_open, /datum/surgery_step/cavity/make_space,/datum/surgery_step/cavity/place_item,/datum/surgery_step/cavity/close_space,/datum/surgery_step/generic/cauterize) possible_locs = list("groin") + disallowed_mob = list(/mob/living/carbon/human/machine) /datum/surgery/cavity_implant/synth name = "cavity implant" steps = list(/datum/surgery_step/robotics/external/unscrew_hatch,/datum/surgery_step/robotics/external/open_hatch,/datum/surgery_step/cavity/place_item,/datum/surgery_step/robotics/external/close_hatch) possible_locs = list("chest","head","groin") + allowed_mob = list(/mob/living/carbon/human/machine) /datum/surgery/cavity_implant/synth/can_start(mob/user, mob/living/carbon/target) return target.get_species() == "Machine" @@ -200,11 +203,13 @@ name = "implant removal" steps = list(/datum/surgery_step/generic/cut_open, /datum/surgery_step/generic/clamp_bleeders, /datum/surgery_step/generic/retract_skin, /datum/surgery_step/generic/cut_open,/datum/surgery_step/cavity/implant_removal,/datum/surgery_step/cavity/close_space,/datum/surgery_step/generic/cauterize/) possible_locs = list("chest","head")//head is for borers..i can put it elsewhere + disallowed_mob = list(/mob/living/carbon/human/machine) /datum/surgery/cavity_implant_rem/synth name = "implant removal" steps = list(/datum/surgery_step/robotics/external/unscrew_hatch,/datum/surgery_step/robotics/external/open_hatch,/datum/surgery_step/cavity/implant_removal,/datum/surgery_step/robotics/external/close_hatch) possible_locs = list("chest","head")//head is for borers..i can put it elsewhere + allowed_mob = list(/mob/living/carbon/human/machine) /datum/surgery/cavity_implant_rem/synth/can_start(mob/user, mob/living/carbon/target) return target.get_species() == "Machine" diff --git a/code/modules/surgery/limb_reattach.dm b/code/modules/surgery/limb_reattach.dm index d132eb60a78..81f57916ce1 100644 --- a/code/modules/surgery/limb_reattach.dm +++ b/code/modules/surgery/limb_reattach.dm @@ -7,6 +7,7 @@ name = "amputation" steps = list(/datum/surgery_step/generic/amputate) possible_locs = list("head","l_arm", "l_hand","r_arm","r_hand","r_leg","r_foot","l_leg","l_foot","groin") + disallowed_mob = list(/mob/living/carbon/human/machine) /datum/surgery/amputation/can_start(mob/user, mob/living/carbon/target) @@ -24,6 +25,7 @@ name = "limb attachment" steps = list(/datum/surgery_step/limb/attach,/datum/surgery_step/limb/connect) possible_locs = list("head","l_arm", "l_hand","r_arm","r_hand","r_leg","r_foot","l_leg","l_foot","groin") + disallowed_mob = list(/mob/living/carbon/human/machine) /datum/surgery/reattach/can_start(mob/user, mob/living/carbon/target) if(ishuman(target)) @@ -36,12 +38,13 @@ return 0 -/datum/surgery/reattach/synth +/datum/surgery/reattach_synth name = "limb attachment" steps = list(/datum/surgery_step/limb/attach) possible_locs = list("head","l_arm", "l_hand","r_arm","r_hand","r_leg","r_foot","l_leg","l_foot","groin") + allowed_mob = list(/mob/living/carbon/human/machine) -/datum/surgery/reattach/synth/can_start(mob/user, mob/living/carbon/target) +/datum/surgery/reattach_synth/can_start(mob/user, mob/living/carbon/target) if(ishuman(target)) var/mob/living/carbon/human/H = target var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting) diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm index 502b2a4b16c..485fea32026 100644 --- a/code/modules/surgery/organs/organ_external.dm +++ b/code/modules/surgery/organs/organ_external.dm @@ -128,11 +128,11 @@ /obj/item/organ/external/replaced(var/mob/living/carbon/human/target) owner = target status = status & ~ORGAN_DESTROYED + forceMove(owner) if(istype(owner)) owner.organs_by_name[limb_name] = src owner.organs |= src for(var/obj/item/organ/organ in src) - organ.loc = owner organ.replaced(owner,src) if(parent_organ) @@ -141,6 +141,12 @@ if(!parent.children) parent.children = list() parent.children.Add(src) + //Remove all stump wounds since limb is not missing anymore + for(var/datum/wound/lost_limb/W in parent.wounds) + parent.wounds -= W + qdel(W) + break + parent.update_damages() /obj/item/organ/external/robotize() ..() diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index 66e4c56ec1d..f675f3763c0 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -361,10 +361,9 @@ if(!owner) return - world << "[lasthonk]" if(lasthonk == 0) lasthonk = world.time - if(lasthonk > world.time + 600|| lasthonk == 0) + if(lasthonk > world.time + 60|| lasthonk == 0) lasthonk = world.time owner << "HONK" owner.sleeping = 0 diff --git a/code/modules/surgery/organs/subtypes/xenos.dm b/code/modules/surgery/organs/subtypes/xenos.dm index b99dd1575ab..b94d58d91bf 100644 --- a/code/modules/surgery/organs/subtypes/xenos.dm +++ b/code/modules/surgery/organs/subtypes/xenos.dm @@ -115,7 +115,7 @@ /obj/item/organ/internal/xenos/acidgland name = "xeno acid gland" parent_organ = "head" - slot = "acidgland" + slot = "acid" origin_tech = "biotech=5;materials=2;combat=2" alien_powers = list(/mob/living/carbon/alien/humanoid/proc/corrosive_acid) @@ -140,7 +140,7 @@ name = "xeno neurotoxin gland" icon_state = "neurotox" parent_organ = "head" - slot = "neurotoxingland" + slot = "neurotox" origin_tech = "biotech=5;combat=5" alien_powers = list(/mob/living/carbon/alien/humanoid/proc/neurotoxin) @@ -148,7 +148,7 @@ name = "xeno resin organ"//...there tiger.... parent_organ = "mouth" icon_state = "liver-x" - slot = "resinspinner" + slot = "hivenode" origin_tech = "biotech=5;materials=4" alien_powers = list(/mob/living/carbon/alien/humanoid/proc/resin) diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index 6eb755c82ee..55df1305768 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -13,7 +13,6 @@ /datum/surgery/organ_manipulation/boneless possible_locs = list("chest","head","groin", "eyes", "mouth") steps = list(/datum/surgery_step/generic/cut_open,/datum/surgery_step/generic/clamp_bleeders, /datum/surgery_step/generic/retract_skin, /datum/surgery_step/internal/manipulate_organs,/datum/surgery_step/generic/cauterize) - allowed_mob = list(/mob/living/carbon/human/diona) requires_organic_bodypart = 1 /datum/surgery/organ_manipulation/alien diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm index c79eb220c38..45b37434b5d 100644 --- a/code/modules/surgery/other.dm +++ b/code/modules/surgery/other.dm @@ -6,6 +6,7 @@ name = "internal bleeding" steps = list(/datum/surgery_step/generic/cut_open,/datum/surgery_step/generic/clamp_bleeders,/datum/surgery_step/generic/retract_skin,/datum/surgery_step/fix_vein,/datum/surgery_step/generic/cauterize) possible_locs = list("chest","head","groin") + disallowed_mob = list(/mob/living/carbon/human/machine) /datum/surgery/bleeding/can_start(mob/user, mob/living/carbon/target) if(ishuman(target)) diff --git a/code/modules/surgery/robotics.dm b/code/modules/surgery/robotics.dm index 489309de35b..d6898cca1fd 100644 --- a/code/modules/surgery/robotics.dm +++ b/code/modules/surgery/robotics.dm @@ -8,16 +8,12 @@ steps = list(/datum/surgery_step/robotics/external/unscrew_hatch,/datum/surgery_step/robotics/external/open_hatch,/datum/surgery_step/robotics/external/repair_brute,/datum/surgery_step/robotics/external/repair_burn,/datum/surgery_step/robotics/external/close_hatch) possible_locs = list("chest","head","l_arm", "l_hand","r_arm","r_hand","r_leg","r_foot","l_leg","l_foot","groin") requires_organic_bodypart = 0 - allowed_mob = list(/mob/living/carbon/human/machine) - disallowed_mob = list(/mob/living/carbon/human) /datum/surgery/cybernetic_repair/internal name = "Internal Cybernetic Mainpulation" steps = list(/datum/surgery_step/robotics/external/unscrew_hatch,/datum/surgery_step/robotics/external/open_hatch,/datum/surgery_step/robotics/manipulate_robotic_organs) possible_locs = list("chest","head","groin") requires_organic_bodypart = 0 - allowed_mob = list(/mob/living/carbon/human/machine) - disallowed_mob = list(/mob/living/carbon/human) /datum/surgery/cybernetic_repair/can_start(mob/user, mob/living/carbon/target) diff --git a/code/modules/surgery/slime.dm b/code/modules/surgery/slime.dm index 62a7d890701..8c672e83be6 100644 --- a/code/modules/surgery/slime.dm +++ b/code/modules/surgery/slime.dm @@ -5,6 +5,7 @@ name = "core removal" steps = list(/datum/surgery_step/slime/cut_flesh, /datum/surgery_step/slime/cut_innards, /datum/surgery_step/slime/saw_core) allowed_mob = list(/mob/living/carbon/slime) + disallowed_mob = list(/mob/living/carbon/human) possible_locs = list("chest")//urgghhhhhhhhhhhh