Files
Bubberstation/code/game/objects/items/documents.dm
SkyratBot 0ae4becfbe [MIRROR] Stops encrypted report spam (#2761)
* Stops encrypted report spam (#56165)

Adds a do_after() to the in-spect scanner, and moves its examine_more() into examine(). Removes an unneeded second way to print a report using attack()

* Stops encrypted report spam

Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
2021-01-18 07:43:48 +01:00

100 lines
3.8 KiB
Plaintext

/obj/item/documents
name = "secret documents"
desc = "\"Top Secret\" documents."
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "docs_generic"
inhand_icon_state = "paper"
throwforce = 0
w_class = WEIGHT_CLASS_TINY
throw_range = 1
throw_speed = 1
layer = MOB_LAYER
pressure_resistance = 2
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
/obj/item/documents/nanotrasen
desc = "\"Top Secret\" Nanotrasen documents, filled with complex diagrams and lists of names, dates and coordinates."
icon_state = "docs_verified"
/obj/item/documents/syndicate
desc = "\"Top Secret\" documents detailing sensitive Syndicate operational intelligence."
/obj/item/documents/syndicate/red
name = "red secret documents"
desc = "\"Top Secret\" documents detailing sensitive Syndicate operational intelligence. These documents are verified with a red wax seal."
icon_state = "docs_red"
/obj/item/documents/syndicate/blue
name = "blue secret documents"
desc = "\"Top Secret\" documents detailing sensitive Syndicate operational intelligence. These documents are verified with a blue wax seal."
icon_state = "docs_blue"
/obj/item/documents/syndicate/mining
desc = "\"Top Secret\" documents detailing Syndicate plasma mining operations."
/obj/item/documents/photocopy
desc = "A copy of some top-secret documents. Nobody will notice they aren't the originals... right?"
var/forgedseal = 0
var/copy_type = null
/obj/item/documents/photocopy/New(loc, obj/item/documents/copy=null)
..()
if(copy)
copy_type = copy.type
if(istype(copy, /obj/item/documents/photocopy)) // Copy Of A Copy Of A Copy
var/obj/item/documents/photocopy/C = copy
copy_type = C.copy_type
/obj/item/documents/photocopy/attackby(obj/item/O, mob/user, params)
if(istype(O, /obj/item/toy/crayon/red) || istype(O, /obj/item/toy/crayon/blue))
if (forgedseal)
to_chat(user, "<span class='warning'>You have already forged a seal on [src]!</span>")
else
var/obj/item/toy/crayon/C = O
name = "[C.crayon_color] secret documents"
icon_state = "docs_[C.crayon_color]"
forgedseal = C.crayon_color
to_chat(user, "<span class='notice'>You forge the official seal with a [C.crayon_color] crayon. No one will notice... right?</span>")
update_icon()
/obj/item/inspector
name = "in-spect scanner"
desc = "Cental commmand issued inspection device. Does company grade station inspection protocols when activated, and prints encripted sheets of paper regarding the mainenance of the station. Hard to Replace."
icon = 'icons/obj/device.dmi'
icon_state = "inspector"
worn_icon_state = "salestagger"
inhand_icon_state = "electronic"
throwforce = 0
w_class = WEIGHT_CLASS_TINY
throw_range = 1
throw_speed = 1
/obj/item/inspector/attack_self(mob/user)
. = ..()
if(do_after(user, 5 SECONDS, target = user, progress=TRUE))
print_report()
///Prints out a report for bounty purposes, and plays a short audio blip.
/obj/item/inspector/proc/print_report()
// Create our report
var/obj/item/report/slip = new(get_turf(src))
slip.scanned_area = get_area(src)
playsound(src, 'sound/items/biddledeep.ogg', 50, FALSE)
/obj/item/report
name = "encrypted station inspection"
desc = "Contains detailed information about the station's current status, too bad you can't really read it."
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "slipfull"
///What area the inspector scanned when the report was made. Used to verify the security bounty.
var/area/scanned_area
/obj/item/report/examine(mob/user)
. = ..()
if(scanned_area?.name)
. += "<span class='notice'>\The [src] contains data on [scanned_area.name].</span>"
else if(scanned_area)
. += "<span class='notice'>\The [src] contains data on a vague area on station, you should throw it away.</span>"
else
. += "<span class='notice'>Wait a minute, this thing's blank! You should throw it away.</span>"