More work on adjusting/tweaking/fixing the limb port to make it functional.

This commit is contained in:
Zuhayr
2015-03-25 00:59:17 +10:30
parent 3fe4162719
commit f017764e64
9 changed files with 41 additions and 49 deletions
+14 -21
View File
@@ -226,29 +226,29 @@ var/list/organ_cache = list()
take_damage(10,0)
return
/obj/item/organ/proc/removed(var/mob/living/carbon/human/target,var/mob/living/user)
/obj/item/organ/proc/removed(var/mob/living/user)
if(!istype(target))
if(!istype(owner))
return
target.internal_organs_by_name[organ_tag] = null
target.internal_organs_by_name -= organ_tag
target.internal_organs -= src
owner.internal_organs_by_name[organ_tag] = null
owner.internal_organs_by_name -= organ_tag
owner.internal_organs -= src
var/obj/item/organ/external/affected = target.get_organ(parent_organ)
affected.internal_organs -= src
var/obj/item/organ/external/affected = owner.get_organ(parent_organ)
if(affected) affected.internal_organs -= src
loc = target.loc
loc = owner.loc
rejecting = null
var/datum/reagent/blood/organ_blood = locate(/datum/reagent/blood) in reagents.reagent_list
if(!organ_blood || !organ_blood.data["blood_DNA"])
target.vessel.trans_to(src, 5, 1, 1)
owner.vessel.trans_to(src, 5, 1, 1)
if(target && user && vital)
user.attack_log += "\[[time_stamp()]\]<font color='red'> removed a vital organ ([src]) from [target.name] ([target.ckey]) (INTENT: [uppertext(user.a_intent)])</font>"
target.attack_log += "\[[time_stamp()]\]<font color='orange'> had a vital organ ([src]) removed by [user.name] ([user.ckey]) (INTENT: [uppertext(user.a_intent)])</font>"
msg_admin_attack("[user.name] ([user.ckey]) removed a vital organ ([src]) from [target.name] ([target.ckey]) (INTENT: [uppertext(user.a_intent)]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
target.death()
if(owner && user && vital)
user.attack_log += "\[[time_stamp()]\]<font color='red'> removed a vital organ ([src]) from [owner.name] ([owner.ckey]) (INTENT: [uppertext(user.a_intent)])</font>"
owner.attack_log += "\[[time_stamp()]\]<font color='orange'> had a vital organ ([src]) removed by [user.name] ([user.ckey]) (INTENT: [uppertext(user.a_intent)])</font>"
msg_admin_attack("[user.name] ([user.ckey]) removed a vital organ ([src]) from [owner.name] ([owner.ckey]) (INTENT: [uppertext(user.a_intent)]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
owner.death()
/obj/item/organ/proc/replaced(var/mob/living/carbon/human/target,var/obj/item/organ/external/affected)
@@ -314,10 +314,3 @@ var/list/organ_cache = list()
if(!robotic && user.a_intent == "help" && user.zone_sel.selecting == "mouth")
bitten(user)
return
/obj/item/organ/proc/remove(var/mob/user)
if(user)
src.loc = get_turf(user)
else
src.loc = get_turf(owner)
return src
+3 -3
View File
@@ -107,14 +107,14 @@
organ_tag = "brain"
desc = "A disgusting space slug."
/obj/item/organ/borer/removed(var/mob/living/target,var/mob/living/user)
/obj/item/organ/borer/removed(var/mob/living/user)
..()
var/mob/living/simple_animal/borer/B = target.has_brain_worms()
var/mob/living/simple_animal/borer/B = owner.has_brain_worms()
if(B)
B.leave_host()
B.ckey = target.ckey
B.ckey = owner.ckey
spawn(0)
del(src)
+5 -5
View File
@@ -28,7 +28,7 @@
var/list/obj/item/organ/external/children
// Internal organs of this body part
var/list/obj/item/organ/internal_organs
var/list/internal_organs = list()
var/damage_msg = "\red You feel an intense pain"
var/broken_description
@@ -620,7 +620,7 @@ Note that amputating the affected organ does in fact remove the infection from t
if(parent)
parent.children -= src
src.removed(owner)
src.removed()
if(parent)
spawn(1)
@@ -808,7 +808,7 @@ Note that amputating the affected organ does in fact remove the infection from t
H.drop_item()
W.loc = owner
/obj/item/organ/external/removed(var/mob/living/user)
/obj/item/organ/external/removed()
var/is_robotic = status & ORGAN_ROBOT
..()
@@ -823,12 +823,12 @@ Note that amputating the affected organ does in fact remove the infection from t
// Attached organs also fly off.
for(var/obj/item/organ/external/O in children)
O.removed(owner)
O.removed()
O.loc = src //TODO: generate entire limb icons from contents.
// Grab all the internal giblets too.
for(var/obj/item/organ/organ in internal_organs)
organ.removed(user)
organ.removed()
organ.loc = src
release_restraints()