Added macros for droplimb flags.

This commit is contained in:
=
2015-03-31 11:42:45 +10:30
parent ea25f4fb73
commit 2e728cfd4b
6 changed files with 21 additions and 17 deletions

View File

@@ -182,7 +182,7 @@ Implant Specifics:<BR>"}
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:<BR>"}
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)

View File

@@ -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)

View File

@@ -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(
"<span class='danger'>\The [owner]'s [src.name] flies off in an arc!</span>",\
"<span class='moderate'><b>Your [src.name] goes flying off!</b></span>",\
"<span class='danger'>You hear a terrible sound of ripping tendons and flesh.</span>")
if(1)
if(DROPLIMB_BURN)
owner.visible_message(
"<span class='danger'>\The [owner]'s [src.name] flashes away into ashes!</span>",\
"<span class='moderate'><b>Your [src.name] flashes away into ashes!</b></span>",\
"<span class='danger'>You hear the crackling sound of burning flesh.</span>")
if(2)
if(DROPLIMB_BLUNT)
owner.visible_message(
"<span class='danger'>\The [owner]'s [src.name] explodes in a shower of gore!</span>",\
"<span class='moderate'><b>Your [src.name] explodes in a shower of gore!</b></span>",\
@@ -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

View File

@@ -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)

View File

@@ -81,11 +81,11 @@
var/mob/living/carbon/human/H = mob
var/obj/item/organ/external/O = pick(H.organs)
if(prob(25))
mob << "<span class='warning'>Your [O.name] feels as if it might fall off!</span>"
mob << "<span class='warning'>Your [O.name] feels as if it might burst!</span>"
if(prob(10))
spawn(50)
if(O)
O.droplimb()
O.droplimb(0,DROPLIMB_BLUNT)
else
if(prob(75))
mob << "<span class='warning'>Your whole body feels like it might fall apart!</span>"

View File

@@ -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