mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-18 18:44:48 +01:00
Changes to autopsy.
- Increased the chance to get the murder weapon right. - New damage types detectable by autopsy: Hot air(fire), explosions, electrocution.
This commit is contained in:
@@ -124,7 +124,7 @@
|
||||
shock_damage *= siemens_coeff
|
||||
if (shock_damage<1)
|
||||
return 0
|
||||
src.take_overall_damage(0,shock_damage)
|
||||
src.take_overall_damage(0,shock_damage,"Electrocution")
|
||||
//src.burn_skin(shock_damage)
|
||||
//src.adjustFireLoss(shock_damage) //burn_skin will do this for us
|
||||
//src.updatehealth()
|
||||
|
||||
@@ -291,19 +291,20 @@
|
||||
|
||||
for(var/name in organs)
|
||||
var/datum/organ/external/temp = organs[name]
|
||||
var/au_msg = "Explosion" // for autopsy
|
||||
switch(temp.name)
|
||||
if("head")
|
||||
temp.take_damage(b_loss * 0.2, f_loss * 0.2)
|
||||
temp.take_damage(b_loss * 0.2, f_loss * 0.2, 0, used_weapon = au_msg)
|
||||
if("chest")
|
||||
temp.take_damage(b_loss * 0.4, f_loss * 0.4)
|
||||
temp.take_damage(b_loss * 0.4, f_loss * 0.4, 0, used_weapon = au_msg)
|
||||
if("l_arm")
|
||||
temp.take_damage(b_loss * 0.05, f_loss * 0.05)
|
||||
temp.take_damage(b_loss * 0.05, f_loss * 0.05, 0, used_weapon = au_msg)
|
||||
if("r_arm")
|
||||
temp.take_damage(b_loss * 0.05, f_loss * 0.05)
|
||||
temp.take_damage(b_loss * 0.05, f_loss * 0.05, 0, used_weapon = au_msg)
|
||||
if("l_leg")
|
||||
temp.take_damage(b_loss * 0.05, f_loss * 0.05)
|
||||
temp.take_damage(b_loss * 0.05, f_loss * 0.05, 0, used_weapon = au_msg)
|
||||
if("r_leg")
|
||||
temp.take_damage(b_loss * 0.05, f_loss * 0.05)
|
||||
temp.take_damage(b_loss * 0.05, f_loss * 0.05, 0, used_weapon = au_msg)
|
||||
UpdateDamageIcon()
|
||||
|
||||
|
||||
@@ -2373,7 +2374,7 @@ It can still be worn/put on as normal.
|
||||
UpdateDamageIcon()
|
||||
|
||||
// damage MANY external organs, in random order
|
||||
/mob/living/carbon/human/take_overall_damage(var/brute, var/burn)
|
||||
/mob/living/carbon/human/take_overall_damage(var/brute, var/burn, var/used_weapon = null)
|
||||
var/list/datum/organ/external/parts = get_damageable_organs()
|
||||
|
||||
while(parts.len && (brute>0 || burn>0) )
|
||||
@@ -2382,7 +2383,7 @@ It can still be worn/put on as normal.
|
||||
var/brute_was = picked.brute_dam
|
||||
var/burn_was = picked.burn_dam
|
||||
|
||||
picked.take_damage(brute,burn)
|
||||
picked.take_damage(brute,burn, 0, used_weapon)
|
||||
|
||||
brute -= (picked.brute_dam-brute_was)
|
||||
burn -= (picked.burn_dam-burn_was)
|
||||
@@ -2463,9 +2464,9 @@ It can still be worn/put on as normal.
|
||||
amount+= O.brute_dam
|
||||
return amount
|
||||
|
||||
/mob/living/carbon/human/adjustBruteLoss(var/amount)
|
||||
/mob/living/carbon/human/adjustBruteLoss(var/amount, var/used_weapon = null)
|
||||
if(amount > 0)
|
||||
take_overall_damage(amount, 0)
|
||||
take_overall_damage(amount, 0, used_weapon)
|
||||
else
|
||||
heal_overall_damage(-amount, 0)
|
||||
|
||||
@@ -2476,9 +2477,9 @@ It can still be worn/put on as normal.
|
||||
amount+= O.burn_dam
|
||||
return amount
|
||||
|
||||
/mob/living/carbon/human/adjustFireLoss(var/amount)
|
||||
/mob/living/carbon/human/adjustFireLoss(var/amount,var/used_weapon = null)
|
||||
if(amount > 0)
|
||||
take_overall_damage(0, amount)
|
||||
take_overall_damage(0, amount, used_weapon)
|
||||
else
|
||||
heal_overall_damage(0, -amount)
|
||||
|
||||
|
||||
@@ -58,9 +58,9 @@
|
||||
|
||||
switch(damagetype)
|
||||
if(BRUTE)
|
||||
organ.take_damage(damage, 0, sharp)
|
||||
organ.take_damage(damage, 0, sharp, used_weapon)
|
||||
if(BURN)
|
||||
organ.take_damage(0, damage, sharp)
|
||||
organ.take_damage(0, damage, sharp, used_weapon)
|
||||
|
||||
if(used_weapon)
|
||||
organ.add_wound(used_weapon, damage)
|
||||
|
||||
@@ -720,17 +720,19 @@
|
||||
else
|
||||
discomfort *= 1.5 //Dangercon 2011 - Upping damage by use of magic numbers - Errorage
|
||||
|
||||
var/au_msg = "High Temperature"
|
||||
|
||||
switch(body_part)
|
||||
if(HEAD)
|
||||
apply_damage(2.5*discomfort, BURN, "head")
|
||||
apply_damage(2.5*discomfort, BURN, "head", used_weapon = au_msg)
|
||||
if(UPPER_TORSO)
|
||||
apply_damage(2.5*discomfort, BURN, "chest")
|
||||
apply_damage(2.5*discomfort, BURN, "chest", used_weapon = au_msg)
|
||||
if(LEGS)
|
||||
apply_damage(0.6*discomfort, BURN, "l_leg")
|
||||
apply_damage(0.6*discomfort, BURN, "r_leg")
|
||||
apply_damage(0.6*discomfort, BURN, "l_leg", used_weapon = au_msg)
|
||||
apply_damage(0.6*discomfort, BURN, "r_leg", used_weapon = au_msg)
|
||||
if(ARMS)
|
||||
apply_damage(0.4*discomfort, BURN, "l_arm")
|
||||
apply_damage(0.4*discomfort, BURN, "r_arm")
|
||||
apply_damage(0.4*discomfort, BURN, "l_arm", used_weapon = au_msg)
|
||||
apply_damage(0.4*discomfort, BURN, "r_arm", used_weapon = au_msg)
|
||||
|
||||
handle_chemicals_in_body()
|
||||
if(reagents && stat != 2) reagents.metabolize(src)
|
||||
|
||||
@@ -12,10 +12,10 @@
|
||||
if(!damage || (blocked >= 2)) return 0
|
||||
switch(damagetype)
|
||||
if(BRUTE)
|
||||
adjustBruteLoss(damage/(blocked+1))
|
||||
adjustBruteLoss(damage/(blocked+1), used_weapon)
|
||||
if(BURN)
|
||||
if(mutations & COLD_RESISTANCE) damage = 0
|
||||
adjustFireLoss(damage/(blocked+1))
|
||||
adjustFireLoss(damage/(blocked+1), used_weapon)
|
||||
if(TOX)
|
||||
adjustToxLoss(damage/(blocked+1))
|
||||
if(OXY)
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
|
||||
//sort of a legacy burn method for /electrocute, /shock, and the e_chair
|
||||
/mob/living/proc/burn_skin(burn_amount)
|
||||
/mob/living/proc/burn_skin(burn_amount, used_weapon = null)
|
||||
if(istype(src, /mob/living/carbon/human))
|
||||
if(src.mutations2 & mShock)
|
||||
return 0
|
||||
@@ -28,7 +28,7 @@
|
||||
for(var/name in H.organs)
|
||||
var/datum/organ/external/affecting = H.organs[name]
|
||||
if(!affecting) continue
|
||||
if(affecting.take_damage(0, divided_damage+extradam))
|
||||
if(affecting.take_damage(0, divided_damage+extradam, 0, used_weapon))
|
||||
extradam = 0
|
||||
else
|
||||
extradam += divided_damage
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
owner = H
|
||||
H.organs[name] = src
|
||||
|
||||
proc/take_damage(brute, burn, sharp)
|
||||
proc/take_damage(brute, burn, sharp, used_weapon = null)
|
||||
if((brute <= 0) && (burn <= 0))
|
||||
return 0
|
||||
if(destroyed)
|
||||
@@ -117,6 +117,8 @@
|
||||
if(broken)
|
||||
owner.emote("scream")
|
||||
|
||||
if(used_weapon) add_wound(used_weapon, brute + burn)
|
||||
|
||||
var/result = src.update_icon()
|
||||
return result
|
||||
|
||||
|
||||
Reference in New Issue
Block a user