mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-30 08:29:57 +01:00
Codeside Cargo Refactor (#20030)
**NOTE TO SYSADMINS: See "SQL Details" section below for information on SQL modifications.** Moves the data containing cargo items (i.e. the ones you order from ops and get in the cargo shuttle) from the online database to the codebase. Everything from suppliers to categories to individual items is now code-side and editable by developers/contributors. Refactors cargo items to use `singletons` instead of `datums` for `cargo_supplier`, `cargo_category`, and `cargo_item`. Multiple-instnace things like cargo_orders, etc. still use `datums`. Fixed a bunch of strange discrepancies in categories, suppliers, and pricing for various cargo items. I did a little bit, but it's exhausting to go through all of it right now. Clicking the 'Details' button on the Cargo Order app now actually gives you details instead of bluescreening. Also added some UI elements to the Cargo Order app - Cargo Control and Delivery remain untouched. Overhauled the Cargo Order console TGUI window. It now has tabs on the left, displays restricted access, supplier information, and boasts search functionality. ### SQL Details <details> <summary>SQL Details [Click to Expand]</summary> The following SQL tables should be deleted or deprecated from the server database, as they are no longer in use: - `ss13_cargo_items` - `ss13_cargo_categories` - `ss13_cargo_suppliers` The included migration file, `V011__codeside_cargo`, creates a new table `ss13_cargo_item_orderlog` to the DB. This **replaces** `ss13_cargo_orderlog_items`. Because of this, `ss13_cargo_orderlog_items` is deprecated and should either be deleted or locked & preserved for logging purposes. </details> ## Screenshots      --------- Signed-off-by: naut <55491249+nauticall@users.noreply.github.com> Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,236 @@
|
||||
/singleton/cargo_item/stokcubebox
|
||||
category = "science"
|
||||
name = "stok cube box"
|
||||
supplier = "nanotrasen"
|
||||
description = "Drymate brand stok cubes, shipped from Moghes. Just add water!"
|
||||
price = 60
|
||||
items = list(
|
||||
/obj/item/storage/box/monkeycubes/stokcubes
|
||||
)
|
||||
access = 0
|
||||
container_type = "crate"
|
||||
groupable = TRUE
|
||||
spawn_amount = 1
|
||||
|
||||
/singleton/cargo_item/vkrexicubebox
|
||||
category = "science"
|
||||
name = "vkrexi cube box"
|
||||
supplier = "nanotrasen"
|
||||
description = "Drymate brand vkrexi cubes. Just add water!"
|
||||
price = 60
|
||||
items = list(
|
||||
/obj/item/storage/box/monkeycubes/vkrexicubes
|
||||
)
|
||||
access = 0
|
||||
container_type = "crate"
|
||||
groupable = TRUE
|
||||
spawn_amount = 1
|
||||
|
||||
/singleton/cargo_item/farwacubebox
|
||||
category = "science"
|
||||
name = "farwa cube box"
|
||||
supplier = "nanotrasen"
|
||||
description = "Drymate brand farwa cubes, shipped from Adhomai. Just add water!"
|
||||
price = 55
|
||||
items = list(
|
||||
/obj/item/storage/box/monkeycubes/farwacubes
|
||||
)
|
||||
access = 0
|
||||
container_type = "crate"
|
||||
groupable = TRUE
|
||||
spawn_amount = 1
|
||||
|
||||
/singleton/cargo_item/monkeycubebox
|
||||
category = "science"
|
||||
name = "monkey cube box"
|
||||
supplier = "nanotrasen"
|
||||
description = "Drymate brand monkey cubes. Just add water!"
|
||||
price = 60
|
||||
items = list(
|
||||
/obj/item/storage/box/monkeycubes
|
||||
)
|
||||
access = 0
|
||||
container_type = "crate"
|
||||
groupable = TRUE
|
||||
spawn_amount = 1
|
||||
|
||||
/singleton/cargo_item/neaeracubebox
|
||||
category = "science"
|
||||
name = "neaera cube box"
|
||||
supplier = "nanotrasen"
|
||||
description = "Drymate brand neaera cubes, shipped from Jargon 4. Just add water!"
|
||||
price = 65
|
||||
items = list(
|
||||
/obj/item/storage/box/monkeycubes/neaeracubes
|
||||
)
|
||||
access = 0
|
||||
container_type = "crate"
|
||||
groupable = TRUE
|
||||
spawn_amount = 1
|
||||
/singleton/cargo_item/hazmathood
|
||||
category = "science"
|
||||
name = "hazmat hood"
|
||||
supplier = "nanotrasen"
|
||||
description = "This hood protects against biological hazards."
|
||||
price = 105
|
||||
items = list(
|
||||
/obj/item/clothing/head/hazmat/general
|
||||
)
|
||||
access = 0
|
||||
container_type = "crate"
|
||||
groupable = TRUE
|
||||
spawn_amount = 1
|
||||
|
||||
/singleton/cargo_item/hazmatsuit
|
||||
category = "science"
|
||||
name = "hazmat suit"
|
||||
supplier = "nanotrasen"
|
||||
description = "This suit protects against biological hazards."
|
||||
price = 105
|
||||
items = list(
|
||||
/obj/item/clothing/suit/hazmat/general
|
||||
)
|
||||
access = 0
|
||||
container_type = "crate"
|
||||
groupable = TRUE
|
||||
spawn_amount = 1
|
||||
|
||||
/singleton/cargo_item/igniter
|
||||
category = "science"
|
||||
name = "igniter"
|
||||
supplier = "nanotrasen"
|
||||
description = "A small electronic device able to ignite combustable substances."
|
||||
price = 23
|
||||
items = list(
|
||||
/obj/item/device/assembly/igniter
|
||||
)
|
||||
access = 0
|
||||
container_type = "crate"
|
||||
groupable = TRUE
|
||||
spawn_amount = 1
|
||||
|
||||
/singleton/cargo_item/mindshieldfiringpin
|
||||
category = "science"
|
||||
name = "mindshield firing pin"
|
||||
supplier = "nanotrasen"
|
||||
description = "This implant - locked firing pin authorizes the weapon for only loyalty - implanted users."
|
||||
price = 2000
|
||||
items = list(
|
||||
/obj/item/device/firing_pin/implant/loyalty
|
||||
)
|
||||
access = ACCESS_HEADS
|
||||
container_type = "crate"
|
||||
groupable = TRUE
|
||||
spawn_amount = 1
|
||||
|
||||
/singleton/cargo_item/protohuman
|
||||
category = "science"
|
||||
name = "Proto-Human"
|
||||
supplier = "zeng_hu"
|
||||
description = "A human body, vat-grown and artificially raised without a functional brain. The everyman's relatively-ethical solution to organ harvesting."
|
||||
price = 2300
|
||||
items = list(
|
||||
/mob/living/carbon/human
|
||||
)
|
||||
access = ACCESS_RESEARCH
|
||||
container_type = "bodybag"
|
||||
groupable = FALSE
|
||||
spawn_amount = 1
|
||||
|
||||
/singleton/cargo_item/proto_skrell
|
||||
category = "science"
|
||||
name = "Proto-Skrell"
|
||||
supplier = "zeng_hu"
|
||||
description = "A Skrell body, vat-grown and artificially raised without a functional brain. The everyman's relatively-ethical solution to organ harvesting."
|
||||
price = 4000
|
||||
items = list(
|
||||
/mob/living/carbon/human/skrell
|
||||
)
|
||||
access = ACCESS_RESEARCH
|
||||
container_type = "bodybag"
|
||||
groupable = FALSE
|
||||
spawn_amount = 1
|
||||
|
||||
/singleton/cargo_item/proto_tajara
|
||||
category = "science"
|
||||
name = "Proto-Tajara"
|
||||
supplier = "zeng_hu"
|
||||
description = "A Tajara body, vat-grown and artificially raised without a functional brain. The everyman's relatively-ethical solution to organ harvesting."
|
||||
price = 1800
|
||||
items = list(
|
||||
/mob/living/carbon/human/tajaran
|
||||
)
|
||||
access = ACCESS_RESEARCH
|
||||
container_type = "bodybag"
|
||||
groupable = FALSE
|
||||
spawn_amount = 1
|
||||
|
||||
/singleton/cargo_item/proto_unathi
|
||||
category = "science"
|
||||
name = "Proto-Unathi"
|
||||
supplier = "zeng_hu"
|
||||
description = "An Unathi body, vat-grown and artificially raised without a functional brain. The everyman's relatively-ethical solution to organ harvesting."
|
||||
price = 2000
|
||||
items = list(
|
||||
/mob/living/carbon/human/unathi
|
||||
)
|
||||
access = ACCESS_RESEARCH
|
||||
container_type = "bodybag"
|
||||
groupable = FALSE
|
||||
spawn_amount = 1
|
||||
|
||||
/singleton/cargo_item/blankvaurcadrone
|
||||
category = "science"
|
||||
name = "Blank Vaurca Drone"
|
||||
supplier = "zora"
|
||||
description = "A surplus Vaurca drone body. Thousands of these are thrown at the wayside every day. The everyman's relatively-ethical solution to organ harvesting."
|
||||
price = 300
|
||||
items = list(
|
||||
/mob/living/carbon/human/type_a/cargo
|
||||
)
|
||||
access = ACCESS_RESEARCH
|
||||
container_type = "bodybag"
|
||||
groupable = FALSE
|
||||
spawn_amount = 1
|
||||
|
||||
/singleton/cargo_item/proximitysensor
|
||||
category = "science"
|
||||
name = "proximity sensor"
|
||||
supplier = "nanotrasen"
|
||||
description = "Used for scanning and alerting when someone enters a certain proximity."
|
||||
price = 75
|
||||
items = list(
|
||||
/obj/item/device/assembly/prox_sensor
|
||||
)
|
||||
access = 0
|
||||
container_type = "crate"
|
||||
groupable = TRUE
|
||||
spawn_amount = 1
|
||||
|
||||
/singleton/cargo_item/testrange_firingpin
|
||||
category = "science"
|
||||
name = "test - range firing pin"
|
||||
supplier = "nanotrasen"
|
||||
description = "This safety firing pin allows weapons to be fired within proximity to a firing range."
|
||||
price = 500
|
||||
items = list(
|
||||
/obj/item/device/firing_pin/test_range
|
||||
)
|
||||
access = ACCESS_RESEARCH
|
||||
container_type = "crate"
|
||||
groupable = TRUE
|
||||
spawn_amount = 1
|
||||
|
||||
/singleton/cargo_item/timer
|
||||
category = "science"
|
||||
name = "timer"
|
||||
supplier = "nanotrasen"
|
||||
description = "Used to time things. Works well with contraptions which has to count down. Tick tock."
|
||||
price = 75
|
||||
items = list(
|
||||
/obj/item/device/assembly/timer
|
||||
)
|
||||
access = 0
|
||||
container_type = "crate"
|
||||
groupable = TRUE
|
||||
spawn_amount = 1
|
||||
Reference in New Issue
Block a user