Files
GS13NG/code/modules/cargo/exports/manifest.dm
T

79 lines
2.0 KiB
Plaintext

// Approved manifest.
// +200 credits flat.
/datum/export/manifest_correct
cost = 200
k_elasticity = 0
unit_name = "approved manifest"
export_types = list(/obj/item/paper/fluff/jobs/cargo/manifest)
/datum/export/manifest_correct/applies_to(obj/O)
if(!..())
return FALSE
var/obj/item/paper/fluff/jobs/cargo/manifest/M = O
if(M.is_approved() && !M.errors)
return TRUE
return FALSE
// Correctly denied manifest.
// Refunds the package cost minus the cost of crate.
/datum/export/manifest_error_denied
cost = -500
k_elasticity = 0
unit_name = "correctly denied manifest"
export_types = list(/obj/item/paper/fluff/jobs/cargo/manifest)
/datum/export/manifest_error_denied/applies_to(obj/O)
if(!..())
return FALSE
var/obj/item/paper/fluff/jobs/cargo/manifest/M = O
if(M.is_denied() && M.errors)
return TRUE
return FALSE
/datum/export/manifest_error_denied/get_cost(obj/O)
var/obj/item/paper/fluff/jobs/cargo/manifest/M = O
return ..() + M.order_cost
// Erroneously approved manifest.
// Substracts the package cost.
/datum/export/manifest_error
unit_name = "erroneously approved manifest"
export_types = list(/obj/item/paper/fluff/jobs/cargo/manifest)
/datum/export/manifest_error/applies_to(obj/O)
if(!..())
return FALSE
var/obj/item/paper/fluff/jobs/cargo/manifest/M = O
if(M.is_approved() && M.errors)
return TRUE
return FALSE
/datum/export/manifest_error/get_cost(obj/O)
var/obj/item/paper/fluff/jobs/cargo/manifest/M = O
return -M.order_cost
// Erroneously denied manifest.
// Substracts the package cost minus the cost of crate.
/datum/export/manifest_correct_denied
cost = 500
unit_name = "erroneously denied manifest"
export_types = list(/obj/item/paper/fluff/jobs/cargo/manifest)
/datum/export/manifest_correct_denied/applies_to(obj/O)
if(!..())
return FALSE
var/obj/item/paper/fluff/jobs/cargo/manifest/M = O
if(M.is_denied() && !M.errors)
return TRUE
return FALSE
/datum/export/manifest_correct_denied/get_cost(obj/O)
var/obj/item/paper/fluff/jobs/cargo/manifest/M = O
return ..() - M.order_cost