Merge pull request #898 from Neerti/2/4/2016_emp_tweaks

EMP tweaks/fixes
This commit is contained in:
Zuhayr
2016-02-10 10:03:06 +10:30
11 changed files with 70 additions and 30 deletions
+4 -3
View File
@@ -144,9 +144,10 @@ var/const/enterloopsanity = 100
if(objects > enterloopsanity) break
objects++
spawn(0)
A.HasProximity(thing, 1)
if ((thing && A) && (thing.flags & PROXMOVE))
thing.HasProximity(A, 1)
if(A) //Runtime prevention
A.HasProximity(thing, 1)
if ((thing && A) && (thing.flags & PROXMOVE))
thing.HasProximity(A, 1)
return
/turf/proc/adjacent_fire_act(turf/simulated/floor/source, temperature, volume)
@@ -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.
+5 -5
View File
@@ -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)
+4 -8
View File
@@ -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)
+9
View File
@@ -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 ..()
+1 -1
View File
@@ -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
..()
+39
View File
@@ -0,0 +1,39 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# wip (For works in progress)
# tweak
# soundadd
# sounddel
# rscadd (general adding of nice things)
# rscdel (general deleting of nice things)
# imageadd
# imagedel
# maptweak
# spellcheck (typo fixes)
# experiment
#################################
# Your name.
author: Neerti
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
changes:
- bugfix: "EMP no longer hits twice on humans."
- tweak: "EMP drains powercells using the cell's current charge, and not the cell's maximum potential charge, to ensure two blasts do not completely disable a synthetic."
- tweak: "EMP hitting a prosthetic limb or organ will now do less damage."
- tweak: "EMP hitting a cyborg will no longer outright stun them. Instead, they gain the 'confused' status for a few moments, making movement difficult. In addition, their HUD gets staticy, and their modules are forced to be retracted.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 123 KiB