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")