[MANUAL MIRROR] Big Paperwork (#19082)

Big Paperwork: Adds the Paperwork loan offer, paperwork fraud, and ancient paperwork! (#70863)

Adds paperwork -- an indecipherable mess of papers that only a seasoned
department head could hope to decipher. If processed and sent to Central
Command via the cargo shuttle, the budget gets a bonus.

Paperwork is distributed through a new Shuttle Loan offer. A nearby
station needs some paperwork reviewed. Do you have what it takes to
handle BIG PAPERWORK?

Processing paperwork is relatively simple. You can inspect it to see
which head of staff it "belongs" to, and you can use their stamp to
complete it. You get a lot of these, so the bonuses can add up if you
get them all in. Just be careful not to return any unprocessed
paperwork.

With big paperwork comes big paperwork fraud, and big fines.

You can photocopy your completed paperwork to double-dip with Central
Command and squeeze out a little bit more money. The more paperwork
fraud you commit, the higher the chance you'll be caught and fined.

On top of that:

Some say that in the long forgotten halls of maintenance, there lies
_ancient paperwork_. Documents whose importance has long since passed,
but are still important for bookkeeping at Central Command. With a keen
eye, you might spot one of these while scouring through maintenance.
Make sure it gets forwarded to the right person, cargo will thank you.

Co-authored-by: Rhials <Datguy33456@gmail.com>
This commit is contained in:
lessthanthree
2023-02-10 11:53:33 -05:00
committed by GitHub
co-authored by Rhials
parent 46677f3efa
commit 30fe761edf
8 changed files with 381 additions and 4 deletions
@@ -0,0 +1,49 @@
/datum/export/paperwork
cost = CARGO_CRATE_VALUE * 3
unit_name = "paperwork pile"
export_types = list(/obj/item/paperwork)
exclude_types = list(/obj/item/paperwork/photocopy) //Has its own category
allow_negative_cost = TRUE
/datum/export/paperwork/get_cost(obj/item/paperwork/sold_paperwork)
var/paperwork_cost = cost
if(sold_paperwork.stamped)
paperwork_cost = ..()
else
paperwork_cost = -init_cost //Punishment for improperly filed paperwork.
return paperwork_cost
/datum/export/photocopy
cost = CARGO_CRATE_VALUE
unit_name = "messy paperwork pile"
export_types = list(/obj/item/paperwork/photocopy)
allow_negative_cost = TRUE
///Tracks the chance of losing money for trying to double-dip with photocopies. Resets every time it ruins an order.
var/backfire_chance = 0
///Used to track if a batch of photocopy exports has backfired
var/backfired = FALSE
/datum/export/photocopy/get_cost(obj/item/paperwork/photocopy/sold_paperwork)
if(sold_paperwork.stamped && !backfired) //Upon backfiring, no more photocopies are processed or sold until the next cargo shipment
if(sold_paperwork.voided)
return 0 //Voided photocopies do nothing
else
backfire_chance += rand(15,25)
if(prob(backfire_chance))
backfire_chance = 0
backfired = TRUE
return -init_cost * 4 //too high of an amount to allow for infinite money
else
return ..()
else
return -init_cost
/datum/export/photocopy/total_printout(datum/export_report/ex, notes)
. = ..()
if(backfired)
backfired = FALSE
. += " Counterfeit paperwork was detected in this shipment. A fine has been taken from your budget as a result."