Cargo "View Contents" Fix (#24562)

* contains_special

* contains special list additions

* keep on testing

* moar

* test test

* get manifest

* make sure

* indentation mistake
This commit is contained in:
Deniz
2024-03-18 18:32:33 +00:00
committed by GitHub
parent 435fbb6a58
commit 576cbdcf25
5 changed files with 31 additions and 14 deletions
@@ -90,7 +90,7 @@
/obj/structure/largecrate/chick/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/crowbar))
var/num = rand(4, 6)
for(var/i = 0, i < num, i++)
for(var/i in 1 to num)
new /mob/living/simple_animal/chick(loc)
return ..()
+4
View File
@@ -55,6 +55,10 @@
for(var/atom/A in crate.contents)
slip.info += "<li>[A.name]</li>"
var/special_content = object.get_special_manifest()
if(special_content)
slip.info += "<li>[special_content]</li>"
if(istype(crate, /obj/structure/closet/critter)) // critter crates do not actually spawn mobs yet and have no contains var, but the manifest still needs to list them
var/obj/structure/closet/critter/CritCrate = crate
if(CritCrate.content_mob)
+20 -13
View File
@@ -1,8 +1,10 @@
/datum/supply_packs
/// The name of this supply pack.
var/name
/// Paths for the items contained in this pack.
/// OBJ: What is inside the crate
var/list/contains = list()
/// STRING: What is inside the crate
var/list/contains_special = list()
/// The manifest contents for this order.
var/manifest = ""
/// The number of crates that get generated by this pack.
@@ -44,18 +46,18 @@
/datum/supply_packs/New()
. = ..()
if(contains)
manifest += "<ul>"
for(var/path in contains)
if(!path)
continue
var/atom/movable/AM = path
manifest += "<li>[initial(AM.name)]</li>"
//Add the name to the UI manifest
ui_manifest += "[initial(AM.name)]"
manifest += "</ul>"
else
ui_manifest = list(manifest)
manifest += "<ul>"
for(var/path in contains)
if(!path)
continue
var/atom/movable/AM = path
manifest += "<li>[initial(AM.name)]</li>"
//Add the name to the UI manifest
ui_manifest += "[initial(AM.name)]"
for(var/item in contains_special)
manifest += "<li>[item]</li>"
ui_manifest += "[item]"
manifest += "</ul>"
/**
* Create a supply order for this pack.
@@ -109,3 +111,8 @@
/datum/supply_packs/proc/get_cost()
return cost * SSeconomy.pack_price_modifier
/datum/supply_packs/proc/get_special_manifest(content_list)
for(var/item in contains_special)
content_list += item
return content_list
@@ -162,6 +162,9 @@
/datum/supply_packs/organic/chicken
name = "Chicken Crate"
cost = 100
contains_special = list(
"4 to 6 chickens"
)
containertype = /obj/structure/closet/critter/chick
containername = "chicken crate"
@@ -352,6 +352,9 @@
/datum/supply_packs/security/secway
name = "Secway Crate"
contains_special = list(
"Secway"
)
cost = 800
containertype = /obj/structure/largecrate/secway
containername = "secway crate"