Merge branch 'master' of github.com:Baystation12/Baystation12

This commit is contained in:
Hawk-v3
2012-02-26 23:51:56 +00:00
8 changed files with 38 additions and 28 deletions
@@ -337,7 +337,7 @@ CIRCULAR SAW
if(!W.pretend_weapon)
// the more hits, the more likely it is that we get the right weapon type
if(prob(W.hits * 10 + W.damage))
if(prob(50 + W.hits * 10 + W.damage))
W.pretend_weapon = W.weapon
else
W.pretend_weapon = pick("mechanical toolbox", "wirecutters", "revolver", "crowbar", "fire extinguisher", "tomato soup", "oxygen tank", "emergency oxygen tank", "laser", "bullet")
@@ -357,8 +357,13 @@ CIRCULAR SAW
/obj/item/weapon/autopsy_scanner/verb/print_data()
set src in view(usr, 1)
set name = "Print Data"
if(usr.stat)
src << "No."
usr << "No."
return
if(wdata.len == 0)
usr << "<b>* There is no data about any wounds in the scanners database. You may have to scan more bodyparts, or otherwise this wound type may not be in the scanner's database."
return
var/scan_data = ""
+1 -1
View File
@@ -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()
+13 -12
View File
@@ -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)
+8 -6
View File
@@ -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)
+2 -2
View File
@@ -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)
+2 -2
View File
@@ -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
+3 -1
View File
@@ -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