Files
Aurora.3/code/modules/cargo/items/custodial.dm
T
55f4e12614 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


![image](https://github.com/user-attachments/assets/79129923-1fb6-4cee-ac8d-5505a52270a4)

![image](https://github.com/user-attachments/assets/a323be35-8ce6-4ec4-98f7-ee701d0931a3)

![image](https://github.com/user-attachments/assets/5ddb02c5-152f-4715-b2da-20903fa11c93)

![image](https://github.com/user-attachments/assets/420e45b0-6a9f-4420-beb8-a2c8423a5be4)

![image](https://github.com/user-attachments/assets/114f4755-ee51-41e6-8670-07aacc5326ae)

---------

Signed-off-by: naut <55491249+nauticall@users.noreply.github.com>
Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
2025-03-04 18:18:00 +00:00

154 lines
3.5 KiB
Plaintext

/singleton/cargo_item/spacecleaner
category = "custodial"
name = "space cleaner"
supplier = "blam"
description = "BLAM!-brand non-foaming space cleaner! Perfect for those pesky stains."
price = 50
items = list(
/obj/item/reagent_containers/spray/cleaner
)
access = 0
container_type = "crate"
groupable = TRUE
spawn_amount = 1
/singleton/cargo_item/basic_soap
category = "custodial"
name = "basic soap"
supplier = "blam"
description = "A basic bar of soap. It cleans, and does absolutely nothing else."
price = 8
items = list(
/obj/item/soap
)
access = 0
container_type = "crate"
groupable = TRUE
spawn_amount = 1
/singleton/cargo_item/premium_soap
category = "custodial"
name = "random premium soaps (x3)"
supplier = "blam"
description = "A selection of premium random soaps, as part of a variety pack."
price = 70
items = list(
/obj/random/soap
)
access = 0
container_type = "crate"
groupable = TRUE
spawn_amount = 3
/singleton/cargo_item/trashbag
category = "custodial"
name = "trash bag (x3)"
supplier = "blam"
description = "Heavy duty polymer trash bags."
price = 20
items = list(
/obj/item/storage/bag/trash
)
access = 0
container_type = "crate"
groupable = TRUE
spawn_amount = 3
/singleton/cargo_item/lightreplacer
category = "custodial"
name = "light replacer"
supplier = "blam"
description = "A device to automatically replace lights. Refill with working lightbulbs or sheets of glass."
price = 135
items = list(
/obj/item/device/lightreplacer
)
access = 0
container_type = "crate"
groupable = TRUE
spawn_amount = 1
/singleton/cargo_item/replacementlights_box
category = "custodial"
name = "box of replacement lights"
supplier = "blam"
description = "This box is shaped on the inside so that only light tubes and bulbs fit."
price = 100
items = list(
/obj/item/storage/box/lights/mixed
)
access = 0
container_type = "crate"
groupable = TRUE
spawn_amount = 1
/singleton/cargo_item/wetfloorsign
category = "custodial"
name = "wet floor sign (x5)"
supplier = "blam"
description = "A resupply pack of wet floor signs."
price = 20
items = list(
/obj/item/clothing/suit/caution
)
access = 0
container_type = "crate"
groupable = TRUE
spawn_amount = 5
/singleton/cargo_item/mop
category = "custodial"
name = "mop"
supplier = "blam"
description = "A cleaning utensil consisting of a fabric head attached to a stick."
price = 40
items = list(
/obj/item/mop
)
access = 0
container_type = "crate"
groupable = TRUE
spawn_amount = 1
/singleton/cargo_item/mopbucket
category = "custodial"
name = "mop bucket"
supplier = "blam"
description = "Fits onto a standard janitorial cart. Fill it with water, but don't forget a mop!"
price = 40
items = list(
/obj/structure/mopbucket
)
access = 0
container_type = "crate"
groupable = TRUE
spawn_amount = 1
/singleton/cargo_item/cleanergrenade
category = "custodial"
name = "cleaner grenade"
supplier = "blam"
description = "Space cleaner packaged into a wide area dispersal system for rapid and efficient cleaning of surfaces. Slippery."
price = 225
items = list(
/obj/item/grenade/chem_grenade/cleaner
)
access = ACCESS_JANITOR
container_type = "crate"
groupable = TRUE
spawn_amount = 1
/singleton/cargo_item/janitorial_cart
category = "custodial"
name = "custodial cart"
supplier = "blam"
description = "The ultimate in custodial carts. Has space for water, mops, signs, trash bags, and more."
price = 850
items = list(
/obj/structure/janitorialcart
)
access = ACCESS_JANITOR
container_type = "crate"
groupable = TRUE
spawn_amount = 1