diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm index 9e7e13612fb..fe235a3fca6 100644 --- a/code/game/objects/structures/crates_lockers/largecrate.dm +++ b/code/game/objects/structures/crates_lockers/largecrate.dm @@ -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 ..() diff --git a/code/modules/supply/supply_order.dm b/code/modules/supply/supply_order.dm index d3c7de1f56f..99bd05ad6e8 100644 --- a/code/modules/supply/supply_order.dm +++ b/code/modules/supply/supply_order.dm @@ -55,6 +55,10 @@ for(var/atom/A in crate.contents) slip.info += "
  • [A.name]
  • " + var/special_content = object.get_special_manifest() + if(special_content) + slip.info += "
  • [special_content]
  • " + 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) diff --git a/code/modules/supply/supply_pack.dm b/code/modules/supply/supply_pack.dm index 7a0f5eed633..3a3ce13a8ed 100644 --- a/code/modules/supply/supply_pack.dm +++ b/code/modules/supply/supply_pack.dm @@ -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 += "" - else - ui_manifest = list(manifest) + manifest += "" /** * 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 diff --git a/code/modules/supply/supply_packs/pack_organic.dm b/code/modules/supply/supply_packs/pack_organic.dm index 26940ae3572..b01d46c70db 100644 --- a/code/modules/supply/supply_packs/pack_organic.dm +++ b/code/modules/supply/supply_packs/pack_organic.dm @@ -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" diff --git a/code/modules/supply/supply_packs/pack_security.dm b/code/modules/supply/supply_packs/pack_security.dm index 4e43014af57..b6cad716bf9 100644 --- a/code/modules/supply/supply_packs/pack_security.dm +++ b/code/modules/supply/supply_packs/pack_security.dm @@ -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"