diff --git a/code/__defines/subsystems.dm b/code/__defines/subsystems.dm index 86d40ff170..a3320983ca 100644 --- a/code/__defines/subsystems.dm +++ b/code/__defines/subsystems.dm @@ -78,6 +78,7 @@ var/global/list/runlevel_flags = list(RUNLEVEL_LOBBY, RUNLEVEL_SETUP, RUNLEVEL_G // Subsystem fire priority, from lowest to highest priority // If the subsystem isn't listed here it's either DEFAULT or PROCESS (if it's a processing subsystem child) #define FIRE_PRIORITY_SHUTTLES 5 +#define FIRE_PRIORITY_SUPPLY 5 #define FIRE_PRIORITY_ORBIT 8 #define FIRE_PRIORITY_VOTE 9 #define FIRE_PRIORITY_AI 10 diff --git a/code/controllers/Processes/supply.dm b/code/controllers/subsystems/supply.dm similarity index 88% rename from code/controllers/Processes/supply.dm rename to code/controllers/subsystems/supply.dm index b3d93dd8ec..f379193c6a 100644 --- a/code/controllers/Processes/supply.dm +++ b/code/controllers/subsystems/supply.dm @@ -1,33 +1,15 @@ - -// TODO - Refactor to use the Supply Subsystem (SSsupply) - //Supply packs are in /code/datums/supplypacks //Computers are in /code/game/machinery/computer/supply.dm +SUBSYSTEM_DEF(supply) + name = "Supply" + wait = 20 SECONDS + priority = FIRE_PRIORITY_SUPPLY + //Initializes at default time + flags = SS_NO_TICK_CHECK -/datum/supply_order - var/ordernum // Unfabricatable index - var/index // Fabricatable index - var/datum/supply_pack/object = null - var/cost // Cost of the supply pack (Fabricatable) (Changes not reflected when purchasing supply packs, this is cosmetic only) - var/name // Name of the supply pack datum (Fabricatable) - var/ordered_by = null // Who requested the order - var/comment = null // What reason was given for the order - var/approved_by = null // Who approved the order - var/ordered_at // Date and time the order was requested at - var/approved_at // Date and time the order was approved at - var/status // [Requested, Accepted, Denied, Shipped] - -/datum/exported_crate - var/name - var/value - var/list/contents - -var/datum/controller/supply/supply_controller = new() - -/datum/controller/supply //supply points var/points = 50 - var/points_per_process = 1.5 + var/points_per_process = 1.0 // Processes every 20 seconds, so this is 3 per minute var/points_per_slip = 2 var/points_per_money = 0.02 // 1 point for $50 //control @@ -46,9 +28,10 @@ var/datum/controller/supply/supply_controller = new() "platinum" = 5 ) -/datum/controller/supply/New() +/datum/controller/subsystem/supply/Initialize() ordernum = rand(1,9000) + // build master supply list for(var/typepath in subtypesof(/datum/supply_pack)) var/datum/supply_pack/P = new typepath() if(P.name) @@ -56,20 +39,18 @@ var/datum/controller/supply/supply_controller = new() else qdel(P) -/datum/controller/process/supply/setup() - name = "supply controller" - schedule_interval = 300 // every 30 seconds + // TODO - Auto-build material_points_conversion from material datums + . = ..() -/datum/controller/process/supply/doWork() - supply_controller.process() - -// Supply shuttle ticker - handles supply point regeneration -// This is called by the process scheduler every thirty seconds -/datum/controller/supply/process() +// Supply shuttle ticker - handles supply point regeneration. Just add points over time. +/datum/controller/subsystem/supply/fire() points += points_per_process +/datum/controller/subsystem/supply/stat_entry() + ..("Points: [points]") + //To stop things being sent to CentCom which should not be sent to centcomm. Recursively checks for these types. -/datum/controller/supply/proc/forbidden_atoms_check(atom/A) +/datum/controller/subsystem/supply/proc/forbidden_atoms_check(atom/A) if(isliving(A)) return 1 if(istype(A,/obj/item/weapon/disk/nuclear)) @@ -86,7 +67,7 @@ var/datum/controller/supply/supply_controller = new() return 1 //Selling -/datum/controller/supply/proc/sell() +/datum/controller/subsystem/supply/proc/sell() // Loop over each area in the supply shuttle for(var/area/subarea in shuttle.shuttle_area) callHook("sell_shuttle", list(subarea)); @@ -162,7 +143,7 @@ var/datum/controller/supply/supply_controller = new() qdel(MA) -/datum/controller/supply/proc/get_clear_turfs() +/datum/controller/subsystem/supply/proc/get_clear_turfs() var/list/clear_turfs = list() for(var/area/subarea in shuttle.shuttle_area) @@ -181,7 +162,7 @@ var/datum/controller/supply/supply_controller = new() return clear_turfs //Buying -/datum/controller/supply/proc/buy() +/datum/controller/subsystem/supply/proc/buy() var/list/shoppinglist = list() for(var/datum/supply_order/SO in order_history) if(SO.status == SUP_ORDER_APPROVED) @@ -260,9 +241,9 @@ var/datum/controller/supply/supply_controller = new() return // Will attempt to purchase the specified order, returning TRUE on success, FALSE on failure -/datum/controller/supply/proc/approve_order(var/datum/supply_order/O, var/mob/user) +/datum/controller/subsystem/supply/proc/approve_order(var/datum/supply_order/O, var/mob/user) // Not enough points to purchase the crate - if(supply_controller.points <= O.object.cost) + if(points <= O.object.cost) return FALSE // Based on the current model, there shouldn't be any entries in order_history, requestlist, or shoppinglist, that aren't matched in adm_order_history @@ -289,11 +270,11 @@ var/datum/controller/supply/supply_controller = new() adm_order.approved_at = stationdate2text() + " - " + stationtime2text() // Deduct cost - supply_controller.points -= O.object.cost + points -= O.object.cost return TRUE // Will deny the specified order. Only useful if the order is currently requested, but available at any status -/datum/controller/supply/proc/deny_order(var/datum/supply_order/O, var/mob/user) +/datum/controller/subsystem/supply/proc/deny_order(var/datum/supply_order/O, var/mob/user) // Based on the current model, there shouldn't be any entries in order_history, requestlist, or shoppinglist, that aren't matched in adm_order_history var/datum/supply_order/adm_order for(var/datum/supply_order/temp in adm_order_history) @@ -319,22 +300,22 @@ var/datum/controller/supply/supply_controller = new() return // Will deny all requested orders -/datum/controller/supply/proc/deny_all_pending(var/mob/user) +/datum/controller/subsystem/supply/proc/deny_all_pending(var/mob/user) for(var/datum/supply_order/O in order_history) if(O.status == SUP_ORDER_REQUESTED) deny_order(O, user) // Will delete the specified order from the user-side list -/datum/controller/supply/proc/delete_order(var/datum/supply_order/O, var/mob/user) +/datum/controller/subsystem/supply/proc/delete_order(var/datum/supply_order/O, var/mob/user) // Making sure they know what they're doing if(alert(user, "Are you sure you want to delete this record? If it has been approved, cargo points will NOT be refunded!", "Delete Record","No","Yes") == "Yes") if(alert(user, "Are you really sure? There is no way to recover the order once deleted.", "Delete Record", "No", "Yes") == "Yes") log_admin("[key_name(user)] has deleted supply order \ref[O] [O] from the user-side order history.") - supply_controller.order_history -= O + order_history -= O return // Will generate a new, requested order, for the given supply pack type -/datum/controller/supply/proc/create_order(var/datum/supply_pack/S, var/mob/user, var/reason) +/datum/controller/subsystem/supply/proc/create_order(var/datum/supply_pack/S, var/mob/user, var/reason) var/datum/supply_order/new_order = new() var/datum/supply_order/adm_order = new() // Admin-recorded order must be a separate copy in memory, or user-made edits will corrupt it @@ -369,16 +350,16 @@ var/datum/controller/supply/supply_controller = new() adm_order_history += adm_order // Will delete the specified export receipt from the user-side list -/datum/controller/supply/proc/delete_export(var/datum/exported_crate/E, var/mob/user) +/datum/controller/subsystem/supply/proc/delete_export(var/datum/exported_crate/E, var/mob/user) // Making sure they know what they're doing if(alert(user, "Are you sure you want to delete this record?", "Delete Record","No","Yes") == "Yes") if(alert(user, "Are you really sure? There is no way to recover the receipt once deleted.", "Delete Record", "No", "Yes") == "Yes") log_admin("[key_name(user)] has deleted export receipt \ref[E] [E] from the user-side export history.") - supply_controller.exported_crates -= E + exported_crates -= E return // Will add an item entry to the specified export receipt on the user-side list -/datum/controller/supply/proc/add_export_item(var/datum/exported_crate/E, var/mob/user) +/datum/controller/subsystem/supply/proc/add_export_item(var/datum/exported_crate/E, var/mob/user) var/new_name = input(user, "Name", "Please enter the name of the item.") as null|text if(!new_name) return @@ -396,3 +377,21 @@ var/datum/controller/supply/supply_controller = new() "quantity" = new_quantity, "value" = new_value ) + +/datum/exported_crate + var/name + var/value + var/list/contents + +/datum/supply_order + var/ordernum // Unfabricatable index + var/index // Fabricatable index + var/datum/supply_pack/object = null + var/cost // Cost of the supply pack (Fabricatable) (Changes not reflected when purchasing supply packs, this is cosmetic only) + var/name // Name of the supply pack datum (Fabricatable) + var/ordered_by = null // Who requested the order + var/comment = null // What reason was given for the order + var/approved_by = null // Who approved the order + var/ordered_at // Date and time the order was requested at + var/approved_at // Date and time the order was approved at + var/status // [Requested, Accepted, Denied, Shipped] diff --git a/code/controllers/verbs.dm b/code/controllers/verbs.dm index 7e2e1a42e3..5d70a7ac72 100644 --- a/code/controllers/verbs.dm +++ b/code/controllers/verbs.dm @@ -94,7 +94,6 @@ options["LEGACY: air_master"] = air_master options["LEGACY: job_master"] = job_master options["LEGACY: radio_controller"] = radio_controller - options["LEGACY: supply_controller"] = supply_controller options["LEGACY: emergency_shuttle"] = emergency_shuttle options["LEGACY: paiController"] = paiController options["LEGACY: cameranet"] = cameranet diff --git a/code/game/machinery/computer/supply.dm b/code/game/machinery/computer/supply.dm index e1dddbbeda..05b4e65292 100644 --- a/code/game/machinery/computer/supply.dm +++ b/code/game/machinery/computer/supply.dm @@ -56,7 +56,7 @@ var/orders[0] var/receipts[0] - var/datum/shuttle/autodock/ferry/supply/shuttle = supply_controller.shuttle + var/datum/shuttle/autodock/ferry/supply/shuttle = SSsupply.shuttle if(shuttle) if(shuttle.has_arrive_time()) shuttle_status["location"] = "In transit" @@ -109,8 +109,8 @@ else shuttle["mode"] = SUP_SHUTTLE_ERROR - for(var/pack_name in supply_controller.supply_pack) - var/datum/supply_pack/P = supply_controller.supply_pack[pack_name] + for(var/pack_name in SSsupply.supply_pack) + var/datum/supply_pack/P = SSsupply.supply_pack[pack_name] if(P.group == active_category) var/list/pack = list( "name" = P.name, @@ -131,7 +131,7 @@ // Status determines which menus the entry will display in // Organized in field-entry list for iterative display // List is nested so both the list of orders, and the list of elements in each order, can be iterated over - for(var/datum/supply_order/S in supply_controller.order_history) + for(var/datum/supply_order/S in SSsupply.order_history) orders[++orders.len] = list( "ref" = "\ref[S]", "status" = S.status, @@ -148,7 +148,7 @@ ) // Compile exported crates - for(var/datum/exported_crate/E in supply_controller.exported_crates) + for(var/datum/exported_crate/E in SSsupply.exported_crates) receipts[++receipts.len] = list( "ref" = "\ref[E]", "contents" = E.contents, @@ -164,7 +164,7 @@ data["shuttle_auth"] = (authorization & SUP_SEND_SHUTTLE) // Whether this ui is permitted to control the supply shuttle data["order_auth"] = (authorization & SUP_ACCEPT_ORDERS) // Whether this ui is permitted to accept/deny requested orders data["shuttle"] = shuttle_status - data["supply_points"] = supply_controller.points + data["supply_points"] = SSsupply.points data["categories"] = all_supply_groups data["active_category"] = active_category data["supply_packs"] = pack_list @@ -189,10 +189,10 @@ /obj/machinery/computer/supplycomp/Topic(href, href_list) - if(!supply_controller) - to_world_log("## ERROR: The supply_controller datum is missing.") + if(!SSsupply) + to_world_log("## ERROR: The SSsupply datum is missing.") return - var/datum/shuttle/autodock/ferry/supply/shuttle = supply_controller.shuttle + var/datum/shuttle/autodock/ferry/supply/shuttle = SSsupply.shuttle if (!shuttle) to_world_log("## ERROR: The supply shuttle datum is missing.") return @@ -240,7 +240,7 @@ if(!reason) return - supply_controller.create_order(S, user, reason) + SSsupply.create_order(S, user, reason) var/idname = "*None Provided*" var/idrank = "*None Provided*" @@ -255,7 +255,7 @@ var/obj/item/weapon/paper/reqform = new /obj/item/weapon/paper(loc) reqform.name = "Requisition Form - [S.name]" reqform.info += "

[station_name()] Supply Requisition Form


" - reqform.info += "INDEX: #[supply_controller.ordernum]
" + reqform.info += "INDEX: #[SSsupply.ordernum]
" reqform.info += "REQUESTED BY: [idname]
" reqform.info += "RANK: [idrank]
" reqform.info += "REASON: [reason]
" @@ -315,20 +315,20 @@ O.approved_at = new_val if(href_list["approve"]) - supply_controller.approve_order(O, user) + SSsupply.approve_order(O, user) if(href_list["deny"]) - supply_controller.deny_order(O, user) + SSsupply.deny_order(O, user) if(href_list["delete"]) - supply_controller.delete_order(O, user) + SSsupply.delete_order(O, user) if(href_list["clear_all_requests"]) var/mob/user = locate(href_list["user"]) if(!istype(user)) // Invalid ref return - supply_controller.deny_all_pending(user) + SSsupply.deny_all_pending(user) if(href_list["export_ref"]) var/datum/exported_crate/E = locate(href_list["export_ref"]) @@ -384,10 +384,10 @@ E.value = num else if(href_list["delete"]) - supply_controller.delete_export(E, user) + SSsupply.delete_export(E, user) else if(href_list["add_item"]) - supply_controller.add_export_item(E, user) + SSsupply.add_export_item(E, user) @@ -401,7 +401,7 @@ if("send_to_station") shuttle.launch(src) - to_chat(usr, "The supply shuttle has been called and will arrive in approximately [round(supply_controller.movetime/600,1)] minutes.") + to_chat(usr, "The supply shuttle has been called and will arrive in approximately [round(SSsupply.movetime/600,1)] minutes.") if("cancel_shuttle") shuttle.cancel_launch(src) diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm index 33d6fc14be..0780b5905a 100644 --- a/code/game/machinery/status_display.dm +++ b/code/game/machinery/status_display.dm @@ -222,7 +222,7 @@ return "[add_zero(num2text((timeleft / 60) % 60),2)]:[add_zero(num2text(timeleft % 60), 2)]" /obj/machinery/status_display/proc/get_supply_shuttle_timer() - var/datum/shuttle/autodock/ferry/supply/shuttle = supply_controller.shuttle + var/datum/shuttle/autodock/ferry/supply/shuttle = SSsupply.shuttle if(!shuttle) return "Error" diff --git a/code/game/machinery/supply_display.dm b/code/game/machinery/supply_display.dm index d0590cfa4e..5a5c9750b6 100644 --- a/code/game/machinery/supply_display.dm +++ b/code/game/machinery/supply_display.dm @@ -6,7 +6,7 @@ message1 = "CARGO" message2 = "" - var/datum/shuttle/autodock/ferry/supply/shuttle = supply_controller.shuttle + var/datum/shuttle/autodock/ferry/supply/shuttle = SSsupply.shuttle if(!shuttle) message2 = "Error" else if(shuttle.has_arrive_time()) diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm index 3d2a6cbc6e..2a662ea5ff 100644 --- a/code/game/objects/items/devices/PDA/cart.dm +++ b/code/game/objects/items/devices/PDA/cart.dm @@ -425,14 +425,14 @@ var/list/civilian_cartridges = list( if(mode==47) var/supplyData[0] - var/datum/shuttle/autodock/ferry/supply/shuttle = supply_controller.shuttle + var/datum/shuttle/autodock/ferry/supply/shuttle = SSsupply.shuttle if (shuttle) supplyData["shuttle_moving"] = shuttle.has_arrive_time() supplyData["shuttle_eta"] = shuttle.eta_minutes() supplyData["shuttle_loc"] = shuttle.at_station() ? "Station" : "Dock" var/supplyOrderCount = 0 var/supplyOrderData[0] - for(var/S in supply_controller.shoppinglist) + for(var/S in SSsupply.shoppinglist) var/datum/supply_order/SO = S supplyOrderData[++supplyOrderData.len] = list("Number" = SO.ordernum, "Name" = html_encode(SO.object.name), "ApprovedBy" = SO.ordered_by, "Comment" = html_encode(SO.comment)) @@ -444,7 +444,7 @@ var/list/civilian_cartridges = list( var/requestCount = 0 var/requestData[0] - for(var/S in supply_controller.order_history) + for(var/S in SSsupply.order_history) var/datum/supply_order/SO = S if(SO.status != SUP_ORDER_REQUESTED) continue diff --git a/code/game/objects/items/devices/communicator/cartridge.dm b/code/game/objects/items/devices/communicator/cartridge.dm index b5a46b4ebe..b1c3bd41f2 100644 --- a/code/game/objects/items/devices/communicator/cartridge.dm +++ b/code/game/objects/items/devices/communicator/cartridge.dm @@ -140,7 +140,7 @@ if(!reason) return - supply_controller.create_order(S, user, reason) + SSsupply.create_order(S, user, reason) internal_data["supply_reqtime"] = (world.time + 5) % 1e5 if(href_list["order_ref"]) @@ -189,20 +189,20 @@ O.approved_at = new_val if(href_list["approve"]) - supply_controller.approve_order(O, user) + SSsupply.approve_order(O, user) if(href_list["deny"]) - supply_controller.deny_order(O, user) + SSsupply.deny_order(O, user) if(href_list["delete"]) - supply_controller.delete_order(O, user) + SSsupply.delete_order(O, user) if(href_list["clear_all_requests"]) var/mob/user = locate(href_list["user"]) if(!istype(user)) // Invalid ref return - supply_controller.deny_all_pending(user) + SSsupply.deny_all_pending(user) if(href_list["export_ref"]) var/datum/exported_crate/E = locate(href_list["export_ref"]) @@ -258,29 +258,29 @@ E.value = num else if(href_list["delete"]) - supply_controller.delete_export(E, user) + SSsupply.delete_export(E, user) else if(href_list["add_item"]) - supply_controller.add_export_item(E, user) + SSsupply.add_export_item(E, user) - if(supply_controller && supply_controller.shuttle) + if(SSsupply && SSsupply.shuttle) switch(href_list["send_shuttle"]) if("send_away") - if(supply_controller.shuttle.forbidden_atoms_check()) + if(SSsupply.shuttle.forbidden_atoms_check()) to_chat(usr, "For safety reasons the automated supply shuttle cannot transport live organisms, classified nuclear weaponry or homing beacons.") else - supply_controller.shuttle.launch(src) + SSsupply.shuttle.launch(src) to_chat(usr, "Initiating launch sequence.") if("send_to_station") - supply_controller.shuttle.launch(src) - to_chat(usr, "The supply shuttle has been called and will arrive in approximately [round(supply_controller.movetime/600,1)] minutes.") + SSsupply.shuttle.launch(src) + to_chat(usr, "The supply shuttle has been called and will arrive in approximately [round(SSsupply.movetime/600,1)] minutes.") if("cancel_shuttle") - supply_controller.shuttle.cancel_launch(src) + SSsupply.shuttle.cancel_launch(src) if("force_shuttle") - supply_controller.shuttle.force_launch(src) + SSsupply.shuttle.force_launch(src) // Status display switch(href_list["stat_display"]) diff --git a/code/game/objects/items/devices/communicator/helper.dm b/code/game/objects/items/devices/communicator/helper.dm index ce5eef016c..ec67686668 100644 --- a/code/game/objects/items/devices/communicator/helper.dm +++ b/code/game/objects/items/devices/communicator/helper.dm @@ -394,7 +394,7 @@ // code\game\machinery\computer\supply.dm, starting at line 55 /obj/item/weapon/commcard/proc/get_supply_shuttle_status() var/shuttle_status[0] - var/datum/shuttle/autodock/ferry/supply/shuttle = supply_controller.shuttle + var/datum/shuttle/autodock/ferry/supply/shuttle = SSsupply.shuttle if(shuttle) if(shuttle.has_arrive_time()) shuttle_status["location"] = "In transit" @@ -454,7 +454,7 @@ // code\game\machinery\computer\supply.dm, starting at line 130 /obj/item/weapon/commcard/proc/get_supply_orders() var/orders[0] - for(var/datum/supply_order/S in supply_controller.order_history) + for(var/datum/supply_order/S in SSsupply.order_history) orders[++orders.len] = list( "ref" = "\ref[S]", "status" = S.status, @@ -477,7 +477,7 @@ // code\game\machinery\computer\supply.dm, starting at line 147 /obj/item/weapon/commcard/proc/get_supply_receipts() var/receipts[0] - for(var/datum/exported_crate/E in supply_controller.exported_crates) + for(var/datum/exported_crate/E in SSsupply.exported_crates) receipts[++receipts.len] = list( "ref" = "\ref[E]", "contents" = E.contents, @@ -495,8 +495,8 @@ // code\game\machinery\computer\supply.dm, starting at line 147 /obj/item/weapon/commcard/proc/get_supply_pack_list() var/supply_packs[0] - for(var/pack_name in supply_controller.supply_pack) - var/datum/supply_pack/P = supply_controller.supply_pack[pack_name] + for(var/pack_name in SSsupply.supply_pack) + var/datum/supply_pack/P = SSsupply.supply_pack[pack_name] if(P.group == internal_data["supply_category"]) var/list/pack = list( "name" = P.name, @@ -521,7 +521,7 @@ return list( "shuttle_auth" = (internal_data["supply_controls"] & SUP_SEND_SHUTTLE), "order_auth" = (internal_data["supply_controls"] & SUP_ACCEPT_ORDERS), - "supply_points" = supply_controller.points, + "supply_points" = SSsupply.points, "supply_categories" = all_supply_groups ) diff --git a/code/modules/events/shipping_error.dm b/code/modules/events/shipping_error.dm index 6b0924b6f7..659f2f7de8 100644 --- a/code/modules/events/shipping_error.dm +++ b/code/modules/events/shipping_error.dm @@ -1,6 +1,6 @@ /datum/event/shipping_error/start() var/datum/supply_order/O = new /datum/supply_order() - O.ordernum = supply_controller.ordernum - O.object = supply_controller.supply_pack[pick(supply_controller.supply_pack)] + O.ordernum = SSsupply.ordernum + O.object = SSsupply.supply_pack[pick(SSsupply.supply_pack)] O.ordered_by = random_name(pick(MALE,FEMALE), species = SPECIES_HUMAN) - supply_controller.shoppinglist += O \ No newline at end of file + SSsupply.shoppinglist += O \ No newline at end of file diff --git a/code/modules/gamemaster/actions/shipping_error.dm b/code/modules/gamemaster/actions/shipping_error.dm index da9179cc96..95611d6e29 100644 --- a/code/modules/gamemaster/actions/shipping_error.dm +++ b/code/modules/gamemaster/actions/shipping_error.dm @@ -11,7 +11,7 @@ /datum/gm_action/shipping_error/start() ..() var/datum/supply_order/O = new /datum/supply_order() - O.ordernum = supply_controller.ordernum - O.object = supply_controller.supply_pack[pick(supply_controller.supply_pack)] + O.ordernum = SSsupply.ordernum + O.object = SSsupply.supply_pack[pick(SSsupply.supply_pack)] O.ordered_by = random_name(pick(MALE,FEMALE), species = "Human") - supply_controller.shoppinglist += O \ No newline at end of file + SSsupply.shoppinglist += O \ No newline at end of file diff --git a/code/modules/gamemaster/actions/supply_conversion.dm b/code/modules/gamemaster/actions/supply_conversion.dm index dacd548dae..3817dcce63 100644 --- a/code/modules/gamemaster/actions/supply_conversion.dm +++ b/code/modules/gamemaster/actions/supply_conversion.dm @@ -5,7 +5,7 @@ chaotic = 0 reusable = TRUE - var/datum/controller/supply/SC + var/datum/controller/subsystem/supply/SC var/running = FALSE var/last_run @@ -13,7 +13,7 @@ /datum/gm_action/nanotrasen_budget_allocation/New() ..() - SC = supply_controller + SC = SSsupply /datum/gm_action/nanotrasen_budget_allocation/set_up() running = TRUE diff --git a/code/modules/shuttles/shuttle.dm b/code/modules/shuttles/shuttle.dm index f4837613e1..ff16e33c86 100644 --- a/code/modules/shuttles/shuttle.dm +++ b/code/modules/shuttles/shuttle.dm @@ -61,17 +61,17 @@ if(flags & SHUTTLE_FLAGS_PROCESS) SSshuttles.process_shuttles += src if(flags & SHUTTLE_FLAGS_SUPPLY) - if(supply_controller.shuttle) + if(SSsupply.shuttle) CRASH("A supply shuttle is already defined.") - supply_controller.shuttle = src + SSsupply.shuttle = src /datum/shuttle/Destroy() current_location = null SSshuttles.shuttles -= src.name SSshuttles.process_shuttles -= src SSshuttles.shuttle_logs -= src - if(supply_controller.shuttle == src) - supply_controller.shuttle = null + if(SSsupply.shuttle == src) + SSsupply.shuttle = null . = ..() // This creates a graphical warning to where the shuttle is about to land, in approximately five seconds. diff --git a/code/modules/shuttles/shuttle_supply.dm b/code/modules/shuttles/shuttle_supply.dm index 53286ac949..a90bae9802 100644 --- a/code/modules/shuttles/shuttle_supply.dm +++ b/code/modules/shuttles/shuttle_supply.dm @@ -31,7 +31,7 @@ return if (!at_station()) //at centcom - supply_controller.buy() + SSsupply.buy() //We pretend it's a long_jump by making the shuttle stay at centcom for the "in-transit" period. var/obj/effect/shuttle_landmark/away_waypoint = get_location_waypoint(away_location) @@ -42,7 +42,7 @@ attempt_move(away_waypoint) //wait ETA here. - arrive_time = world.time + supply_controller.movetime + arrive_time = world.time + SSsupply.movetime while (world.time <= arrive_time) sleep(5) @@ -57,7 +57,7 @@ make_sounds(HYPERSPACE_END) if (!at_station()) //at centcom - supply_controller.sell() + SSsupply.sell() // returns 1 if the supply shuttle should be prevented from moving because it contains forbidden atoms /datum/shuttle/autodock/ferry/supply/proc/forbidden_atoms_check() @@ -65,7 +65,7 @@ return 0 //if badmins want to send mobs or a nuke on the supply shuttle from centcom we don't care for(var/area/A in shuttle_area) - if(supply_controller.forbidden_atoms_check(A)) + if(SSsupply.forbidden_atoms_check(A)) return 1 /datum/shuttle/autodock/ferry/supply/proc/at_station() diff --git a/vorestation.dme b/vorestation.dme index 2d484d458e..fbf18bc31d 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -225,7 +225,11 @@ #include "code\controllers\Processes\alarm.dm" #include "code\controllers\Processes\emergencyShuttle.dm" #include "code\controllers\Processes\game_master.dm" +<<<<<<< HEAD:vorestation.dme #include "code\controllers\Processes\supply.dm" +======= +#include "code\controllers\Processes\mob.dm" +>>>>>>> dfda8ea... Merge pull request #6900 from VOREStation/vplk-sssupply:polaris.dme #include "code\controllers\Processes\ticker.dm" #include "code\controllers\ProcessScheduler\core\process.dm" #include "code\controllers\ProcessScheduler\core\processScheduler.dm" @@ -257,6 +261,7 @@ #include "code\controllers\subsystems\skybox.dm" #include "code\controllers\subsystems\sqlite.dm" #include "code\controllers\subsystems\sun.dm" +#include "code\controllers\subsystems\supply.dm" #include "code\controllers\subsystems\time_track.dm" #include "code\controllers\subsystems\timer.dm" #include "code\controllers\subsystems\transcore_vr.dm"