diff --git a/code/modules/mob/living/carbon/brain/brain_item.dm b/code/modules/mob/living/carbon/brain/brain_item.dm index 5a6be41e159..c554071348b 100644 --- a/code/modules/mob/living/carbon/brain/brain_item.dm +++ b/code/modules/mob/living/carbon/brain/brain_item.dm @@ -70,9 +70,9 @@ B.transfer_identity(user) - if(istype(user,/mob/living/carbon/human)) - var/mob/living/carbon/human/H = user - H.update_hair(0) + if(istype(owner,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = owner + H.update_hair(1) ..() @@ -86,7 +86,7 @@ brain_already_exists = 1 var/mob/living/carbon/human/H = target - H.update_hair(0) + H.update_hair(1) if(!brain_already_exists) if(brainmob) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 3fd09f42d40..36e19df5f35 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -61,13 +61,14 @@ if(I_HELP) if(can_operate(M)) if(health >= config.health_threshold_crit) - for(var/datum/surgery/S in M.surgeries) - if(istype(S.get_surgery_step(), /datum/surgery_step/cavity/place_item)) - return 1 - else - help_shake_act(M) - add_logs(src, M, "shaked") - return 1 + if(M.surgeries.len) + for(var/datum/surgery/S in M.surgeries) + if(istype(S.get_surgery_step(), /datum/surgery_step/cavity/place_item)) + return 1 + else + help_shake_act(M) + add_logs(src, M, "shaked") + return 1 if(health >= config.health_threshold_crit) help_shake_act(M) add_logs(src, M, "shaked") diff --git a/code/modules/projectiles/guns/mounted.dm b/code/modules/projectiles/guns/mounted.dm index bd2cf712a49..d0e023d0d6d 100644 --- a/code/modules/projectiles/guns/mounted.dm +++ b/code/modules/projectiles/guns/mounted.dm @@ -17,9 +17,9 @@ /obj/item/weapon/gun/energy/laser/mounted name = "mounted laser" desc = "An arm mounted cannon that fires lethal lasers. Doesn't come with a charge beam." - icon_state = "armcannon" + icon_state = "armcannonlase" item_state = "armcannonlase" - modifystate = "armcannon" + modifystate = "armcannonlase" force = 5 self_recharge = 1 flags = NODROP diff --git a/code/modules/surgery/bones.dm b/code/modules/surgery/bones.dm index b01d4ffac91..d54c189ded3 100644 --- a/code/modules/surgery/bones.dm +++ b/code/modules/surgery/bones.dm @@ -19,8 +19,8 @@ var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting) if(affected && (affected.status & ORGAN_ROBOT)) return 0 - if(affected && !affected.encased) - return 0 + if(affected && (affected.status & ORGAN_BROKEN)) + return 1 if(target.get_species() == "Machine") return 0 if(target.get_species() == "Diona") diff --git a/code/modules/surgery/implant.dm b/code/modules/surgery/implant.dm index 60eab546048..a27e5baea3e 100644 --- a/code/modules/surgery/implant.dm +++ b/code/modules/surgery/implant.dm @@ -6,7 +6,7 @@ ////////////////////////////////////////////////////////////////// /datum/surgery/cavity_implant - name = "item implant/removal" + name = "cavity 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) @@ -14,7 +14,7 @@ /datum/surgery/cavity_implant/soft - name = "item implant/removal" + name = "cavity 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") @@ -175,19 +175,23 @@ return 0//fail if(tool) - user.visible_message(" [user] puts \the [tool] inside [target]'s [get_cavity(affected)] cavity.", \ - " You put \the [tool] inside [target]'s [get_cavity(affected)] cavity." ) - if (IC || (tool.w_class > get_max_wclass(affected)/2 && prob(50) && !(affected.status & ORGAN_ROBOT))) - user << " You tear some vessels trying to fit the object in the cavity." - var/datum/wound/internal_bleeding/I = new () - affected.wounds += I - affected.owner.custom_pain("You feel something rip in your [affected.name]!", 1) - user.drop_item() - affected.hidden = tool - target.internal_organs += tool - tool.loc = target - affected.cavity = 0 - return 1 + if(IC) + user << "There seems to be something in there already!" + return 1 + else + user.visible_message(" [user] puts \the [tool] inside [target]'s [get_cavity(affected)] cavity.", \ + " You put \the [tool] inside [target]'s [get_cavity(affected)] cavity." ) + if((tool.w_class > get_max_wclass(affected)/2 && prob(50) && !(affected.status & ORGAN_ROBOT))) + user << " You tear some vessels trying to fit the object in the cavity." + var/datum/wound/internal_bleeding/I = new () + affected.wounds += I + affected.owner.custom_pain("You feel something rip in your [affected.name]!", 1) + user.drop_item() + affected.hidden = tool + target.internal_organs += tool + tool.loc = target + affected.cavity = 0 + return 1 else if(IC) user.visible_message("[user] pulls [IC] out of [target]'s [target_zone]!", "You pull [IC] out of [target]'s [target_zone].") diff --git a/code/modules/surgery/organs/augments_eyes.dm b/code/modules/surgery/organs/augments_eyes.dm index 2d787db5fe5..02ece0fc22c 100644 --- a/code/modules/surgery/organs/augments_eyes.dm +++ b/code/modules/surgery/organs/augments_eyes.dm @@ -112,7 +112,7 @@ /obj/item/organ/internal/cyberimp/eyes/hud/medical name = "Medical HUD implant" desc = "These cybernetic eye implants will display a medical HUD over everything you see." - eye_colour = list(0,0,50) + eye_colour = list(0,0,208) implant_color = "#00FFFF" origin_tech = "materials=4;programming=3;biotech=4" aug_message = "You suddenly see health bars floating above people's heads..." diff --git a/code/modules/surgery/organs/subtypes/standard.dm b/code/modules/surgery/organs/subtypes/standard.dm index e0f4aec8743..319016e2213 100644 --- a/code/modules/surgery/organs/subtypes/standard.dm +++ b/code/modules/surgery/organs/subtypes/standard.dm @@ -84,7 +84,7 @@ can_stand = 1 /obj/item/organ/external/foot/removed() - if(owner) owner.unEquip(owner.shoes) + if(owner.shoes) owner.unEquip(owner.shoes) ..() /obj/item/organ/external/foot/right @@ -109,7 +109,8 @@ can_grasp = 1 /obj/item/organ/external/hand/removed() - owner.unEquip(owner.gloves) + if(owner.gloves) + owner.unEquip(owner.gloves) ..() /obj/item/organ/external/hand/right @@ -140,14 +141,21 @@ if(!istype(dna)) dna = owner.dna.Clone() name = "[dna.real_name]'s head" - owner.unEquip(owner.glasses) - owner.unEquip(owner.head) - owner.unEquip(owner.l_ear) - owner.unEquip(owner.r_ear) - owner.unEquip(owner.wear_mask) + if(owner.glasses) + owner.unEquip(owner.glasses) + if(owner.head) + owner.unEquip(owner.head) + if(owner.l_ear) + owner.unEquip(owner.l_ear) + if(owner.r_ear) + owner.unEquip(owner.r_ear) + if(owner.wear_mask) + owner.unEquip(owner.wear_mask) spawn(1) - owner.update_hair() - owner.update_fhair() + if(owner.h_style)//runtimer no runtiming + owner.update_hair() + if(owner.f_style) + owner.update_fhair() ..() /obj/item/organ/external/head/replaced() diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi index dca7c439d35..9f00003bf1c 100644 Binary files a/icons/obj/gun.dmi and b/icons/obj/gun.dmi differ