Adds an engineering cart (#21110)

## About PR

Sprites are ported from Paradise Station, made by McRamon.

This cart is capable of holding the following:

- 2x sheet stacks of each steel, glass and plasteel.
- mechanical, electrical and emergency toolboxes, one each.
- light replacer

The one that spawns in engineering begins with all 3 toolboxes.
This cart costs 15 plasteel to craft, 100 credits to order from cargo.
Removes relevant toolboxes this cart spawns with in the department.

## Images

<img width="605" height="486" alt="Screenshot_4"
src="https://github.com/user-attachments/assets/59487676-bc5e-4f42-8c8e-d5d59add8481"
/>


https://github.com/user-attachments/assets/88e596ed-06e3-4047-89a8-452d1b13f466



### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:

| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/engicart.dmi | McRamon (Paradise Station) | CC BY-SA 3.0 |
This commit is contained in:
Kano
2025-08-09 12:21:52 +00:00
committed by GitHub
parent 6d746e3a61
commit a840bd1cb1
9 changed files with 484 additions and 23 deletions
+14
View File
@@ -895,3 +895,17 @@
container_type = "crate"
groupable = FALSE
spawn_amount = 1
/singleton/cargo_item/engineeringcart
category = "engineering"
name = "engineering cart"
supplier = "hephaestus"
description = "A cart for your engineering-related storage needs."
price = 100
items = list(
/obj/structure/engineeringcart
)
access = ACCESS_ENGINE
container_type = "crate"
groupable = TRUE
spawn_amount = 1
@@ -72,6 +72,7 @@
list(
new /datum/stack_recipe("key", /obj/item/key, 1, time = 10, one_per_turf = 0, on_floor = 1),
new /datum/stack_recipe("custodial cart", /obj/structure/janitorialcart, BUILD_AMT, time = 120, one_per_turf = 1, on_floor = 1),
new /datum/stack_recipe("engineering cart", /obj/structure/engineeringcart, BUILD_AMT, time = 120, one_per_turf = 1, on_floor = 1),
new /datum/stack_recipe("steel closet", /obj/structure/closet, BUILD_AMT, time = 15, one_per_turf = 1, on_floor = 1),
new /datum/stack_recipe("canister", /obj/machinery/portable_atmospherics/canister, 10, time = 15, one_per_turf = 1, on_floor = 1),
new /datum/stack_recipe("target stake", /obj/structure/target_stake, BUILD_AMT, time = 15, one_per_turf = 1, on_floor = 1),
+1 -1
View File
@@ -329,7 +329,7 @@
//Wheelchair pushing goes here for now.
//TODO: Fuck wheelchairs.
if(istype(mob.pulledby, /obj/structure/bed/stool/chair/office/wheelchair) || istype(mob.pulledby, /obj/structure/janitorialcart))
if(istype(mob.pulledby, /obj/structure/bed/stool/chair/office/wheelchair) || istype(mob.pulledby, /obj/structure/janitorialcart) || istype(mob.pulledby, /obj/structure/engineeringcart))
var/obj/structure/S = mob.pulledby
move_delay += S.slowdown
return mob.pulledby.relaymove(mob, direct)