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 += ""
- for(var/path in contains)
- if(!path)
- continue
- var/atom/movable/AM = path
- manifest += "- [initial(AM.name)]
"
- //Add the name to the UI manifest
- ui_manifest += "[initial(AM.name)]"
- manifest += "
"
- else
- ui_manifest = list(manifest)
+ manifest += ""
+ for(var/path in contains)
+ if(!path)
+ continue
+ var/atom/movable/AM = path
+ manifest += "- [initial(AM.name)]
"
+ //Add the name to the UI manifest
+ ui_manifest += "[initial(AM.name)]"
+ for(var/item in contains_special)
+ manifest += "- [item]
"
+ ui_manifest += "[item]"
+ 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"