mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
[MIRROR] forward refs in usr dialog (#10115)
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
dd1e35202f
commit
90329c46d2
@@ -259,7 +259,7 @@
|
|||||||
S.use(1)
|
S.use(1)
|
||||||
count++
|
count++
|
||||||
user.visible_message("\The [user] inserts [S.name] into \the [src].", span_notice("You insert [count] [S.name] into \the [src]."))
|
user.visible_message("\The [user] inserts [S.name] into \the [src].", span_notice("You insert [count] [S.name] into \the [src]."))
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
else
|
else
|
||||||
to_chat(user, span_warning("\The [src] cannot hold more [S.name]."))
|
to_chat(user, span_warning("\The [src] cannot hold more [S.name]."))
|
||||||
return 1
|
return 1
|
||||||
|
|||||||
@@ -72,7 +72,7 @@
|
|||||||
INVOKE_ASYNC(src, PROC_REF(toggle_all), FALSE)
|
INVOKE_ASYNC(src, PROC_REF(toggle_all), FALSE)
|
||||||
. = TRUE
|
. = TRUE
|
||||||
if("scan")
|
if("scan")
|
||||||
scanscrubbers()
|
scanscrubbers(ui.user)
|
||||||
. = TRUE
|
. = TRUE
|
||||||
|
|
||||||
add_fingerprint(ui.user)
|
add_fingerprint(ui.user)
|
||||||
@@ -92,7 +92,7 @@
|
|||||||
return FALSE
|
return FALSE
|
||||||
return TRUE
|
return TRUE
|
||||||
|
|
||||||
/obj/machinery/computer/area_atmos/proc/scanscrubbers()
|
/obj/machinery/computer/area_atmos/proc/scanscrubbers(mob/user)
|
||||||
connectedscrubbers = list()
|
connectedscrubbers = list()
|
||||||
|
|
||||||
var/found = 0
|
var/found = 0
|
||||||
@@ -103,13 +103,13 @@
|
|||||||
if(!found)
|
if(!found)
|
||||||
status = "ERROR: No scrubber found!"
|
status = "ERROR: No scrubber found!"
|
||||||
|
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
|
|
||||||
// The one that only works in the same map area
|
// The one that only works in the same map area
|
||||||
/obj/machinery/computer/area_atmos/area
|
/obj/machinery/computer/area_atmos/area
|
||||||
zone = "This computer is working in a wired network limited to this area."
|
zone = "This computer is working in a wired network limited to this area."
|
||||||
|
|
||||||
/obj/machinery/computer/area_atmos/area/scanscrubbers()
|
/obj/machinery/computer/area_atmos/area/scanscrubbers(mob/user)
|
||||||
connectedscrubbers.Cut()
|
connectedscrubbers.Cut()
|
||||||
|
|
||||||
var/found = 0
|
var/found = 0
|
||||||
@@ -121,7 +121,7 @@
|
|||||||
if(!found)
|
if(!found)
|
||||||
status = "ERROR: No scrubber found!"
|
status = "ERROR: No scrubber found!"
|
||||||
|
|
||||||
src.updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
|
|
||||||
/obj/machinery/computer/area_atmos/area/validscrubber(var/obj/machinery/portable_atmospherics/powered/scrubber/huge/scrubber)
|
/obj/machinery/computer/area_atmos/area/validscrubber(var/obj/machinery/portable_atmospherics/powered/scrubber/huge/scrubber)
|
||||||
if(!istype(scrubber))
|
if(!istype(scrubber))
|
||||||
|
|||||||
@@ -231,7 +231,7 @@
|
|||||||
icon_state = "biogen-work"
|
icon_state = "biogen-work"
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/biogenerator/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
/obj/machinery/biogenerator/attackby(var/obj/item/O, var/mob/user)
|
||||||
if(default_deconstruction_screwdriver(user, O))
|
if(default_deconstruction_screwdriver(user, O))
|
||||||
return
|
return
|
||||||
if(default_deconstruction_crowbar(user, O))
|
if(default_deconstruction_crowbar(user, O))
|
||||||
@@ -247,7 +247,7 @@
|
|||||||
user.remove_from_mob(O)
|
user.remove_from_mob(O)
|
||||||
O.loc = src
|
O.loc = src
|
||||||
beaker = O
|
beaker = O
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
else if(processing)
|
else if(processing)
|
||||||
to_chat(user, span_notice("\The [src] is currently processing."))
|
to_chat(user, span_notice("\The [src] is currently processing."))
|
||||||
else if(istype(O, /obj/item/storage/bag/plants))
|
else if(istype(O, /obj/item/storage/bag/plants))
|
||||||
|
|||||||
@@ -81,7 +81,7 @@
|
|||||||
|
|
||||||
/obj/machinery/organ_printer/attackby(var/obj/item/O, var/mob/user)
|
/obj/machinery/organ_printer/attackby(var/obj/item/O, var/mob/user)
|
||||||
if(default_deconstruction_screwdriver(user, O))
|
if(default_deconstruction_screwdriver(user, O))
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
return
|
return
|
||||||
if(default_deconstruction_crowbar(user, O))
|
if(default_deconstruction_crowbar(user, O))
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -407,15 +407,12 @@
|
|||||||
mess = 1
|
mess = 1
|
||||||
update_icon()
|
update_icon()
|
||||||
occupant.ghostize()
|
occupant.ghostize()
|
||||||
spawn(5)
|
QDEL_IN(occupant, 0.5 SECONDS)
|
||||||
qdel(occupant)
|
|
||||||
return
|
|
||||||
|
|
||||||
/obj/machinery/clonepod/relaymove(mob/user as mob)
|
/obj/machinery/clonepod/relaymove(mob/user)
|
||||||
if(user.stat)
|
if(user.stat)
|
||||||
return
|
return
|
||||||
go_out()
|
go_out()
|
||||||
return
|
|
||||||
|
|
||||||
/obj/machinery/clonepod/emp_act(severity)
|
/obj/machinery/clonepod/emp_act(severity)
|
||||||
if(prob(100/severity))
|
if(prob(100/severity))
|
||||||
|
|||||||
@@ -732,7 +732,7 @@
|
|||||||
event()
|
event()
|
||||||
|
|
||||||
src.add_fingerprint(usr)
|
src.add_fingerprint(usr)
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(usr)
|
||||||
busy = 0
|
busy = 0
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -186,7 +186,7 @@
|
|||||||
M.open()
|
M.open()
|
||||||
else
|
else
|
||||||
M.close()
|
M.close()
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ var/prison_shuttle_timeleft = 0
|
|||||||
post_signal("prison")
|
post_signal("prison")
|
||||||
to_chat(usr, span_notice("The prison shuttle has been called and will arrive in [(PRISON_MOVETIME/10)] seconds."))
|
to_chat(usr, span_notice("The prison shuttle has been called and will arrive in [(PRISON_MOVETIME/10)] seconds."))
|
||||||
src.temp += "Shuttle sent.<BR><BR><A href='byond://?src=\ref[src];mainmenu=1'>OK</A>"
|
src.temp += "Shuttle sent.<BR><BR><A href='byond://?src=\ref[src];mainmenu=1'>OK</A>"
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(usr)
|
||||||
prison_shuttle_moving_to_prison = 1
|
prison_shuttle_moving_to_prison = 1
|
||||||
prison_shuttle_time = world.timeofday + PRISON_MOVETIME
|
prison_shuttle_time = world.timeofday + PRISON_MOVETIME
|
||||||
spawn(0)
|
spawn(0)
|
||||||
@@ -80,7 +80,7 @@ var/prison_shuttle_timeleft = 0
|
|||||||
post_signal("prison")
|
post_signal("prison")
|
||||||
to_chat(usr, span_notice("The prison shuttle has been called and will arrive in [(PRISON_MOVETIME/10)] seconds."))
|
to_chat(usr, span_notice("The prison shuttle has been called and will arrive in [(PRISON_MOVETIME/10)] seconds."))
|
||||||
src.temp += "Shuttle sent.<BR><BR><A href='byond://?src=\ref[src];mainmenu=1'>OK</A>"
|
src.temp += "Shuttle sent.<BR><BR><A href='byond://?src=\ref[src];mainmenu=1'>OK</A>"
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(usr)
|
||||||
prison_shuttle_moving_to_station = 1
|
prison_shuttle_moving_to_station = 1
|
||||||
prison_shuttle_time = world.timeofday + PRISON_MOVETIME
|
prison_shuttle_time = world.timeofday + PRISON_MOVETIME
|
||||||
spawn(0)
|
spawn(0)
|
||||||
@@ -90,7 +90,7 @@ var/prison_shuttle_timeleft = 0
|
|||||||
src.temp = null
|
src.temp = null
|
||||||
|
|
||||||
src.add_fingerprint(usr)
|
src.add_fingerprint(usr)
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -295,7 +295,7 @@ var/specops_shuttle_timeleft = 0
|
|||||||
to_chat(usr, span_notice("The Special Operations shuttle will arrive at [using_map.boss_name] in [(SPECOPS_MOVETIME/10)] seconds."))
|
to_chat(usr, span_notice("The Special Operations shuttle will arrive at [using_map.boss_name] in [(SPECOPS_MOVETIME/10)] seconds."))
|
||||||
|
|
||||||
temp += "Shuttle departing.<BR><BR><A href='byond://?src=\ref[src];mainmenu=1'>OK</A>"
|
temp += "Shuttle departing.<BR><BR><A href='byond://?src=\ref[src];mainmenu=1'>OK</A>"
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
|
|
||||||
specops_shuttle_moving_to_centcom = 1
|
specops_shuttle_moving_to_centcom = 1
|
||||||
specops_shuttle_time = world.timeofday + SPECOPS_MOVETIME
|
specops_shuttle_time = world.timeofday + SPECOPS_MOVETIME
|
||||||
@@ -312,7 +312,7 @@ var/specops_shuttle_timeleft = 0
|
|||||||
to_chat(usr, span_notice("The Special Operations shuttle will arrive on [station_name()] in [(SPECOPS_MOVETIME/10)] seconds."))
|
to_chat(usr, span_notice("The Special Operations shuttle will arrive on [station_name()] in [(SPECOPS_MOVETIME/10)] seconds."))
|
||||||
|
|
||||||
temp += "Shuttle departing.<BR><BR><A href='byond://?src=\ref[src];mainmenu=1'>OK</A>"
|
temp += "Shuttle departing.<BR><BR><A href='byond://?src=\ref[src];mainmenu=1'>OK</A>"
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
|
|
||||||
var/area/centcom/specops/special_ops = locate()
|
var/area/centcom/specops/special_ops = locate()
|
||||||
if(special_ops)
|
if(special_ops)
|
||||||
@@ -327,7 +327,7 @@ var/specops_shuttle_timeleft = 0
|
|||||||
temp = null
|
temp = null
|
||||||
|
|
||||||
add_fingerprint(usr)
|
add_fingerprint(usr)
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
|
|
||||||
#undef SPECOPS_MOVETIME
|
#undef SPECOPS_MOVETIME
|
||||||
|
|||||||
@@ -322,7 +322,7 @@
|
|||||||
data_core.manifest_modify(writer.registered_name, writer.assignment, writer.rank)
|
data_core.manifest_modify(writer.registered_name, writer.assignment, writer.rank)
|
||||||
callHook("reassign_employee", list(writer))
|
callHook("reassign_employee", list(writer))
|
||||||
|
|
||||||
computer.updateUsrDialog()
|
computer.updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
|
|
||||||
/datum/file/program/card_comp/centcom
|
/datum/file/program/card_comp/centcom
|
||||||
|
|||||||
@@ -341,7 +341,7 @@ Just a object used in constructing fire alarms
|
|||||||
var/tp = text2num(href_list["tp"])
|
var/tp = text2num(href_list["tp"])
|
||||||
time += tp
|
time += tp
|
||||||
time = min(max(round(time), 0), 120)
|
time = min(max(round(time), 0), 120)
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
|
|
||||||
add_fingerprint(usr)
|
add_fingerprint(usr)
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -300,9 +300,6 @@
|
|||||||
|
|
||||||
radio_connection.post_signal(src, signal, radio_filter = RADIO_MAGNETS)
|
radio_connection.post_signal(src, signal, radio_filter = RADIO_MAGNETS)
|
||||||
|
|
||||||
spawn(1)
|
|
||||||
updateUsrDialog() // pretty sure this increases responsiveness
|
|
||||||
|
|
||||||
if(href_list["operation"])
|
if(href_list["operation"])
|
||||||
switch(href_list["operation"])
|
switch(href_list["operation"])
|
||||||
if("plusspeed")
|
if("plusspeed")
|
||||||
@@ -327,7 +324,7 @@
|
|||||||
spawn() MagnetMove()
|
spawn() MagnetMove()
|
||||||
|
|
||||||
|
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
|
|
||||||
/obj/machinery/magnetic_controller/proc/MagnetMove()
|
/obj/machinery/magnetic_controller/proc/MagnetMove()
|
||||||
if(looping) return
|
if(looping) return
|
||||||
|
|||||||
@@ -86,7 +86,7 @@
|
|||||||
flick("partslathe-lidopen", src)
|
flick("partslathe-lidopen", src)
|
||||||
icon_state = "partslathe-idle"
|
icon_state = "partslathe-idle"
|
||||||
|
|
||||||
/obj/machinery/partslathe/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
/obj/machinery/partslathe/attackby(var/obj/item/O, var/mob/user)
|
||||||
if(busy)
|
if(busy)
|
||||||
to_chat(user, span_notice("\The [src] is busy. Please wait for completion of previous operation."))
|
to_chat(user, span_notice("\The [src] is busy. Please wait for completion of previous operation."))
|
||||||
return 1
|
return 1
|
||||||
@@ -110,7 +110,7 @@
|
|||||||
copy_board = O
|
copy_board = O
|
||||||
O.forceMove(src)
|
O.forceMove(src)
|
||||||
user.visible_message("[user] inserts [O] into \the [src]'s circuit reader.", span_notice("You insert [O] into \the [src]'s circuit reader."))
|
user.visible_message("[user] inserts [O] into \the [src]'s circuit reader.", span_notice("You insert [O] into \the [src]'s circuit reader."))
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
return
|
return
|
||||||
if(try_load_materials(user, O))
|
if(try_load_materials(user, O))
|
||||||
return
|
return
|
||||||
@@ -136,7 +136,7 @@
|
|||||||
count++
|
count++
|
||||||
user.visible_message("[user] inserts [S.name] into \the [src].", span_notice("You insert [count] [S.name] into \the [src]."))
|
user.visible_message("[user] inserts [S.name] into \the [src].", span_notice("You insert [count] [S.name] into \the [src]."))
|
||||||
flick("partslathe-load-[S.material.name]", src)
|
flick("partslathe-load-[S.material.name]", src)
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
else
|
else
|
||||||
to_chat(user, span_warning("\The [src] cannot hold more [S.name]."))
|
to_chat(user, span_warning("\The [src] cannot hold more [S.name]."))
|
||||||
return 1
|
return 1
|
||||||
|
|||||||
@@ -539,7 +539,7 @@
|
|||||||
if(allowed(user))
|
if(allowed(user))
|
||||||
locked = !locked
|
locked = !locked
|
||||||
to_chat(user, span_notice("Controls are now [locked ? "locked" : "unlocked"]."))
|
to_chat(user, span_notice("Controls are now [locked ? "locked" : "unlocked"]."))
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
else
|
else
|
||||||
to_chat(user, span_notice("Access denied."))
|
to_chat(user, span_notice("Access denied."))
|
||||||
|
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ Please wait until completion...</TT><BR>
|
|||||||
being_built = new building(src)
|
being_built = new building(src)
|
||||||
|
|
||||||
add_overlay("fab-active")
|
add_overlay("fab-active")
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
|
|
||||||
spawn (build_time)
|
spawn (build_time)
|
||||||
if(!isnull(being_built))
|
if(!isnull(being_built))
|
||||||
|
|||||||
@@ -131,10 +131,10 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache)
|
|||||||
|
|
||||||
return loaded
|
return loaded
|
||||||
|
|
||||||
/obj/machinery/suit_cycler/attack_ai(mob/user as mob)
|
/obj/machinery/suit_cycler/attack_ai(mob/user)
|
||||||
return attack_hand(user)
|
return attack_hand(user)
|
||||||
|
|
||||||
/obj/machinery/suit_cycler/attackby(obj/item/I as obj, mob/user as mob)
|
/obj/machinery/suit_cycler/attackby(obj/item/I, mob/user)
|
||||||
|
|
||||||
if(electrified != 0)
|
if(electrified != 0)
|
||||||
if(shock(user, 100))
|
if(shock(user, 100))
|
||||||
@@ -174,7 +174,7 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache)
|
|||||||
add_fingerprint(user)
|
add_fingerprint(user)
|
||||||
qdel(G)
|
qdel(G)
|
||||||
|
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
|
|
||||||
return
|
return
|
||||||
else if(I.has_tool_quality(TOOL_SCREWDRIVER))
|
else if(I.has_tool_quality(TOOL_SCREWDRIVER))
|
||||||
@@ -182,7 +182,7 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache)
|
|||||||
panel_open = !panel_open
|
panel_open = !panel_open
|
||||||
playsound(src, I.usesound, 50, 1)
|
playsound(src, I.usesound, 50, 1)
|
||||||
to_chat(user, "You [panel_open ? "open" : "close"] the maintenance panel.")
|
to_chat(user, "You [panel_open ? "open" : "close"] the maintenance panel.")
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
return
|
return
|
||||||
|
|
||||||
else if(istype(I,/obj/item/clothing/head/helmet/space/void) && !istype(I, /obj/item/clothing/head/helmet/space/rig))
|
else if(istype(I,/obj/item/clothing/head/helmet/space/void) && !istype(I, /obj/item/clothing/head/helmet/space/rig))
|
||||||
@@ -222,7 +222,7 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache)
|
|||||||
helmet = I
|
helmet = I
|
||||||
|
|
||||||
update_icon()
|
update_icon()
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
return
|
return
|
||||||
|
|
||||||
else if(istype(I,/obj/item/clothing/suit/space/void))
|
else if(istype(I,/obj/item/clothing/suit/space/void))
|
||||||
@@ -262,7 +262,7 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache)
|
|||||||
suit = I
|
suit = I
|
||||||
|
|
||||||
update_icon()
|
update_icon()
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
return
|
return
|
||||||
|
|
||||||
..()
|
..()
|
||||||
@@ -278,7 +278,7 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache)
|
|||||||
emagged = 1
|
emagged = 1
|
||||||
safeties = 0
|
safeties = 0
|
||||||
req_access = list()
|
req_access = list()
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
/obj/machinery/suit_cycler/attack_hand(mob/user as mob)
|
/obj/machinery/suit_cycler/attack_hand(mob/user as mob)
|
||||||
@@ -396,7 +396,7 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache)
|
|||||||
active = 1
|
active = 1
|
||||||
spawn(100)
|
spawn(100)
|
||||||
repair_suit()
|
repair_suit()
|
||||||
finished_job()
|
finished_job(ui.user)
|
||||||
. = TRUE
|
. = TRUE
|
||||||
|
|
||||||
if("apply_paintjob")
|
if("apply_paintjob")
|
||||||
@@ -405,7 +405,7 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache)
|
|||||||
active = 1
|
active = 1
|
||||||
spawn(100)
|
spawn(100)
|
||||||
apply_paintjob()
|
apply_paintjob()
|
||||||
finished_job()
|
finished_job(ui.user)
|
||||||
. = TRUE
|
. = TRUE
|
||||||
|
|
||||||
if("lock")
|
if("lock")
|
||||||
@@ -475,13 +475,13 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache)
|
|||||||
occupant.take_organ_damage(0,radiation_level + rand(1,3))
|
occupant.take_organ_damage(0,radiation_level + rand(1,3))
|
||||||
occupant.apply_effect(radiation_level*10, IRRADIATE)
|
occupant.apply_effect(radiation_level*10, IRRADIATE)
|
||||||
|
|
||||||
/obj/machinery/suit_cycler/proc/finished_job()
|
/obj/machinery/suit_cycler/proc/finished_job(mob/user)
|
||||||
var/turf/T = get_turf(src)
|
var/turf/T = get_turf(src)
|
||||||
T.visible_message("[icon2html(src,viewers(src))]" + span_notice("The [src] beeps several times."))
|
T.visible_message("[icon2html(src,viewers(src))]" + span_notice("The [src] beeps several times."))
|
||||||
icon_state = initial(icon_state)
|
icon_state = initial(icon_state)
|
||||||
active = 0
|
active = 0
|
||||||
playsound(src, 'sound/machines/boobeebeep.ogg', 50)
|
playsound(src, 'sound/machines/boobeebeep.ogg', 50)
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
|
|
||||||
/obj/machinery/suit_cycler/proc/repair_suit()
|
/obj/machinery/suit_cycler/proc/repair_suit()
|
||||||
if(!suit || !suit.damage || !suit.can_breach)
|
if(!suit || !suit.damage || !suit.can_breach)
|
||||||
@@ -502,7 +502,7 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache)
|
|||||||
|
|
||||||
eject_occupant(usr)
|
eject_occupant(usr)
|
||||||
|
|
||||||
/obj/machinery/suit_cycler/proc/eject_occupant(mob/user as mob)
|
/obj/machinery/suit_cycler/proc/eject_occupant(mob/user)
|
||||||
|
|
||||||
if(locked || active)
|
if(locked || active)
|
||||||
to_chat(user, span_warning("The cycler is locked."))
|
to_chat(user, span_warning("The cycler is locked."))
|
||||||
@@ -519,7 +519,7 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache)
|
|||||||
occupant = null
|
occupant = null
|
||||||
|
|
||||||
add_fingerprint(user)
|
add_fingerprint(user)
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -227,7 +227,7 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/suit_storage_unit/proc/toggle_open(mob/user as mob)
|
/obj/machinery/suit_storage_unit/proc/toggle_open(mob/user)
|
||||||
if(islocked || isUV)
|
if(islocked || isUV)
|
||||||
to_chat(user, span_warning("Unable to open unit."))
|
to_chat(user, span_warning("Unable to open unit."))
|
||||||
return
|
return
|
||||||
@@ -238,7 +238,7 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/suit_storage_unit/proc/toggle_lock(mob/user as mob)
|
/obj/machinery/suit_storage_unit/proc/toggle_lock(mob/user)
|
||||||
if(OCCUPANT && safetieson)
|
if(OCCUPANT && safetieson)
|
||||||
to_chat(user, span_warning("The Unit's safety protocols disallow locking when a biological form is detected inside its compartments."))
|
to_chat(user, span_warning("The Unit's safety protocols disallow locking when a biological form is detected inside its compartments."))
|
||||||
return
|
return
|
||||||
@@ -248,7 +248,7 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/suit_storage_unit/proc/start_UV(mob/user as mob)
|
/obj/machinery/suit_storage_unit/proc/start_UV(mob/user)
|
||||||
if(isUV || isopen) //I'm bored of all these sanity checks
|
if(isUV || isopen) //I'm bored of all these sanity checks
|
||||||
return
|
return
|
||||||
if(OCCUPANT && safetieson)
|
if(OCCUPANT && safetieson)
|
||||||
@@ -263,7 +263,7 @@
|
|||||||
if(OCCUPANT && !islocked)
|
if(OCCUPANT && !islocked)
|
||||||
islocked = 1 //Let's lock it for good measure
|
islocked = 1 //Let's lock it for good measure
|
||||||
update_icon()
|
update_icon()
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
|
|
||||||
var/i //our counter
|
var/i //our counter
|
||||||
for(i=0,i<4,i++)
|
for(i=0,i<4,i++)
|
||||||
@@ -302,7 +302,7 @@
|
|||||||
eject_occupant(OCCUPANT) //Mixing up these two lines causes bug. DO NOT DO IT.
|
eject_occupant(OCCUPANT) //Mixing up these two lines causes bug. DO NOT DO IT.
|
||||||
isUV = 0 //Cycle ends
|
isUV = 0 //Cycle ends
|
||||||
update_icon()
|
update_icon()
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/suit_storage_unit/proc/cycletimeleft()
|
/obj/machinery/suit_storage_unit/proc/cycletimeleft()
|
||||||
@@ -343,7 +343,7 @@
|
|||||||
return
|
return
|
||||||
eject_occupant(usr)
|
eject_occupant(usr)
|
||||||
add_fingerprint(usr)
|
add_fingerprint(usr)
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
update_icon()
|
update_icon()
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -375,21 +375,21 @@
|
|||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
add_fingerprint(usr)
|
add_fingerprint(usr)
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
OCCUPANT = null //Testing this as a backup sanity test
|
OCCUPANT = null //Testing this as a backup sanity test
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/suit_storage_unit/attackby(obj/item/I as obj, mob/user as mob)
|
/obj/machinery/suit_storage_unit/attackby(obj/item/I, mob/user)
|
||||||
if(!ispowered)
|
if(!ispowered)
|
||||||
return
|
return
|
||||||
if(I.has_tool_quality(TOOL_SCREWDRIVER))
|
if(I.has_tool_quality(TOOL_SCREWDRIVER))
|
||||||
panelopen = !panelopen
|
panelopen = !panelopen
|
||||||
playsound(src, I.usesound, 100, 1)
|
playsound(src, I.usesound, 100, 1)
|
||||||
to_chat(user, span_notice("You [panelopen ? "open up" : "close"] the unit's maintenance panel."))
|
to_chat(user, span_notice("You [panelopen ? "open up" : "close"] the unit's maintenance panel."))
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
return
|
return
|
||||||
if(istype(I, /obj/item/grab))
|
if(istype(I, /obj/item/grab))
|
||||||
var/obj/item/grab/G = I
|
var/obj/item/grab/G = I
|
||||||
@@ -417,7 +417,7 @@
|
|||||||
|
|
||||||
add_fingerprint(user)
|
add_fingerprint(user)
|
||||||
qdel(G)
|
qdel(G)
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
update_icon()
|
update_icon()
|
||||||
return
|
return
|
||||||
return
|
return
|
||||||
@@ -433,7 +433,7 @@
|
|||||||
S.loc = src
|
S.loc = src
|
||||||
SUIT = S
|
SUIT = S
|
||||||
update_icon()
|
update_icon()
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
return
|
return
|
||||||
if(istype(I,/obj/item/clothing/head/helmet))
|
if(istype(I,/obj/item/clothing/head/helmet))
|
||||||
if(!isopen)
|
if(!isopen)
|
||||||
@@ -447,7 +447,7 @@
|
|||||||
H.loc = src
|
H.loc = src
|
||||||
HELMET = H
|
HELMET = H
|
||||||
update_icon()
|
update_icon()
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
return
|
return
|
||||||
if(istype(I,/obj/item/clothing/mask))
|
if(istype(I,/obj/item/clothing/mask))
|
||||||
if(!isopen)
|
if(!isopen)
|
||||||
@@ -461,14 +461,14 @@
|
|||||||
M.loc = src
|
M.loc = src
|
||||||
MASK = M
|
MASK = M
|
||||||
update_icon()
|
update_icon()
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
return
|
return
|
||||||
update_icon()
|
update_icon()
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/suit_storage_unit/attack_ai(mob/user as mob)
|
/obj/machinery/suit_storage_unit/attack_ai(mob/user)
|
||||||
return attack_hand(user)
|
return attack_hand(user)
|
||||||
|
|
||||||
//////////////////////////////REMINDER: Make it lock once you place some fucker inside.
|
//////////////////////////////REMINDER: Make it lock once you place some fucker inside.
|
||||||
|
|||||||
@@ -40,18 +40,18 @@
|
|||||||
return
|
return
|
||||||
if(href_list["betraitor"])
|
if(href_list["betraitor"])
|
||||||
if(charges < 1)
|
if(charges < 1)
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
var/mob/M = locate(href_list["traitormob"])
|
var/mob/M = locate(href_list["traitormob"])
|
||||||
if(M.mind.special_role || jobban_isbanned(M, JOB_SYNDICATE))
|
if(M.mind.special_role || jobban_isbanned(M, JOB_SYNDICATE))
|
||||||
temptext = "<i>We have no need for you at this time. Have a pleasant day.</i><br>"
|
temptext = "<i>We have no need for you at this time. Have a pleasant day.</i><br>"
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
charges -= 1
|
charges -= 1
|
||||||
switch(rand(1,2))
|
switch(rand(1,2))
|
||||||
if(1)
|
if(1)
|
||||||
temptext = "<font color=red><i><b>Double-crosser. You planned to betray us from the start. Allow us to repay the favor in kind.</b></i></font>"
|
temptext = "<font color=red><i><b>Double-crosser. You planned to betray us from the start. Allow us to repay the favor in kind.</b></i></font>"
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
spawn(rand(50,200)) selfdestruct()
|
spawn(rand(50,200)) selfdestruct()
|
||||||
return
|
return
|
||||||
if(2)
|
if(2)
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
traitors.equip(N)
|
traitors.equip(N)
|
||||||
message_admins("[N]/([N.ckey]) has accepted a traitor objective from a syndicate beacon.")
|
message_admins("[N]/([N.ckey]) has accepted a traitor objective from a syndicate beacon.")
|
||||||
|
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/syndicate_beacon/proc/selfdestruct()
|
/obj/machinery/syndicate_beacon/proc/selfdestruct()
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Virgo modified syndie beacon, does not give objectives
|
// Virgo modified syndie beacon, does not give objectives
|
||||||
|
|
||||||
/obj/machinery/syndicate_beacon/virgo/attack_hand(var/mob/user as mob)
|
/obj/machinery/syndicate_beacon/virgo/attack_hand(var/mob/user)
|
||||||
user.set_machine(src)
|
user.set_machine(src)
|
||||||
var/dat = "<font color=#005500><i>Scanning [pick("retina pattern", "voice print", "fingerprints", "dna sequence")]...<br>Identity confirmed,<br></i></font>"
|
var/dat = "<font color=#005500><i>Scanning [pick("retina pattern", "voice print", "fingerprints", "dna sequence")]...<br>Identity confirmed,<br></i></font>"
|
||||||
if(ishuman(user) || isAI(user))
|
if(ishuman(user) || isAI(user))
|
||||||
@@ -22,12 +22,12 @@
|
|||||||
/obj/machinery/syndicate_beacon/virgo/Topic(href, href_list)
|
/obj/machinery/syndicate_beacon/virgo/Topic(href, href_list)
|
||||||
if(href_list["betraitor"])
|
if(href_list["betraitor"])
|
||||||
if(charges < 1)
|
if(charges < 1)
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
var/mob/M = locate(href_list["traitormob"])
|
var/mob/M = locate(href_list["traitormob"])
|
||||||
if(M.mind.tcrystals > 0 || jobban_isbanned(M, JOB_SYNDICATE))
|
if(M.mind.tcrystals > 0 || jobban_isbanned(M, JOB_SYNDICATE))
|
||||||
temptext = "<i>We have no need for you at this time. Have a pleasant day.</i><br>"
|
temptext = "<i>We have no need for you at this time. Have a pleasant day.</i><br>"
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
charges -= 1
|
charges -= 1
|
||||||
if(ishuman(M))
|
if(ishuman(M))
|
||||||
@@ -38,5 +38,5 @@
|
|||||||
N.mind.accept_tcrystals = 1
|
N.mind.accept_tcrystals = 1
|
||||||
message_admins("[N]/([N.ckey]) has received an uplink and telecrystals from the syndicate beacon.")
|
message_admins("[N]/([N.ckey]) has received an uplink and telecrystals from the syndicate beacon.")
|
||||||
|
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -150,7 +150,7 @@
|
|||||||
playsound(src, 'sound/effects/sparks4.ogg', 75, 1)
|
playsound(src, 'sound/effects/sparks4.ogg', 75, 1)
|
||||||
emagged = 1
|
emagged = 1
|
||||||
to_chat(user, span_notice("You you disable the security protocols"))
|
to_chat(user, span_notice("You you disable the security protocols"))
|
||||||
src.updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
/obj/machinery/computer/telecomms/server/proc/set_temp(var/text, var/color = "average")
|
/obj/machinery/computer/telecomms/server/proc/set_temp(var/text, var/color = "average")
|
||||||
|
|||||||
@@ -122,7 +122,7 @@
|
|||||||
playsound(src, 'sound/effects/sparks4.ogg', 75, 1)
|
playsound(src, 'sound/effects/sparks4.ogg', 75, 1)
|
||||||
emagged = 1
|
emagged = 1
|
||||||
to_chat(user, span_notice("You you disable the security protocols"))
|
to_chat(user, span_notice("You you disable the security protocols"))
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(user)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
/obj/machinery/computer/telecomms/monitor/proc/set_temp(var/text, var/color = "average")
|
/obj/machinery/computer/telecomms/monitor/proc/set_temp(var/text, var/color = "average")
|
||||||
|
|||||||
@@ -206,7 +206,7 @@
|
|||||||
servers = list()
|
servers = list()
|
||||||
temp = "<font color = #336699>- NEW NETWORK TAG SET IN ADDRESS \[[network]\] -</font>"
|
temp = "<font color = #336699>- NEW NETWORK TAG SET IN ADDRESS \[[network]\] -</font>"
|
||||||
|
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/computer/telecomms/traffic/emag_act(var/remaining_charges, var/mob/user)
|
/obj/machinery/computer/telecomms/traffic/emag_act(var/remaining_charges, var/mob/user)
|
||||||
@@ -214,5 +214,5 @@
|
|||||||
playsound(src, 'sound/effects/sparks4.ogg', 75, 1)
|
playsound(src, 'sound/effects/sparks4.ogg', 75, 1)
|
||||||
emagged = 1
|
emagged = 1
|
||||||
to_chat(user, span_notice("You you disable the security protocols"))
|
to_chat(user, span_notice("You you disable the security protocols"))
|
||||||
src.updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
return 1
|
return 1
|
||||||
|
|||||||
@@ -161,7 +161,7 @@
|
|||||||
in_use = FALSE
|
in_use = FALSE
|
||||||
return
|
return
|
||||||
in_use = FALSE
|
in_use = FALSE
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
w_class = ITEMSIZE_TINY
|
w_class = ITEMSIZE_TINY
|
||||||
var/list/item_quants = list()
|
var/list/item_quants = list()
|
||||||
|
|
||||||
/obj/item/seedbag/attack_self(mob/user as mob)
|
/obj/item/seedbag/attack_self(mob/user)
|
||||||
user.machine = src
|
user.machine = src
|
||||||
interact(user)
|
interact(user)
|
||||||
|
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
if(0)
|
if(0)
|
||||||
to_chat(usr, "The bag now picks up one seed pouch at a time.")
|
to_chat(usr, "The bag now picks up one seed pouch at a time.")
|
||||||
|
|
||||||
/obj/item/seeds/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
/obj/item/seeds/attackby(var/obj/item/O, var/mob/user)
|
||||||
..()
|
..()
|
||||||
if (istype(O, /obj/item/seedbag))
|
if (istype(O, /obj/item/seedbag))
|
||||||
var/obj/item/seedbag/S = O
|
var/obj/item/seedbag/S = O
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
S.item_quants[G.name] = 1
|
S.item_quants[G.name] = 1
|
||||||
else
|
else
|
||||||
to_chat(user, span_warning("The seed bag is full."))
|
to_chat(user, span_warning("The seed bag is full."))
|
||||||
S.updateUsrDialog()
|
S.updateUsrDialog(user)
|
||||||
return
|
return
|
||||||
to_chat(user, span_notice("You pick up all the seeds."))
|
to_chat(user, span_notice("You pick up all the seeds."))
|
||||||
else
|
else
|
||||||
@@ -55,10 +55,10 @@
|
|||||||
S.item_quants[name] = 1
|
S.item_quants[name] = 1
|
||||||
else
|
else
|
||||||
to_chat(user, span_warning("The seed bag is full."))
|
to_chat(user, span_warning("The seed bag is full."))
|
||||||
S.updateUsrDialog()
|
S.updateUsrDialog(user)
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/item/seedbag/interact(mob/user as mob)
|
/obj/item/seedbag/interact(mob/user)
|
||||||
|
|
||||||
var/dat = "<TT><b>Select an item:</b><br>"
|
var/dat = "<TT><b>Select an item:</b><br>"
|
||||||
|
|
||||||
@@ -102,10 +102,10 @@
|
|||||||
for(var/obj/O in contents )
|
for(var/obj/O in contents )
|
||||||
O.loc = get_turf(src)
|
O.loc = get_turf(src)
|
||||||
|
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/item/seedbag/updateUsrDialog()
|
/obj/item/seedbag/updateUsrDialog(mob/user)
|
||||||
var/list/nearby = range(1, src)
|
var/list/nearby = range(1, src)
|
||||||
for(var/mob/M in nearby)
|
for(var/mob/M in nearby)
|
||||||
if ((M.client && M.machine == src))
|
if ((M.client && M.machine == src))
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
add_implants()
|
add_implants()
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/implantchair/attack_hand(mob/user as mob)
|
/obj/machinery/implantchair/attack_hand(mob/user)
|
||||||
user.set_machine(src)
|
user.set_machine(src)
|
||||||
var/health_text = ""
|
var/health_text = ""
|
||||||
if(src.occupant)
|
if(src.occupant)
|
||||||
@@ -62,12 +62,12 @@
|
|||||||
add_implants()
|
add_implants()
|
||||||
ready = 1
|
ready = 1
|
||||||
|
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(usr)
|
||||||
src.add_fingerprint(usr)
|
src.add_fingerprint(usr)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/implantchair/attackby(var/obj/item/G as obj, var/mob/user as mob)
|
/obj/machinery/implantchair/attackby(var/obj/item/G, var/mob/user)
|
||||||
if(istype(G, /obj/item/grab))
|
if(istype(G, /obj/item/grab))
|
||||||
var/obj/item/grab/grab = G
|
var/obj/item/grab/grab = G
|
||||||
if(!ismob(grab.affecting))
|
if(!ismob(grab.affecting))
|
||||||
@@ -78,7 +78,7 @@
|
|||||||
var/mob/M = grab.affecting
|
var/mob/M = grab.affecting
|
||||||
if(put_mob(M))
|
if(put_mob(M))
|
||||||
qdel(G)
|
qdel(G)
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(user)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -99,7 +99,7 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/implantchair/proc/put_mob(mob/living/carbon/M as mob)
|
/obj/machinery/implantchair/proc/put_mob(mob/living/carbon/M)
|
||||||
if(!iscarbon(M))
|
if(!iscarbon(M))
|
||||||
to_chat(usr, span_warning("\The [src] cannot hold this!"))
|
to_chat(usr, span_warning("\The [src] cannot hold this!"))
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -104,24 +104,26 @@
|
|||||||
else
|
else
|
||||||
return null
|
return null
|
||||||
|
|
||||||
/obj/proc/updateUsrDialog()
|
/obj/proc/updateUsrDialog(mob/user)
|
||||||
if(in_use)
|
if(in_use)
|
||||||
|
to_world("we actually have a [user]")
|
||||||
|
to_world("we got a [usr]")
|
||||||
var/is_in_use = 0
|
var/is_in_use = 0
|
||||||
var/list/nearby = viewers(1, src)
|
var/list/nearby = viewers(1, src)
|
||||||
for(var/mob/M in nearby)
|
for(var/mob/M in nearby)
|
||||||
if ((M.client && M.machine == src))
|
if ((M.client && M.machine == src))
|
||||||
is_in_use = 1
|
is_in_use = 1
|
||||||
src.attack_hand(M)
|
src.attack_hand(M)
|
||||||
if (isAI(usr) || isrobot(usr))
|
if (isAI(user) || isrobot(user))
|
||||||
if (!(usr in nearby))
|
if (!(user in nearby))
|
||||||
if (usr.client && usr.machine==src) // && M.machine == src is omitted because if we triggered this by using the dialog, it doesn't matter if our machine changed in between triggering it and this - the dialog is probably still supposed to refresh.
|
if (user.client && user.machine==src) // && M.machine == src is omitted because if we triggered this by using the dialog, it doesn't matter if our machine changed in between triggering it and this - the dialog is probably still supposed to refresh.
|
||||||
is_in_use = 1
|
is_in_use = 1
|
||||||
src.attack_ai(usr)
|
src.attack_ai(user)
|
||||||
|
|
||||||
// check for TK users
|
// check for TK users
|
||||||
|
|
||||||
if (ishuman(usr))
|
if (ishuman(user))
|
||||||
var/mob/living/carbon/human/H = usr
|
var/mob/living/carbon/human/H = user
|
||||||
if(H.get_type_in_hands(/obj/item/tk_grab))
|
if(H.get_type_in_hands(/obj/item/tk_grab))
|
||||||
if(!(H in nearby))
|
if(!(H in nearby))
|
||||||
if(H.client && H.machine==src)
|
if(H.client && H.machine==src)
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ FLOOR SAFES
|
|||||||
space += I.w_class
|
space += I.w_class
|
||||||
I.forceMove(src)
|
I.forceMove(src)
|
||||||
|
|
||||||
/obj/structure/safe/proc/check_unlocked(mob/user as mob, canhear)
|
/obj/structure/safe/proc/check_unlocked(mob/user, canhear)
|
||||||
if(user && canhear)
|
if(user && canhear)
|
||||||
if(tumbler_1_pos == tumbler_1_open)
|
if(tumbler_1_pos == tumbler_1_open)
|
||||||
to_chat(user, span_notice("You hear a [pick("tonk", "krunk", "plunk")] from \the [src]."))
|
to_chat(user, span_notice("You hear a [pick("tonk", "krunk", "plunk")] from \the [src]."))
|
||||||
@@ -75,7 +75,7 @@ FLOOR SAFES
|
|||||||
icon_state = initial(icon_state)
|
icon_state = initial(icon_state)
|
||||||
|
|
||||||
|
|
||||||
/obj/structure/safe/attack_hand(mob/user as mob)
|
/obj/structure/safe/attack_hand(mob/user)
|
||||||
user.set_machine(src)
|
user.set_machine(src)
|
||||||
var/dat = "<center>"
|
var/dat = "<center>"
|
||||||
dat += "<a href='byond://?src=\ref[src];open=1'>[open ? "Close" : "Open"] [src]</a> | <a href='byond://?src=\ref[src];decrement=1'>-</a> [dial * 5] <a href='byond://?src=\ref[src];increment=1'>+</a>"
|
dat += "<a href='byond://?src=\ref[src];open=1'>[open ? "Close" : "Open"] [src]</a> | <a href='byond://?src=\ref[src];decrement=1'>-</a> [dial * 5] <a href='byond://?src=\ref[src];increment=1'>+</a>"
|
||||||
@@ -101,7 +101,7 @@ FLOOR SAFES
|
|||||||
to_chat(user, span_notice("You [open ? "close" : "open"] [src]."))
|
to_chat(user, span_notice("You [open ? "close" : "open"] [src]."))
|
||||||
open = !open
|
open = !open
|
||||||
update_icon()
|
update_icon()
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
to_chat(user, span_notice("You can't [open ? "close" : "open"] [src], the lock is engaged!"))
|
to_chat(user, span_notice("You can't [open ? "close" : "open"] [src], the lock is engaged!"))
|
||||||
@@ -120,7 +120,7 @@ FLOOR SAFES
|
|||||||
playsound(src, 'sound/machines/click.ogg', 20, 1)
|
playsound(src, 'sound/machines/click.ogg', 20, 1)
|
||||||
check_unlocked(user, canhear)
|
check_unlocked(user, canhear)
|
||||||
|
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
|
|
||||||
if(href_list["increment"])
|
if(href_list["increment"])
|
||||||
@@ -135,7 +135,7 @@ FLOOR SAFES
|
|||||||
to_chat(user, span_notice("You hear a [pick("click", "chink", "clink")] from \the [src]."))
|
to_chat(user, span_notice("You hear a [pick("click", "chink", "clink")] from \the [src]."))
|
||||||
playsound(src, 'sound/machines/click.ogg', 20, 1)
|
playsound(src, 'sound/machines/click.ogg', 20, 1)
|
||||||
check_unlocked(user, canhear)
|
check_unlocked(user, canhear)
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
|
|
||||||
if(href_list["retrieve"])
|
if(href_list["retrieve"])
|
||||||
@@ -145,17 +145,17 @@ FLOOR SAFES
|
|||||||
if(open)
|
if(open)
|
||||||
if(P && in_range(src, user))
|
if(P && in_range(src, user))
|
||||||
user.put_in_hands(P)
|
user.put_in_hands(P)
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
|
|
||||||
|
|
||||||
/obj/structure/safe/attackby(obj/item/I as obj, mob/user as mob)
|
/obj/structure/safe/attackby(obj/item/I, mob/user)
|
||||||
if(open)
|
if(open)
|
||||||
if(I.w_class + space <= maxspace)
|
if(I.w_class + space <= maxspace)
|
||||||
space += I.w_class
|
space += I.w_class
|
||||||
user.drop_item()
|
user.drop_item()
|
||||||
I.loc = src
|
I.loc = src
|
||||||
to_chat(user, span_notice("You put [I] in \the [src]."))
|
to_chat(user, span_notice("You put [I] in \the [src]."))
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
to_chat(user, span_notice("[I] won't fit in \the [src]."))
|
to_chat(user, span_notice("[I] won't fit in \the [src]."))
|
||||||
|
|||||||
@@ -136,7 +136,7 @@
|
|||||||
isopen = 0
|
isopen = 0
|
||||||
update_icon()
|
update_icon()
|
||||||
add_fingerprint(M)
|
add_fingerprint(M)
|
||||||
updateUsrDialog()
|
updateUsrDialog(M)
|
||||||
M.stop_flying()
|
M.stop_flying()
|
||||||
|
|
||||||
/obj/machinery/vending/stumble_into(mob/living/M)
|
/obj/machinery/vending/stumble_into(mob/living/M)
|
||||||
|
|||||||
@@ -122,7 +122,7 @@
|
|||||||
do_confirm(confirmation, usr)
|
do_confirm(confirmation, usr)
|
||||||
|
|
||||||
src.add_fingerprint(usr)
|
src.add_fingerprint(usr)
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/computer/interservershipping/proc/do_confirm(var/confirmation, var/mob/user)
|
/obj/machinery/computer/interservershipping/proc/do_confirm(var/confirmation, var/mob/user)
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ Book Cart
|
|||||||
anchored = FALSE
|
anchored = FALSE
|
||||||
opacity = 0
|
opacity = 0
|
||||||
|
|
||||||
/obj/structure/bookcase/bookcart/attackby(obj/item/O as obj, mob/user as mob)
|
/obj/structure/bookcase/bookcart/attackby(obj/item/O as obj, mob/user)
|
||||||
if(istype(O, /obj/item/book))
|
if(istype(O, /obj/item/book))
|
||||||
user.drop_item()
|
user.drop_item()
|
||||||
O.loc = src
|
O.loc = src
|
||||||
@@ -188,7 +188,7 @@ Book Cart End
|
|||||||
drop_sound = 'sound/items/drop/book.ogg'
|
drop_sound = 'sound/items/drop/book.ogg'
|
||||||
pickup_sound = 'sound/items/pickup/book.ogg'
|
pickup_sound = 'sound/items/pickup/book.ogg'
|
||||||
|
|
||||||
/obj/item/book/attack_self(var/mob/user as mob)
|
/obj/item/book/attack_self(var/mob/user)
|
||||||
if(carved)
|
if(carved)
|
||||||
if(store)
|
if(store)
|
||||||
to_chat(user, span_notice("[store] falls out of [title]!"))
|
to_chat(user, span_notice("[store] falls out of [title]!"))
|
||||||
@@ -299,7 +299,7 @@ Book Cart End
|
|||||||
else
|
else
|
||||||
..()
|
..()
|
||||||
|
|
||||||
/obj/item/book/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
|
/obj/item/book/attack(mob/living/carbon/M, mob/living/carbon/user)
|
||||||
if(user.zone_sel.selecting == O_EYES)
|
if(user.zone_sel.selecting == O_EYES)
|
||||||
user.visible_message(span_notice("You open up the book and show it to [M]."), \
|
user.visible_message(span_notice("You open up the book and show it to [M]."), \
|
||||||
span_notice(" [user] opens up a book and shows it to [M]."))
|
span_notice(" [user] opens up a book and shows it to [M]."))
|
||||||
@@ -373,7 +373,7 @@ Book Cart End
|
|||||||
page--
|
page--
|
||||||
playsound(src, "pageturn", 50, 1)
|
playsound(src, "pageturn", 50, 1)
|
||||||
src.attack_self(usr)
|
src.attack_self(usr)
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
else
|
else
|
||||||
to_chat(usr, span_notice("You need to hold it in your hands!"))
|
to_chat(usr, span_notice("You need to hold it in your hands!"))
|
||||||
|
|
||||||
@@ -391,7 +391,7 @@ Book Cart End
|
|||||||
var/obj/item/book/book // Currently scanned book
|
var/obj/item/book/book // Currently scanned book
|
||||||
var/mode = 0 // 0 - Scan only, 1 - Scan and Set Buffer, 2 - Scan and Attempt to Check In, 3 - Scan and Attempt to Add to Inventory
|
var/mode = 0 // 0 - Scan only, 1 - Scan and Set Buffer, 2 - Scan and Attempt to Check In, 3 - Scan and Attempt to Add to Inventory
|
||||||
|
|
||||||
/obj/item/barcodescanner/attack_self(mob/user as mob)
|
/obj/item/barcodescanner/attack_self(mob/user)
|
||||||
mode += 1
|
mode += 1
|
||||||
if(mode > 3)
|
if(mode > 3)
|
||||||
mode = 0
|
mode = 0
|
||||||
|
|||||||
@@ -106,7 +106,7 @@
|
|||||||
screenstate = 0
|
screenstate = 0
|
||||||
|
|
||||||
src.add_fingerprint(usr)
|
src.add_fingerprint(usr)
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -513,7 +513,7 @@
|
|||||||
var/obj/item/book/NewBook = new newpath(get_turf(src))
|
var/obj/item/book/NewBook = new newpath(get_turf(src))
|
||||||
NewBook.name = "Book: [NewBook.name]"
|
NewBook.name = "Book: [NewBook.name]"
|
||||||
src.add_fingerprint(usr)
|
src.add_fingerprint(usr)
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -564,7 +564,7 @@
|
|||||||
for(var/obj/item/book/B in contents)
|
for(var/obj/item/book/B in contents)
|
||||||
B.loc = src.loc
|
B.loc = src.loc
|
||||||
src.add_fingerprint(usr)
|
src.add_fingerprint(usr)
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -372,7 +372,7 @@
|
|||||||
usr.set_machine(src)
|
usr.set_machine(src)
|
||||||
if(href_list["refresh"])
|
if(href_list["refresh"])
|
||||||
update_patient()
|
update_patient()
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(usr)
|
||||||
sleeperUI(usr)
|
sleeperUI(usr)
|
||||||
return
|
return
|
||||||
if(href_list["eject"])
|
if(href_list["eject"])
|
||||||
@@ -463,7 +463,7 @@
|
|||||||
else
|
else
|
||||||
to_chat(usr, span_notice("ERROR: Subject cannot metabolise chemicals."))
|
to_chat(usr, span_notice("ERROR: Subject cannot metabolise chemicals."))
|
||||||
|
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
sleeperUI(usr) //Needs a callback to boop the page to refresh.
|
sleeperUI(usr) //Needs a callback to boop the page to refresh.
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -185,7 +185,7 @@
|
|||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
src.attack_self(usr)
|
src.attack_self(usr)
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
else
|
else
|
||||||
to_chat(usr, span_notice("You need to hold it in hands!"))
|
to_chat(usr, span_notice("You need to hold it in hands!"))
|
||||||
|
|
||||||
|
|||||||
@@ -54,7 +54,7 @@
|
|||||||
if("logout")
|
if("logout")
|
||||||
authenticated = 0
|
authenticated = 0
|
||||||
|
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(usr)
|
||||||
|
|
||||||
/obj/machinery/computer/am_engine/attack_ai(var/mob/user as mob)
|
/obj/machinery/computer/am_engine/attack_ai(var/mob/user as mob)
|
||||||
return src.attack_hand(user)
|
return src.attack_hand(user)
|
||||||
|
|||||||
@@ -96,7 +96,7 @@
|
|||||||
return 1
|
return 1
|
||||||
G.mega_energy = CLAMP(new_val, 1, 50)
|
G.mega_energy = CLAMP(new_val, 1, 50)
|
||||||
G.update_active_power_usage(G.mega_energy * 1500)
|
G.update_active_power_usage(G.mega_energy * 1500)
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
if(href_list["modifyrate"])
|
if(href_list["modifyrate"])
|
||||||
@@ -105,12 +105,12 @@
|
|||||||
to_chat(usr, span_warning("That's not a valid number."))
|
to_chat(usr, span_warning("That's not a valid number."))
|
||||||
return 1
|
return 1
|
||||||
G.rate = CLAMP(new_val, 1, 10)
|
G.rate = CLAMP(new_val, 1, 10)
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
if(href_list["toggle"])
|
if(href_list["toggle"])
|
||||||
G.activate(usr)
|
G.activate(usr)
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
|||||||
@@ -125,5 +125,5 @@
|
|||||||
gravity_generator:on = 1
|
gravity_generator:on = 1
|
||||||
A.gravitychange(1)
|
A.gravitychange(1)
|
||||||
|
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -54,7 +54,7 @@
|
|||||||
else
|
else
|
||||||
for(var/mob/M in viewers(1, src))
|
for(var/mob/M in viewers(1, src))
|
||||||
if (M.client && M.machine == src)
|
if (M.client && M.machine == src)
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(M)
|
||||||
|
|
||||||
proc
|
proc
|
||||||
overheat()
|
overheat()
|
||||||
@@ -141,20 +141,20 @@
|
|||||||
if(!active && HasFuel())
|
if(!active && HasFuel())
|
||||||
active = 1
|
active = 1
|
||||||
icon_state = "portgen1"
|
icon_state = "portgen1"
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(usr)
|
||||||
if(href_list["action"] == "disable")
|
if(href_list["action"] == "disable")
|
||||||
if (active)
|
if (active)
|
||||||
active = 0
|
active = 0
|
||||||
icon_state = "portgen0"
|
icon_state = "portgen0"
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(usr)
|
||||||
if(href_list["action"] == "lower_power")
|
if(href_list["action"] == "lower_power")
|
||||||
if (power_output > 1)
|
if (power_output > 1)
|
||||||
power_output--
|
power_output--
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(usr)
|
||||||
if (href_list["action"] == "higher_power")
|
if (href_list["action"] == "higher_power")
|
||||||
if (power_output < 4 || emagged)
|
if (power_output < 4 || emagged)
|
||||||
power_output++
|
power_output++
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(usr)
|
||||||
if (href_list["action"] == "close")
|
if (href_list["action"] == "close")
|
||||||
usr << browse(null, "window=port_gen")
|
usr << browse(null, "window=port_gen")
|
||||||
usr.machine = null
|
usr.machine = null
|
||||||
|
|||||||
@@ -268,7 +268,7 @@
|
|||||||
emagged = 1
|
emagged = 1
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
/obj/machinery/power/port_gen/pacman/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
/obj/machinery/power/port_gen/pacman/attackby(var/obj/item/O, var/mob/user)
|
||||||
if(istype(O, sheet_path))
|
if(istype(O, sheet_path))
|
||||||
var/obj/item/stack/addstack = O
|
var/obj/item/stack/addstack = O
|
||||||
var/amount = min((max_sheets - sheets), addstack.get_amount())
|
var/amount = min((max_sheets - sheets), addstack.get_amount())
|
||||||
@@ -278,7 +278,7 @@
|
|||||||
to_chat(user, span_notice("You add [amount] sheet\s to the [src.name]."))
|
to_chat(user, span_notice("You add [amount] sheet\s to the [src.name]."))
|
||||||
sheets += amount
|
sheets += amount
|
||||||
addstack.use(amount)
|
addstack.use(amount)
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
return
|
return
|
||||||
else if(!active)
|
else if(!active)
|
||||||
if(O.has_tool_quality(TOOL_WRENCH))
|
if(O.has_tool_quality(TOOL_WRENCH))
|
||||||
@@ -299,7 +299,7 @@
|
|||||||
return
|
return
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/power/port_gen/pacman/attack_hand(mob/user as mob)
|
/obj/machinery/power/port_gen/pacman/attack_hand(mob/user)
|
||||||
..()
|
..()
|
||||||
if (!anchored)
|
if (!anchored)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -108,7 +108,7 @@
|
|||||||
for(var/datum/reagent/R in B.reagents.reagent_list)
|
for(var/datum/reagent/R in B.reagents.reagent_list)
|
||||||
. += span_notice("[R.volume] units of [R.name]")
|
. += span_notice("[R.volume] units of [R.name]")
|
||||||
|
|
||||||
/obj/item/gun/projectile/dartgun/attackby(obj/item/I as obj, mob/user as mob)
|
/obj/item/gun/projectile/dartgun/attackby(obj/item/I, mob/user)
|
||||||
if(istype(I, /obj/item/reagent_containers/glass))
|
if(istype(I, /obj/item/reagent_containers/glass))
|
||||||
if(!istype(I, container_type))
|
if(!istype(I, container_type))
|
||||||
to_chat(user, span_blue("[I] doesn't seem to fit into [src]."))
|
to_chat(user, span_blue("[I] doesn't seem to fit into [src]."))
|
||||||
@@ -121,7 +121,7 @@
|
|||||||
B.loc = src
|
B.loc = src
|
||||||
beakers += B
|
beakers += B
|
||||||
to_chat(user, span_blue("You slot [B] into [src]."))
|
to_chat(user, span_blue("You slot [B] into [src]."))
|
||||||
src.updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
return 1
|
return 1
|
||||||
..()
|
..()
|
||||||
|
|
||||||
@@ -197,7 +197,7 @@
|
|||||||
B.loc = get_turf(src)
|
B.loc = get_turf(src)
|
||||||
else if (href_list["eject_cart"])
|
else if (href_list["eject_cart"])
|
||||||
unload_ammo(usr)
|
unload_ammo(usr)
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
|
|
||||||
///Variants of the Dartgun and Chemdarts.///
|
///Variants of the Dartgun and Chemdarts.///
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
icon_state = "alembic-bubble"
|
icon_state = "alembic-bubble"
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/alembic/attackby(var/obj/item/potion_material/O as obj, var/mob/user as mob)
|
/obj/machinery/alembic/attackby(var/obj/item/potion_material/O, var/mob/user)
|
||||||
if(istype(O,/obj/item/potion_material))
|
if(istype(O,/obj/item/potion_material))
|
||||||
if(potion_reagent != 0 )
|
if(potion_reagent != 0 )
|
||||||
to_chat(user, span_warning("There is already a reagent in the alembic!"))
|
to_chat(user, span_warning("There is already a reagent in the alembic!"))
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
O.loc = src
|
O.loc = src
|
||||||
update_icon()
|
update_icon()
|
||||||
to_chat(user, span_notice("You place the [O] in the alembic."))
|
to_chat(user, span_notice("You place the [O] in the alembic."))
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(user)
|
||||||
return
|
return
|
||||||
else if(istype(O,/obj/item/potion_base))
|
else if(istype(O,/obj/item/potion_base))
|
||||||
if(base_reagent != 0 )
|
if(base_reagent != 0 )
|
||||||
@@ -56,13 +56,13 @@
|
|||||||
O.loc = src
|
O.loc = src
|
||||||
update_icon()
|
update_icon()
|
||||||
to_chat(user, span_notice("You place the [O] in the alembic."))
|
to_chat(user, span_notice("You place the [O] in the alembic."))
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(user)
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
to_chat(user, span_warning("This item is no use in the alembic."))
|
to_chat(user, span_warning("This item is no use in the alembic."))
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/alembic/attack_hand(mob/user as mob)
|
/obj/machinery/alembic/attack_hand(mob/user)
|
||||||
|
|
||||||
if(potion_reagent == 0 || base_reagent == 0) //If there is nothing in there
|
if(potion_reagent == 0 || base_reagent == 0) //If there is nothing in there
|
||||||
to_chat(user, span_warning("The alembic is not yet full!"))
|
to_chat(user, span_warning("The alembic is not yet full!"))
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ var/global/list/ore_reagents = list( //have a number of reageents divisible by R
|
|||||||
icon_state = "juicer"+num2text(!isnull(beaker))
|
icon_state = "juicer"+num2text(!isnull(beaker))
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/reagentgrinder/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
/obj/machinery/reagentgrinder/attackby(var/obj/item/O, var/mob/user)
|
||||||
if(beaker)
|
if(beaker)
|
||||||
if(default_deconstruction_screwdriver(user, O))
|
if(default_deconstruction_screwdriver(user, O))
|
||||||
return
|
return
|
||||||
@@ -124,11 +124,11 @@ var/global/list/ore_reagents = list( //have a number of reageents divisible by R
|
|||||||
if (beaker)
|
if (beaker)
|
||||||
return 1
|
return 1
|
||||||
else
|
else
|
||||||
src.beaker = O
|
beaker = O
|
||||||
user.drop_item()
|
user.drop_item()
|
||||||
O.loc = src
|
O.loc = src
|
||||||
update_icon()
|
update_icon()
|
||||||
src.updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
if(holdingitems && holdingitems.len >= limit)
|
if(holdingitems && holdingitems.len >= limit)
|
||||||
@@ -159,7 +159,7 @@ var/global/list/ore_reagents = list( //have a number of reageents divisible by R
|
|||||||
else
|
else
|
||||||
to_chat(user, "You fill \the [src] from \the [O].")
|
to_chat(user, "You fill \the [src] from \the [O].")
|
||||||
|
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(user)
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
if(istype(O,/obj/item/gripper))
|
if(istype(O,/obj/item/gripper))
|
||||||
@@ -194,10 +194,10 @@ var/global/list/ore_reagents = list( //have a number of reageents divisible by R
|
|||||||
return
|
return
|
||||||
replace_beaker(user)
|
replace_beaker(user)
|
||||||
|
|
||||||
/obj/machinery/reagentgrinder/attack_hand(mob/user as mob)
|
/obj/machinery/reagentgrinder/attack_hand(mob/user)
|
||||||
interact(user)
|
interact(user)
|
||||||
|
|
||||||
/obj/machinery/reagentgrinder/interact(mob/user as mob) // The microwave Menu //I am reasonably certain that this is not a microwave
|
/obj/machinery/reagentgrinder/interact(mob/user) // The microwave Menu //I am reasonably certain that this is not a microwave
|
||||||
if(inuse || user.incapacitated())
|
if(inuse || user.incapacitated())
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -52,7 +52,7 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/injector_maker/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
/obj/machinery/injector_maker/attackby(var/obj/item/O, var/mob/user)
|
||||||
|
|
||||||
if (istype(O, /obj/item/multitool))
|
if (istype(O, /obj/item/multitool))
|
||||||
return ..()
|
return ..()
|
||||||
@@ -68,7 +68,7 @@
|
|||||||
user.drop_item()
|
user.drop_item()
|
||||||
O.loc = src
|
O.loc = src
|
||||||
update_icon()
|
update_icon()
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(user)
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|
||||||
@@ -144,10 +144,10 @@
|
|||||||
for(var/datum/reagent/R in beaker.reagents.reagent_list)
|
for(var/datum/reagent/R in beaker.reagents.reagent_list)
|
||||||
. += span_notice("- [R.volume] units of [R.name].")
|
. += span_notice("- [R.volume] units of [R.name].")
|
||||||
|
|
||||||
/obj/machinery/injector_maker/attack_hand(mob/user as mob)
|
/obj/machinery/injector_maker/attack_hand(mob/user)
|
||||||
interact(user)
|
interact(user)
|
||||||
|
|
||||||
/obj/machinery/injector_maker/interact(mob/user as mob)
|
/obj/machinery/injector_maker/interact(mob/user)
|
||||||
if(user.incapacitated() || !beaker)
|
if(user.incapacitated() || !beaker)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
disk = null
|
disk = null
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|
||||||
/obj/machinery/computer/transhuman/designer/attackby(obj/item/W as obj, mob/user as mob)
|
/obj/machinery/computer/transhuman/designer/attackby(obj/item/W, mob/user)
|
||||||
if(istype(W, /obj/item/disk/body_record))
|
if(istype(W, /obj/item/disk/body_record))
|
||||||
user.unEquip(W)
|
user.unEquip(W)
|
||||||
disk = W
|
disk = W
|
||||||
@@ -49,10 +49,10 @@
|
|||||||
else
|
else
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|
||||||
/obj/machinery/computer/transhuman/designer/attack_ai(mob/user as mob)
|
/obj/machinery/computer/transhuman/designer/attack_ai(mob/user)
|
||||||
attack_hand(user)
|
attack_hand(user)
|
||||||
|
|
||||||
/obj/machinery/computer/transhuman/designer/attack_hand(mob/user as mob)
|
/obj/machinery/computer/transhuman/designer/attack_hand(mob/user)
|
||||||
add_fingerprint(user)
|
add_fingerprint(user)
|
||||||
if(inoperable())
|
if(inoperable())
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -401,13 +401,13 @@
|
|||||||
|
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
/obj/machinery/transhuman/synthprinter/attack_hand(mob/user as mob)
|
/obj/machinery/transhuman/synthprinter/attack_hand(mob/user)
|
||||||
if((busy == 0) || (stat & NOPOWER))
|
if((busy == 0) || (stat & NOPOWER))
|
||||||
return
|
return
|
||||||
to_chat(user, "Current print cycle is [busy]% complete.")
|
to_chat(user, "Current print cycle is [busy]% complete.")
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/transhuman/synthprinter/attackby(obj/item/W as obj, mob/user as mob)
|
/obj/machinery/transhuman/synthprinter/attackby(obj/item/W, mob/user)
|
||||||
src.add_fingerprint(user)
|
src.add_fingerprint(user)
|
||||||
if(busy)
|
if(busy)
|
||||||
to_chat(user, span_notice("\The [src] is busy. Please wait for completion of previous operation."))
|
to_chat(user, span_notice("\The [src] is busy. Please wait for completion of previous operation."))
|
||||||
@@ -442,7 +442,7 @@
|
|||||||
else
|
else
|
||||||
to_chat(user, "\the [src] cannot hold more [S.name].")
|
to_chat(user, "\the [src] cannot hold more [S.name].")
|
||||||
|
|
||||||
updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/transhuman/synthprinter/update_icon()
|
/obj/machinery/transhuman/synthprinter/update_icon()
|
||||||
@@ -466,6 +466,7 @@
|
|||||||
anchored = TRUE
|
anchored = TRUE
|
||||||
var/blur_amount
|
var/blur_amount
|
||||||
var/confuse_amount
|
var/confuse_amount
|
||||||
|
// var/sickness_duration // CHOMPRemove
|
||||||
|
|
||||||
var/mob/living/carbon/human/occupant = null
|
var/mob/living/carbon/human/occupant = null
|
||||||
var/connected = null
|
var/connected = null
|
||||||
@@ -495,7 +496,12 @@
|
|||||||
manip_rating += M.rating
|
manip_rating += M.rating
|
||||||
blur_amount = (48 - manip_rating * 8)
|
blur_amount = (48 - manip_rating * 8)
|
||||||
|
|
||||||
/obj/machinery/transhuman/resleever/attack_hand(mob/user as mob)
|
/* CHOMPRemove Start
|
||||||
|
var/total_rating = manip_rating + scan_rating
|
||||||
|
sickness_duration = (45 - (total_rating-4)*1.875) MINUTES // 45 minutes default, 30 minutes with max non-anomaly upgrades, 15 minutes with max anomaly ones
|
||||||
|
*/// CHOMPRemove End
|
||||||
|
|
||||||
|
/obj/machinery/transhuman/resleever/attack_hand(mob/user)
|
||||||
tgui_interact(user)
|
tgui_interact(user)
|
||||||
|
|
||||||
/obj/machinery/transhuman/resleever/tgui_interact(mob/user, datum/tgui/ui = null)
|
/obj/machinery/transhuman/resleever/tgui_interact(mob/user, datum/tgui/ui = null)
|
||||||
@@ -532,7 +538,7 @@
|
|||||||
//End chomp edit
|
//End chomp edit
|
||||||
return data
|
return data
|
||||||
|
|
||||||
/obj/machinery/transhuman/resleever/attackby(obj/item/W as obj, mob/user as mob)
|
/obj/machinery/transhuman/resleever/attackby(obj/item/W, mob/user)
|
||||||
src.add_fingerprint(user)
|
src.add_fingerprint(user)
|
||||||
if(default_deconstruction_screwdriver(user, W))
|
if(default_deconstruction_screwdriver(user, W))
|
||||||
return
|
return
|
||||||
@@ -547,7 +553,7 @@
|
|||||||
var/mob/M = G.affecting
|
var/mob/M = G.affecting
|
||||||
if(put_mob(M))
|
if(put_mob(M))
|
||||||
qdel(G)
|
qdel(G)
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(user)
|
||||||
return //Don't call up else we'll get attack messsages
|
return //Don't call up else we'll get attack messsages
|
||||||
if(istype(W, /obj/item/paicard/sleevecard))
|
if(istype(W, /obj/item/paicard/sleevecard))
|
||||||
var/obj/item/paicard/sleevecard/C = W
|
var/obj/item/paicard/sleevecard/C = W
|
||||||
@@ -560,7 +566,7 @@
|
|||||||
|
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/transhuman/resleever/MouseDrop_T(mob/living/carbon/O, mob/user as mob)
|
/obj/machinery/transhuman/resleever/MouseDrop_T(mob/living/carbon/O, mob/user)
|
||||||
if(!istype(O))
|
if(!istype(O))
|
||||||
return 0 //not a mob
|
return 0 //not a mob
|
||||||
if(user.incapacitated())
|
if(user.incapacitated())
|
||||||
@@ -583,10 +589,10 @@
|
|||||||
|
|
||||||
if(put_mob(O))
|
if(put_mob(O))
|
||||||
if(O == user)
|
if(O == user)
|
||||||
src.updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
visible_message("[user] climbs into \the [src].")
|
visible_message("[user] climbs into \the [src].")
|
||||||
else
|
else
|
||||||
src.updateUsrDialog()
|
updateUsrDialog(user)
|
||||||
visible_message("[user] puts [O] into \the [src].")
|
visible_message("[user] puts [O] into \the [src].")
|
||||||
|
|
||||||
add_fingerprint(user)
|
add_fingerprint(user)
|
||||||
@@ -662,6 +668,19 @@
|
|||||||
occupant.confused = max(occupant.confused, confuse_amount)
|
occupant.confused = max(occupant.confused, confuse_amount)
|
||||||
occupant.eye_blurry = max(occupant.eye_blurry, blur_amount)
|
occupant.eye_blurry = max(occupant.eye_blurry, blur_amount)
|
||||||
|
|
||||||
|
/* CHOMPRemove Start
|
||||||
|
// Vore deaths get a fake modifier labeled as such
|
||||||
|
if(!occupant.mind)
|
||||||
|
log_debug("[occupant] didn't have a mind to check for vore_death, which may be problematic.")
|
||||||
|
|
||||||
|
if(occupant.mind?.vore_death)
|
||||||
|
occupant.add_modifier(/datum/modifier/faux_resleeving_sickness, sickness_duration)
|
||||||
|
occupant.mind.vore_death = FALSE
|
||||||
|
// Normal ones get a normal modifier to nerf charging into combat
|
||||||
|
else
|
||||||
|
occupant.add_modifier(/datum/modifier/resleeving_sickness, sickness_duration)
|
||||||
|
*/// CHOMPRemove End
|
||||||
|
|
||||||
if(occupant.mind && occupant.original_player && ckey(occupant.mind.key) != occupant.original_player)
|
if(occupant.mind && occupant.original_player && ckey(occupant.mind.key) != occupant.original_player)
|
||||||
log_and_message_admins("is now a cross-sleeved character. Body originally belonged to [occupant.real_name]. Mind is now [occupant.mind.name].",occupant)
|
log_and_message_admins("is now a cross-sleeved character. Body originally belonged to [occupant.real_name]. Mind is now [occupant.mind.name].",occupant)
|
||||||
|
|
||||||
@@ -682,7 +701,7 @@
|
|||||||
icon_state = "implantchair"
|
icon_state = "implantchair"
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/transhuman/resleever/proc/put_mob(mob/living/carbon/human/M as mob)
|
/obj/machinery/transhuman/resleever/proc/put_mob(mob/living/carbon/human/M)
|
||||||
if(!ishuman(M))
|
if(!ishuman(M))
|
||||||
to_chat(usr, span_warning("\The [src] cannot hold this!"))
|
to_chat(usr, span_warning("\The [src] cannot hold this!"))
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -117,7 +117,7 @@
|
|||||||
if(href_list["reset"])
|
if(href_list["reset"])
|
||||||
reset()
|
reset()
|
||||||
|
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
add_fingerprint(usr)
|
add_fingerprint(usr)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -345,4 +345,4 @@
|
|||||||
usr.machine = src
|
usr.machine = src
|
||||||
|
|
||||||
src.add_fingerprint(usr)
|
src.add_fingerprint(usr)
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(usr)
|
||||||
|
|||||||
@@ -91,7 +91,7 @@
|
|||||||
else
|
else
|
||||||
set_light(2, 2, emptycolor)
|
set_light(2, 2, emptycolor)
|
||||||
|
|
||||||
/obj/machinery/slime/extractor/proc/extract_cores()
|
/obj/machinery/slime/extractor/proc/extract_cores(mob/user)
|
||||||
if(!src.occupant)
|
if(!src.occupant)
|
||||||
src.visible_message("[icon2html(src,viewers(src))] [src] pings unhappily.")
|
src.visible_message("[icon2html(src,viewers(src))] [src] pings unhappily.")
|
||||||
else if(inuse)
|
else if(inuse)
|
||||||
@@ -99,7 +99,10 @@
|
|||||||
|
|
||||||
inuse = 1
|
inuse = 1
|
||||||
update_light_color()
|
update_light_color()
|
||||||
spawn(30)
|
addtimer(CALLBACK(src, PROC_REF(do_extraction), user) , 3 SECONDS, TIMER_DELETE_ME)
|
||||||
|
|
||||||
|
/obj/machinery/slime/extractor/proc/do_extraction(mob/user)
|
||||||
|
PRIVATE_PROC(TRUE)
|
||||||
icon_state = "scanner_1old"
|
icon_state = "scanner_1old"
|
||||||
for(var/i=1 to occupant.cores)
|
for(var/i=1 to occupant.cores)
|
||||||
var/obj/item/xenoproduct/slime/core/C = new(src)
|
var/obj/item/xenoproduct/slime/core/C = new(src)
|
||||||
@@ -115,15 +118,17 @@
|
|||||||
C.color = C.traits.traits[TRAIT_XENO_COLOR]
|
C.color = C.traits.traits[TRAIT_XENO_COLOR]
|
||||||
if(occupant.traitdat.get_trait(TRAIT_XENO_BIOLUMESCENT))
|
if(occupant.traitdat.get_trait(TRAIT_XENO_BIOLUMESCENT))
|
||||||
C.set_light(occupant.traitdat.get_trait(TRAIT_XENO_GLOW_STRENGTH),occupant.traitdat.get_trait(TRAIT_XENO_GLOW_RANGE), occupant.traitdat.get_trait(TRAIT_XENO_BIO_COLOR))
|
C.set_light(occupant.traitdat.get_trait(TRAIT_XENO_GLOW_STRENGTH),occupant.traitdat.get_trait(TRAIT_XENO_GLOW_RANGE), occupant.traitdat.get_trait(TRAIT_XENO_BIO_COLOR))
|
||||||
|
|
||||||
spawn(30)
|
|
||||||
icon_state = "scanner_0old"
|
|
||||||
qdel(occupant)
|
qdel(occupant)
|
||||||
occupant = null //If qdel's being slow or acting up, let's make sure we can't make more cores from this one.
|
occupant = null //If qdel's being slow or acting up, let's make sure we can't make more cores from this one.
|
||||||
|
addtimer(CALLBACK(src, PROC_REF(finish_extraction), user) , 3 SECONDS, TIMER_DELETE_ME)
|
||||||
|
|
||||||
|
/obj/machinery/slime/extractor/proc/finish_extraction(mob/user)
|
||||||
|
PRIVATE_PROC(TRUE)
|
||||||
|
icon_state = "scanner_0old"
|
||||||
inuse = 0
|
inuse = 0
|
||||||
eject_contents()
|
eject_contents()
|
||||||
update_light_color()
|
update_light_color()
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(user)
|
||||||
|
|
||||||
/obj/machinery/slime/extractor/proc/eject_slime()
|
/obj/machinery/slime/extractor/proc/eject_slime()
|
||||||
if(occupant)
|
if(occupant)
|
||||||
@@ -168,10 +173,10 @@
|
|||||||
usr.set_machine(src)
|
usr.set_machine(src)
|
||||||
switch(href_list["action"])
|
switch(href_list["action"])
|
||||||
if ("extract")
|
if ("extract")
|
||||||
extract_cores()
|
extract_cores(usr)
|
||||||
if("eject")
|
if("eject")
|
||||||
eject_slime()
|
eject_slime()
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
|
|
||||||
//Circuit board below,
|
//Circuit board below,
|
||||||
|
|||||||
@@ -246,7 +246,7 @@
|
|||||||
usr.set_machine(src)
|
usr.set_machine(src)
|
||||||
src.add_fingerprint(usr)
|
src.add_fingerprint(usr)
|
||||||
|
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/xenobio/editor
|
/obj/machinery/xenobio/editor
|
||||||
|
|||||||
@@ -55,7 +55,7 @@
|
|||||||
else
|
else
|
||||||
set_light(2, 2, emptycolor)
|
set_light(2, 2, emptycolor)
|
||||||
|
|
||||||
/obj/machinery/slime/replicator/proc/replicate_slime()
|
/obj/machinery/slime/replicator/proc/replicate_slime(mob/user)
|
||||||
if(!src.core)
|
if(!src.core)
|
||||||
src.visible_message("[icon2html(src,viewers(src))] [src] pings unhappily.")
|
src.visible_message("[icon2html(src,viewers(src))] [src] pings unhappily.")
|
||||||
else if(inuse)
|
else if(inuse)
|
||||||
@@ -64,21 +64,28 @@
|
|||||||
inuse = 1
|
inuse = 1
|
||||||
update_light_color()
|
update_light_color()
|
||||||
icon_state = "restruct_1"
|
icon_state = "restruct_1"
|
||||||
|
addtimer(CALLBACK(src, PROC_REF(spawn_slime), user), 3 SECONDS, TIMER_DELETE_ME)
|
||||||
spawn(30)
|
spawn(30)
|
||||||
|
|
||||||
|
/obj/machinery/slime/replicator/proc/spawn_slime(mob/user)
|
||||||
|
PRIVATE_PROC(TRUE)
|
||||||
var/mob/living/simple_mob/xeno/slime/S = new(src)
|
var/mob/living/simple_mob/xeno/slime/S = new(src)
|
||||||
S.traitdat = new() //New instance, so that if the core is deleted, the slime retains a trait datum.
|
S.traitdat = new() //New instance, so that if the core is deleted, the slime retains a trait datum.
|
||||||
S.nameVar = core.nameVar
|
S.nameVar = core.nameVar
|
||||||
S.name = "[S.nameVar] baby slime"
|
S.name = "[S.nameVar] baby slime"
|
||||||
core.traits.copy_traits(S.traitdat)
|
core.traits.copy_traits(S.traitdat)
|
||||||
S.ProcessTraits()
|
S.ProcessTraits()
|
||||||
spawn(30)
|
|
||||||
qdel(core)
|
qdel(core)
|
||||||
core = null //If qdel's being a bit slow or acting up, let's just make sure we can't clone the core.
|
core = null //If qdel's being a bit slow or acting up, let's just make sure we can't clone the core.
|
||||||
|
addtimer(CALLBACK(src, PROC_REF(finish_spawn)), 3 SECONDS, TIMER_DELETE_ME)
|
||||||
|
|
||||||
|
/obj/machinery/slime/replicator/proc/finish_spawn(mob/user)
|
||||||
|
PRIVATE_PROC(TRUE)
|
||||||
inuse = 0
|
inuse = 0
|
||||||
eject_slime()
|
eject_slime()
|
||||||
icon_state = "restruct_0"
|
icon_state = "restruct_0"
|
||||||
update_light_color()
|
update_light_color()
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(user)
|
||||||
|
|
||||||
/obj/machinery/slime/replicator/proc/eject_slime()
|
/obj/machinery/slime/replicator/proc/eject_slime()
|
||||||
for(var/mob/thing in contents)
|
for(var/mob/thing in contents)
|
||||||
@@ -123,10 +130,10 @@
|
|||||||
usr.set_machine(src)
|
usr.set_machine(src)
|
||||||
switch(href_list["action"])
|
switch(href_list["action"])
|
||||||
if ("replicate")
|
if ("replicate")
|
||||||
replicate_slime()
|
replicate_slime(usr)
|
||||||
if("eject")
|
if("eject")
|
||||||
eject_core()
|
eject_core()
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
|
|
||||||
//Circuit board below,
|
//Circuit board below,
|
||||||
|
|||||||
@@ -160,7 +160,7 @@
|
|||||||
usr.unset_machine()
|
usr.unset_machine()
|
||||||
|
|
||||||
add_fingerprint(usr)
|
add_fingerprint(usr)
|
||||||
updateUsrDialog()
|
updateUsrDialog(usr)
|
||||||
return
|
return
|
||||||
|
|
||||||
//Take the engine tpe we're building, warn engineering, and pass it to the engine loader.
|
//Take the engine tpe we're building, warn engineering, and pass it to the engine loader.
|
||||||
|
|||||||
Reference in New Issue
Block a user