Files
Bubberstation/code/game/objects/items/documents.dm
SkyratBot 18eca27569 [MIRROR] update_appearance (#3508)
* update_appearance

* a

* a

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-19 16:08:09 +00:00

118 lines
4.4 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_appearance()
/obj/item/inspector
name = "\improper N-spect scanner"
desc = "Central Command-issued inspection device. Performs inspections according to Nanotrasen protocols when activated, then \
prints an encrypted report regarding the maintenance 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/paper/report/slip = new(get_turf(src))
slip.generate_report(get_area(src))
playsound(src, 'sound/machines/high_tech_confirm.ogg', 50, FALSE)
/obj/item/paper/report
name = "encrypted station inspection"
desc = "Contains no information about the station's current status."
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "slip"
///What area the inspector scanned when the report was made. Used to verify the security bounty.
var/area/scanned_area
show_written_words = FALSE
/obj/item/paper/report/proc/generate_report(area/scan_area)
scanned_area = scan_area
icon_state = "slipfull"
desc = "Contains detailed information about the station's current status."
var/list/characters = list()
characters += GLOB.alphabet
characters += GLOB.alphabet_upper
characters += GLOB.numerals
info = random_string(rand(180,220), characters)
info += "[prob(50) ? "=" : "=="]" //Based64 encoding
/obj/item/paper/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 if(info)
icon_state = "slipfull"
. += "<span class='notice'>Wait a minute, this isn't an encrypted inspection report! You should throw it away.</span>"
else
. += "<span class='notice'>Wait a minute, this thing's blank! You should throw it away.</span>"