diff --git a/code/modules/cargo/order.dm b/code/modules/cargo/order.dm
index 4fa6a4eade..ad9fa2018e 100644
--- a/code/modules/cargo/order.dm
+++ b/code/modules/cargo/order.dm
@@ -16,7 +16,7 @@
errors |= MANIFEST_ERROR_ITEM
/obj/item/paper/fluff/jobs/cargo/manifest/proc/is_approved()
- return stamped && stamped.len && !is_denied()
+ return stamped?.len && !is_denied()
/obj/item/paper/fluff/jobs/cargo/manifest/proc/is_denied()
return stamped && ("stamp-deny" in stamped)
@@ -49,6 +49,7 @@
P.info += "
[station_name()] Supply Requisition
"
P.info += "
"
P.info += "Order #[id]
"
+ P.info += "Time of Order: [STATION_TIME_TIMESTAMP("hh:mm:ss", world.time)]
"
P.info += "Item: [pack.name]
"
P.info += "Access Restrictions: [get_access_desc(pack.access)]
"
P.info += "Requested by: [orderer]
"
@@ -68,10 +69,10 @@
P.name = "shipping manifest - [packname?"#[id] ([pack.name])":"(Grouped Item Crate)"]"
P.info += "[command_name()] Shipping Manifest
"
P.info += "
"
- if(id && !(id == "Cargo"))
+ if(owner && !(owner == "Cargo"))
P.info += "Direct purchase from [owner]
"
P.name += " - Purchased by [owner]"
- P.info += "Order #[id]
"
+ P.info += "Order[packname?"":"s"]: [id]
"
P.info += "Destination: [station_name]
"
if(packname)
P.info += "Item: [packname]
"
@@ -82,8 +83,11 @@
var/obj/structure/closet/C = container
ignore_this += C.lockerelectronics
for(var/atom/movable/AM in container.contents - ignore_this)
- if((P.errors & MANIFEST_ERROR_CONTENTS) && prob(50))
- continue
+ if((P.errors & MANIFEST_ERROR_CONTENTS))
+ if(prob(50))
+ P.info += "[AM.name]"
+ else
+ continue
P.info += "[AM.name]"
P.info += ""
P.info += "Stamp below to confirm receipt of goods:
"
@@ -94,7 +98,7 @@
/obj/structure/closet/crate/large,
/obj/structure/closet/secure_closet/goodies
))
- if(blacklisted_error[container.type])
+ if(is_type_in_list(container, blacklisted_error))
P.errors &= ~MANIFEST_ERROR_ITEM
else
var/lost = max(round(container.contents.len / 10), 1)
@@ -108,15 +112,23 @@
var/obj/structure/closet/crate/C = container
C.manifest = P
C.update_icon()
+ else
+ // manifest goes in if it's not a crate
+ container.contents += P
return P
/datum/supply_order/proc/generate(atom/A)
+ var/account_holder
+ if(paying_account)
+ account_holder = paying_account.account_holder
+ else
+ account_holder = "Cargo"
var/obj/structure/closet/crate/C = pack.generate(A, paying_account)
- generateManifest(C, paying_account, pack)
+ generateManifest(C, account_holder, pack)
return C
-/datum/supply_order/proc/generateCombo(var/miscbox, var/misc_own, var/misc_contents)
+/datum/supply_order/proc/generateCombo(miscbox, misc_own, misc_contents)
for (var/I in misc_contents)
new I(miscbox)
generateManifest(miscbox, misc_own, "")