Initialize all vending products on server start & fix multiple food icons (#8102)

* Add icons for crablegs and crabmeat

* Build all vending machine inventories on startup (cursed)

* Fix cookie having no icon (convert everything to cookiesnack)

* Remove kabob with no actual definition

* Fix spicy burrito having no icon
This commit is contained in:
ShadowLarkens
2021-05-29 11:24:22 -07:00
committed by GitHub
parent 2941049404
commit d1a081033d
7 changed files with 36 additions and 12 deletions

View File

@@ -406,7 +406,6 @@
/obj/item/weapon/reagent_containers/food/snacks/candy_corn,
/obj/item/weapon/reagent_containers/food/snacks/chips,
/obj/item/weapon/reagent_containers/food/snacks/chips/bbq,
/obj/item/weapon/reagent_containers/food/snacks/cookie,
/obj/item/weapon/reagent_containers/food/snacks/cookiesnack,
/obj/item/weapon/reagent_containers/food/snacks/fruitbar,
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
@@ -827,7 +826,7 @@
/obj/item/weapon/reagent_containers/food/snacks/donut/normal,
/obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly,
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
/obj/item/weapon/reagent_containers/food/snacks/cookie)
/obj/item/weapon/reagent_containers/food/snacks/cookiesnack)
/obj/random/mre/dessert/vegan
name = "random vegan MRE dessert"

View File

@@ -1351,10 +1351,10 @@
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob/living/carbon/human</span>")
return
H.equip_to_slot_or_del( new /obj/item/weapon/reagent_containers/food/snacks/cookie(H), slot_l_hand )
if(!(istype(H.l_hand,/obj/item/weapon/reagent_containers/food/snacks/cookie)))
H.equip_to_slot_or_del( new /obj/item/weapon/reagent_containers/food/snacks/cookie(H), slot_r_hand )
if(!(istype(H.r_hand,/obj/item/weapon/reagent_containers/food/snacks/cookie)))
H.equip_to_slot_or_del( new /obj/item/weapon/reagent_containers/food/snacks/cookiesnack(H), slot_l_hand )
if(!(istype(H.l_hand,/obj/item/weapon/reagent_containers/food/snacks/cookiesnack)))
H.equip_to_slot_or_del( new /obj/item/weapon/reagent_containers/food/snacks/cookiesnack(H), slot_r_hand )
if(!(istype(H.r_hand,/obj/item/weapon/reagent_containers/food/snacks/cookiesnack)))
log_admin("[key_name(H)] has their hands full, so they did not receive their cookie, spawned by [key_name(src.owner)].")
message_admins("[key_name(H)] has their hands full, so they did not receive their cookie, spawned by [key_name(src.owner)].")
return

View File

@@ -348,6 +348,7 @@
name = "vending"
/datum/asset/spritesheet/vending/register()
populate_vending_products()
for(var/k in GLOB.vending_products)
var/atom/item = k
if(!ispath(item, /atom))
@@ -395,6 +396,22 @@
Insert(imgid, I)
return ..()
// this is cursed but necessary or else vending product icons can be missing
// basically, if there's any vending machines that aren't already mapped in, our register() will not know
// that they exist, and therefore can't generate the entries in the spritesheet for them
// and since assets are unique and can't be reloaded later, we have to make sure that GLOB.vending_products
// is populated with every single type of vending machine
// As this is only done at runtime, we have to create all the vending machines in existence and force them
// to register their products when this asset initializes.
/datum/asset/spritesheet/vending/proc/populate_vending_products()
SSatoms.map_loader_begin()
for(var/path in subtypesof(/obj/machinery/vending))
var/obj/machinery/vending/x = new path(null)
// force an inventory build; with map_loader_begin active, init isn't called
x.build_inventory()
qdel(x)
SSatoms.map_loader_stop()
// /datum/asset/simple/genetics
// assets = list(
// "dna_discovered.gif" = 'html/dna_discovered.gif',

View File

@@ -612,7 +612,7 @@
// Cookies and Candies //
/obj/item/weapon/reagent_containers/food/snacks/cookie
/obj/item/weapon/reagent_containers/food/snacks/cookiesnack
price_tag = 1
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar
@@ -684,9 +684,6 @@
/obj/item/weapon/reagent_containers/food/snacks/wingfangchu
price_tag = 5
/obj/item/weapon/reagent_containers/food/snacks/kabob
price_tag = 5
/obj/item/weapon/reagent_containers/food/snacks/monkeykabob
price_tag = 5

View File

@@ -5096,6 +5096,17 @@
. = ..()
reagents.add_reagent("tofu", 6)
/obj/item/weapon/reagent_containers/food/snacks/burrito_spicy
name = "spicy burrito"
desc = "Spicy meat wrapped in a flour tortilla."
icon = 'icons/obj/food_syn.dmi'
icon_state = "burrito_spicy"
bitesize = 4
center_of_mass = list("x"=16, "y"=16)
nutriment_desc = list("tortilla" = 6)
nutriment_amt = 6
/obj/item/weapon/reagent_containers/food/snacks/burrito_spicy/Initialize()
. = ..()
reagents.add_reagent("protein", 6)
@@ -6105,7 +6116,7 @@
reagents.add_reagent("sugar", 5)
bitesize = 1
/obj/item/weapon/reagent_containers/food/snacks/cookie/Initialize()
/obj/item/weapon/reagent_containers/food/snacks/cookiesnack/Initialize()
. = ..()
bitesize = 1

View File

@@ -299,7 +299,7 @@
/obj/item/weapon/reagent_containers/food/snacks/dough,
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar
)
result = /obj/item/weapon/reagent_containers/food/snacks/cookie
result = /obj/item/weapon/reagent_containers/food/snacks/cookiesnack
result_quantity = 4
reagent_mix = RECIPE_REAGENT_REPLACE

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 53 KiB