Merge pull request #3052 from Anewbe/emp_things

Reworks empulse and emp_act
This commit is contained in:
Neerti
2017-03-14 21:39:01 -04:00
committed by GitHub
42 changed files with 274 additions and 83 deletions
+6 -2
View File
@@ -281,9 +281,13 @@ var/list/organ_cache = list()
return
switch (severity)
if (1)
take_damage(5)
take_damage(rand(6,12))
if (2)
take_damage(2)
take_damage(rand(4,8))
if (3)
take_damage(rand(3,6))
if (4)
take_damage(rand(1,4))
/obj/item/organ/proc/removed(var/mob/living/user)
+13 -5
View File
@@ -102,11 +102,19 @@
/obj/item/organ/external/emp_act(severity)
if(!(robotic >= ORGAN_ROBOT))
return
var/burn_damage = 0
switch (severity)
if (1)
take_damage(8)
burn_damage += rand(8, 13)
if (2)
take_damage(4)
burn_damage += rand(6, 9)
if(3)
burn_damage += rand(4, 7)
if(4)
burn_damage += rand(1, 5)
if(burn_damage)
take_damage(0, burn_damage)
/obj/item/organ/external/attack_self(var/mob/living/user)
if(!contents.len)
@@ -243,12 +251,12 @@
return (vital || (robotic >= ORGAN_ROBOT) || brute_dam + burn_dam + additional_damage < max_damage)
/obj/item/organ/external/take_damage(brute, burn, sharp, edge, used_weapon = null, list/forbidden_limbs = list())
brute = round(brute * brute_mod, 0.1)
burn = round(burn * burn_mod, 0.1)
if((brute <= 0) && (burn <= 0))
return 0
brute *= brute_mod
burn *= burn_mod
// High brute damage or sharp objects may damage internal organs
if(internal_organs && (brute_dam >= max_damage || (((sharp && brute >= 5) || brute >= 10) && prob(5))))
// Damage an internal organ