Merge pull request #7845 from Fox-McCloud/organsss

Fixes IPC and Diona Knockdown Immunity
This commit is contained in:
Crazy Lemon
2017-07-21 23:05:00 -07:00
committed by GitHub
31 changed files with 103 additions and 158 deletions
@@ -94,7 +94,7 @@ var/global/list/image/splatter_cache=list()
var/obj/item/organ/external/l_foot = H.get_organ("l_foot")
var/obj/item/organ/external/r_foot = H.get_organ("r_foot")
var/hasfeet = 1
if((!l_foot || l_foot.status & ORGAN_DESTROYED) && (!r_foot || r_foot.status & ORGAN_DESTROYED))
if(!l_foot && !r_foot)
hasfeet = 0
if(H.shoes && blood_state && bloodiness)
var/obj/item/clothing/shoes/S = H.shoes
@@ -36,7 +36,7 @@ var/global/list/image/fluidtrack_cache=list()
var/obj/item/organ/external/l_foot = H.get_organ("l_foot")
var/obj/item/organ/external/r_foot = H.get_organ("r_foot")
var/hasfeet = 1
if((!l_foot || l_foot.status & ORGAN_DESTROYED) && (!r_foot || r_foot.status & ORGAN_DESTROYED))
if(!l_foot && !r_foot)
hasfeet = 0
if(S && S.bloody_shoes[blood_state] && S.blood_color == basecolor)
S.bloody_shoes[blood_state] = max(S.bloody_shoes[blood_state] - BLOOD_LOSS_PER_STEP, 0)
@@ -59,7 +59,7 @@ var/global/list/image/fluidtrack_cache=list()
var/obj/item/organ/external/l_foot = H.get_organ("l_foot")
var/obj/item/organ/external/r_foot = H.get_organ("r_foot")
var/hasfeet = 1
if((!l_foot || l_foot.status & ORGAN_DESTROYED) && (!r_foot || r_foot.status & ORGAN_DESTROYED))
if(!l_foot && !r_foot)
hasfeet = 0
if(S && S.bloody_shoes[blood_state] && S.blood_color == basecolor)
S.bloody_shoes[blood_state] = max(S.bloody_shoes[blood_state] - BLOOD_LOSS_PER_STEP, 0)
+5 -4
View File
@@ -55,7 +55,8 @@
proc/dead_legs(mob/living/carbon/human/H as mob)
var/obj/item/organ/external/l = H.get_organ("l_leg")
var/obj/item/organ/external/r = H.get_organ("r_leg")
if(l && !(l.status & ORGAN_DESTROYED))
l.status |= ORGAN_DESTROYED
if(r && !(r.status & ORGAN_DESTROYED))
r.status |= ORGAN_DESTROYED
if(l)
l.droplimb(0, DROPLIMB_SHARP)
if(r)
r.droplimb(0, DROPLIMB_SHARP)
@@ -37,7 +37,7 @@
var/mob/living/carbon/human/H = M
var/obj/item/organ/internal/eyes/E = H.get_int_organ(/obj/item/organ/internal/eyes)
if(E)
E.damage += 8
E.take_damage(8, 1)
if(M.flash_eyes(affect_silicon = 1))
M.Stun(max(10/distance, 3))
@@ -41,12 +41,12 @@
var/mob/living/carbon/human/driver = user
var/obj/item/organ/external/l_hand = driver.get_organ("l_hand")
var/obj/item/organ/external/r_hand = driver.get_organ("r_hand")
if((!l_hand || (l_hand.status & ORGAN_DESTROYED)) && (!r_hand || (r_hand.status & ORGAN_DESTROYED)))
if(!l_hand && !r_hand)
return 0 // No hands to drive your chair? Tough luck!
for(var/organ_name in list("l_hand","r_hand","l_arm","r_arm"))
var/obj/item/organ/external/E = driver.get_organ(organ_name)
if(!E || (E.status & ORGAN_DESTROYED))
if(!E)
calculated_move_delay += 4
else if(E.status & ORGAN_SPLINTED)
calculated_move_delay += 0.5
@@ -129,12 +129,12 @@
var/mob/living/carbon/human/driver = user
var/obj/item/organ/external/l_hand = driver.get_organ("l_hand")
var/obj/item/organ/external/r_hand = driver.get_organ("r_hand")
if((!l_hand || (l_hand.status & ORGAN_DESTROYED)) && (!r_hand || (r_hand.status & ORGAN_DESTROYED)))
if(!l_hand && !r_hand)
calculated_move_delay += 0.5 //I can ride my bike with no handlebars... (but it's slower)
for(var/organ_name in list("l_leg","r_leg","l_foot","r_foot"))
var/obj/item/organ/external/E = driver.get_organ(organ_name)
if(!E || (E.status & ORGAN_DESTROYED))
if(!E)
return 0 //Bikes need both feet/legs to work. missing even one makes it so you can't ride the bike
else if(E.status & ORGAN_SPLINTED)
calculated_move_delay += 0.5