Conflicts:
	code/ZAS/FEA_system.dm
This commit is contained in:
Chinsky
2012-11-17 00:20:23 +04:00
26 changed files with 280 additions and 195 deletions
+46 -17
View File
@@ -5,6 +5,7 @@
name = "external"
var/icon_name = null
var/body_part = null
var/icon_position = 0
var/damage_state = "00"
var/brute_dam = 0
@@ -63,8 +64,7 @@
var/nux = brute * rand(10,15)
if(config.limbs_can_break && brute_dam >= max_damage * config.organ_health_multiplier)
if(prob(5 * brute))
status |= ORGAN_DESTROYED
droplimb()
droplimb(1)
return
else if(prob(nux))
@@ -75,8 +75,7 @@
else if(brute > 20)
if(config.limbs_can_break && brute_dam >= max_damage * config.organ_health_multiplier)
if(prob(5 * brute))
status |= ORGAN_DESTROYED
droplimb()
droplimb(1)
return
// If the limbs can break, make sure we don't exceed the maximum damage a limb can take before breaking
@@ -319,10 +318,19 @@
return 1
return 0
proc/setAmputatedTree()
for(var/datum/organ/external/O in children)
O.amputated=amputated
O.setAmputatedTree()
proc/droplimb(var/override = 0,var/no_explode = 0)
if(destspawn) return
if(override)
status |= ORGAN_DESTROYED
if(status & ORGAN_DESTROYED)
if(body_part == UPPER_TORSO)
return
if(status & ORGAN_SPLINTED)
status &= ~ORGAN_SPLINTED
if(implant)
@@ -337,8 +345,8 @@
var/obj/item/weapon/organ/H
switch(body_part)
// if(UPPER_TORSO) just no.
// owner.gib()
// if(UPPER_TORSO)
// owner.gib()
if(LOWER_TORSO)
owner << "\red You are now sterile."
if(HEAD)
@@ -396,8 +404,25 @@
if(ismonkey(owner))
H.icon_state = "l_foot_l"
owner.u_equip(owner.shoes)
if(ismonkey(owner))
H.icon = 'monkey.dmi'
if(H)
if(ismonkey(owner))
H.icon = 'monkey.dmi'
else if(ishuman(owner) && owner.dna)
var/icon/I
switch(owner.dna.mutantrace)
if("tajaran")
I = new('icons/mob/human_races/r_tajaran.dmi')
if("lizard")
I = new('icons/mob/human_races/r_lizard.dmi')
if("skrell")
I = new('icons/mob/human_races/r_skrell.dmi')
else
I = new('icons/mob/human_races/r_human.dmi')
if(I)
H.icon = I.MakeLying()
else
H.icon_state = initial(H.icon_state)+"_l"
var/lol = pick(cardinal)
step(H,lol)
destspawn = 1
@@ -573,6 +598,7 @@
max_damage = 75
min_broken_damage = 30
body_part = LEG_LEFT
icon_position = LEFT
/datum/organ/external/r_arm
name = "r_arm"
@@ -589,6 +615,7 @@
max_damage = 75
min_broken_damage = 30
body_part = LEG_RIGHT
icon_position = RIGHT
/datum/organ/external/l_foot
name = "l_foot"
@@ -597,6 +624,7 @@
max_damage = 40
min_broken_damage = 15
body_part = FOOT_LEFT
icon_position = LEFT
/datum/organ/external/r_foot
name = "r_foot"
@@ -605,6 +633,7 @@
max_damage = 40
min_broken_damage = 15
body_part = FOOT_RIGHT
icon_position = RIGHT
/datum/organ/external/r_hand
name = "r_hand"
@@ -627,7 +656,7 @@
****************************************************/
obj/item/weapon/organ
icon = 'human.dmi'
icon = 'icons/mob/human_races/r_human.dmi'
obj/item/weapon/organ/New(loc, mob/living/carbon/human/H)
..(loc)
@@ -718,25 +747,25 @@ obj/item/weapon/organ/head/attackby(obj/item/weapon/W as obj, mob/user as mob)
obj/item/weapon/organ/l_arm
name = "left arm"
icon_state = "l_arm_l"
icon_state = "l_arm"
obj/item/weapon/organ/l_foot
name = "left foot"
icon_state = "l_foot_l"
icon_state = "l_foot"
obj/item/weapon/organ/l_hand
name = "left hand"
icon_state = "l_hand_l"
icon_state = "l_hand"
obj/item/weapon/organ/l_leg
name = "left leg"
icon_state = "l_leg_l"
icon_state = "l_leg"
obj/item/weapon/organ/r_arm
name = "right arm"
icon_state = "r_arm_l"
icon_state = "r_arm"
obj/item/weapon/organ/r_foot
name = "right foot"
icon_state = "r_foot_l"
icon_state = "r_foot"
obj/item/weapon/organ/r_hand
name = "right hand"
icon_state = "r_hand_l"
icon_state = "r_hand"
obj/item/weapon/organ/r_leg
name = "right leg"
icon_state = "r_leg_l"
icon_state = "r_leg"