mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-19 11:05:03 +01:00
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:
@@ -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 ..()
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user