fixc all the things.

This commit is contained in:
Aurorablade
2016-02-23 02:48:13 -05:00
parent 64d8354ec5
commit bbac4006b5
8 changed files with 59 additions and 5 deletions
+3
View File
@@ -215,6 +215,9 @@
/datum/action/item_action
check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUNNED|AB_CHECK_LYING|AB_CHECK_ALIVE|AB_CHECK_INSIDE
/datum/action/item_action/CheckRemoval(mob/living/user)
return !(target in user)
/datum/action/item_action/hands_free
check_flags = AB_CHECK_ALIVE|AB_CHECK_INSIDE
@@ -47,7 +47,7 @@
/obj/item/organ/internal/cyberimp/eyes/shield/ling/on_life()
..()
var/obj/item/organ/internal/eyes/E = owner.get_int_organ(/obj/item/organ/internal/eyes)
if(owner.eye_blind || owner.eye_blurry || (owner.disabilities & BLIND) || (owner.disabilities & NEARSIGHTED) || (E.damage > 0))
if(owner.eye_blind || owner.eye_blurry || (owner.sdisabilities & BLIND) || (owner.disabilities & NEARSIGHTED) || (E.damage > 0))
owner.reagents.add_reagent("oculine", 1)
/obj/item/organ/internal/cyberimp/eyes/shield/ling/prepare_eat()
@@ -185,6 +185,7 @@
new /obj/item/weapon/storage/belt/medical(src)
new /obj/item/device/flash(src)
new /obj/item/weapon/reagent_containers/hypospray/CMO(src)
new /obj/item/organ/internal/cyberimp/eyes/hud/medical(src)
return
@@ -19,7 +19,6 @@
if(key) //If there is a mob connected to this thing. Have to check key twice to avoid false death reporting.
if(stat!=DEAD) //If not dead.
death(1) //Brains can die again. AND THEY SHOULD AHA HA HA HA HA HA
world << "Brain.dm"
ghostize() //Ghostize checks for key so nothing else is necessary.
return ..()
@@ -63,7 +63,7 @@
if(health >= config.health_threshold_crit)
if(src.surgeries.len)
for(var/datum/surgery/S in src.surgeries)
if(istype(S.get_surgery_step(), /datum/surgery_step/cavity/place_item))
if(istype(S.get_surgery_step(), /datum/surgery_step/cavity/place_item) || istype(S.get_surgery_step(),/datum/surgery_step/remove_object))
if(S.next_step(M, src))
return 1
else
+51
View File
@@ -322,3 +322,54 @@
imp.activate()
return 0
//////////////////////////////////////////////////////////////////
// EMBEDDED ITEM REOMOVAL //
//////////////////////////////////////////////////////////////////
/datum/surgery/embedded_removal
name = "removal of embedded objects"
steps = list(/datum/surgery_step/generic/cut_open,/datum/surgery_step/generic/clamp_bleeders, /datum/surgery_step/generic/retract_skin,/datum/surgery_step/remove_object)
possible_locs = list("r_arm","l_arm","r_leg","l_leg","r_hand","r_foot","l_hand","l_foot","groin","chest","head")
/datum/surgery/embedded_removal/can_start(mob/user, mob/living/carbon/target)
if(target.get_species() == "Machine")
return 0
return 1
/datum/surgery_step/remove_object
name = "remove embedded objects"
max_duration = 32
accept_hand = 1
var/obj/item/organ/external/L = null
/datum/surgery_step/remove_object/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
L = target.get_organ(target_zone)
if(L)
user.visible_message("[user] looks for objects embedded in [target]'s [target_zone].", "<span class='notice'>You look for objects embedded in [target]'s [target_zone]...</span>")
else
user.visible_message("[user] looks for [target]'s [target_zone].", "<span class='notice'>You look for [target]'s [target_zone]...</span>")
/datum/surgery_step/remove_object/end_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
if(L)
if(ishuman(target))
var/mob/living/carbon/human/H = target
var/objects = 0
for(var/obj/item/I in L.implants)
if(!istype(I,/obj/item/weapon/implant))
objects++
I.forceMove(get_turf(H))
L.implants -= I
if(objects > 0)
user.visible_message("[user] sucessfully removes [objects] objects from [H]'s [L.limb_name]!", "<span class='notice'>You sucessfully remove [objects] objects from [H]'s [L.limb_name].</span>")
else
user << "<span class='warning'>You find no objects embedded in [H]'s [L.limb_name]!</span>"
else
user << "<span class='warning'>You can't find [target]'s [target_zone], let alone any objects embedded in it!</span>"
return 1
+1 -1
View File
@@ -66,7 +66,7 @@
spawn(60 / severity)
if(owner)
owner.sight |= save_sight
owner.disabilities ^= BLIND
owner.sdisabilities ^= BLIND
+1 -1
View File
@@ -100,7 +100,7 @@
/obj/item/weapon/scalpel/laser3
name = "laser scalpel"
desc = "A scalpel augmented with a directed laser.. This one looks to be the pinnacle of precision energy cutlery!"
desc = "A scalpel augmented with a directed laser. This one looks to be the pinnacle of precision energy cutlery!"
icon_state = "scalpel_laser3_on"
item_state = "scalpel"
damtype = "fire"