From 5f98feb0bc44397c9065ea1ea9103a1d113cbd1e Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Thu, 25 Feb 2016 16:17:39 -0500 Subject: [PATCH] meanwhile as i driver tiger INSANE --- code/__DEFINES/mob.dm | 1 - code/__HELPERS/global_lists.dm | 2 +- code/_globalvars/lists/mobs.dm | 1 + code/_globalvars/lists/objects.dm | 1 - code/_onclick/item_attack.dm | 7 +++- .../changeling/powers/augmented_eyesight.dm | 4 +-- .../miniantags/slaughter/slaughter.dm | 2 +- code/game/gamemodes/wizard/artefact.dm | 2 +- code/game/objects/effects/aliens.dm | 4 --- code/game/objects/items/devices/scanners.dm | 2 +- code/game/objects/items/stacks/medical.dm | 12 ------- code/game/objects/items/stacks/nanopaste.dm | 4 --- code/game/objects/items/weapons/kitchen.dm | 5 +-- code/modules/client/preferences.dm | 2 +- code/modules/mob/living/carbon/alien/alien.dm | 15 -------- .../carbon/alien/humanoid/caste/drone.dm | 4 +-- .../carbon/alien/special/alien_embryo.dm | 6 +--- .../mob/living/carbon/carbon_defines.dm | 3 -- .../mob/living/carbon/human/examine.dm | 4 +-- .../mob/living/carbon/human/human_organs.dm | 2 -- code/modules/mob/living/carbon/human/life.dm | 6 ++-- .../living/carbon/human/species/species.dm | 5 ++- code/modules/mob/mob_grab.dm | 2 +- code/modules/power/supermatter/supermatter.dm | 2 +- code/modules/reagents/reagent_containers.dm | 3 -- code/modules/surgery/bones.dm | 4 +-- .../surgery/organs/augments_internal.dm | 2 -- code/modules/surgery/organs/body_egg.dm | 2 +- code/modules/surgery/organs/organ.dm | 36 ++----------------- code/modules/surgery/organs/organ_external.dm | 1 - code/modules/surgery/organs/organ_internal.dm | 8 ++++- code/modules/surgery/organs_internal.dm | 2 +- 32 files changed, 40 insertions(+), 116 deletions(-) diff --git a/code/__DEFINES/mob.dm b/code/__DEFINES/mob.dm index 9ef24563e4d..5442c621e1b 100644 --- a/code/__DEFINES/mob.dm +++ b/code/__DEFINES/mob.dm @@ -27,7 +27,6 @@ #define ORGAN_DEAD 1024 #define ORGAN_MUTATED 2048 #define ORGAN_ASSISTED 4096 -#define ORGAN_ORGANIC 8192 #define DROPLIMB_EDGE 0 #define DROPLIMB_BLUNT 1 diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 83606fb89ba..35b82c2fae3 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -19,7 +19,7 @@ //socks init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, socks_list, socks_m, socks_f) - //init_subtypes(/datum/surgery_step, surgery_steps) + init_subtypes(/datum/surgery_step, surgery_steps) for(var/path in (subtypesof(/datum/surgery))) surgeries_list += new path() diff --git a/code/_globalvars/lists/mobs.dm b/code/_globalvars/lists/mobs.dm index 381ade73a80..01cfb1c6b39 100644 --- a/code/_globalvars/lists/mobs.dm +++ b/code/_globalvars/lists/mobs.dm @@ -72,4 +72,5 @@ var/global/list/blocked_mobs = list(/mob/living/simple_animal, var/global/list/med_hud_users = list() var/global/list/sec_hud_users = list() var/global/list/antag_hud_users = list() +var/global/list/surgeries_list = list() //items that ask to be called every cycle diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm index 4af9c321126..d6689af71b2 100644 --- a/code/_globalvars/lists/objects.dm +++ b/code/_globalvars/lists/objects.dm @@ -27,4 +27,3 @@ var/global/list/power_monitors = list() var/global/list/beacons = list() var/global/list/shuttle_caller_list = list() //list of all communication consoles and AIs, for automatic shuttle calls when there are none. var/global/list/tracked_implants = list() //list of all current implants that are tracked to work out what sort of trek everyone is on. Sadly not on lavaworld not implemented... -var/global/list/surgeries_list = list() //list of all surgeries by name, associated with their path. \ No newline at end of file diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 93e6aed1ec2..01953690274 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -34,13 +34,18 @@ if(istype(src,/obj/item/robot_parts))//popup ovveride for direct attach if(!attempt_initiate_surgery(src, M, user,1)) return 0 + else + return 1 if(istype(src,/obj/item/weapon/screwdriver) && M.get_species() == "Machine") if(!attempt_initiate_surgery(src, M, user)) return 0 + else + return 1 if(is_sharp(src)) if(!attempt_initiate_surgery(src, M, user)) return 0 - return + else + return 1 if (istype(M,/mob/living/carbon/brain)) messagesource = M:container diff --git a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm index edd318ae4e6..832973d4ce6 100644 --- a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm +++ b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm @@ -42,7 +42,7 @@ implant_overlay = null origin_tech = "biotech=4" slot = "eye_ling" - status = ORGAN_ORGANIC + status = 0 /obj/item/organ/internal/cyberimp/eyes/shield/ling/on_life() ..() @@ -64,7 +64,7 @@ implant_overlay = null origin_tech = "biotech=5;magnets=5" slot = "eye_ling" - status = ORGAN_ORGANIC + status = 0 aug_message = "We feel a minute twitch in our eyes, and darkness creeps away." /obj/item/organ/internal/cyberimp/eyes/thermals/ling/emp_act(severity) diff --git a/code/game/gamemodes/miniantags/slaughter/slaughter.dm b/code/game/gamemodes/miniantags/slaughter/slaughter.dm index 70e3161e89d..5f9b320a2a5 100644 --- a/code/game/gamemodes/miniantags/slaughter/slaughter.dm +++ b/code/game/gamemodes/miniantags/slaughter/slaughter.dm @@ -161,7 +161,7 @@ user <<"...and you don't feel any different." user.drop_item() - src.insert(user) //Consuming the heart literally replaces your heart with a demon heart. H A R D C O R E + insert(user) //Consuming the heart literally replaces your heart with a demon heart. H A R D C O R E /obj/item/organ/internal/heart/demonheart/remove(mob/living/carbon/M, special = 0) ..() diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index d7ecbf66055..dc484b22d5e 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -462,7 +462,7 @@ var/global/list/multiverse = list() if("cyborg") if(M.get_species() != "Machine") - for(var/obj/item/organ/internal/O in M.organs) + for(var/obj/item/organ/O in M.organs) O.robotize() M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/eyepatch(M), slot_glasses) M.equip_to_slot_or_del(sword, slot_r_hand) diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm index c1c0b3814ed..15eecc697be 100644 --- a/code/game/objects/effects/aliens.dm +++ b/code/game/objects/effects/aliens.dm @@ -324,17 +324,13 @@ user << "You clear the hatched egg." playsound(loc, 'sound/effects/attackblob.ogg', 100, 1) qdel(src) - return if(GROWING) user << "The child is not developed yet." - return if(GROWN) user << "You retrieve the child." Burst(0) - return else user << "It feels slimy." - user.changeNext_move(CLICK_CD_MELEE) /obj/structure/alien/egg/proc/GetFacehugger() return locate(/obj/item/clothing/mask/facehugger) in contents diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 11edd047df3..63c2710ce8e 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -247,7 +247,7 @@ REAGENT SCANNER user.show_message("\blue Subject's pulse: [H.get_pulse(GETPULSE_TOOL)] bpm.") var/implant_detect for(var/obj/item/organ/internal/cyberimp/CI in H.internal_organs) - if(CI.status == ORGAN_ROBOT ) + if(CI.status == ORGAN_ROBOT) implant_detect += "[H.name] is modified with a [CI.name].
" if(implant_detect) user.show_message("Detected cybernetic modifications:") diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index d6197c416a6..e6b56907545 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -112,10 +112,6 @@ affecting.heal_damage(src.heal_brute, src.heal_burn, 0) use(1) else - //if (can_operate(H)) //Checks if mob is lying down on table for surgery - // if (do_surgery(H,user,src)) - // return - //else user << "The [affecting.name] is cut open, you'll need more than some ointment!" /obj/item/stack/medical/bruise_pack/comfrey @@ -177,10 +173,6 @@ affecting.heal_damage(heal_brute,0) use(1) else - //if (can_operate(H)) //Checks if mob is lying down on table for surgery - // if (do_surgery(H,user,src)) - // return - //else user << "The [affecting.name] is cut open, you'll need more than a bandage!" /obj/item/stack/medical/advanced/ointment @@ -210,10 +202,6 @@ affecting.heal_damage(0,heal_burn) use(1) else - //if (can_operate(H)) //Checks if mob is lying down on table for surgery - // if (do_surgery(H,user,src)) - // return - //else user << "The [affecting.name] is cut open, you'll need more than a bandage!" /obj/item/stack/medical/splint diff --git a/code/game/objects/items/stacks/nanopaste.dm b/code/game/objects/items/stacks/nanopaste.dm index 7da3d2935ba..f813fbaecc5 100644 --- a/code/game/objects/items/stacks/nanopaste.dm +++ b/code/game/objects/items/stacks/nanopaste.dm @@ -27,10 +27,6 @@ var/mob/living/carbon/human/H = M var/obj/item/organ/external/S = H.get_organ(user.zone_sel.selecting) - //if(can_operate(H)) - // if (do_surgery(H,user,src)) - // return - if (S && (S.status & ORGAN_ROBOT)) if(S.get_damage()) S.heal_damage(15, 15, robo_repair = 1) diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm index b5d89ba8624..e50ea239b44 100644 --- a/code/game/objects/items/weapons/kitchen.dm +++ b/code/game/objects/items/weapons/kitchen.dm @@ -54,7 +54,7 @@ if(!M.can_eat()) user << "[M] cannot eat with a fork!" return - + if(M == user) M.visible_message("\The [user] eats some [loaded] from \the [src].") reagents.trans_to(M, reagents.total_volume) @@ -69,9 +69,6 @@ overlays.Cut() return - //if (can_operate(M)) - // do_surgery(M, user, src) - /obj/item/weapon/kitchen/utensil/fork name = "fork" desc = "It's a fork. Sure is pointy." diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 1ecae4518ed..0ac0be27fe1 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1640,7 +1640,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts else O.robotize() else - var/obj/item/organ/internal/I = character.get_int_organ(name) + var/obj/item/organ/internal/I = character.get_int_organ_tag(name) if(I) if(status == "assisted") I.mechassist() diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index a9597b7b470..21694a36e00 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -58,7 +58,6 @@ /mob/living/carbon/alien/adjustToxLoss(amount) - //moved to xeno organs return /mob/living/carbon/alien/adjustFireLoss(amount) // Weak to Fire @@ -68,8 +67,6 @@ ..(amount) return -///mob/living/carbon/alien/getPlasma() -// return storedPlasma /mob/living/carbon/alien/eyecheck() return 2 @@ -83,16 +80,6 @@ /mob/living/carbon/alien/handle_environment(var/datum/gas_mixture/environment) - //If there are alien weeds on the ground then heal if needed or give some toxins - /*if(locate(/obj/structure/alien/weeds) in loc) - if(health >= maxHealth - getCloneLoss()) - adjustToxLoss(plasma_rate) - else - adjustBruteLoss(-heal_rate) - adjustFireLoss(-heal_rate) - adjustOxyLoss(-heal_rate) - *///moved to organs - if(!environment) return @@ -179,8 +166,6 @@ ..() - //if (client.statpanel == "Status")//ORGANS - // stat(null, "Plasma Stored: [getPlasma()]/[max_plasma]") show_stat_emergency_shuttle_eta() diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm index 3e089bb33b8..19cad5aa5fc 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm @@ -16,7 +16,7 @@ internal_organs += new /obj/item/organ/internal/xenos/acidgland internal_organs += new /obj/item/organ/internal/xenos/resinspinner ..() -// + //Drones use the same base as generic humanoids. //Drone verbs @@ -29,7 +29,7 @@ // Queen check var/no_queen = 1 for(var/mob/living/carbon/alien/humanoid/queen/Q in living_mob_list) - if(!Q.key && Q.get_int_organ(/obj/item/organ/internal/brain/))//Q.brain_op_stage != 4) + if(!Q.key && Q.get_int_organ(/obj/item/organ/internal/brain/)) continue no_queen = 0 diff --git a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm index d56593f2206..d0337fbe636 100644 --- a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm +++ b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm @@ -13,7 +13,7 @@ var/const/ALIEN_AFK_BRACKET = 450 // 45 seconds /obj/item/organ/internal/body_egg/alien_embryo/on_find(mob/living/finder) ..() if(stage < 4) - finder << "It's small and weak, barely the size of a foetus." + finder << "It's small and weak, barely the size of a fetus." else finder << "It's grown quite large, and writhes slightly as you look at it." if(prob(10)) @@ -72,10 +72,6 @@ var/const/ALIEN_AFK_BRACKET = 450 // 45 seconds if(stage == 5 && prob(50)) - //for(var/datum/surgery/S in owner.surgeries) - // if(S.location == "chest" && istype(S.get_surgery_step(), /datum/surgery_step/manipulate_organs)) - // AttemptGrow(0) - // return AttemptGrow() /obj/item/organ/internal/body_egg/alien_embryo/proc/AttemptGrow(var/gib_on_success = 1) diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm index 43e782eecfa..033e8ddfb1c 100644 --- a/code/modules/mob/living/carbon/carbon_defines.dm +++ b/code/modules/mob/living/carbon/carbon_defines.dm @@ -19,9 +19,6 @@ var/obj/item/head = null var/obj/item/clothing/suit/wear_suit = null //TODO: necessary? Are they even used? ~Carn - //Surgery info - //var/datum/surgery_status/op_stage = new/datum/surgery_status - //Active emote/pose var/pose = null diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 86fc5a7efd3..57261782385 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -253,13 +253,13 @@ if(getBrainLoss() >= 60) msg += "[t_He] [t_has] a stupid expression on [t_his] face.\n" - if(species.show_ssd && (!species.has_organ["brain"] || src.get_int_organ(/obj/item/organ/internal/brain)) && stat != DEAD) + if(species.show_ssd && (!species.has_organ["brain"] || get_int_organ(/obj/item/organ/internal/brain)) && stat != DEAD) if(!key) msg += "[t_He] [t_is] fast asleep. It doesn't look like they are waking up anytime soon.\n" else if(!client) msg += "[t_He] [t_has] suddenly fallen asleep.\n" - if(!src.get_int_organ(/obj/item/organ/internal/brain) && !species.name == "Diona") + if(!get_int_organ(/obj/item/organ/internal/brain)) msg += "It appears that [t_his] brain is missing...\n" var/list/wound_flavor_text = list() diff --git a/code/modules/mob/living/carbon/human/human_organs.dm b/code/modules/mob/living/carbon/human/human_organs.dm index afabae30cee..397d385fbb4 100644 --- a/code/modules/mob/living/carbon/human/human_organs.dm +++ b/code/modules/mob/living/carbon/human/human_organs.dm @@ -4,10 +4,8 @@ eyes.update_colour() regenerate_icons() -///mob/living/carbon/var/list/internal_organs = list() /mob/living/carbon/human/var/list/organs = list() /mob/living/carbon/human/var/list/organs_by_name = list() // map organ names to organs -//mob/living/carbon/human/var/list/internal_organs_by_name = list() // so internal organs have less ickiness too // Takes care of organ related updates, such as broken and missing limbs /mob/living/carbon/human/proc/handle_organs() diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 0aeb3b0e8b2..31a546ad870 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -216,7 +216,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc if(!(species.flags & RADIMMUNE)) if (radiation) - if(src.get_int_organ(/obj/item/organ/internal/nucleation/resonant_crystal)) + if(get_int_organ(/obj/item/organ/internal/nucleation/resonant_crystal)) var/rads = radiation/25 radiation -= rads radiation -= 0.1 @@ -886,7 +886,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc //Vision //god knows why this is here var/obj/item/organ/vision if(species.vision_organ) - vision = src.get_int_organ(species.vision_organ) + vision = get_int_organ(species.vision_organ) if(!species.vision_organ) // Presumably if a species has no vision organs, they see via some other means. eye_blind = 0 @@ -1206,7 +1206,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc /mob/living/carbon/human/proc/handle_heartbeat() var/client/C = src.client if(C && C.prefs.sound & SOUND_HEARTBEAT) //disable heartbeat by pref - var/obj/item/organ/internal/heart/H = src.get_int_organ(/obj/item/organ/internal/heart) + var/obj/item/organ/internal/heart/H = get_int_organ(/obj/item/organ/internal/heart) if(!H) //H.status will runtime if there is no H (obviously) return diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index d61fd3deb69..777bb7a299b 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -144,15 +144,14 @@ for(var/obj/item/organ/internal/iorgan in H.internal_organs) - if((iorgan in H.internal_organs)) + if(iorgan in H.internal_organs) qdel(iorgan) for(var/obj/item/organ/organ in H.contents) - if((organ in H.organs)) + if(organ in H.organs) qdel(organ) if(H.organs) H.organs.Cut() - //if(H.internal_organs) H.internal_organs.Cut() if(H.organs_by_name) H.organs_by_name.Cut() H.organs = list() diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index a33e45b7544..79fc66d2408 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -360,7 +360,7 @@ assailant.attack_log += text("\[[time_stamp()]\] Pressed fingers into the eyes of [affecting.name] ([affecting.ckey])") affecting.attack_log += text("\[[time_stamp()]\] Had fingers pressed into their eyes by [assailant.name] ([assailant.ckey])") msg_admin_attack("[key_name(assailant)] has pressed his fingers into [key_name(affecting)]'s eyes.") - var/obj/item/organ/internal/eyes/eyes = affected.internal_organs_by_name["eyes"] + var/obj/item/organ/internal/eyes/eyes = affected.get_int_organ(/obj/item/organ/internal/eyes) eyes.damage += rand(3,4) if (eyes.damage >= eyes.min_broken_damage) if(M.stat != 2) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index af1e065bd91..6f04bf82a1a 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -186,7 +186,7 @@ continue // Where we're going, we don't need eyes. // Prosthetic eyes will also protect against this business. - var/obj/item/organ/internal/eyes/eyes = l.get_int_organ(/obj/item/organ/internal/eyes/) + var/obj/item/organ/internal/eyes/eyes = l.get_int_organ(/obj/item/organ/internal/eyes) if(!istype(eyes)) continue l.hallucination = max(0, min(200, l.hallucination + power * config_hallucination_power * sqrt( 1 / max(1,get_dist(l, src)) ) ) ) diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index 78b6ebb3fff..45df570eb07 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -50,9 +50,6 @@ /obj/item/weapon/reagent_containers/attack_self(mob/user as mob) return -/obj/item/weapon/reagent_containers/attack(mob/M as mob, mob/user as mob, def_zone) - return - // this prevented pills, food, and other things from being picked up by bags. // possibly intentional, but removing it allows us to not duplicate functionality. // -Sayu (storage conslidation) diff --git a/code/modules/surgery/bones.dm b/code/modules/surgery/bones.dm index d54c189ded3..c356b0f61d4 100644 --- a/code/modules/surgery/bones.dm +++ b/code/modules/surgery/bones.dm @@ -6,11 +6,11 @@ /datum/surgery/bone_repair 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") + possible_locs = list("chest", "l_arm", "l_hand", "r_arm", "r_hand","r_leg", "r_foot", "l_leg", "l_foot", "groin") /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) + 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") /datum/surgery/bone_repair/can_start(mob/user, mob/living/carbon/target) diff --git a/code/modules/surgery/organs/augments_internal.dm b/code/modules/surgery/organs/augments_internal.dm index c8df4adf7cc..7e7eaf75ff9 100644 --- a/code/modules/surgery/organs/augments_internal.dm +++ b/code/modules/surgery/organs/augments_internal.dm @@ -1,5 +1,3 @@ -datumvars//note i am putting External in robolimbs. - #define STUN_SET_AMOUNT 2 /obj/item/organ/internal/cyberimp diff --git a/code/modules/surgery/organs/body_egg.dm b/code/modules/surgery/organs/body_egg.dm index 5fa5df0ab34..4e53f525c4f 100644 --- a/code/modules/surgery/organs/body_egg.dm +++ b/code/modules/surgery/organs/body_egg.dm @@ -12,7 +12,7 @@ /obj/item/organ/internal/body_egg/New(loc) if(iscarbon(loc)) - src.insert(loc) + insert(loc) return ..() /obj/item/organ/internal/body_egg/insert(var/mob/living/carbon/M, special = 0) diff --git a/code/modules/surgery/organs/organ.dm b/code/modules/surgery/organs/organ.dm index fb6a40ea24c..defe63c4213 100644 --- a/code/modules/surgery/organs/organ.dm +++ b/code/modules/surgery/organs/organ.dm @@ -5,7 +5,7 @@ var/list/organ_cache = list() icon = 'icons/obj/surgery.dmi' var/dead_icon var/mob/living/carbon/human/owner = null - var/status = ORGAN_ORGANIC + var/status = 0 var/vital //Lose a vital limb, die immediately. var/damage = 0 // amount of damage to the organ @@ -32,31 +32,6 @@ var/list/organ_cache = list() var/sterile = 0 //can the organ be infected by germs? var/tough = 0 //can organ be easily damaged? - -/*/obj/item/organ/Destroy() - if(!owner) - return ..() - - - if(istype(owner, /mob/living/carbon)) - if((owner.internal_organs) && (src in owner.internal_organs)) - var/obj/item/organ/internal/O = src - O.remove(owner) - if(istype(owner, /mob/living/carbon/human)) - var/obj/item/organ/internal/O = src - O.remove(owner) - if((owner.organs) && (src in owner.organs)) - owner.organs -= src - if((owner.organs_by_name) && (src in owner.organs_by_name)) - owner.organs_by_name -= src - - if(src in owner.contents) - owner.contents -= src - - return ..()*/ - - - /obj/item/organ/proc/update_health() return @@ -97,8 +72,6 @@ var/list/organ_cache = list() owner.death() /obj/item/organ/process() - //if(loc != owner) - // owner = null //dead already, no need for more processing if(status & ORGAN_DEAD) @@ -287,11 +260,6 @@ var/list/organ_cache = list() if(!istype(owner)) return - //if(is_primary_organ())//Toddo from fethas:Do i need to move ths? - // owner.internal_organs_by_name[organ_tag] = null - // owner.internal_organs_by_name -= organ_tag - // owner.internal_organs_by_name -= null // uh what does this line even do this seems silly - owner.internal_organs -= src var/obj/item/organ/external/affected = owner.get_organ(parent_organ) @@ -320,7 +288,7 @@ var/list/organ_cache = list() processing_objects -= src affected.internal_organs |= src if (!target.get_int_organ(src)) - target.internal_organs |= src + target.internal_organs += src src.loc = target if(robotic) status |= ORGAN_ROBOT diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm index 83eee501e48..30cabc71b2a 100644 --- a/code/modules/surgery/organs/organ_external.dm +++ b/code/modules/surgery/organs/organ_external.dm @@ -69,7 +69,6 @@ for(var/obj/item/organ/internal/O in internal_organs) internal_organs -= O O.remove(owner,special = 1) - //qdel(O) if(children) for(var/obj/item/organ/external/C in children) diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index 6a7bb34f5e3..59c42912f25 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -389,6 +389,12 @@ M.mutations.Remove(CLUMSY) M.mutations.Remove(COMICBLOCK) genemutcheck(M,COMICBLOCK,null,MUTCHK_FORCED) + if(isturf(loc)) + visible_message("[src] honks in on itself!") + playsound(src, 'sound/items/AirHorn.ogg', 100, 1) + new /obj/item/weapon/bananapeel(get_turf(src.loc)) + qdel(src) + /obj/item/organ/internal/honktumor/on_life() @@ -396,7 +402,7 @@ return if(organhonked < world.time) - organhonked = world.time+600 + organhonked = world.time+900 owner << "HONK" owner.sleeping = 0 owner.stuttering = 20 diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index f7f46d56160..4cec73e9f2b 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -293,7 +293,7 @@ I.remove(target) I.loc = get_turf(target) else - user.visible_message("[user] can't seem to extract anything from [target]'s [parse_zone(target_zone)]!", + user.visible_message("[user] can't seem to extract anything from [target]'s [parse_zone(target_zone)]!", "You can't extract anything from [target]'s [parse_zone(target_zone)]!") else if(current_type == "finish")