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