mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Merge pull request #3255 from VOREStation/aro-robocheck
Fix incorrect robolimb checks
This commit is contained in:
@@ -347,7 +347,7 @@
|
|||||||
organStatus["destroyed"] = 1
|
organStatus["destroyed"] = 1
|
||||||
if(E.status & ORGAN_BROKEN)
|
if(E.status & ORGAN_BROKEN)
|
||||||
organStatus["broken"] = E.broken_description
|
organStatus["broken"] = E.broken_description
|
||||||
if(E.status & ORGAN_ROBOT)
|
if(E.robotic >= ORGAN_ROBOT)
|
||||||
organStatus["robotic"] = 1
|
organStatus["robotic"] = 1
|
||||||
if(E.splinted)
|
if(E.splinted)
|
||||||
organStatus["splinted"] = 1
|
organStatus["splinted"] = 1
|
||||||
@@ -516,7 +516,7 @@
|
|||||||
bled = "Bleeding:"
|
bled = "Bleeding:"
|
||||||
if(e.status & ORGAN_BROKEN)
|
if(e.status & ORGAN_BROKEN)
|
||||||
AN = "[e.broken_description]:"
|
AN = "[e.broken_description]:"
|
||||||
if(e.status & ORGAN_ROBOT)
|
if(e.robotic >= ORGAN_ROBOT)
|
||||||
robot = "Prosthetic:"
|
robot = "Prosthetic:"
|
||||||
if(e.status & ORGAN_DEAD)
|
if(e.status & ORGAN_DEAD)
|
||||||
o_dead = "Necrotic:"
|
o_dead = "Necrotic:"
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
if(H.species.flags & NO_PAIN)
|
if(H.species.flags & NO_PAIN)
|
||||||
nopain = 2
|
nopain = 2
|
||||||
E = H.get_organ(user.zone_sel.selecting)
|
E = H.get_organ(user.zone_sel.selecting)
|
||||||
if(E.status & ORGAN_ROBOT)
|
if(E.robotic >= ORGAN_ROBOT)
|
||||||
nopain = 1
|
nopain = 1
|
||||||
|
|
||||||
user.visible_message("<span class='danger'>\The [user] shoves \the [victim][E ? "'s [E.name]" : ""] into \the [src]!</span>")
|
user.visible_message("<span class='danger'>\The [user] shoves \the [victim][E ? "'s [E.name]" : ""] into \the [src]!</span>")
|
||||||
@@ -45,7 +45,7 @@
|
|||||||
E.take_damage(0, rand(20,30))
|
E.take_damage(0, rand(20,30))
|
||||||
if(E.children && E.children.len)
|
if(E.children && E.children.len)
|
||||||
for(var/obj/item/organ/external/child in E.children)
|
for(var/obj/item/organ/external/child in E.children)
|
||||||
if(nopain && nopain < 2 && !(child.status & ORGAN_ROBOT))
|
if(nopain && nopain < 2 && !(child.robotic >= ORGAN_ROBOT))
|
||||||
nopain = 0
|
nopain = 0
|
||||||
child.take_damage(0, rand(20,30))
|
child.take_damage(0, rand(20,30))
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -343,7 +343,7 @@
|
|||||||
new /obj/item/weapon/farmbot_arm_assembly(loc, src)
|
new /obj/item/weapon/farmbot_arm_assembly(loc, src)
|
||||||
|
|
||||||
/obj/structure/reagent_dispensers/watertank/attackby(var/obj/item/organ/external/S, mob/user as mob)
|
/obj/structure/reagent_dispensers/watertank/attackby(var/obj/item/organ/external/S, mob/user as mob)
|
||||||
if ((!istype(S, /obj/item/organ/external/arm)) || (!S.robotic == ORGAN_ROBOT))
|
if ((!istype(S, /obj/item/organ/external/arm)) || S.robotic != ORGAN_ROBOT)
|
||||||
..()
|
..()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -333,7 +333,7 @@
|
|||||||
qdel(src)
|
qdel(src)
|
||||||
|
|
||||||
/obj/item/weapon/storage/firstaid/attackby(var/obj/item/organ/external/S, mob/user as mob)
|
/obj/item/weapon/storage/firstaid/attackby(var/obj/item/organ/external/S, mob/user as mob)
|
||||||
if (!istype(S, /obj/item/organ/external/arm) || !(S.robotic == ORGAN_ROBOT))
|
if (!istype(S, /obj/item/organ/external/arm) || S.robotic != ORGAN_ROBOT)
|
||||||
..()
|
..()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -1291,9 +1291,12 @@
|
|||||||
if(!affecting)
|
if(!affecting)
|
||||||
. = 0
|
. = 0
|
||||||
fail_msg = "They are missing that limb."
|
fail_msg = "They are missing that limb."
|
||||||
else if (affecting.robotic >= ORGAN_ROBOT)
|
else if (affecting.robotic == ORGAN_ROBOT)
|
||||||
. = 0
|
. = 0
|
||||||
fail_msg = "That limb is robotic."
|
fail_msg = "That limb is robotic."
|
||||||
|
else if (affecting.robotic >= ORGAN_LIFELIKE)
|
||||||
|
. = 0
|
||||||
|
fail_msg = "Your needle refuses to penetrate more than a short distance..."
|
||||||
else
|
else
|
||||||
switch(target_zone)
|
switch(target_zone)
|
||||||
if(BP_HEAD)
|
if(BP_HEAD)
|
||||||
|
|||||||
@@ -341,7 +341,7 @@ emp_act
|
|||||||
|
|
||||||
/mob/living/carbon/human/emag_act(var/remaining_charges, mob/user, var/emag_source)
|
/mob/living/carbon/human/emag_act(var/remaining_charges, mob/user, var/emag_source)
|
||||||
var/obj/item/organ/external/affecting = get_organ(user.zone_sel.selecting)
|
var/obj/item/organ/external/affecting = get_organ(user.zone_sel.selecting)
|
||||||
if(!affecting || !(affecting.status & ORGAN_ROBOT))
|
if(!affecting || !(affecting.robotic >= ORGAN_ROBOT))
|
||||||
user << "<span class='warning'>That limb isn't robotic.</span>"
|
user << "<span class='warning'>That limb isn't robotic.</span>"
|
||||||
return -1
|
return -1
|
||||||
if(affecting.sabotaged)
|
if(affecting.sabotaged)
|
||||||
|
|||||||
@@ -190,7 +190,7 @@
|
|||||||
var/mob/living/carbon/human/H = mob
|
var/mob/living/carbon/human/H = mob
|
||||||
var/organ = pick(list("heart","kidney","liver", "lungs"))
|
var/organ = pick(list("heart","kidney","liver", "lungs"))
|
||||||
var/obj/item/organ/internal/O = H.organs_by_name[organ]
|
var/obj/item/organ/internal/O = H.organs_by_name[organ]
|
||||||
if (!(O.robotic = ORGAN_ROBOT))
|
if (O.robotic != ORGAN_ROBOT)
|
||||||
O.damage += (5*multiplier)
|
O.damage += (5*multiplier)
|
||||||
H << "<span class='notice'>You feel a cramp in your guts.</span>"
|
H << "<span class='notice'>You feel a cramp in your guts.</span>"
|
||||||
|
|
||||||
@@ -370,7 +370,7 @@
|
|||||||
var/mob/living/carbon/human/H = mob
|
var/mob/living/carbon/human/H = mob
|
||||||
var/obj/item/organ/internal/O = H.organs_by_name
|
var/obj/item/organ/internal/O = H.organs_by_name
|
||||||
for (var/organ in H.organs_by_name)
|
for (var/organ in H.organs_by_name)
|
||||||
if (!(O.robotic = ORGAN_ROBOT))
|
if (O.robotic != ORGAN_ROBOT)
|
||||||
O.rejecting = 0
|
O.rejecting = 0
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user