mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 12:37:26 +01:00
Y2K update:
- New "empulse" proc. Works similarly to "explode" proc. It triggers the "emp_act" proc on everything within range. emp_act are effects similar or identical to the effects of the emp grenade. Any major changes to emp effects listed below. Note: EMPs now affect items in your backpack. - New admin right-click command: EM Pulse. You can create an empulse at the desired location with a size you choose. Similar to Explosion command. - disable device spell, emp grenade, and disable tech rune all use empulse now. - New "disable device" spell datum added. - EMP'ed gas canisters no longer drain the station of power. - When a borg is EMP'ed, all objects in their module get their emp_act proc triggered. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1018 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -130,6 +130,7 @@
|
||||
src.verbs += /client/proc/cmd_admin_gib
|
||||
src.verbs += /client/proc/cmd_admin_gib_self
|
||||
src.verbs += /client/proc/cmd_admin_explosion
|
||||
src.verbs += /client/proc/cmd_admin_emp
|
||||
src.verbs += /client/proc/cmd_admin_delete
|
||||
src.verbs += /client/proc/cmd_admin_drop_everything
|
||||
src.verbs += /client/proc/cmd_admin_prison
|
||||
@@ -257,6 +258,7 @@
|
||||
src.verbs += /client/proc/cmd_admin_gib
|
||||
src.verbs += /client/proc/cmd_admin_gib_self
|
||||
src.verbs += /client/proc/cmd_admin_explosion
|
||||
src.verbs += /client/proc/cmd_admin_emp
|
||||
src.verbs += /client/proc/cmd_admin_delete
|
||||
src.verbs += /client/proc/cmd_admin_drop_everything
|
||||
src.verbs += /client/proc/cmd_admin_prison
|
||||
@@ -382,6 +384,7 @@
|
||||
src.verbs += /client/proc/cmd_admin_gib
|
||||
src.verbs += /client/proc/cmd_admin_gib_self
|
||||
//src.verbs += /client/proc/cmd_admin_explosion
|
||||
//src.verbs += /client/proc/cmd_admin_emp
|
||||
src.verbs += /client/proc/cmd_admin_delete
|
||||
src.verbs += /client/proc/cmd_admin_drop_everything
|
||||
src.verbs += /client/proc/cmd_admin_prison
|
||||
@@ -535,6 +538,7 @@
|
||||
//src.verbs += /client/proc/cmd_admin_gib
|
||||
src.verbs += /client/proc/cmd_admin_gib_self
|
||||
//src.verbs += /client/proc/cmd_admin_explosion
|
||||
//src.verbs += /client/proc/cmd_admin_emp
|
||||
//src.verbs += /client/proc/cmd_admin_delete
|
||||
//src.verbs += /client/proc/cmd_admin_drop_everything
|
||||
src.verbs += /client/proc/cmd_admin_prison
|
||||
@@ -678,6 +682,7 @@
|
||||
//src.verbs += /client/proc/cmd_admin_gib
|
||||
src.verbs += /client/proc/cmd_admin_gib_self
|
||||
//src.verbs += /client/proc/cmd_admin_explosion
|
||||
//src.verbs += /client/proc/cmd_admin_emp
|
||||
//src.verbs += /client/proc/cmd_admin_delete
|
||||
//src.verbs += /client/proc/cmd_admin_drop_everything
|
||||
src.verbs += /client/proc/cmd_admin_prison
|
||||
@@ -816,6 +821,7 @@
|
||||
//src.verbs += /client/proc/cmd_admin_gib
|
||||
src.verbs += /client/proc/cmd_admin_gib_self
|
||||
//src.verbs += /client/proc/cmd_admin_explosion
|
||||
//src.verbs += /client/proc/cmd_admin_emp
|
||||
//src.verbs += /client/proc/cmd_admin_delete
|
||||
//src.verbs += /client/proc/cmd_admin_drop_everything
|
||||
src.verbs += /client/proc/cmd_admin_prison
|
||||
@@ -938,6 +944,7 @@
|
||||
//src.verbs += /client/proc/cmd_admin_gib
|
||||
src.verbs += /client/proc/cmd_admin_gib_self
|
||||
//src.verbs += /client/proc/cmd_admin_explosion
|
||||
//src.verbs += /client/proc/cmd_admin_emp
|
||||
//src.verbs += /client/proc/cmd_admin_delete
|
||||
//src.verbs += /client/proc/cmd_admin_drop_everything
|
||||
src.verbs += /client/proc/cmd_admin_prison
|
||||
@@ -1093,6 +1100,7 @@
|
||||
src.verbs -= /client/proc/cmd_admin_gib
|
||||
src.verbs -= /client/proc/cmd_admin_gib_self
|
||||
src.verbs -= /client/proc/cmd_admin_explosion
|
||||
src.verbs -= /client/proc/cmd_admin_emp
|
||||
src.verbs -= /client/proc/cmd_admin_delete
|
||||
src.verbs -= /client/proc/cmd_admin_drop_everything
|
||||
src.verbs -= /client/proc/cmd_admin_prison
|
||||
|
||||
@@ -525,6 +525,27 @@ TO DO: actually integrate random appearance and player preference save.
|
||||
else
|
||||
return
|
||||
|
||||
/client/proc/cmd_admin_emp(atom/O as obj|mob|turf in world)
|
||||
set category = "Special Verbs"
|
||||
set name = "EM Pulse"
|
||||
|
||||
if (!src.authenticated || !src.holder)
|
||||
src << "Only administrators may use this command."
|
||||
return
|
||||
|
||||
var/heavy = input("Range of heavy pulse.", text("Input")) as num
|
||||
var/light = input("Range of light pulse.", text("Input")) as num
|
||||
|
||||
if (heavy || light)
|
||||
|
||||
empulse(O, heavy, light)
|
||||
log_admin("[key_name(usr)] created an EM Pulse ([heavy],[light]) at ([O.x],[O.y],[O.z])")
|
||||
message_admins("[key_name_admin(usr)] created an EM PUlse ([heavy],[light]) at ([O.x],[O.y],[O.z])", 1)
|
||||
|
||||
return
|
||||
else
|
||||
return
|
||||
|
||||
/client/proc/cmd_admin_gib(mob/M as mob in world)
|
||||
set category = "Special Verbs"
|
||||
set name = "Gib"
|
||||
|
||||
@@ -158,6 +158,13 @@
|
||||
src.drowsyness += 5
|
||||
return
|
||||
|
||||
/mob/living/carbon/alien/humanoid/emp_act(severity)
|
||||
if(wear_suit) wear_suit.emp_act(severity)
|
||||
if(head) head.emp_act(severity)
|
||||
if(r_store) r_store.emp_act(severity)
|
||||
if(l_store) l_store.emp_act(severity)
|
||||
..()
|
||||
|
||||
/mob/living/carbon/alien/humanoid/ex_act(severity)
|
||||
flick("flash", src.flash)
|
||||
|
||||
|
||||
@@ -122,6 +122,10 @@
|
||||
src.drowsyness += 5
|
||||
return
|
||||
|
||||
/mob/living/carbon/alien/larva/emp_act(severity)
|
||||
..()
|
||||
|
||||
|
||||
/mob/living/carbon/alien/larva/ex_act(severity)
|
||||
flick("flash", src.flash)
|
||||
|
||||
|
||||
@@ -419,6 +419,22 @@
|
||||
return
|
||||
return
|
||||
|
||||
/mob/living/carbon/human/emp_act(severity)
|
||||
if(wear_suit) wear_suit.emp_act(severity)
|
||||
if(w_uniform) w_uniform.emp_act(severity)
|
||||
if(shoes) shoes.emp_act(severity)
|
||||
if(belt) belt.emp_act(severity)
|
||||
if(gloves) gloves.emp_act(severity)
|
||||
if(glasses) glasses.emp_act(severity)
|
||||
if(head) head.emp_act(severity)
|
||||
if(ears) ears.emp_act(severity)
|
||||
if(wear_id) wear_id.emp_act(severity)
|
||||
if(r_store) r_store.emp_act(severity)
|
||||
if(l_store) l_store.emp_act(severity)
|
||||
if(s_store) s_store.emp_act(severity)
|
||||
if(h_store) h_store.emp_act(severity)
|
||||
..()
|
||||
|
||||
/mob/living/carbon/human/ex_act(severity)
|
||||
flick("flash", src.flash)
|
||||
|
||||
|
||||
@@ -493,6 +493,10 @@
|
||||
/mob/living/carbon/monkey/var/co2overloadtime = null
|
||||
/mob/living/carbon/monkey/var/temperature_resistance = T0C+75
|
||||
|
||||
/mob/living/carbon/monkey/emp_act(severity)
|
||||
if(wear_id) wear_id.emp_act(severity)
|
||||
..()
|
||||
|
||||
/mob/living/carbon/monkey/ex_act(severity)
|
||||
flick("flash", src.flash)
|
||||
switch(severity)
|
||||
|
||||
@@ -136,6 +136,17 @@
|
||||
/mob/living/silicon/ai/restrained()
|
||||
return 0
|
||||
|
||||
/mob/living/silicon/ai/emp_act(severity)
|
||||
if (prob(30))
|
||||
switch(pick(1,2,3)) //Add Random laws.
|
||||
if(1)
|
||||
src.cancel_camera()
|
||||
if(2)
|
||||
src.lockdown()
|
||||
if(3)
|
||||
src.ai_call_shuttle()
|
||||
..()
|
||||
|
||||
/mob/living/silicon/ai/ex_act(severity)
|
||||
flick("flash", src.flash)
|
||||
|
||||
|
||||
@@ -8,6 +8,14 @@
|
||||
var/list/modules = list()
|
||||
var/obj/item/emag
|
||||
|
||||
emp_act(severity)
|
||||
if(modules)
|
||||
for(var/obj/O in modules)
|
||||
O.emp_act(severity)
|
||||
if(emag)
|
||||
emag.emp_act(severity)
|
||||
..()
|
||||
|
||||
/obj/item/weapon/robot_module/standard
|
||||
name = "standard robot module"
|
||||
/*
|
||||
|
||||
@@ -7,5 +7,12 @@
|
||||
/mob/living/silicon/proc/show_laws()
|
||||
return
|
||||
|
||||
/mob/living/silicon/emp_act(severity)
|
||||
src.fireloss += 25
|
||||
flick("noise", src:flash)
|
||||
src << "\red <B>*BZZZT*</B>"
|
||||
src << "\red Warning: Electromagnetic pulse detected."
|
||||
..()
|
||||
|
||||
/mob/living/silicon/proc/damage_mob(var/brute = 0, var/fire = 0, var/tox = 0)
|
||||
return
|
||||
|
||||
@@ -2204,4 +2204,10 @@ note dizziness decrements automatically in the mob's Life() proc.
|
||||
boom.icon_state = "loss_general"
|
||||
|
||||
/mob/proc/electrocute_act(var/shock_damage, var/obj/source, var/siemens_coeff = 1.0)
|
||||
return 0 //only carbon liveforms has this proc
|
||||
return 0 //only carbon liveforms has this proc
|
||||
|
||||
/mob/emp_act(severity)
|
||||
var/list/L = src.get_contents()
|
||||
for(var/obj/O in L)
|
||||
O.emp_act(severity)
|
||||
..()
|
||||
@@ -1023,6 +1023,17 @@
|
||||
set_broken()
|
||||
return
|
||||
|
||||
/obj/machinery/power/apc/emp_act(severity)
|
||||
if(cell)
|
||||
cell.emp_act(severity)
|
||||
lighting = 0
|
||||
equipment = 0
|
||||
environ = 0
|
||||
spawn(600)
|
||||
equipment = 3
|
||||
environ = 3
|
||||
..()
|
||||
|
||||
/obj/machinery/power/apc/ex_act(severity)
|
||||
|
||||
switch(severity)
|
||||
|
||||
@@ -121,6 +121,14 @@
|
||||
if (prob(10))
|
||||
rigged = 1 //broken batterys are dangerous
|
||||
|
||||
/obj/item/weapon/cell/emp_act(severity)
|
||||
charge -= 1000 / severity
|
||||
if (charge < 0)
|
||||
charge = 0
|
||||
if(reliability != 100 && prob(50/severity))
|
||||
reliability -= 10 / severity
|
||||
..()
|
||||
|
||||
/obj/item/weapon/cell/ex_act(severity)
|
||||
|
||||
switch(severity)
|
||||
|
||||
@@ -376,16 +376,7 @@ var/global/list/uneatable = list(
|
||||
|
||||
|
||||
emp_area()
|
||||
var/turf/myturf = get_turf(src)
|
||||
var/obj/overlay/pulse = new/obj/overlay ( myturf )
|
||||
pulse.icon = 'effects.dmi'
|
||||
pulse.icon_state = "emppulse"
|
||||
pulse.name = "emp pulse"
|
||||
pulse.anchored = 1
|
||||
spawn(20)
|
||||
del(pulse)
|
||||
for (var/atom/X in orange(8,src))
|
||||
X.emp_act()
|
||||
empulse(src, 6, 8)
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -316,6 +316,19 @@
|
||||
|
||||
return
|
||||
|
||||
/obj/machinery/power/smes/emp_act(severity)
|
||||
online = 0
|
||||
charging = 0
|
||||
output = 0
|
||||
charge -= 1e6/severity
|
||||
if (charge < 0)
|
||||
charge = 0
|
||||
spawn(100)
|
||||
output = initial(output)
|
||||
charging = initial(charging)
|
||||
online = initial(online)
|
||||
..()
|
||||
|
||||
/proc/rate_control(var/S, var/V, var/C, var/Min=1, var/Max=5, var/Limit=null)
|
||||
var/href = "<A href='?src=\ref[S];rate control=1;[V]"
|
||||
var/rate = "[href]=-[Max]'>-</A>[href]=-[Min]'>-</A> [(C?C : 0)] [href]=[Min]'>+</A>[href]=[Max]'>+</A>"
|
||||
|
||||
Reference in New Issue
Block a user