EMP deals burn instead of brute to silicons, and bypasses robot armour

This commit is contained in:
mwerezak
2015-03-23 02:47:05 -04:00
parent 28df26b36c
commit ceaa938b89
4 changed files with 10 additions and 9 deletions

View File

@@ -241,7 +241,7 @@
src.updatehealth()
// damage ONE external organ, organ gets randomly selected from damaged ones.
/mob/living/proc/take_organ_damage(var/brute, var/burn)
/mob/living/proc/take_organ_damage(var/brute, var/burn, var/emp=0)
if(status_flags & GODMODE) return 0 //godmode
adjustBruteLoss(brute)
adjustFireLoss(burn)

View File

@@ -11,7 +11,7 @@
if(bruteloss<0) bruteloss = 0
if(fireloss<0) fireloss = 0
/mob/living/silicon/robot/drone/take_organ_damage(var/brute = 0, var/burn = 0, var/sharp = 0)
/mob/living/silicon/robot/drone/take_organ_damage(var/brute = 0, var/burn = 0, var/sharp = 0, var/emp = 0)
take_overall_damage(brute,burn)
/mob/living/silicon/robot/drone/heal_organ_damage(var/brute, var/burn)

View File

@@ -62,7 +62,7 @@
var/datum/robot_component/picked = pick(parts)
picked.heal_damage(brute,burn)
/mob/living/silicon/robot/take_organ_damage(var/brute = 0, var/burn = 0, var/sharp = 0, var/edge = 0)
/mob/living/silicon/robot/take_organ_damage(var/brute = 0, var/burn = 0, var/sharp = 0, var/edge = 0, var/emp = 0)
var/list/components = get_damageable_components()
if(!components.len)
return
@@ -84,6 +84,7 @@
burn -= absorb_burn
src << "\red Your shield absorbs some of the impact!"
if(!emp)
var/datum/robot_component/armour/A = get_armour()
if(A)
A.take_damage(brute,burn,sharp,edge)

View File

@@ -56,10 +56,10 @@
/mob/living/silicon/emp_act(severity)
switch(severity)
if(1)
src.take_organ_damage(20)
src.take_organ_damage(0,20,emp=1)
Stun(rand(5,10))
if(2)
src.take_organ_damage(10)
src.take_organ_damage(0,10,emp=1)
Stun(rand(1,5))
flick("noise", src:flash)
src << "\red <B>*BZZZT*</B>"