mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-21 11:07:46 +01:00
Merge pull request #898 from Neerti/2/4/2016_emp_tweaks
EMP tweaks/fixes
This commit is contained in:
@@ -139,19 +139,6 @@ emp_act
|
||||
if(.) return
|
||||
return 0
|
||||
|
||||
/mob/living/carbon/human/emp_act(severity)
|
||||
for(var/obj/O in src)
|
||||
if(!O) continue
|
||||
O.emp_act(severity)
|
||||
for(var/obj/item/organ/external/O in organs)
|
||||
O.emp_act(severity)
|
||||
for(var/obj/item/organ/I in O.internal_organs)
|
||||
if(!(I.status & ORGAN_ROBOT))
|
||||
continue
|
||||
I.emp_act(severity)
|
||||
..()
|
||||
|
||||
|
||||
//Returns 1 if the attack hit, 0 if it missed.
|
||||
/mob/living/carbon/human/proc/attacked_by(var/obj/item/I, var/mob/living/user, var/def_zone)
|
||||
if(!I || !user) return 0
|
||||
|
||||
@@ -97,6 +97,8 @@
|
||||
else //Not stunned.
|
||||
src.stat = 0
|
||||
|
||||
confused = max(0, confused - 1)
|
||||
|
||||
else //Dead.
|
||||
src.blinded = 1
|
||||
src.stat = 2
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
/mob/living/silicon/robot/Login()
|
||||
..()
|
||||
regenerate_icons()
|
||||
update_hud()
|
||||
|
||||
show_laws(0)
|
||||
|
||||
winset(src, null, "mainwindow.macro=borgmacro hotkey_toggle.is-checked=false input.focus=true input.background-color=#D3B5B5")
|
||||
|
||||
@@ -147,3 +147,7 @@
|
||||
burn -= (picked.electronics_damage - burn_was)
|
||||
|
||||
parts -= picked
|
||||
|
||||
/mob/living/silicon/robot/emp_act(severity)
|
||||
uneq_all()
|
||||
..() //Damage is handled at /silicon/ level.
|
||||
@@ -63,13 +63,13 @@
|
||||
switch(severity)
|
||||
if(1)
|
||||
src.take_organ_damage(0,20,emp=1)
|
||||
Stun(rand(5,10))
|
||||
confused = (min(confused + 5, 30))
|
||||
if(2)
|
||||
src.take_organ_damage(0,10,emp=1)
|
||||
Stun(rand(1,5))
|
||||
flick("noise", src:flash)
|
||||
src << "\red <B>*BZZZT*</B>"
|
||||
src << "\red Warning: Electromagnetic pulse detected."
|
||||
confused = (min(confused + 2, 30))
|
||||
flick("noise", src.flash)
|
||||
src << "<span class='danger'><B>*BZZZT*</B></span>"
|
||||
src << "<span class='danger'>Warning: Electromagnetic pulse detected.</span>"
|
||||
..()
|
||||
|
||||
/mob/living/silicon/stun_effect_act(var/stun_amount, var/agony_amount)
|
||||
|
||||
@@ -258,14 +258,10 @@ var/list/organ_cache = list()
|
||||
if(!(status & ORGAN_ROBOT))
|
||||
return
|
||||
switch (severity)
|
||||
if (1.0)
|
||||
take_damage(20)
|
||||
return
|
||||
if (2.0)
|
||||
take_damage(7)
|
||||
return
|
||||
if(3.0)
|
||||
take_damage(3)
|
||||
if (1)
|
||||
take_damage(5)
|
||||
if (2)
|
||||
take_damage(2)
|
||||
|
||||
/obj/item/organ/proc/removed(var/mob/living/user)
|
||||
|
||||
|
||||
@@ -89,6 +89,15 @@
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/item/organ/external/emp_act(severity)
|
||||
if(!(status & ORGAN_ROBOT))
|
||||
return
|
||||
switch (severity)
|
||||
if (1)
|
||||
take_damage(8)
|
||||
if (2)
|
||||
take_damage(4)
|
||||
|
||||
/obj/item/organ/external/attack_self(var/mob/user)
|
||||
if(!contents.len)
|
||||
return ..()
|
||||
|
||||
@@ -136,7 +136,7 @@
|
||||
var/mob/living/silicon/robot/R = loc
|
||||
severity *= R.cell_emp_mult
|
||||
|
||||
charge -= maxcharge / severity
|
||||
charge -= charge / severity
|
||||
if (charge < 0)
|
||||
charge = 0
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user