diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm index 3969ddd1ef..50b4135dd7 100644 --- a/code/game/objects/items/weapons/implants/implant.dm +++ b/code/game/objects/items/weapons/implants/implant.dm @@ -182,7 +182,7 @@ Implant Specifics:
"} del(src) else explosion(get_turf(imp_in), -1, -1, 2, 3) - part.droplimb() + part.droplimb(0,DROPLIMB_BLUNT) del(src) if (elevel == "Destroy Body") explosion(get_turf(T), -1, 0, 1, 6) @@ -247,7 +247,7 @@ Implant Specifics:
"} istype(part,/obj/item/organ/external/head)) part.createwound(BRUISE, 60) //mangle them instead else - part.droplimb() + part.droplimb(0,DROPLIMB_BLUNT) explosion(get_turf(imp_in), -1, -1, 2, 3) del(src) diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index 65fa5c522e..338b265a4f 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -6,7 +6,7 @@ I.throw_at(get_edge_target_turf(src,pick(alldirs)),rand(1,3),30) for(var/obj/item/organ/external/E in src.organs) - E.droplimb(0,0,1) + E.droplimb(0,DROPLIMB_EDGE,1) sleep(1) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index df675d5309..b6f14b64bc 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -221,15 +221,15 @@ var/dropped if((burn >= threshold) && prob(burn/3)) dropped = 1 - droplimb(0,1) + droplimb(0,DROPLIMB_BURN) if(!dropped && prob(brute)) if(brute >= threshold) if((sharp || edge) && istype(used_weapon,/obj/item)) var/obj/item/W = used_weapon if(W.w_class >= 3) - droplimb() + droplimb(0,DROPLIMB_EDGE) else - droplimb(0,2) + droplimb(0,DROPLIMB_BLUNT) owner.updatehealth() return update_icon() @@ -364,7 +364,7 @@ This function completely restores a damaged organ to perfect condition. //Dismemberment if(status & ORGAN_DESTROYED) if(config.limbs_can_break) - droplimb() + droplimb(0,DROPLIMB_EDGE) //Might be worth removing this check since take_damage handles it. return if(parent) if(parent.status & ORGAN_DESTROYED) @@ -624,21 +624,21 @@ Note that amputating the affected organ does in fact remove the infection from t return if(!disintegrate) - disintegrate = 0 + disintegrate = DROPLIMB_EDGE switch(disintegrate) - if(0) + if(DROPLIMB_EDGE) if(!clean) owner.visible_message( "\The [owner]'s [src.name] flies off in an arc!",\ "Your [src.name] goes flying off!",\ "You hear a terrible sound of ripping tendons and flesh.") - if(1) + if(DROPLIMB_BURN) owner.visible_message( "\The [owner]'s [src.name] flashes away into ashes!",\ "Your [src.name] flashes away into ashes!",\ "You hear the crackling sound of burning flesh.") - if(2) + if(DROPLIMB_BLUNT) owner.visible_message( "\The [owner]'s [src.name] explodes in a shower of gore!",\ "Your [src.name] explodes in a shower of gore!",\ @@ -672,7 +672,7 @@ Note that amputating the affected organ does in fact remove the infection from t dir = 2 switch(disintegrate) - if(0) + if(DROPLIMB_EDGE) compile_icon() add_blood(owner) var/matrix/M = matrix() @@ -684,9 +684,9 @@ Note that amputating the affected organ does in fact remove the infection from t throw_at(get_edge_target_turf(src,pick(alldirs)),rand(1,3),30) dir = 2 return - if(1) + if(DROPLIMB_BURN) new /obj/effect/decal/cleanable/ash(get_turf(owner)) - if(2) + if(DROPLIMB_BLUNT) var/obj/effect/decal/cleanable/blood/gibs/gore = new owner.species.single_gib_type(get_turf(owner)) if(owner.species.flesh_color) gore.fleshcolor = owner.species.flesh_color diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index ca4a7dafe4..f6352f6b74 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -305,7 +305,7 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) user.visible_message("\blue [user] amputates [target]'s [affected.name] at the [affected.amputation_point] with \the [tool].", \ "\blue You amputate [target]'s [affected.name] with \the [tool].") - affected.droplimb(1) + affected.droplimb(1,DROPLIMB_EDGE) fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) diff --git a/code/modules/virus2/effect.dm b/code/modules/virus2/effect.dm index 3153bd4f9b..878f8c24be 100644 --- a/code/modules/virus2/effect.dm +++ b/code/modules/virus2/effect.dm @@ -81,11 +81,11 @@ var/mob/living/carbon/human/H = mob var/obj/item/organ/external/O = pick(H.organs) if(prob(25)) - mob << "Your [O.name] feels as if it might fall off!" + mob << "Your [O.name] feels as if it might burst!" if(prob(10)) spawn(50) if(O) - O.droplimb() + O.droplimb(0,DROPLIMB_BLUNT) else if(prob(75)) mob << "Your whole body feels like it might fall apart!" diff --git a/code/setup.dm b/code/setup.dm index 7d8e678a54..4222992f88 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -854,3 +854,7 @@ var/list/be_special_flags = list( #define ALLMOBS (HUMAN|MONKEY|ALIEN|ROBOT|SLIME|SIMPLE_ANIMAL) #define NEXT_MOVE_DELAY 8 + +#define DROPLIMB_EDGE 0 +#define DROPLIMB_BLUNT 1 +#define DROPLIMB_BURN 2