diff --git a/code/WorkInProgress/kilakk/fax.dm b/code/WorkInProgress/kilakk/fax.dm index 42f070ccf6b..7ab0440a6bc 100644 --- a/code/WorkInProgress/kilakk/fax.dm +++ b/code/WorkInProgress/kilakk/fax.dm @@ -1,7 +1,7 @@ /obj/machinery/faxmachine name = "fax machine" icon = 'icons/obj/library.dmi' - icon_state = "bigscanner" + icon_state = "fax" req_access = list(access_lawyer) anchored = 1 density = 1 @@ -14,133 +14,135 @@ var/obj/item/weapon/paper/tofax = null // what we're sending to central var/sendcooldown = 0 // to avoid spamming fax messages - attack_ai(mob/user as mob) - return attack_hand(user) +/obj/machinery/faxmachine/process() + return 0 - attack_paw(mob/user as mob) - return attack_hand(user) +/obj/machinery/faxmachine/attack_ai(mob/user as mob) + return attack_hand(user) - attack_hand(mob/user as mob) - user.set_machine(src) +/obj/machinery/faxmachine/attack_paw(mob/user as mob) + return attack_hand(user) - var/dat = "Central Command Fax Machine
" +/obj/machinery/faxmachine/attack_hand(mob/user as mob) + user.set_machine(src) - var/scan_name - if(scan) - scan_name = scan.name - else - scan_name = "--------" + var/dat = "Central Command Fax Machine
" - dat += "Confirm Identity: [scan_name]
" + var/scan_name + if(scan) + scan_name = scan.name + else + scan_name = "--------" - if(authenticated) - dat += "{Log Out}" - else - dat += "{Log In}" + dat += "Confirm Identity: [scan_name]
" - dat += "
" + if(authenticated) + dat += "{Log Out}" + else + dat += "{Log In}" - if(authenticated) - dat += "Logged in to: Central Command Quantum Entanglement Network

" + dat += "
" - if(tofax) - dat += "Remove Paper

" + if(authenticated) + dat += "Logged in to: Central Command Quantum Entanglement Network

" - if(sendcooldown) - dat += "Transmitter arrays realigning. Please stand by.
" + if(tofax) + dat += "Remove Paper

" - else - dat += "Send
" - dat += "Currently sending: [tofax.name]" + if(sendcooldown) + dat += "Transmitter arrays realigning. Please stand by.
" else - if(sendcooldown) - dat += "Please insert paper to send to Central Command via secure connection.

" - dat += "Transmitter arrays realigning. Please stand by.
" - else - dat += "Please insert paper to send to Central Command via secure connection.

" + dat += "Send
" + dat += "Currently sending: [tofax.name]" else - dat += "Proper authentication is required to use this device.

" - - if(tofax) - dat += "Remove Paper
" - - user << browse(dat, "window=copier") - onclose(user, "copier") - return - - Topic(href, href_list) - - if(href_list["send"]) - if(tofax) - Centcomm_fax(tofax.info, tofax.name, usr) - usr << "Message transmitted." - sendcooldown = 1 - spawn(3000) // three minute cooldown. might mess with this number a bit as time goes on - sendcooldown = 0 - - if(href_list["remove"]) - if(tofax) - tofax.loc = usr.loc - usr.put_in_hands(tofax) - usr << "You take the paper out of \the [src]." - tofax = null - - if(href_list["scan"]) - if (scan) - if(ishuman(usr)) - scan.loc = usr.loc - if(!usr.get_active_hand()) - usr.put_in_hands(scan) - scan = null - else - scan.loc = src.loc - scan = null + if(sendcooldown) + dat += "Please insert paper to send to Central Command via secure connection.

" + dat += "Transmitter arrays realigning. Please stand by.
" else - var/obj/item/I = usr.get_active_hand() - if (istype(I, /obj/item/weapon/card/id)) - usr.drop_item() - I.loc = src - scan = I - authenticated = 0 + dat += "Please insert paper to send to Central Command via secure connection.

" - if(href_list["auth"]) - if ( (!( authenticated ) && (scan)) ) - if (check_access(scan)) - authenticated = 1 + else + dat += "Proper authentication is required to use this device.

" - if(href_list["logout"]) - authenticated = 0 + if(tofax) + dat += "Remove Paper
" - updateUsrDialog() + user << browse(dat, "window=copier") + onclose(user, "copier") + return - attackby(obj/item/O as obj, mob/user as mob) +/obj/machinery/faxmachine/Topic(href, href_list) + if(href_list["send"]) + if(tofax) + Centcomm_fax(tofax.info, tofax.name, usr) + usr << "Message transmitted." + sendcooldown = 1 + spawn(3000) // three minute cooldown. might mess with this number a bit as time goes on + sendcooldown = 0 - if(istype(O, /obj/item/weapon/paper)) - if(!tofax) - user.drop_item() - tofax = O - O.loc = src - user << "You insert the paper into \the [src]." - flick("bigscanner1", src) - updateUsrDialog() + if(href_list["remove"]) + if(tofax) + tofax.loc = usr.loc + usr.put_in_hands(tofax) + usr << "You take the paper out of \the [src]." + tofax = null + + if(href_list["scan"]) + if (scan) + if(ishuman(usr)) + scan.loc = usr.loc + if(!usr.get_active_hand()) + usr.put_in_hands(scan) + scan = null else - user << "There is already something in \the [src]." - - else if(istype(O, /obj/item/weapon/card/id)) - var/obj/item/weapon/card/id/idcard = O - - if(!scan) + scan.loc = src.loc + scan = null + else + var/obj/item/I = usr.get_active_hand() + if (istype(I, /obj/item/weapon/card/id)) usr.drop_item() - idcard.loc = src - scan = idcard + I.loc = src + scan = I + authenticated = 0 - else if(istype(O, /obj/item/weapon/wrench)) - playsound(loc, 'sound/items/Ratchet.ogg', 50, 1) - anchored = !anchored - user << "You [anchored ? "wrench" : "unwrench"] \the [src]." - return + if(href_list["auth"]) + if ( (!( authenticated ) && (scan)) ) + if (check_access(scan)) + authenticated = 1 + + if(href_list["logout"]) + authenticated = 0 + + updateUsrDialog() + +/obj/machinery/faxmachine/attackby(obj/item/O as obj, mob/user as mob) + + if(istype(O, /obj/item/weapon/paper)) + if(!tofax) + user.drop_item() + tofax = O + O.loc = src + user << "You insert the paper into \the [src]." + flick("faxsend", src) + updateUsrDialog() + else + user << "There is already something in \the [src]." + + else if(istype(O, /obj/item/weapon/card/id)) + + var/obj/item/weapon/card/id/idcard = O + if(!scan) + usr.drop_item() + idcard.loc = src + scan = idcard + + else if(istype(O, /obj/item/weapon/wrench)) + playsound(loc, 'sound/items/Ratchet.ogg', 50, 1) + anchored = !anchored + user << "You [anchored ? "wrench" : "unwrench"] \the [src]." + return /proc/Centcomm_fax(var/sent, var/sentname, var/mob/Sender) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 1b930ad03e5..d1771ad35b6 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1466,22 +1466,28 @@ var/customname = input(src.owner, "Pick a title for the report", "Title") as text|null - for(var/obj/machinery/faxmachine/F in world) + for(var/obj/machinery/faxmachine/F in machines) if(! (F.stat & (BROKEN|NOPOWER) ) ) - var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( F.loc ) - P.name = "[command_name()]- [customname]" - P.info = input - P.update_icon() - playsound(F.loc, "sound/items/polaroid1.ogg", 50, 1) + // animate! it's alive! + flick("faxreceive", F) - // Stamps - var/image/stampoverlay = image('icons/obj/bureaucracy.dmi') - stampoverlay.icon_state = "paper_stamp-cent" - if(!P.stamped) - P.stamped = new - P.stamped += /obj/item/weapon/stamp - P.overlays += stampoverlay - P.stamps += "
This paper has been stamped by the Central Command Quantum Relay." + // give the sprite some time to flick + spawn(20) + var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( F.loc ) + P.name = "[command_name()]- [customname]" + P.info = input + P.update_icon() + + playsound(F.loc, "sound/items/polaroid1.ogg", 50, 1) + + // Stamps + var/image/stampoverlay = image('icons/obj/bureaucracy.dmi') + stampoverlay.icon_state = "paper_stamp-cent" + if(!P.stamped) + P.stamped = new + P.stamped += /obj/item/weapon/stamp + P.overlays += stampoverlay + P.stamps += "
This paper has been stamped by the Central Command Quantum Relay." src.owner << "Message reply to transmitted successfully." log_admin("[key_name(src.owner)] replied to a fax message from [key_name(H)]: [input]") diff --git a/icons/obj/library.dmi b/icons/obj/library.dmi index 08dc71cb1dd..2a5ac9f9d6d 100644 Binary files a/icons/obj/library.dmi and b/icons/obj/library.dmi differ