Makes the ops handling fee a percentage, removes supplier fee, ability to remove approved orders and bugfixes (#22350)

- qol: "Reduced the crate fee when making operation orders."
 - bugfix: "Fixed the wording in some of the operation programs."
 - bugfix: "Fixed the delivery app showing deliveries it shouldn't."
- bugfix: "The cargo control program now properly display status
messages."
- balance: "Supplier fee was set to 0 for all current suppliers,
eliminating the 20 credit charge per supplier."
- balance: "The operations order handling fee has been turned into a
percentage charge instead, and reduced to 5% by default instead of a
flat 20 credits."
- rscadd: "It is now possible to reject orders that have been approved
but not shipped or paid for."
This commit is contained in:
Casper3667
2026-04-29 20:08:00 +02:00
committed by GitHub
parent c3f65f77d4
commit 36d442beb8
9 changed files with 59 additions and 23 deletions
+8 -3
View File
@@ -24,10 +24,10 @@ SUBSYSTEM_DEF(cargo)
var/list/all_orders = list() // All orders.
// Fee Variables
var/credits_per_crate = 30 // "Cost / Payment" per crate shipped from or to centcomm.
var/credits_per_crate = 15 // "Cost / Payment" per crate shipped from or to centcomm.
var/credits_per_platinum = 140 // Per sheet.
var/credits_per_phoron = 100 // Per sheet.
var/cargo_handlingfee = 20 // The handling fee cargo takes per crate.
var/cargo_handlingfee = 5 // The handling fee cargo takes per crate, as a percentage of the order's value.
var/cargo_handlingfee_min = 0 // The minimum handling fee.
var/cargo_handlingfee_max = 500 // The maximum handling fee.
var/cargo_handlingfee_change = 1 // If the handling fee can be changed -> for a random event.
@@ -359,6 +359,11 @@ SUBSYSTEM_DEF(cargo)
/datum/controller/subsystem/cargo/proc/get_handlingfee()
return cargo_handlingfee
/datum/controller/subsystem/cargo/proc/get_handlingfee_cost(shipment_cost)
if(shipment_cost)
return (cargo_handlingfee / 100) * shipment_cost
return 0
// Sets the handling fee and returns a status message.
/datum/controller/subsystem/cargo/proc/set_handlingfee(var/fee)
if(!fee)
@@ -448,7 +453,7 @@ SUBSYSTEM_DEF(cargo)
movetime = current_shipment.shuttle_time
//Launch it
shuttle.launch(src)
. = "The cargo elevator has been called and will arrive in approximately [round(SScargo.movetime/600, 2)] minutes."
. = "The cargo elevator has been called and will arrive in approximately [shuttle.eta_seconds()] seconds."
current_shipment.shuttle_called_by = requester_name
// Cancels the elevator. Can return a status message.