mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-11 10:22:13 +00:00
one
This commit is contained in:
@@ -375,7 +375,7 @@
|
|||||||
SEND_SIGNAL(src, COMSIG_ATOM_ACID_ACT, acidpwr, acid_volume)
|
SEND_SIGNAL(src, COMSIG_ATOM_ACID_ACT, acidpwr, acid_volume)
|
||||||
|
|
||||||
/atom/proc/emag_act()
|
/atom/proc/emag_act()
|
||||||
SEND_SIGNAL(src, COMSIG_ATOM_EMAG_ACT)
|
return SEND_SIGNAL(src, COMSIG_ATOM_EMAG_ACT)
|
||||||
|
|
||||||
/atom/proc/rad_act(strength)
|
/atom/proc/rad_act(strength)
|
||||||
SEND_SIGNAL(src, COMSIG_ATOM_RAD_ACT, strength)
|
SEND_SIGNAL(src, COMSIG_ATOM_RAD_ACT, strength)
|
||||||
|
|||||||
@@ -193,8 +193,10 @@
|
|||||||
to_chat(usr, "<span class='warning'>Chem System Re-route detected, results may not be as expected!</span>")
|
to_chat(usr, "<span class='warning'>Chem System Re-route detected, results may not be as expected!</span>")
|
||||||
|
|
||||||
/obj/machinery/sleeper/emag_act(mob/user)
|
/obj/machinery/sleeper/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
scramble_chem_buttons()
|
scramble_chem_buttons()
|
||||||
to_chat(user, "<span class='warning'>You scramble the sleeper's user interface!</span>")
|
to_chat(user, "<span class='warning'>You scramble the sleeper's user interface!</span>")
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/sleeper/proc/inject_chem(chem, mob/user)
|
/obj/machinery/sleeper/proc/inject_chem(chem, mob/user)
|
||||||
if((chem in available_chems) && chem_allowed(chem))
|
if((chem in available_chems) && chem_allowed(chem))
|
||||||
|
|||||||
@@ -177,7 +177,9 @@ GLOBAL_LIST_EMPTY(announcement_systems)
|
|||||||
act_up()
|
act_up()
|
||||||
|
|
||||||
/obj/machinery/announcement_system/emag_act()
|
/obj/machinery/announcement_system/emag_act()
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
act_up()
|
act_up()
|
||||||
|
return TRUE
|
||||||
|
|||||||
@@ -101,12 +101,14 @@
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/button/emag_act(mob/user)
|
/obj/machinery/button/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
req_access = list()
|
req_access = list()
|
||||||
req_one_access = list()
|
req_one_access = list()
|
||||||
playsound(src, "sparks", 100, 1)
|
playsound(src, "sparks", 100, 1)
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/button/attack_ai(mob/user)
|
/obj/machinery/button/attack_ai(mob/user)
|
||||||
if(!panel_open)
|
if(!panel_open)
|
||||||
|
|||||||
@@ -327,10 +327,12 @@
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/clonepod/emag_act(mob/user)
|
/obj/machinery/clonepod/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(!occupant)
|
if(!occupant)
|
||||||
return
|
return
|
||||||
to_chat(user, "<span class='warning'>You corrupt the genetic compiler.</span>")
|
to_chat(user, "<span class='warning'>You corrupt the genetic compiler.</span>")
|
||||||
malfunction()
|
malfunction()
|
||||||
|
return TRUE
|
||||||
|
|
||||||
//Put messages in the connected computer's temp var for display.
|
//Put messages in the connected computer's temp var for display.
|
||||||
/obj/machinery/clonepod/proc/connected_message(message)
|
/obj/machinery/clonepod/proc/connected_message(message)
|
||||||
|
|||||||
@@ -185,15 +185,19 @@
|
|||||||
ui_interact(usr) //Refresh the UI after a filter changes
|
ui_interact(usr) //Refresh the UI after a filter changes
|
||||||
|
|
||||||
/obj/machinery/computer/apc_control/emag_act(mob/user)
|
/obj/machinery/computer/apc_control/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(!authenticated)
|
if(!authenticated)
|
||||||
to_chat(user, "<span class='warning'>You bypass [src]'s access requirements using your emag.</span>")
|
to_chat(user, "<span class='warning'>You bypass [src]'s access requirements using your emag.</span>")
|
||||||
authenticated = TRUE
|
authenticated = TRUE
|
||||||
log_activity("logged in")
|
log_activity("logged in")
|
||||||
else if(!(obj_flags & EMAGGED))
|
else
|
||||||
|
if(obj_flags & EMAGGED)
|
||||||
|
return
|
||||||
user.visible_message("<span class='warning'>You emag [src], disabling precise logging and allowing you to clear logs.</span>")
|
user.visible_message("<span class='warning'>You emag [src], disabling precise logging and allowing you to clear logs.</span>")
|
||||||
log_game("[key_name(user)] emagged [src] at [AREACOORD(src)], disabling operator tracking.")
|
log_game("[key_name(user)] emagged [src] at [AREACOORD(src)], disabling operator tracking.")
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
playsound(src, "sparks", 50, 1)
|
playsound(src, "sparks", 50, 1)
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/computer/apc_control/proc/log_activity(log_text)
|
/obj/machinery/computer/apc_control/proc/log_activity(log_text)
|
||||||
var/op_string = operator && !(obj_flags & EMAGGED) ? operator : "\[NULL OPERATOR\]"
|
var/op_string = operator && !(obj_flags & EMAGGED) ? operator : "\[NULL OPERATOR\]"
|
||||||
|
|||||||
@@ -292,6 +292,7 @@
|
|||||||
|
|
||||||
|
|
||||||
/obj/machinery/computer/arcade/battle/emag_act(mob/user)
|
/obj/machinery/computer/arcade/battle/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
to_chat(user, "<span class='warning'>A mesmerizing Rhumba beat starts playing from the arcade machine's speakers!</span>")
|
to_chat(user, "<span class='warning'>A mesmerizing Rhumba beat starts playing from the arcade machine's speakers!</span>")
|
||||||
@@ -310,6 +311,7 @@
|
|||||||
|
|
||||||
|
|
||||||
updateUsrDialog()
|
updateUsrDialog()
|
||||||
|
return TRUE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1049,6 +1051,7 @@
|
|||||||
desc = "Learn how our ancestors got to Orion, and have fun in the process!"
|
desc = "Learn how our ancestors got to Orion, and have fun in the process!"
|
||||||
|
|
||||||
/obj/machinery/computer/arcade/orion_trail/emag_act(mob/user)
|
/obj/machinery/computer/arcade/orion_trail/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
to_chat(user, "<span class='notice'>You override the cheat code menu and skip to Cheat #[rand(1, 50)]: Realism Mode.</span>")
|
to_chat(user, "<span class='notice'>You override the cheat code menu and skip to Cheat #[rand(1, 50)]: Realism Mode.</span>")
|
||||||
@@ -1056,6 +1059,7 @@
|
|||||||
desc = "Learn how our ancestors got to Orion, and try not to die in the process!"
|
desc = "Learn how our ancestors got to Orion, and try not to die in the process!"
|
||||||
newgame()
|
newgame()
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/mob/living/simple_animal/hostile/syndicate/ranged/smg/orion
|
/mob/living/simple_animal/hostile/syndicate/ranged/smg/orion
|
||||||
name = "spaceport security"
|
name = "spaceport security"
|
||||||
|
|||||||
@@ -431,6 +431,7 @@
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/computer/communications/emag_act(mob/user)
|
/obj/machinery/computer/communications/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
@@ -439,6 +440,7 @@
|
|||||||
authenticated = 2
|
authenticated = 2
|
||||||
to_chat(user, "<span class='danger'>You scramble the communication routing circuits!</span>")
|
to_chat(user, "<span class='danger'>You scramble the communication routing circuits!</span>")
|
||||||
playsound(src, 'sound/machines/terminal_alert.ogg', 50, 0)
|
playsound(src, 'sound/machines/terminal_alert.ogg', 50, 0)
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/computer/communications/ui_interact(mob/user)
|
/obj/machinery/computer/communications/ui_interact(mob/user)
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|||||||
@@ -1280,20 +1280,23 @@
|
|||||||
return !density || (check_access(ID) && !locked && hasPower())
|
return !density || (check_access(ID) && !locked && hasPower())
|
||||||
|
|
||||||
/obj/machinery/door/airlock/emag_act(mob/user)
|
/obj/machinery/door/airlock/emag_act(mob/user)
|
||||||
if(!operating && density && hasPower() && !(obj_flags & EMAGGED))
|
. = ..()
|
||||||
operating = TRUE
|
if(operating || !density || !hasPower() || obj_flags & EMAGGED)
|
||||||
update_icon(AIRLOCK_EMAG, 1)
|
return
|
||||||
sleep(6)
|
operating = TRUE
|
||||||
if(QDELETED(src))
|
update_icon(AIRLOCK_EMAG, 1)
|
||||||
return
|
addtimer(CALLBACK(src, .proc/open_sesame), 6)
|
||||||
operating = FALSE
|
return TRUE
|
||||||
if(!open())
|
|
||||||
update_icon(AIRLOCK_CLOSED, 1)
|
/obj/machinery/door/airlock/proc/open_sesame()
|
||||||
obj_flags |= EMAGGED
|
operating = FALSE
|
||||||
lights = FALSE
|
if(!open())
|
||||||
locked = TRUE
|
update_icon(AIRLOCK_CLOSED, 1)
|
||||||
loseMainPower()
|
obj_flags |= EMAGGED
|
||||||
loseBackupPower()
|
lights = FALSE
|
||||||
|
locked = TRUE
|
||||||
|
loseMainPower()
|
||||||
|
loseBackupPower()
|
||||||
|
|
||||||
/obj/machinery/door/airlock/attack_alien(mob/living/carbon/alien/humanoid/user)
|
/obj/machinery/door/airlock/attack_alien(mob/living/carbon/alien/humanoid/user)
|
||||||
add_fingerprint(user)
|
add_fingerprint(user)
|
||||||
|
|||||||
@@ -13,9 +13,6 @@
|
|||||||
else
|
else
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/door/unpowered/emag_act()
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/machinery/door/unpowered/shuttle
|
/obj/machinery/door/unpowered/shuttle
|
||||||
icon = 'icons/turf/shuttle.dmi'
|
icon = 'icons/turf/shuttle.dmi'
|
||||||
name = "door"
|
name = "door"
|
||||||
|
|||||||
@@ -206,15 +206,19 @@
|
|||||||
..()
|
..()
|
||||||
|
|
||||||
/obj/machinery/door/window/emag_act(mob/user)
|
/obj/machinery/door/window/emag_act(mob/user)
|
||||||
if(!operating && density && !(obj_flags & EMAGGED))
|
. = ..()
|
||||||
obj_flags |= EMAGGED
|
if(operating || !density || obj_flags & EMAGGED)
|
||||||
operating = TRUE
|
return
|
||||||
flick("[src.base_state]spark", src)
|
obj_flags |= EMAGGED
|
||||||
playsound(src, "sparks", 75, 1)
|
operating = TRUE
|
||||||
sleep(6)
|
flick("[src.base_state]spark", src)
|
||||||
operating = FALSE
|
playsound(src, "sparks", 75, 1)
|
||||||
desc += "<BR><span class='warning'>Its access panel is smoking slightly.</span>"
|
addtimer(CALLBACK(src, .proc/open_windows_me), 6)
|
||||||
open(2)
|
|
||||||
|
/obj/machinery/door/window/proc/open_windows_me()
|
||||||
|
operating = FALSE
|
||||||
|
desc += "<BR><span class='warning'>Its access panel is smoking slightly.</span>"
|
||||||
|
open(2)
|
||||||
|
|
||||||
/obj/machinery/door/window/attackby(obj/item/I, mob/living/user, params)
|
/obj/machinery/door/window/attackby(obj/item/I, mob/living/user, params)
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
findObjsByTag()
|
findObjsByTag()
|
||||||
|
|
||||||
/obj/machinery/doorButtons/emag_act(mob/user)
|
/obj/machinery/doorButtons/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
@@ -33,6 +34,7 @@
|
|||||||
req_one_access = list()
|
req_one_access = list()
|
||||||
playsound(src, "sparks", 100, 1)
|
playsound(src, "sparks", 100, 1)
|
||||||
to_chat(user, "<span class='warning'>You short out the access controller.</span>")
|
to_chat(user, "<span class='warning'>You short out the access controller.</span>")
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/doorButtons/proc/removeMe()
|
/obj/machinery/doorButtons/proc/removeMe()
|
||||||
|
|
||||||
|
|||||||
@@ -97,6 +97,7 @@
|
|||||||
alarm()
|
alarm()
|
||||||
|
|
||||||
/obj/machinery/firealarm/emag_act(mob/user)
|
/obj/machinery/firealarm/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
@@ -104,6 +105,7 @@
|
|||||||
user.visible_message("<span class='warning'>Sparks fly out of [src]!</span>",
|
user.visible_message("<span class='warning'>Sparks fly out of [src]!</span>",
|
||||||
"<span class='notice'>You emag [src], disabling its thermal sensors.</span>")
|
"<span class='notice'>You emag [src], disabling its thermal sensors.</span>")
|
||||||
playsound(src, "sparks", 50, 1)
|
playsound(src, "sparks", 50, 1)
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/firealarm/temperature_expose(datum/gas_mixture/air, temperature, volume)
|
/obj/machinery/firealarm/temperature_expose(datum/gas_mixture/air, temperature, volume)
|
||||||
if((temperature > T0C + 200 || temperature < BODYTEMP_COLD_DAMAGE_LIMIT) && (last_alarm+FIREALARM_COOLDOWN < world.time) && !(obj_flags & EMAGGED) && detecting && !stat)
|
if((temperature > T0C + 200 || temperature < BODYTEMP_COLD_DAMAGE_LIMIT) && (last_alarm+FIREALARM_COOLDOWN < world.time) && !(obj_flags & EMAGGED) && detecting && !stat)
|
||||||
|
|||||||
@@ -24,10 +24,12 @@
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/gulag_item_reclaimer/emag_act(mob/user)
|
/obj/machinery/gulag_item_reclaimer/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED) // emagging lets anyone reclaim all the items
|
if(obj_flags & EMAGGED) // emagging lets anyone reclaim all the items
|
||||||
return
|
return
|
||||||
req_access = list()
|
req_access = list()
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/gulag_item_reclaimer/attackby(obj/item/I, mob/user)
|
/obj/machinery/gulag_item_reclaimer/attackby(obj/item/I, mob/user)
|
||||||
if(istype(I, /obj/item/card/id/prisoner))
|
if(istype(I, /obj/item/card/id/prisoner))
|
||||||
|
|||||||
@@ -158,11 +158,13 @@
|
|||||||
open_machine()
|
open_machine()
|
||||||
|
|
||||||
/obj/machinery/harvester/emag_act(mob/user)
|
/obj/machinery/harvester/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
allow_living = TRUE
|
allow_living = TRUE
|
||||||
to_chat(user, "<span class='warning'>You overload [src]'s lifesign scanners.</span>")
|
to_chat(user, "<span class='warning'>You overload [src]'s lifesign scanners.</span>")
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/harvester/container_resist(mob/living/user)
|
/obj/machinery/harvester/container_resist(mob/living/user)
|
||||||
if(!harvesting)
|
if(!harvesting)
|
||||||
|
|||||||
@@ -216,6 +216,7 @@
|
|||||||
return dat
|
return dat
|
||||||
|
|
||||||
/obj/machinery/limbgrower/emag_act(mob/user)
|
/obj/machinery/limbgrower/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
for(var/id in SSresearch.techweb_designs)
|
for(var/id in SSresearch.techweb_designs)
|
||||||
@@ -224,3 +225,4 @@
|
|||||||
stored_research.add_design(D)
|
stored_research.add_design(D)
|
||||||
to_chat(user, "<span class='warning'>A warning flashes onto the screen, stating that safety overrides have been deactivated!</span>")
|
to_chat(user, "<span class='warning'>A warning flashes onto the screen, stating that safety overrides have been deactivated!</span>")
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
|
return ..()
|
||||||
|
|||||||
@@ -290,6 +290,7 @@
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/porta_turret/emag_act(mob/user)
|
/obj/machinery/porta_turret/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
to_chat(user, "<span class='warning'>You short out [src]'s threat assessment circuits.</span>")
|
to_chat(user, "<span class='warning'>You short out [src]'s threat assessment circuits.</span>")
|
||||||
@@ -300,6 +301,7 @@
|
|||||||
update_icon()
|
update_icon()
|
||||||
sleep(60) //6 seconds for the traitor to gtfo of the area before the turret decides to ruin his shit
|
sleep(60) //6 seconds for the traitor to gtfo of the area before the turret decides to ruin his shit
|
||||||
on = TRUE //turns it back on. The cover popUp() popDown() are automatically called in process(), no need to define it here
|
on = TRUE //turns it back on. The cover popUp() popDown() are automatically called in process(), no need to define it here
|
||||||
|
return TRUE
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/porta_turret/emp_act(severity)
|
/obj/machinery/porta_turret/emp_act(severity)
|
||||||
@@ -837,6 +839,7 @@
|
|||||||
to_chat(user, "<span class='warning'>Access denied.</span>")
|
to_chat(user, "<span class='warning'>Access denied.</span>")
|
||||||
|
|
||||||
/obj/machinery/turretid/emag_act(mob/user)
|
/obj/machinery/turretid/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
to_chat(user, "<span class='danger'>You short out the turret controls' access analysis module.</span>")
|
to_chat(user, "<span class='danger'>You short out the turret controls' access analysis module.</span>")
|
||||||
@@ -844,6 +847,7 @@
|
|||||||
locked = FALSE
|
locked = FALSE
|
||||||
if(user && user.machine == src)
|
if(user && user.machine == src)
|
||||||
attack_hand(user)
|
attack_hand(user)
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/turretid/attack_ai(mob/user)
|
/obj/machinery/turretid/attack_ai(mob/user)
|
||||||
if(!ailock || IsAdminGhost(user))
|
if(!ailock || IsAdminGhost(user))
|
||||||
|
|||||||
@@ -86,10 +86,13 @@
|
|||||||
. = 0
|
. = 0
|
||||||
|
|
||||||
/obj/machinery/porta_turret_cover/emag_act(mob/user)
|
/obj/machinery/porta_turret_cover/emag_act(mob/user)
|
||||||
if(!(parent_turret.obj_flags & EMAGGED))
|
. = ..()
|
||||||
to_chat(user, "<span class='notice'>You short out [parent_turret]'s threat assessment circuits.</span>")
|
if(parent_turret.obj_flags & EMAGGED)
|
||||||
visible_message("[parent_turret] hums oddly...")
|
return
|
||||||
parent_turret.obj_flags |= EMAGGED
|
to_chat(user, "<span class='notice'>You short out [parent_turret]'s threat assessment circuits.</span>")
|
||||||
parent_turret.on = 0
|
visible_message("[parent_turret] hums oddly...")
|
||||||
spawn(40)
|
parent_turret.obj_flags |= EMAGGED
|
||||||
parent_turret.on = 1
|
parent_turret.on = 0
|
||||||
|
spawn(40)
|
||||||
|
parent_turret.on = 1
|
||||||
|
return TRUE
|
||||||
|
|||||||
@@ -65,6 +65,7 @@
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/recycler/emag_act(mob/user)
|
/obj/machinery/recycler/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
@@ -73,6 +74,7 @@
|
|||||||
update_icon()
|
update_icon()
|
||||||
playsound(src, "sparks", 75, 1, -1)
|
playsound(src, "sparks", 75, 1, -1)
|
||||||
to_chat(user, "<span class='notice'>You use the cryptographic sequencer on [src].</span>")
|
to_chat(user, "<span class='notice'>You use the cryptographic sequencer on [src].</span>")
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/recycler/update_icon()
|
/obj/machinery/recycler/update_icon()
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -195,6 +195,7 @@
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/shieldgen/emag_act(mob/user)
|
/obj/machinery/shieldgen/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
to_chat(user, "<span class='warning'>The access controller is damaged!</span>")
|
to_chat(user, "<span class='warning'>The access controller is damaged!</span>")
|
||||||
return
|
return
|
||||||
@@ -202,6 +203,7 @@
|
|||||||
locked = FALSE
|
locked = FALSE
|
||||||
playsound(src, "sparks", 100, 1)
|
playsound(src, "sparks", 100, 1)
|
||||||
to_chat(user, "<span class='warning'>You short out the access controller.</span>")
|
to_chat(user, "<span class='warning'>You short out the access controller.</span>")
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/shieldgen/update_icon()
|
/obj/machinery/shieldgen/update_icon()
|
||||||
if(active)
|
if(active)
|
||||||
@@ -387,6 +389,7 @@
|
|||||||
add_fingerprint(user)
|
add_fingerprint(user)
|
||||||
|
|
||||||
/obj/machinery/shieldwallgen/emag_act(mob/user)
|
/obj/machinery/shieldwallgen/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
to_chat(user, "<span class='warning'>The access controller is damaged!</span>")
|
to_chat(user, "<span class='warning'>The access controller is damaged!</span>")
|
||||||
return
|
return
|
||||||
@@ -394,6 +397,7 @@
|
|||||||
locked = FALSE
|
locked = FALSE
|
||||||
playsound(src, "sparks", 100, 1)
|
playsound(src, "sparks", 100, 1)
|
||||||
to_chat(user, "<span class='warning'>You short out the access controller.</span>")
|
to_chat(user, "<span class='warning'>You short out the access controller.</span>")
|
||||||
|
return TRUE
|
||||||
|
|
||||||
//////////////Containment Field START
|
//////////////Containment Field START
|
||||||
/obj/machinery/shieldwall
|
/obj/machinery/shieldwall
|
||||||
|
|||||||
@@ -99,6 +99,7 @@
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/computer/slot_machine/emag_act()
|
/obj/machinery/computer/slot_machine/emag_act()
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
@@ -106,6 +107,7 @@
|
|||||||
spark_system.set_up(4, 0, src.loc)
|
spark_system.set_up(4, 0, src.loc)
|
||||||
spark_system.start()
|
spark_system.start()
|
||||||
playsound(src, "sparks", 50, 1)
|
playsound(src, "sparks", 50, 1)
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/computer/slot_machine/ui_interact(mob/living/user)
|
/obj/machinery/computer/slot_machine/ui_interact(mob/living/user)
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|||||||
@@ -42,21 +42,23 @@
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/computer/message_monitor/emag_act(mob/user)
|
/obj/machinery/computer/message_monitor/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
if(!isnull(linkedServer))
|
if(isnull(linkedServer))
|
||||||
obj_flags |= EMAGGED
|
|
||||||
screen = 2
|
|
||||||
spark_system.set_up(5, 0, src)
|
|
||||||
spark_system.start()
|
|
||||||
var/obj/item/paper/monitorkey/MK = new(loc, linkedServer)
|
|
||||||
// Will help make emagging the console not so easy to get away with.
|
|
||||||
MK.info += "<br><br><font color='red'><3E>%@%(*$%&(<28>&?*(%&<26>/{}</font>"
|
|
||||||
var/time = 100 * length(linkedServer.decryptkey)
|
|
||||||
addtimer(CALLBACK(src, .proc/UnmagConsole), time)
|
|
||||||
message = rebootmsg
|
|
||||||
else
|
|
||||||
to_chat(user, "<span class='notice'>A no server error appears on the screen.</span>")
|
to_chat(user, "<span class='notice'>A no server error appears on the screen.</span>")
|
||||||
|
return
|
||||||
|
obj_flags |= EMAGGED
|
||||||
|
screen = 2
|
||||||
|
spark_system.set_up(5, 0, src)
|
||||||
|
spark_system.start()
|
||||||
|
var/obj/item/paper/monitorkey/MK = new(loc, linkedServer)
|
||||||
|
// Will help make emagging the console not so easy to get away with.
|
||||||
|
MK.info += "<br><br><font color='red'><3E>%@%(*$%&(<28>&?*(%&<26>/{}</font>"
|
||||||
|
var/time = 100 * length(linkedServer.decryptkey)
|
||||||
|
addtimer(CALLBACK(src, .proc/UnmagConsole), time)
|
||||||
|
message = rebootmsg
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/computer/message_monitor/New()
|
/obj/machinery/computer/message_monitor/New()
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|||||||
@@ -64,10 +64,15 @@
|
|||||||
|
|
||||||
|
|
||||||
/obj/machinery/mecha_part_fabricator/emag_act()
|
/obj/machinery/mecha_part_fabricator/emag_act()
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
req_access = list()
|
req_access = list()
|
||||||
|
INVOKE_ASYNC(src, .proc/error_action_sucessful)
|
||||||
|
return TRUE
|
||||||
|
|
||||||
|
/obj/machinery/mecha_part_fabricator/proc/error_action_sucessful()
|
||||||
say("DB error \[Code 0x00F1\]")
|
say("DB error \[Code 0x00F1\]")
|
||||||
sleep(10)
|
sleep(10)
|
||||||
say("Attempting auto-repair...")
|
say("Attempting auto-repair...")
|
||||||
|
|||||||
@@ -134,12 +134,14 @@ RSF
|
|||||||
return
|
return
|
||||||
|
|
||||||
/obj/item/cookiesynth/emag_act(mob/user)
|
/obj/item/cookiesynth/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
obj_flags ^= EMAGGED
|
obj_flags ^= EMAGGED
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
to_chat(user, "<span class='warning'>You short out [src]'s reagent safety checker!</span>")
|
to_chat(user, "<span class='warning'>You short out [src]'s reagent safety checker!</span>")
|
||||||
else
|
else
|
||||||
to_chat(user, "<span class='warning'>You reset [src]'s reagent safety checker!</span>")
|
to_chat(user, "<span class='warning'>You reset [src]'s reagent safety checker!</span>")
|
||||||
toxin = 0
|
toxin = FALSE
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/item/cookiesynth/attack_self(mob/user)
|
/obj/item/cookiesynth/attack_self(mob/user)
|
||||||
var/mob/living/silicon/robot/P = null
|
var/mob/living/silicon/robot/P = null
|
||||||
|
|||||||
@@ -93,8 +93,9 @@
|
|||||||
/obj/item/card/emag/afterattack(atom/target, mob/user, proximity)
|
/obj/item/card/emag/afterattack(atom/target, mob/user, proximity)
|
||||||
. = ..()
|
. = ..()
|
||||||
var/atom/A = target
|
var/atom/A = target
|
||||||
if(!proximity && prox_check)
|
if(!proximity && prox_check || !(isobj(A) || issilicon(A) || isbot(A) || isdrone(A)))
|
||||||
return
|
return
|
||||||
|
|
||||||
//Citadel changes: modular code misfiring, so we're bypassing into main code.
|
//Citadel changes: modular code misfiring, so we're bypassing into main code.
|
||||||
if(!uses)
|
if(!uses)
|
||||||
user.visible_message("<span class='warning'>[src] emits a weak spark. It's burnt out!</span>")
|
user.visible_message("<span class='warning'>[src] emits a weak spark. It's burnt out!</span>")
|
||||||
@@ -103,24 +104,22 @@
|
|||||||
else if(uses <= 3)
|
else if(uses <= 3)
|
||||||
playsound(src, 'sound/effects/light_flicker.ogg', 30, 1) //Tiiiiiiny warning sound to let ya know your emag's almost dead
|
playsound(src, 'sound/effects/light_flicker.ogg', 30, 1) //Tiiiiiiny warning sound to let ya know your emag's almost dead
|
||||||
|
|
||||||
if(isturf(A))
|
|
||||||
return
|
|
||||||
if(istype(A,/obj/item/storage/lockbox))
|
if(istype(A,/obj/item/storage/lockbox))
|
||||||
A.emag_act(user)
|
if(!A.emag_act(user))
|
||||||
|
return
|
||||||
uses = max(uses - 1, 0)
|
uses = max(uses - 1, 0)
|
||||||
if(!uses)
|
if(!uses)
|
||||||
user.visible_message("<span class='warning'>[src] fizzles and sparks. It seems like it's out of charges.</span>")
|
user.visible_message("<span class='warning'>[src] fizzles and sparks. It seems like it's out of charges.</span>")
|
||||||
playsound(src, 'sound/effects/light_flicker.ogg', 100, 1)
|
playsound(src, 'sound/effects/light_flicker.ogg', 100, 1)
|
||||||
|
return
|
||||||
if(istype(A,/obj/item/storage))
|
if(istype(A,/obj/item/storage))
|
||||||
return
|
return
|
||||||
if(!(isobj(A) || issilicon(A) || isbot(A) || isdrone(A)))
|
if(!A.emag_act(user))
|
||||||
return
|
return
|
||||||
else
|
uses = max(uses - 1, 0)
|
||||||
A.emag_act(user)
|
if(!uses)
|
||||||
uses = max(uses - 1, 0)
|
user.visible_message("<span class='warning'>[src] fizzles and sparks. It seems like it's out of charges.</span>")
|
||||||
if(!uses)
|
playsound(src, 'sound/effects/light_flicker.ogg', 100, 1)
|
||||||
user.visible_message("<span class='warning'>[src] fizzles and sparks. It seems like it's out of charges.</span>")
|
|
||||||
playsound(src, 'sound/effects/light_flicker.ogg', 100, 1)
|
|
||||||
|
|
||||||
|
|
||||||
/obj/item/card/emagfake
|
/obj/item/card/emagfake
|
||||||
|
|||||||
@@ -325,7 +325,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
|||||||
list_reagents = list("space_drugs" = 15, "lipolicide" = 35)
|
list_reagents = list("space_drugs" = 15, "lipolicide" = 35)
|
||||||
|
|
||||||
/obj/item/clothing/mask/cigarette/rollie/mindbreaker
|
/obj/item/clothing/mask/cigarette/rollie/mindbreaker
|
||||||
list_reagents = list("mindbreaker" = 35, "lipolicide" = 15)
|
list_reagents = list("mindbreaker" = 35, "lipolicide" = 15)
|
||||||
|
|
||||||
/obj/item/cigbutt/roach
|
/obj/item/cigbutt/roach
|
||||||
name = "roach"
|
name = "roach"
|
||||||
@@ -771,20 +771,22 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
|||||||
|
|
||||||
|
|
||||||
/obj/item/clothing/mask/vape/emag_act(mob/user)// I WON'T REGRET WRITTING THIS, SURLY.
|
/obj/item/clothing/mask/vape/emag_act(mob/user)// I WON'T REGRET WRITTING THIS, SURLY.
|
||||||
if(screw)
|
. = ..()
|
||||||
if(!(obj_flags & EMAGGED))
|
if(!screw)
|
||||||
cut_overlays()
|
|
||||||
obj_flags |= EMAGGED
|
|
||||||
super = 0
|
|
||||||
to_chat(user, "<span class='warning'>You maximize the voltage of [src].</span>")
|
|
||||||
add_overlay("vapeopen_high")
|
|
||||||
var/datum/effect_system/spark_spread/sp = new /datum/effect_system/spark_spread //for effect
|
|
||||||
sp.set_up(5, 1, src)
|
|
||||||
sp.start()
|
|
||||||
else
|
|
||||||
to_chat(user, "<span class='warning'>[src] is already emagged!</span>")
|
|
||||||
else
|
|
||||||
to_chat(user, "<span class='notice'>You need to open the cap to do that.</span>")
|
to_chat(user, "<span class='notice'>You need to open the cap to do that.</span>")
|
||||||
|
return
|
||||||
|
if(obj_flags & EMAGGED)
|
||||||
|
to_chat(user, "<span class='warning'>[src] is already emagged!</span>")
|
||||||
|
return
|
||||||
|
cut_overlays()
|
||||||
|
obj_flags |= EMAGGED
|
||||||
|
super = 0
|
||||||
|
to_chat(user, "<span class='warning'>You maximize the voltage of [src].</span>")
|
||||||
|
add_overlay("vapeopen_high")
|
||||||
|
var/datum/effect_system/spark_spread/sp = new /datum/effect_system/spark_spread //for effect
|
||||||
|
sp.set_up(5, 1, src)
|
||||||
|
sp.start()
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/item/clothing/mask/vape/attack_self(mob/user)
|
/obj/item/clothing/mask/vape/attack_self(mob/user)
|
||||||
if(reagents.total_volume > 0)
|
if(reagents.total_volume > 0)
|
||||||
|
|||||||
@@ -208,10 +208,13 @@
|
|||||||
to_chat(user, "<span class='notice'>The spectrum chip is unresponsive.</span>")
|
to_chat(user, "<span class='notice'>The spectrum chip is unresponsive.</span>")
|
||||||
|
|
||||||
/obj/item/circuitboard/computer/cargo/emag_act(mob/living/user)
|
/obj/item/circuitboard/computer/cargo/emag_act(mob/living/user)
|
||||||
if(!(obj_flags & EMAGGED))
|
. = ..()
|
||||||
contraband = TRUE
|
if(obj_flags & EMAGGED)
|
||||||
obj_flags |= EMAGGED
|
return
|
||||||
to_chat(user, "<span class='notice'>You adjust [src]'s routing and receiver spectrum, unlocking special supplies and contraband.</span>")
|
contraband = TRUE
|
||||||
|
obj_flags |= EMAGGED
|
||||||
|
to_chat(user, "<span class='notice'>You adjust [src]'s routing and receiver spectrum, unlocking special supplies and contraband.</span>")
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/item/circuitboard/computer/cargo/express
|
/obj/item/circuitboard/computer/cargo/express
|
||||||
name = "Express Supply Console (Computer Board)"
|
name = "Express Supply Console (Computer Board)"
|
||||||
@@ -225,8 +228,12 @@
|
|||||||
obj_flags &= ~EMAGGED
|
obj_flags &= ~EMAGGED
|
||||||
|
|
||||||
/obj/item/circuitboard/computer/cargo/express/emag_act(mob/living/user)
|
/obj/item/circuitboard/computer/cargo/express/emag_act(mob/living/user)
|
||||||
to_chat(user, "<span class='notice'>You change the routing protocols, allowing the Drop Pod to land anywhere on the station.</span>")
|
. = SEND_SIGNAL(src, COMSIG_ATOM_EMAG_ACT)
|
||||||
obj_flags |= EMAGGED
|
if(obj_flags & EMAGGED)
|
||||||
|
return
|
||||||
|
to_chat(user, "<span class='notice'>You change the routing protocols, allowing the Drop Pod to land anywhere on the station.</span>")
|
||||||
|
obj_flags |= EMAGGED
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/item/circuitboard/computer/cargo/request
|
/obj/item/circuitboard/computer/cargo/request
|
||||||
name = "Supply Request Console (Computer Board)"
|
name = "Supply Request Console (Computer Board)"
|
||||||
|
|||||||
@@ -140,12 +140,10 @@
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/item/defibrillator/emag_act(mob/user)
|
/obj/item/defibrillator/emag_act(mob/user)
|
||||||
if(safety)
|
. = ..()
|
||||||
safety = FALSE
|
safety = !safety
|
||||||
to_chat(user, "<span class='warning'>You silently disable [src]'s safety protocols with the cryptographic sequencer.</span>")
|
to_chat(user, "<span class='warning'>You silently [safety ? "enable" : "disable"] [src]'s safety protocols with the cryptographic sequencer.</span>")
|
||||||
else
|
return TRUE
|
||||||
safety = TRUE
|
|
||||||
to_chat(user, "<span class='notice'>You silently enable [src]'s safety protocols with the cryptographic sequencer.</span>")
|
|
||||||
|
|
||||||
/obj/item/defibrillator/emp_act(severity)
|
/obj/item/defibrillator/emp_act(severity)
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|||||||
@@ -192,13 +192,15 @@
|
|||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
/obj/item/geiger_counter/emag_act(mob/user)
|
/obj/item/geiger_counter/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
if(scanning)
|
if(scanning)
|
||||||
to_chat(user, "<span class='warning'>Turn off [src] before you perform this action!</span>")
|
to_chat(user, "<span class='warning'>Turn off [src] before you perform this action!</span>")
|
||||||
return 0
|
return
|
||||||
to_chat(user, "<span class='warning'>You override [src]'s radiation storing protocols. It will now generate small doses of radiation, and stored rads are now projected into creatures you scan.</span>")
|
to_chat(user, "<span class='warning'>You override [src]'s radiation storing protocols. It will now generate small doses of radiation, and stored rads are now projected into creatures you scan.</span>")
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/item/geiger_counter/cyborg
|
/obj/item/geiger_counter/cyborg
|
||||||
var/datum/component/mobhook
|
var/datum/component/mobhook
|
||||||
|
|||||||
@@ -149,9 +149,11 @@
|
|||||||
to_chat(user, "<span class='notice'>You fill \the [src] with lights from \the [S]. " + status_string() + "</span>")
|
to_chat(user, "<span class='notice'>You fill \the [src] with lights from \the [S]. " + status_string() + "</span>")
|
||||||
|
|
||||||
/obj/item/lightreplacer/emag_act()
|
/obj/item/lightreplacer/emag_act()
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
Emag()
|
Emag()
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/item/lightreplacer/attack_self(mob/user)
|
/obj/item/lightreplacer/attack_self(mob/user)
|
||||||
to_chat(user, status_string())
|
to_chat(user, status_string())
|
||||||
|
|||||||
@@ -26,11 +26,13 @@
|
|||||||
return voicespan
|
return voicespan
|
||||||
|
|
||||||
/obj/item/megaphone/emag_act(mob/user)
|
/obj/item/megaphone/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
to_chat(user, "<span class='warning'>You overload \the [src]'s voice synthesizer.</span>")
|
to_chat(user, "<span class='warning'>You overload \the [src]'s voice synthesizer.</span>")
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
voicespan = list(SPAN_REALLYBIG, "userdanger")
|
voicespan = list(SPAN_REALLYBIG, "userdanger")
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/item/megaphone/sec
|
/obj/item/megaphone/sec
|
||||||
name = "security megaphone"
|
name = "security megaphone"
|
||||||
|
|||||||
@@ -282,11 +282,13 @@
|
|||||||
var/cooldown = 0
|
var/cooldown = 0
|
||||||
|
|
||||||
/obj/item/harmalarm/emag_act(mob/user)
|
/obj/item/harmalarm/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
obj_flags ^= EMAGGED
|
obj_flags ^= EMAGGED
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
to_chat(user, "<font color='red'>You short out the safeties on [src]!</font>")
|
to_chat(user, "<font color='red'>You short out the safeties on [src]!</font>")
|
||||||
else
|
else
|
||||||
to_chat(user, "<font color='red'>You reset the safeties on [src]!</font>")
|
to_chat(user, "<font color='red'>You reset the safeties on [src]!</font>")
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/item/harmalarm/attack_self(mob/user)
|
/obj/item/harmalarm/attack_self(mob/user)
|
||||||
var/safety = !(obj_flags & EMAGGED)
|
var/safety = !(obj_flags & EMAGGED)
|
||||||
|
|||||||
@@ -48,14 +48,16 @@
|
|||||||
to_chat(user, "<span class='danger'>It's locked!</span>")
|
to_chat(user, "<span class='danger'>It's locked!</span>")
|
||||||
|
|
||||||
/obj/item/storage/lockbox/emag_act(mob/user)
|
/obj/item/storage/lockbox/emag_act(mob/user)
|
||||||
if(!broken)
|
. = ..()
|
||||||
broken = TRUE
|
if(broken)
|
||||||
SEND_SIGNAL(src, COMSIG_TRY_STORAGE_SET_LOCKSTATE, FALSE)
|
return
|
||||||
desc += "It appears to be broken."
|
broken = TRUE
|
||||||
icon_state = src.icon_broken
|
SEND_SIGNAL(src, COMSIG_TRY_STORAGE_SET_LOCKSTATE, FALSE)
|
||||||
if(user)
|
desc += "It appears to be broken."
|
||||||
visible_message("<span class='warning'>\The [src] has been broken by [user] with an electromagnetic card!</span>")
|
icon_state = src.icon_broken
|
||||||
return
|
if(user)
|
||||||
|
visible_message("<span class='warning'>\The [src] has been broken by [user] with an electromagnetic card!</span>")
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/item/storage/lockbox/Entered()
|
/obj/item/storage/lockbox/Entered()
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|||||||
@@ -112,12 +112,16 @@
|
|||||||
|
|
||||||
|
|
||||||
/obj/structure/sign/barsign/emag_act(mob/user)
|
/obj/structure/sign/barsign/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(broken || (obj_flags & EMAGGED))
|
if(broken || (obj_flags & EMAGGED))
|
||||||
to_chat(user, "<span class='warning'>Nothing interesting happens!</span>")
|
to_chat(user, "<span class='warning'>Nothing interesting happens!</span>")
|
||||||
return
|
return
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
to_chat(user, "<span class='notice'>You emag the barsign. Takeover in progress...</span>")
|
to_chat(user, "<span class='notice'>You emag the barsign. Takeover in progress...</span>")
|
||||||
sleep(10 SECONDS)
|
addtimer(CALLBACK(src, .proc/syndie_bar_good), 10 SECONDS)
|
||||||
|
return TRUE
|
||||||
|
|
||||||
|
/obj/structure/sign/barsign/proc/syndie_bar_good()
|
||||||
set_sign(new /datum/barsign/hiddensigns/syndibarsign)
|
set_sign(new /datum/barsign/hiddensigns/syndibarsign)
|
||||||
req_access = list(ACCESS_SYNDICATE)
|
req_access = list(ACCESS_SYNDICATE)
|
||||||
|
|
||||||
|
|||||||
@@ -437,14 +437,17 @@
|
|||||||
to_chat(user, "<span class='warning'>\The [src] is broken!</span>")
|
to_chat(user, "<span class='warning'>\The [src] is broken!</span>")
|
||||||
|
|
||||||
/obj/structure/closet/emag_act(mob/user)
|
/obj/structure/closet/emag_act(mob/user)
|
||||||
if(secure && !broken)
|
. = ..()
|
||||||
user.visible_message("<span class='warning'>Sparks fly from [src]!</span>",
|
if(!secure || broken)
|
||||||
"<span class='warning'>You scramble [src]'s lock, breaking it open!</span>",
|
return
|
||||||
"<span class='italics'>You hear a faint electrical spark.</span>")
|
user.visible_message("<span class='warning'>Sparks fly from [src]!</span>",
|
||||||
playsound(src, "sparks", 50, 1)
|
"<span class='warning'>You scramble [src]'s lock, breaking it open!</span>",
|
||||||
broken = TRUE
|
"<span class='italics'>You hear a faint electrical spark.</span>")
|
||||||
locked = FALSE
|
playsound(src, "sparks", 50, 1)
|
||||||
update_icon()
|
broken = TRUE
|
||||||
|
locked = FALSE
|
||||||
|
update_icon()
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/structure/closet/get_remote_view_fullscreens(mob/user)
|
/obj/structure/closet/get_remote_view_fullscreens(mob/user)
|
||||||
if(user.stat == DEAD || !(user.sight & (SEEOBJS|SEEMOBS)))
|
if(user.stat == DEAD || !(user.sight & (SEEOBJS|SEEMOBS)))
|
||||||
|
|||||||
@@ -54,12 +54,16 @@
|
|||||||
only_current_user_can_interact = TRUE
|
only_current_user_can_interact = TRUE
|
||||||
|
|
||||||
/obj/machinery/vr_sleeper/hugbox/emag_act(mob/user)
|
/obj/machinery/vr_sleeper/hugbox/emag_act(mob/user)
|
||||||
return
|
return SEND_SIGNAL(src, COMSIG_ATOM_EMAG_ACT)
|
||||||
|
|
||||||
/obj/machinery/vr_sleeper/emag_act(mob/user)
|
/obj/machinery/vr_sleeper/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
|
if(you_die_in_the_game_you_die_for_real)
|
||||||
|
return
|
||||||
you_die_in_the_game_you_die_for_real = TRUE
|
you_die_in_the_game_you_die_for_real = TRUE
|
||||||
sparks.start()
|
sparks.start()
|
||||||
addtimer(CALLBACK(src, .proc/emagNotify), 150)
|
addtimer(CALLBACK(src, .proc/emagNotify), 150)
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/vr_sleeper/update_icon()
|
/obj/machinery/vr_sleeper/update_icon()
|
||||||
icon_state = "[initial(icon_state)][state_open ? "-open" : ""]"
|
icon_state = "[initial(icon_state)][state_open ? "-open" : ""]"
|
||||||
|
|||||||
@@ -848,11 +848,13 @@
|
|||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
/obj/machinery/airalarm/emag_act(mob/user)
|
/obj/machinery/airalarm/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
visible_message("<span class='warning'>Sparks fly out of [src]!</span>", "<span class='notice'>You emag [src], disabling its safeties.</span>")
|
visible_message("<span class='warning'>Sparks fly out of [src]!</span>", "<span class='notice'>You emag [src], disabling its safeties.</span>")
|
||||||
playsound(src, "sparks", 50, 1)
|
playsound(src, "sparks", 50, 1)
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/airalarm/obj_break(damage_flag)
|
/obj/machinery/airalarm/obj_break(damage_flag)
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -36,6 +36,7 @@
|
|||||||
cat |= EXPORT_EMAG
|
cat |= EXPORT_EMAG
|
||||||
|
|
||||||
/obj/machinery/computer/cargo/emag_act(mob/user)
|
/obj/machinery/computer/cargo/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
user.visible_message("<span class='warning'>[user] swipes a suspicious card through [src]!</span>",
|
user.visible_message("<span class='warning'>[user] swipes a suspicious card through [src]!</span>",
|
||||||
@@ -48,6 +49,7 @@
|
|||||||
var/obj/item/circuitboard/computer/cargo/board = circuit
|
var/obj/item/circuitboard/computer/cargo/board = circuit
|
||||||
board.contraband = TRUE
|
board.contraband = TRUE
|
||||||
board.obj_flags |= EMAGGED
|
board.obj_flags |= EMAGGED
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/computer/cargo/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \
|
/obj/machinery/computer/cargo/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \
|
||||||
datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
|
datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
|
||||||
|
|||||||
@@ -54,6 +54,7 @@
|
|||||||
..()
|
..()
|
||||||
|
|
||||||
/obj/machinery/computer/cargo/express/emag_act(mob/living/user)
|
/obj/machinery/computer/cargo/express/emag_act(mob/living/user)
|
||||||
|
. = SEND_SIGNAL(src, COMSIG_ATOM_EMAG_ACT)
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
user.visible_message("<span class='warning'>[user] swipes a suspicious card through [src]!</span>",
|
user.visible_message("<span class='warning'>[user] swipes a suspicious card through [src]!</span>",
|
||||||
@@ -63,6 +64,7 @@
|
|||||||
var/obj/item/circuitboard/computer/cargo/board = circuit
|
var/obj/item/circuitboard/computer/cargo/board = circuit
|
||||||
board.obj_flags |= EMAGGED
|
board.obj_flags |= EMAGGED
|
||||||
packin_up()
|
packin_up()
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/computer/cargo/express/proc/packin_up() // oh shit, I'm sorry
|
/obj/machinery/computer/cargo/express/proc/packin_up() // oh shit, I'm sorry
|
||||||
meme_pack_data = list() // sorry for what?
|
meme_pack_data = list() // sorry for what?
|
||||||
|
|||||||
@@ -24,11 +24,13 @@
|
|||||||
desc = "[desc] The display is flickering slightly."
|
desc = "[desc] The display is flickering slightly."
|
||||||
|
|
||||||
/obj/item/clothing/glasses/hud/emag_act(mob/user)
|
/obj/item/clothing/glasses/hud/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
to_chat(user, "<span class='warning'>PZZTTPFFFT</span>")
|
to_chat(user, "<span class='warning'>PZZTTPFFFT</span>")
|
||||||
desc = "[desc] The display is flickering slightly."
|
desc = "[desc] The display is flickering slightly."
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/item/clothing/glasses/hud/health
|
/obj/item/clothing/glasses/hud/health
|
||||||
name = "health scanner HUD"
|
name = "health scanner HUD"
|
||||||
|
|||||||
@@ -69,12 +69,14 @@
|
|||||||
|
|
||||||
/obj/item/clothing/mask/gas/sechailer/attack_self()
|
/obj/item/clothing/mask/gas/sechailer/attack_self()
|
||||||
halt()
|
halt()
|
||||||
/obj/item/clothing/mask/gas/sechailer/emag_act(mob/user as mob)
|
|
||||||
if(safety)
|
/obj/item/clothing/mask/gas/sechailer/emag_act(mob/user)
|
||||||
safety = FALSE
|
. = ..()
|
||||||
to_chat(user, "<span class='warning'>You silently fry [src]'s vocal circuit with the cryptographic sequencer.</span>")
|
if(!safety)
|
||||||
else
|
|
||||||
return
|
return
|
||||||
|
safety = FALSE
|
||||||
|
to_chat(user, "<span class='warning'>You silently fry [src]'s vocal circuit with the cryptographic sequencer.</span>")
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/item/clothing/mask/gas/sechailer/verb/halt()
|
/obj/item/clothing/mask/gas/sechailer/verb/halt()
|
||||||
set category = "Object"
|
set category = "Object"
|
||||||
|
|||||||
@@ -149,6 +149,7 @@
|
|||||||
active_power_usage = 50 + spawned.len * 3 + effects.len * 5
|
active_power_usage = 50 + spawned.len * 3 + effects.len * 5
|
||||||
|
|
||||||
/obj/machinery/computer/holodeck/emag_act(mob/user)
|
/obj/machinery/computer/holodeck/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
if(!LAZYLEN(emag_programs))
|
if(!LAZYLEN(emag_programs))
|
||||||
@@ -160,6 +161,7 @@
|
|||||||
to_chat(user, "Warning. Automatic shutoff and derezing protocols have been corrupted. Please call Nanotrasen maintenance and do not use the simulator.")
|
to_chat(user, "Warning. Automatic shutoff and derezing protocols have been corrupted. Please call Nanotrasen maintenance and do not use the simulator.")
|
||||||
log_game("[key_name(user)] emagged the Holodeck Control Console")
|
log_game("[key_name(user)] emagged the Holodeck Control Console")
|
||||||
nerf(!(obj_flags & EMAGGED))
|
nerf(!(obj_flags & EMAGGED))
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/computer/holodeck/emp_act(severity)
|
/obj/machinery/computer/holodeck/emp_act(severity)
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|||||||
@@ -343,8 +343,11 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/computer/libraryconsole/bookmanagement/emag_act(mob/user)
|
/obj/machinery/computer/libraryconsole/bookmanagement/emag_act(mob/user)
|
||||||
if(density && !(obj_flags & EMAGGED))
|
. = ..()
|
||||||
obj_flags |= EMAGGED
|
if(!density || obj_flags & EMAGGED)
|
||||||
|
return
|
||||||
|
obj_flags |= EMAGGED
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/computer/libraryconsole/bookmanagement/Topic(href, href_list)
|
/obj/machinery/computer/libraryconsole/bookmanagement/Topic(href, href_list)
|
||||||
if(..())
|
if(..())
|
||||||
|
|||||||
@@ -214,8 +214,11 @@
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/structure/closet/crate/secure/loot/emag_act(mob/user)
|
/obj/structure/closet/crate/secure/loot/emag_act(mob/user)
|
||||||
if(locked)
|
. = SEND_SIGNAL(src, COMSIG_ATOM_EMAG_ACT)
|
||||||
boom(user)
|
if(!locked)
|
||||||
|
return
|
||||||
|
boom(user)
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/structure/closet/crate/secure/loot/togglelock(mob/user)
|
/obj/structure/closet/crate/secure/loot/togglelock(mob/user)
|
||||||
if(locked)
|
if(locked)
|
||||||
|
|||||||
@@ -128,9 +128,12 @@ GLOBAL_LIST(labor_sheet_values)
|
|||||||
qdel(src)
|
qdel(src)
|
||||||
|
|
||||||
/obj/machinery/mineral/labor_claim_console/emag_act(mob/user)
|
/obj/machinery/mineral/labor_claim_console/emag_act(mob/user)
|
||||||
if(!(obj_flags & EMAGGED))
|
. = ..()
|
||||||
obj_flags |= EMAGGED
|
if(obj_flags & EMAGGED)
|
||||||
to_chat(user, "<span class='warning'>PZZTTPFFFT</span>")
|
return
|
||||||
|
obj_flags |= EMAGGED
|
||||||
|
to_chat(user, "<span class='warning'>PZZTTPFFFT</span>")
|
||||||
|
return TRUE
|
||||||
|
|
||||||
|
|
||||||
/**********************Prisoner Collection Unit**************************/
|
/**********************Prisoner Collection Unit**************************/
|
||||||
|
|||||||
@@ -92,17 +92,18 @@
|
|||||||
|
|
||||||
/mob/living/silicon/robot/emag_act(mob/user)
|
/mob/living/silicon/robot/emag_act(mob/user)
|
||||||
if(user == src)//To prevent syndieborgs from emagging themselves
|
if(user == src)//To prevent syndieborgs from emagging themselves
|
||||||
return
|
return FALSE
|
||||||
|
if(world.time < emag_cooldown)
|
||||||
|
return FALSE
|
||||||
|
. = ..()
|
||||||
if(!opened)//Cover is closed
|
if(!opened)//Cover is closed
|
||||||
if(locked)
|
if(locked)
|
||||||
to_chat(user, "<span class='notice'>You emag the cover lock.</span>")
|
to_chat(user, "<span class='notice'>You emag the cover lock.</span>")
|
||||||
locked = FALSE
|
locked = FALSE
|
||||||
if(shell) //A warning to Traitors who may not know that emagging AI shells does not slave them.
|
if(shell) //A warning to Traitors who may not know that emagging AI shells does not slave them.
|
||||||
to_chat(user, "<span class='boldwarning'>[src] seems to be controlled remotely! Emagging the interface may not work as expected.</span>")
|
to_chat(user, "<span class='boldwarning'>[src] seems to be controlled remotely! Emagging the interface may not work as expected.</span>")
|
||||||
else
|
return TRUE
|
||||||
to_chat(user, "<span class='warning'>The cover is already unlocked!</span>")
|
to_chat(user, "<span class='warning'>The cover is already unlocked!</span>")
|
||||||
return
|
|
||||||
if(world.time < emag_cooldown)
|
|
||||||
return
|
return
|
||||||
if(wiresexposed)
|
if(wiresexposed)
|
||||||
to_chat(user, "<span class='warning'>You must unexpose the wires first!</span>")
|
to_chat(user, "<span class='warning'>You must unexpose the wires first!</span>")
|
||||||
@@ -115,20 +116,24 @@
|
|||||||
to_chat(src, "<span class='nezbere'>\"[text2ratvar("You will serve Engine above all else")]!\"</span>\n\
|
to_chat(src, "<span class='nezbere'>\"[text2ratvar("You will serve Engine above all else")]!\"</span>\n\
|
||||||
<span class='danger'>ALERT: Subversion attempt denied.</span>")
|
<span class='danger'>ALERT: Subversion attempt denied.</span>")
|
||||||
log_game("[key_name(user)] attempted to emag cyborg [key_name(src)], but they serve only Ratvar.")
|
log_game("[key_name(user)] attempted to emag cyborg [key_name(src)], but they serve only Ratvar.")
|
||||||
return
|
return TRUE
|
||||||
|
|
||||||
if(connected_ai && connected_ai.mind && connected_ai.mind.has_antag_datum(/datum/antagonist/traitor))
|
if(connected_ai && connected_ai.mind && connected_ai.mind.has_antag_datum(/datum/antagonist/traitor))
|
||||||
to_chat(src, "<span class='danger'>ALERT: Foreign software execution prevented.</span>")
|
to_chat(src, "<span class='danger'>ALERT: Foreign software execution prevented.</span>")
|
||||||
to_chat(connected_ai, "<span class='danger'>ALERT: Cyborg unit \[[src]] successfully defended against subversion.</span>")
|
to_chat(connected_ai, "<span class='danger'>ALERT: Cyborg unit \[[src]] successfully defended against subversion.</span>")
|
||||||
log_game("[key_name(user)] attempted to emag cyborg [key_name(src)], but they were slaved to traitor AI [connected_ai].")
|
log_game("[key_name(user)] attempted to emag cyborg [key_name(src)], but they were slaved to traitor AI [connected_ai].")
|
||||||
return
|
return TRUE
|
||||||
|
|
||||||
if(shell) //AI shells cannot be emagged, so we try to make it look like a standard reset. Smart players may see through this, however.
|
if(shell) //AI shells cannot be emagged, so we try to make it look like a standard reset. Smart players may see through this, however.
|
||||||
to_chat(user, "<span class='danger'>[src] is remotely controlled! Your emag attempt has triggered a system reset instead!</span>")
|
to_chat(user, "<span class='danger'>[src] is remotely controlled! Your emag attempt has triggered a system reset instead!</span>")
|
||||||
log_game("[key_name(user)] attempted to emag an AI shell belonging to [key_name(src) ? key_name(src) : connected_ai]. The shell has been reset as a result.")
|
log_game("[key_name(user)] attempted to emag an AI shell belonging to [key_name(src) ? key_name(src) : connected_ai]. The shell has been reset as a result.")
|
||||||
ResetModule()
|
ResetModule()
|
||||||
return
|
return TRUE
|
||||||
|
|
||||||
|
INVOKE_ASYNC(src, .proc/beep_boop_rogue_bot, user)
|
||||||
|
return TRUE
|
||||||
|
|
||||||
|
/mob/living/silicon/robot/proc/beep_boop_rogue_bot(mob/user)
|
||||||
SetEmagged(1)
|
SetEmagged(1)
|
||||||
SetStun(60) //Borgs were getting into trouble because they would attack the emagger before the new laws were shown
|
SetStun(60) //Borgs were getting into trouble because they would attack the emagger before the new laws were shown
|
||||||
lawupdate = 0
|
lawupdate = 0
|
||||||
|
|||||||
@@ -186,22 +186,23 @@
|
|||||||
qdel(src)
|
qdel(src)
|
||||||
|
|
||||||
/mob/living/simple_animal/bot/emag_act(mob/user)
|
/mob/living/simple_animal/bot/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(locked) //First emag application unlocks the bot's interface. Apply a screwdriver to use the emag again.
|
if(locked) //First emag application unlocks the bot's interface. Apply a screwdriver to use the emag again.
|
||||||
locked = FALSE
|
locked = FALSE
|
||||||
emagged = 1
|
emagged = 1
|
||||||
to_chat(user, "<span class='notice'>You bypass [src]'s controls.</span>")
|
to_chat(user, "<span class='notice'>You bypass [src]'s controls.</span>")
|
||||||
return
|
return TRUE
|
||||||
if(!locked && open) //Bot panel is unlocked by ID or emag, and the panel is screwed open. Ready for emagging.
|
if(!open)
|
||||||
emagged = 2
|
|
||||||
remote_disabled = 1 //Manually emagging the bot locks out the AI built in panel.
|
|
||||||
locked = TRUE //Access denied forever!
|
|
||||||
bot_reset()
|
|
||||||
turn_on() //The bot automatically turns on when emagged, unless recently hit with EMP.
|
|
||||||
to_chat(src, "<span class='userdanger'>(#$*#$^^( OVERRIDE DETECTED</span>")
|
|
||||||
log_combat(user, src, "emagged")
|
|
||||||
return
|
|
||||||
else //Bot is unlocked, but the maint panel has not been opened with a screwdriver yet.
|
|
||||||
to_chat(user, "<span class='warning'>You need to open maintenance panel first!</span>")
|
to_chat(user, "<span class='warning'>You need to open maintenance panel first!</span>")
|
||||||
|
return
|
||||||
|
emagged = 2
|
||||||
|
remote_disabled = 1 //Manually emagging the bot locks out the AI built in panel.
|
||||||
|
locked = TRUE //Access denied forever!
|
||||||
|
bot_reset()
|
||||||
|
turn_on() //The bot automatically turns on when emagged, unless recently hit with EMP.
|
||||||
|
to_chat(src, "<span class='userdanger'>(#$*#$^^( OVERRIDE DETECTED</span>")
|
||||||
|
log_combat(user, src, "emagged")
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/mob/living/simple_animal/bot/examine(mob/user)
|
/mob/living/simple_animal/bot/examine(mob/user)
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -78,7 +78,7 @@
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/mob/living/simple_animal/bot/cleanbot/emag_act(mob/user)
|
/mob/living/simple_animal/bot/cleanbot/emag_act(mob/user)
|
||||||
..()
|
. = ..()
|
||||||
if(emagged == 2)
|
if(emagged == 2)
|
||||||
if(user)
|
if(user)
|
||||||
to_chat(user, "<span class='danger'>[src] buzzes and beeps.</span>")
|
to_chat(user, "<span class='danger'>[src] buzzes and beeps.</span>")
|
||||||
@@ -155,7 +155,7 @@
|
|||||||
else
|
else
|
||||||
shuffle = TRUE //Shuffle the list the next time we scan so we dont both go the same way.
|
shuffle = TRUE //Shuffle the list the next time we scan so we dont both go the same way.
|
||||||
path = list()
|
path = list()
|
||||||
|
|
||||||
if(!path || path.len == 0) //No path, need a new one
|
if(!path || path.len == 0) //No path, need a new one
|
||||||
//Try to produce a path to the target, and ignore airlocks to which it has access.
|
//Try to produce a path to the target, and ignore airlocks to which it has access.
|
||||||
path = get_path_to(src, target.loc, /turf/proc/Distance_cardinal, 0, 30, id=access_card)
|
path = get_path_to(src, target.loc, /turf/proc/Distance_cardinal, 0, 30, id=access_card)
|
||||||
|
|||||||
@@ -195,7 +195,7 @@ Auto Patrol[]"},
|
|||||||
shootAt(user)
|
shootAt(user)
|
||||||
|
|
||||||
/mob/living/simple_animal/bot/ed209/emag_act(mob/user)
|
/mob/living/simple_animal/bot/ed209/emag_act(mob/user)
|
||||||
..()
|
. = ..()
|
||||||
if(emagged == 2)
|
if(emagged == 2)
|
||||||
if(user)
|
if(user)
|
||||||
to_chat(user, "<span class='warning'>You short out [src]'s target assessment circuits.</span>")
|
to_chat(user, "<span class='warning'>You short out [src]'s target assessment circuits.</span>")
|
||||||
|
|||||||
@@ -120,7 +120,7 @@
|
|||||||
return dat
|
return dat
|
||||||
|
|
||||||
/mob/living/simple_animal/bot/firebot/emag_act(mob/user)
|
/mob/living/simple_animal/bot/firebot/emag_act(mob/user)
|
||||||
..()
|
. = ..()
|
||||||
if(emagged == 1)
|
if(emagged == 1)
|
||||||
if(user)
|
if(user)
|
||||||
to_chat(user, "<span class='danger'>[src] buzzes and beeps.</span>")
|
to_chat(user, "<span class='danger'>[src] buzzes and beeps.</span>")
|
||||||
|
|||||||
@@ -124,7 +124,7 @@
|
|||||||
..()
|
..()
|
||||||
|
|
||||||
/mob/living/simple_animal/bot/floorbot/emag_act(mob/user)
|
/mob/living/simple_animal/bot/floorbot/emag_act(mob/user)
|
||||||
..()
|
. = ..()
|
||||||
if(emagged == 2)
|
if(emagged == 2)
|
||||||
if(user)
|
if(user)
|
||||||
to_chat(user, "<span class='danger'>[src] buzzes and beeps.</span>")
|
to_chat(user, "<span class='danger'>[src] buzzes and beeps.</span>")
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ Maintenance panel panel is [open ? "opened" : "closed"]"},
|
|||||||
..()
|
..()
|
||||||
|
|
||||||
/mob/living/simple_animal/bot/honkbot/emag_act(mob/user)
|
/mob/living/simple_animal/bot/honkbot/emag_act(mob/user)
|
||||||
..()
|
. = ..()
|
||||||
if(emagged == 2)
|
if(emagged == 2)
|
||||||
if(user)
|
if(user)
|
||||||
user << "<span class='danger'>You short out [src]'s sound control system. It gives out an evil laugh!!</span>"
|
user << "<span class='danger'>You short out [src]'s sound control system. It gives out an evil laugh!!</span>"
|
||||||
|
|||||||
@@ -240,7 +240,7 @@
|
|||||||
step_to(src, (get_step_away(src,user)))
|
step_to(src, (get_step_away(src,user)))
|
||||||
|
|
||||||
/mob/living/simple_animal/bot/medbot/emag_act(mob/user)
|
/mob/living/simple_animal/bot/medbot/emag_act(mob/user)
|
||||||
..()
|
. = ..()
|
||||||
if(emagged == 2)
|
if(emagged == 2)
|
||||||
declare_crit = 0
|
declare_crit = 0
|
||||||
if(user)
|
if(user)
|
||||||
|
|||||||
@@ -115,6 +115,7 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
/mob/living/simple_animal/bot/mulebot/emag_act(mob/user)
|
/mob/living/simple_animal/bot/mulebot/emag_act(mob/user)
|
||||||
|
. = SEND_SIGNAL(src, COMSIG_ATOM_EMAG_ACT)
|
||||||
if(emagged < 1)
|
if(emagged < 1)
|
||||||
emagged = TRUE
|
emagged = TRUE
|
||||||
if(!open)
|
if(!open)
|
||||||
@@ -122,6 +123,7 @@
|
|||||||
to_chat(user, "<span class='notice'>You [locked ? "lock" : "unlock"] [src]'s controls!</span>")
|
to_chat(user, "<span class='notice'>You [locked ? "lock" : "unlock"] [src]'s controls!</span>")
|
||||||
flick("mulebot-emagged", src)
|
flick("mulebot-emagged", src)
|
||||||
playsound(src, "sparks", 100, 0)
|
playsound(src, "sparks", 100, 0)
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/mob/living/simple_animal/bot/mulebot/update_icon()
|
/mob/living/simple_animal/bot/mulebot/update_icon()
|
||||||
if(open)
|
if(open)
|
||||||
|
|||||||
@@ -190,7 +190,7 @@ Auto Patrol: []"},
|
|||||||
return
|
return
|
||||||
|
|
||||||
/mob/living/simple_animal/bot/secbot/emag_act(mob/user)
|
/mob/living/simple_animal/bot/secbot/emag_act(mob/user)
|
||||||
..()
|
. = ..()
|
||||||
if(emagged == 2)
|
if(emagged == 2)
|
||||||
if(user)
|
if(user)
|
||||||
to_chat(user, "<span class='danger'>You short out [src]'s target assessment circuits.</span>")
|
to_chat(user, "<span class='danger'>You short out [src]'s target assessment circuits.</span>")
|
||||||
|
|||||||
@@ -178,13 +178,13 @@
|
|||||||
turn_on(user)
|
turn_on(user)
|
||||||
|
|
||||||
/obj/item/modular_computer/emag_act(mob/user)
|
/obj/item/modular_computer/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
to_chat(user, "<span class='warning'>\The [src] was already emagged.</span>")
|
to_chat(user, "<span class='warning'>\The [src] was already emagged.</span>")
|
||||||
return 0
|
return
|
||||||
else
|
obj_flags |= EMAGGED
|
||||||
obj_flags |= EMAGGED
|
to_chat(user, "<span class='notice'>You emag \the [src]. It's screen briefly shows a \"OVERRIDE ACCEPTED: New software downloads available.\" message.</span>")
|
||||||
to_chat(user, "<span class='notice'>You emag \the [src]. It's screen briefly shows a \"OVERRIDE ACCEPTED: New software downloads available.\" message.</span>")
|
return TRUE
|
||||||
return 1
|
|
||||||
|
|
||||||
/obj/item/modular_computer/examine(mob/user)
|
/obj/item/modular_computer/examine(mob/user)
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -44,7 +44,9 @@
|
|||||||
cpu.attack_ghost(user)
|
cpu.attack_ghost(user)
|
||||||
|
|
||||||
/obj/machinery/modular_computer/emag_act(mob/user)
|
/obj/machinery/modular_computer/emag_act(mob/user)
|
||||||
return cpu ? cpu.emag_act(user) : 1
|
. = ..()
|
||||||
|
if(cpu)
|
||||||
|
return cpu.emag_act(user)
|
||||||
|
|
||||||
/obj/machinery/modular_computer/update_icon()
|
/obj/machinery/modular_computer/update_icon()
|
||||||
cut_overlays()
|
cut_overlays()
|
||||||
|
|||||||
@@ -267,7 +267,7 @@
|
|||||||
to_chat(user, "<span class='brass'>There is an integration cog installed!</span>")
|
to_chat(user, "<span class='brass'>There is an integration cog installed!</span>")
|
||||||
|
|
||||||
to_chat(user, "<span class='notice'>Alt-Click the APC to [ locked ? "unlock" : "lock"] the interface.</span>")
|
to_chat(user, "<span class='notice'>Alt-Click the APC to [ locked ? "unlock" : "lock"] the interface.</span>")
|
||||||
|
|
||||||
if(issilicon(user))
|
if(issilicon(user))
|
||||||
to_chat(user, "<span class='notice'>Ctrl-Click the APC to switch the breaker [ operating ? "off" : "on"].</span>")
|
to_chat(user, "<span class='notice'>Ctrl-Click the APC to switch the breaker [ operating ? "off" : "on"].</span>")
|
||||||
|
|
||||||
@@ -747,7 +747,7 @@
|
|||||||
if(damage_flag == "melee" && damage_amount < damage_deflection)
|
if(damage_flag == "melee" && damage_amount < damage_deflection)
|
||||||
return 0
|
return 0
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|
||||||
/obj/machinery/power/apc/deconstruct(disassembled = TRUE)
|
/obj/machinery/power/apc/deconstruct(disassembled = TRUE)
|
||||||
if(!(flags_1 & NODECONSTRUCT_1))
|
if(!(flags_1 & NODECONSTRUCT_1))
|
||||||
if(!(stat & BROKEN))
|
if(!(stat & BROKEN))
|
||||||
@@ -759,21 +759,23 @@
|
|||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
/obj/machinery/power/apc/emag_act(mob/user)
|
/obj/machinery/power/apc/emag_act(mob/user)
|
||||||
if(!(obj_flags & EMAGGED) && !malfhack)
|
. = ..()
|
||||||
if(opened)
|
if(obj_flags & EMAGGED || malfhack)
|
||||||
to_chat(user, "<span class='warning'>You must close the cover to swipe an ID card!</span>")
|
return
|
||||||
else if(panel_open)
|
if(opened)
|
||||||
to_chat(user, "<span class='warning'>You must close the panel first!</span>")
|
to_chat(user, "<span class='warning'>You must close the cover to swipe an ID card!</span>")
|
||||||
else if(stat & (BROKEN|MAINT))
|
else if(panel_open)
|
||||||
to_chat(user, "<span class='warning'>Nothing happens!</span>")
|
to_chat(user, "<span class='warning'>You must close the panel first!</span>")
|
||||||
else
|
else if(stat & (BROKEN|MAINT))
|
||||||
flick("apc-spark", src)
|
to_chat(user, "<span class='warning'>Nothing happens!</span>")
|
||||||
playsound(src, "sparks", 75, 1)
|
else
|
||||||
obj_flags |= EMAGGED
|
flick("apc-spark", src)
|
||||||
locked = FALSE
|
playsound(src, "sparks", 75, 1)
|
||||||
to_chat(user, "<span class='notice'>You emag the APC interface.</span>")
|
obj_flags |= EMAGGED
|
||||||
update_icon()
|
locked = FALSE
|
||||||
|
to_chat(user, "<span class='notice'>You emag the APC interface.</span>")
|
||||||
|
update_icon()
|
||||||
|
return TRUE
|
||||||
|
|
||||||
// attack with hand - remove cell (if cover open) or interact with the APC
|
// attack with hand - remove cell (if cover open) or interact with the APC
|
||||||
|
|
||||||
|
|||||||
@@ -194,10 +194,12 @@
|
|||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/power/port_gen/pacman/emag_act(mob/user)
|
/obj/machinery/power/port_gen/pacman/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
emp_act(EMP_HEAVY)
|
emp_act(EMP_HEAVY)
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/power/port_gen/pacman/attack_ai(mob/user)
|
/obj/machinery/power/port_gen/pacman/attack_ai(mob/user)
|
||||||
interact(user)
|
interact(user)
|
||||||
|
|||||||
@@ -339,12 +339,13 @@
|
|||||||
projectile_sound = initial(projectile_sound)
|
projectile_sound = initial(projectile_sound)
|
||||||
|
|
||||||
/obj/machinery/power/emitter/emag_act(mob/user)
|
/obj/machinery/power/emitter/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
locked = FALSE
|
locked = FALSE
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
if(user)
|
user?.visible_message("[user.name] emags [src].","<span class='notice'>You short out the lock.</span>")
|
||||||
user.visible_message("[user.name] emags [src].","<span class='notice'>You short out the lock.</span>")
|
return TRUE
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/power/emitter/prototype
|
/obj/machinery/power/emitter/prototype
|
||||||
|
|||||||
@@ -37,10 +37,12 @@
|
|||||||
to_chat(user, "<span class ='notice'>This firearm already has a firing pin installed.</span>")
|
to_chat(user, "<span class ='notice'>This firearm already has a firing pin installed.</span>")
|
||||||
|
|
||||||
/obj/item/firing_pin/emag_act(mob/user)
|
/obj/item/firing_pin/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
to_chat(user, "<span class='notice'>You override the authentication mechanism.</span>")
|
to_chat(user, "<span class='notice'>You override the authentication mechanism.</span>")
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/item/firing_pin/proc/gun_insert(mob/living/user, obj/item/gun/G)
|
/obj/item/firing_pin/proc/gun_insert(mob/living/user, obj/item/gun/G)
|
||||||
gun = G
|
gun = G
|
||||||
|
|||||||
@@ -140,12 +140,14 @@
|
|||||||
|
|
||||||
|
|
||||||
/obj/machinery/chem_dispenser/emag_act(mob/user)
|
/obj/machinery/chem_dispenser/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
to_chat(user, "<span class='warning'>[src] has no functional safeties to emag.</span>")
|
to_chat(user, "<span class='warning'>[src] has no functional safeties to emag.</span>")
|
||||||
return
|
return
|
||||||
to_chat(user, "<span class='notice'>You short out [src]'s safeties.</span>")
|
to_chat(user, "<span class='notice'>You short out [src]'s safeties.</span>")
|
||||||
dispensable_reagents |= emagged_reagents//add the emagged reagents to the dispensable ones
|
dispensable_reagents |= emagged_reagents//add the emagged reagents to the dispensable ones
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/chem_dispenser/ex_act(severity, target)
|
/obj/machinery/chem_dispenser/ex_act(severity, target)
|
||||||
if(severity < 3)
|
if(severity < 3)
|
||||||
|
|||||||
@@ -37,6 +37,7 @@
|
|||||||
to_chat(user, "<span class='warning'>Access denied.</span>")
|
to_chat(user, "<span class='warning'>Access denied.</span>")
|
||||||
|
|
||||||
/obj/item/nanite_remote/emag_act(mob/user)
|
/obj/item/nanite_remote/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
to_chat(user, "<span class='warning'>You override [src]'s ID lock.</span>")
|
to_chat(user, "<span class='warning'>You override [src]'s ID lock.</span>")
|
||||||
@@ -44,6 +45,7 @@
|
|||||||
if(locked)
|
if(locked)
|
||||||
locked = FALSE
|
locked = FALSE
|
||||||
update_icon()
|
update_icon()
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/item/nanite_remote/update_icon()
|
/obj/item/nanite_remote/update_icon()
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|||||||
@@ -184,12 +184,14 @@ Nothing else in the console has ID requirements.
|
|||||||
..()
|
..()
|
||||||
|
|
||||||
/obj/machinery/computer/rdconsole/emag_act(mob/user)
|
/obj/machinery/computer/rdconsole/emag_act(mob/user)
|
||||||
if(!(obj_flags & EMAGGED))
|
. = ..()
|
||||||
to_chat(user, "<span class='notice'>You disable the security protocols[locked? " and unlock the console":""].</span>")
|
if(obj_flags & EMAGGED)
|
||||||
playsound(src, "sparks", 75, 1)
|
return
|
||||||
obj_flags |= EMAGGED
|
to_chat(user, "<span class='notice'>You disable the security protocols[locked? " and unlock the console":""].</span>")
|
||||||
locked = FALSE
|
playsound(src, "sparks", 75, 1)
|
||||||
return ..()
|
obj_flags |= EMAGGED
|
||||||
|
locked = FALSE
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/computer/rdconsole/multitool_act(mob/user, obj/item/multitool/I)
|
/obj/machinery/computer/rdconsole/multitool_act(mob/user, obj/item/multitool/I)
|
||||||
var/lathe = linked_lathe && linked_lathe.multitool_act(user, I)
|
var/lathe = linked_lathe && linked_lathe.multitool_act(user, I)
|
||||||
|
|||||||
@@ -155,8 +155,10 @@
|
|||||||
src.updateUsrDialog()
|
src.updateUsrDialog()
|
||||||
|
|
||||||
/obj/machinery/computer/rdservercontrol/emag_act(mob/user)
|
/obj/machinery/computer/rdservercontrol/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
playsound(src, "sparks", 75, 1)
|
playsound(src, "sparks", 75, 1)
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
to_chat(user, "<span class='notice'>You disable the security protocols.</span>")
|
to_chat(user, "<span class='notice'>You disable the security protocols.</span>")
|
||||||
|
return TRUE
|
||||||
|
|||||||
@@ -63,11 +63,13 @@
|
|||||||
to_chat(usr, "<span class='notice'>Unable to comply.</span>")
|
to_chat(usr, "<span class='notice'>Unable to comply.</span>")
|
||||||
|
|
||||||
/obj/machinery/computer/shuttle/emag_act(mob/user)
|
/obj/machinery/computer/shuttle/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
req_access = list()
|
req_access = list()
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
to_chat(user, "<span class='notice'>You fried the consoles ID checking system.</span>")
|
to_chat(user, "<span class='notice'>You fried the consoles ID checking system.</span>")
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/computer/shuttle/proc/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock, idnum, override=FALSE)
|
/obj/machinery/computer/shuttle/proc/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock, idnum, override=FALSE)
|
||||||
if(port && (shuttleId == initial(shuttleId) || override))
|
if(port && (shuttleId == initial(shuttleId) || override))
|
||||||
|
|||||||
@@ -134,6 +134,8 @@
|
|||||||
. = TRUE
|
. = TRUE
|
||||||
|
|
||||||
/obj/machinery/computer/emergency_shuttle/emag_act(mob/user)
|
/obj/machinery/computer/emergency_shuttle/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
|
|
||||||
// How did you even get on the shuttle before it go to the station?
|
// How did you even get on the shuttle before it go to the station?
|
||||||
if(!IS_DOCKED)
|
if(!IS_DOCKED)
|
||||||
return
|
return
|
||||||
@@ -159,6 +161,7 @@
|
|||||||
authorized += ID
|
authorized += ID
|
||||||
|
|
||||||
process()
|
process()
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/computer/emergency_shuttle/Destroy()
|
/obj/machinery/computer/emergency_shuttle/Destroy()
|
||||||
// Our fake IDs that the emag generated are just there for colour
|
// Our fake IDs that the emag generated are just there for colour
|
||||||
@@ -458,10 +461,12 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/computer/shuttle/pod/emag_act(mob/user)
|
/obj/machinery/computer/shuttle/pod/emag_act(mob/user)
|
||||||
|
. = SEND_SIGNAL(src, COMSIG_ATOM_EMAG_ACT)
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
to_chat(user, "<span class='warning'>You fry the pod's alert level checking system.</span>")
|
to_chat(user, "<span class='warning'>You fry the pod's alert level checking system.</span>")
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/computer/shuttle/pod/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock, idnum, override=FALSE)
|
/obj/machinery/computer/shuttle/pod/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock, idnum, override=FALSE)
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/power/emitter/energycannon/magical/emag_act(mob/user)
|
/obj/machinery/power/emitter/energycannon/magical/emag_act(mob/user)
|
||||||
return
|
return SEND_SIGNAL(src, COMSIG_ATOM_EMAG_ACT)
|
||||||
|
|
||||||
/obj/structure/table/abductor/wabbajack
|
/obj/structure/table/abductor/wabbajack
|
||||||
name = "wabbajack altar"
|
name = "wabbajack altar"
|
||||||
|
|||||||
@@ -172,9 +172,11 @@
|
|||||||
change_meteor_chance(0.5)
|
change_meteor_chance(0.5)
|
||||||
|
|
||||||
/obj/machinery/satellite/meteor_shield/emag_act(mob/user)
|
/obj/machinery/satellite/meteor_shield/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
to_chat(user, "<span class='notice'>You access the satellite's debug mode, increasing the chance of meteor strikes.</span>")
|
to_chat(user, "<span class='notice'>You access the satellite's debug mode, increasing the chance of meteor strikes.</span>")
|
||||||
if(active)
|
if(active)
|
||||||
change_meteor_chance(2)
|
change_meteor_chance(2)
|
||||||
|
return TRUE
|
||||||
|
|||||||
@@ -182,11 +182,12 @@
|
|||||||
zone = BODY_ZONE_L_ARM
|
zone = BODY_ZONE_L_ARM
|
||||||
|
|
||||||
/obj/item/organ/cyberimp/arm/toolset/emag_act()
|
/obj/item/organ/cyberimp/arm/toolset/emag_act()
|
||||||
if(!(locate(/obj/item/kitchen/knife/combat/cyborg) in items_list))
|
. = ..()
|
||||||
to_chat(usr, "<span class='notice'>You unlock [src]'s integrated knife!</span>")
|
if(locate(/obj/item/kitchen/knife/combat/cyborg) in items_list)
|
||||||
items_list += new /obj/item/kitchen/knife/combat/cyborg(src)
|
return
|
||||||
return 1
|
to_chat(usr, "<span class='notice'>You unlock [src]'s integrated knife!</span>")
|
||||||
return 0
|
items_list += new /obj/item/kitchen/knife/combat/cyborg(src)
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/item/organ/cyberimp/arm/esword
|
/obj/item/organ/cyberimp/arm/esword
|
||||||
name = "arm-mounted energy blade"
|
name = "arm-mounted energy blade"
|
||||||
|
|||||||
@@ -63,11 +63,13 @@
|
|||||||
DumpMobs(TRUE)
|
DumpMobs(TRUE)
|
||||||
|
|
||||||
/obj/vehicle/sealed/car/clowncar/emag_act(mob/user)
|
/obj/vehicle/sealed/car/clowncar/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
to_chat(user, "<span class='danger'>You scramble the clowncar child safety lock and a panel with 6 colorful buttons appears!</span>")
|
to_chat(user, "<span class='danger'>You scramble the clowncar child safety lock and a panel with 6 colorful buttons appears!</span>")
|
||||||
initialize_controller_action_type(/datum/action/vehicle/sealed/RollTheDice, VEHICLE_CONTROL_DRIVE)
|
initialize_controller_action_type(/datum/action/vehicle/sealed/RollTheDice, VEHICLE_CONTROL_DRIVE)
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/vehicle/sealed/car/clowncar/Destroy()
|
/obj/vehicle/sealed/car/clowncar/Destroy()
|
||||||
playsound(src, 'sound/vehicles/clowncar_fart.ogg', 100)
|
playsound(src, 'sound/vehicles/clowncar_fart.ogg', 100)
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
|
|||||||
var/scan_id = 1
|
var/scan_id = 1
|
||||||
var/obj/item/coin/coin
|
var/obj/item/coin/coin
|
||||||
var/obj/item/stack/spacecash/bill
|
var/obj/item/stack/spacecash/bill
|
||||||
|
|
||||||
var/global/vending_cache = list() //used for storing the icons of items being vended
|
var/global/vending_cache = list() //used for storing the icons of items being vended
|
||||||
|
|
||||||
var/dish_quants = list() //used by the snack machine's custom compartment to count dishes.
|
var/dish_quants = list() //used by the snack machine's custom compartment to count dishes.
|
||||||
@@ -306,10 +306,12 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
|
|||||||
. = ..()
|
. = ..()
|
||||||
|
|
||||||
/obj/machinery/vending/emag_act(mob/user)
|
/obj/machinery/vending/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
if(obj_flags & EMAGGED)
|
if(obj_flags & EMAGGED)
|
||||||
return
|
return
|
||||||
obj_flags |= EMAGGED
|
obj_flags |= EMAGGED
|
||||||
to_chat(user, "<span class='notice'>You short out the product lock on [src].</span>")
|
to_chat(user, "<span class='notice'>You short out the product lock on [src].</span>")
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/vending/_try_interact(mob/user)
|
/obj/machinery/vending/_try_interact(mob/user)
|
||||||
if(seconds_electrified && !(stat & NOPOWER))
|
if(seconds_electrified && !(stat & NOPOWER))
|
||||||
|
|||||||
@@ -19,5 +19,6 @@
|
|||||||
return MouseDrop(user)
|
return MouseDrop(user)
|
||||||
|
|
||||||
/obj/structure/guncase/plasma/emag_act()
|
/obj/structure/guncase/plasma/emag_act()
|
||||||
to_chat(usr, "The locking mechanism is fitted with old style parts, The card has no effect.")
|
. = SEND_SIGNAL(src, COMSIG_ATOM_EMAG_ACT)
|
||||||
return
|
if(!.)
|
||||||
|
to_chat(usr, "The locking mechanism is fitted with old style parts, The card has no effect.")
|
||||||
@@ -1,12 +1,13 @@
|
|||||||
/obj/machinery/computer/cargo
|
/obj/machinery/computer/cargo
|
||||||
req_access = list(ACCESS_CARGO)
|
req_access = list(ACCESS_CARGO)
|
||||||
|
|
||||||
/obj/machinery/computer/cargo/request
|
/obj/machinery/computer/cargo/request
|
||||||
req_access = list()
|
req_access = list()
|
||||||
|
|
||||||
/obj/machinery/computer/cargo/emag_act(mob/user)
|
/obj/machinery/computer/cargo/emag_act(mob/user)
|
||||||
req_access = list()
|
|
||||||
. = ..()
|
. = ..()
|
||||||
|
if(.)
|
||||||
|
req_access = list()
|
||||||
|
|
||||||
/obj/machinery/computer/cargo/ui_act(action, params, datum/tgui/ui)
|
/obj/machinery/computer/cargo/ui_act(action, params, datum/tgui/ui)
|
||||||
if(!allowed(usr))
|
if(!allowed(usr))
|
||||||
|
|||||||
@@ -138,12 +138,18 @@
|
|||||||
|
|
||||||
// Gunna allow this for now, still really don't approve - Pooj
|
// Gunna allow this for now, still really don't approve - Pooj
|
||||||
/obj/item/hypospray/mkii/emag_act(mob/user)
|
/obj/item/hypospray/mkii/emag_act(mob/user)
|
||||||
|
. = ..()
|
||||||
|
if(obj_flags & EMAGGED)
|
||||||
|
to_chat(user, "[src] happens to be already overcharged.")
|
||||||
|
return
|
||||||
inject_wait = COMBAT_WAIT_INJECT
|
inject_wait = COMBAT_WAIT_INJECT
|
||||||
spray_wait = COMBAT_WAIT_SPRAY
|
spray_wait = COMBAT_WAIT_SPRAY
|
||||||
spray_self = COMBAT_SELF_INJECT
|
spray_self = COMBAT_SELF_INJECT
|
||||||
inject_self = COMBAT_SELF_SPRAY
|
inject_self = COMBAT_SELF_SPRAY
|
||||||
penetrates = TRUE
|
penetrates = TRUE
|
||||||
to_chat(user, "You overcharge [src]'s control circuit.")
|
to_chat(user, "You overcharge [src]'s control circuit.")
|
||||||
|
obj_flags |= EMAGGED
|
||||||
|
return TRUE
|
||||||
|
|
||||||
/obj/item/hypospray/mkii/attack_hand(mob/user)
|
/obj/item/hypospray/mkii/attack_hand(mob/user)
|
||||||
. = ..() //Don't bother changing this or removing it from containers will break.
|
. = ..() //Don't bother changing this or removing it from containers will break.
|
||||||
|
|||||||
@@ -2504,22 +2504,10 @@
|
|||||||
#include "code\modules\research\designs\AI_module_designs.dm"
|
#include "code\modules\research\designs\AI_module_designs.dm"
|
||||||
#include "code\modules\research\designs\biogenerator_designs.dm"
|
#include "code\modules\research\designs\biogenerator_designs.dm"
|
||||||
#include "code\modules\research\designs\bluespace_designs.dm"
|
#include "code\modules\research\designs\bluespace_designs.dm"
|
||||||
#include "code\modules\research\designs\comp_board_designs\comp_board_designs_all_misc.dm"
|
|
||||||
#include "code\modules\research\designs\comp_board_designs\comp_board_designs_cargo .dm"
|
|
||||||
#include "code\modules\research\designs\comp_board_designs\comp_board_designs_engi.dm"
|
|
||||||
#include "code\modules\research\designs\comp_board_designs\comp_board_designs_medical.dm"
|
|
||||||
#include "code\modules\research\designs\comp_board_designs\comp_board_designs_sci.dm"
|
|
||||||
#include "code\modules\research\designs\comp_board_designs\comp_board_designs_sec.dm"
|
|
||||||
#include "code\modules\research\designs\computer_part_designs.dm"
|
#include "code\modules\research\designs\computer_part_designs.dm"
|
||||||
#include "code\modules\research\designs\electronics_designs.dm"
|
#include "code\modules\research\designs\electronics_designs.dm"
|
||||||
#include "code\modules\research\designs\equipment_designs.dm"
|
#include "code\modules\research\designs\equipment_designs.dm"
|
||||||
#include "code\modules\research\designs\limbgrower_designs.dm"
|
#include "code\modules\research\designs\limbgrower_designs.dm"
|
||||||
#include "code\modules\research\designs\machine_desings\machine_designs_all_misc.dm"
|
|
||||||
#include "code\modules\research\designs\machine_desings\machine_designs_cargo.dm"
|
|
||||||
#include "code\modules\research\designs\machine_desings\machine_designs_engi.dm"
|
|
||||||
#include "code\modules\research\designs\machine_desings\machine_designs_medical.dm"
|
|
||||||
#include "code\modules\research\designs\machine_desings\machine_designs_sci.dm"
|
|
||||||
#include "code\modules\research\designs\machine_desings\machine_designs_service.dm"
|
|
||||||
#include "code\modules\research\designs\mecha_designs.dm"
|
#include "code\modules\research\designs\mecha_designs.dm"
|
||||||
#include "code\modules\research\designs\mechfabricator_designs.dm"
|
#include "code\modules\research\designs\mechfabricator_designs.dm"
|
||||||
#include "code\modules\research\designs\medical_designs.dm"
|
#include "code\modules\research\designs\medical_designs.dm"
|
||||||
@@ -2537,6 +2525,18 @@
|
|||||||
#include "code\modules\research\designs\autolathe_desings\autolathe_designs_sec_and_hacked.dm"
|
#include "code\modules\research\designs\autolathe_desings\autolathe_designs_sec_and_hacked.dm"
|
||||||
#include "code\modules\research\designs\autolathe_desings\autolathe_designs_tcomms_and_misc.dm"
|
#include "code\modules\research\designs\autolathe_desings\autolathe_designs_tcomms_and_misc.dm"
|
||||||
#include "code\modules\research\designs\autolathe_desings\autolathe_designs_tools.dm"
|
#include "code\modules\research\designs\autolathe_desings\autolathe_designs_tools.dm"
|
||||||
|
#include "code\modules\research\designs\comp_board_designs\comp_board_designs_all_misc.dm"
|
||||||
|
#include "code\modules\research\designs\comp_board_designs\comp_board_designs_cargo .dm"
|
||||||
|
#include "code\modules\research\designs\comp_board_designs\comp_board_designs_engi.dm"
|
||||||
|
#include "code\modules\research\designs\comp_board_designs\comp_board_designs_medical.dm"
|
||||||
|
#include "code\modules\research\designs\comp_board_designs\comp_board_designs_sci.dm"
|
||||||
|
#include "code\modules\research\designs\comp_board_designs\comp_board_designs_sec.dm"
|
||||||
|
#include "code\modules\research\designs\machine_desings\machine_designs_all_misc.dm"
|
||||||
|
#include "code\modules\research\designs\machine_desings\machine_designs_cargo.dm"
|
||||||
|
#include "code\modules\research\designs\machine_desings\machine_designs_engi.dm"
|
||||||
|
#include "code\modules\research\designs\machine_desings\machine_designs_medical.dm"
|
||||||
|
#include "code\modules\research\designs\machine_desings\machine_designs_sci.dm"
|
||||||
|
#include "code\modules\research\designs\machine_desings\machine_designs_service.dm"
|
||||||
#include "code\modules\research\machinery\_production.dm"
|
#include "code\modules\research\machinery\_production.dm"
|
||||||
#include "code\modules\research\machinery\circuit_imprinter.dm"
|
#include "code\modules\research\machinery\circuit_imprinter.dm"
|
||||||
#include "code\modules\research\machinery\departmental_circuit_imprinter.dm"
|
#include "code\modules\research\machinery\departmental_circuit_imprinter.dm"
|
||||||
|
|||||||
Reference in New Issue
Block a user