Merge pull request #10373 from ShadowLarkens/fix_vending

Initialize all vending products on server start & fix multiple food icons
This commit is contained in:
Novacat
2021-05-21 23:49:43 -04:00
committed by Chompstation Bot
parent 667af1c630
commit 5d69f8878d
11 changed files with 42 additions and 22 deletions

View File

@@ -29,7 +29,7 @@
/obj/item/weapon/reagent_containers/food/snacks/berrymuffin,
/obj/item/weapon/reagent_containers/food/snacks/bunbun,
/obj/item/weapon/reagent_containers/food/snacks/cherrypie,
/obj/item/weapon/reagent_containers/food/snacks/cookie,
/obj/item/weapon/reagent_containers/food/snacks/cookiesnack,
/obj/item/weapon/reagent_containers/food/snacks/croissant,
/obj/item/weapon/reagent_containers/food/snacks/donut/normal,
/obj/item/weapon/reagent_containers/food/snacks/donut/jelly,

View File

@@ -216,7 +216,7 @@
/obj/item/weapon/reagent_containers/food/snacks/sliceable/orangecake = 10,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/peanutcake = 10,
/obj/item/weapon/reagent_containers/food/snacks/icecreamsandwich = 15,
/obj/item/weapon/reagent_containers/food/snacks/cookie = 15,
/obj/item/weapon/reagent_containers/food/snacks/cookiesnack = 15,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/brownies = 10,
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar = 10,
/obj/item/weapon/reagent_containers/food/snacks/chocolatepiece = 20
@@ -2429,7 +2429,6 @@
/obj/item/weapon/reagent_containers/food/snacks/clownburger = 10,
/obj/item/weapon/reagent_containers/food/snacks/clownstears = 10,
/obj/item/weapon/reagent_containers/food/snacks/coldchili = 10,
/obj/item/weapon/reagent_containers/food/snacks/cookie = 10,
/obj/item/weapon/reagent_containers/food/snacks/cookiesnack = 10,
/obj/item/weapon/reagent_containers/food/snacks/corn_dog = 10,
/obj/item/weapon/reagent_containers/food/snacks/cosmicbrowniesslice = 10,
@@ -2505,7 +2504,6 @@
/obj/item/weapon/reagent_containers/food/snacks/jellysandwich = 10,
/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/cherry = 10,
/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/peanutbutter = 10,
/obj/item/weapon/reagent_containers/food/snacks/kabob = 10,
/obj/item/weapon/reagent_containers/food/snacks/keylimepieslice = 10,
/obj/item/weapon/reagent_containers/food/snacks/keylimepieslice/filled = 10,
/obj/item/weapon/reagent_containers/food/snacks/kitsuneudon = 10,
@@ -2763,7 +2761,7 @@
/obj/item/weapon/reagent_containers/food/snacks/pineapple_ring = 10,
/obj/item/weapon/reagent_containers/food/snacks/rawbacon = 10,
/obj/item/weapon/reagent_containers/food/snacks/rawsunflower = 10,
/obj/item/weapon/reagent_containers/food/snacks/sharkmeat = 10,
/obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish/sharkmeat = 10,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/birthdaycake = 10,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel = 10,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/monkfish = 10,
@@ -2893,7 +2891,6 @@
/obj/item/weapon/reagent_containers/food/snacks/clownburger = 10,
/obj/item/weapon/reagent_containers/food/snacks/clownstears = 10,
/obj/item/weapon/reagent_containers/food/snacks/coldchili = 10,
/obj/item/weapon/reagent_containers/food/snacks/cookie = 10,
/obj/item/weapon/reagent_containers/food/snacks/cookiesnack = 10,
/obj/item/weapon/reagent_containers/food/snacks/corn_dog = 10,
/obj/item/weapon/reagent_containers/food/snacks/cosmicbrowniesslice = 10,
@@ -2969,7 +2966,6 @@
/obj/item/weapon/reagent_containers/food/snacks/jellysandwich = 10,
/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/cherry = 10,
/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/peanutbutter = 10,
/obj/item/weapon/reagent_containers/food/snacks/kabob = 10,
/obj/item/weapon/reagent_containers/food/snacks/keylimepieslice = 10,
/obj/item/weapon/reagent_containers/food/snacks/keylimepieslice/filled = 10,
/obj/item/weapon/reagent_containers/food/snacks/kitsuneudon = 10,
@@ -3196,7 +3192,7 @@
/obj/item/weapon/reagent_containers/food/snacks/pineapple_ring = 10,
/obj/item/weapon/reagent_containers/food/snacks/rawbacon = 10,
/obj/item/weapon/reagent_containers/food/snacks/rawsunflower = 10,
/obj/item/weapon/reagent_containers/food/snacks/sharkmeat = 10,
/obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish/sharkmeat = 10,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/birthdaycake = 10,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel = 10,
/obj/item/weapon/reagent_containers/food/snacks/sliceable/monkfish = 10,

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,
@@ -854,7 +853,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

@@ -1390,10 +1390,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

@@ -359,6 +359,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))
@@ -406,6 +407,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

@@ -268,7 +268,7 @@
/obj/item/weapon/reagent_containers/food/drinks/dry_ramen, \
/obj/item/weapon/reagent_containers/food/snacks/candiedapple, \
/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/item/weapon/reagent_containers/food/snacks/meatball, \
/obj/item/weapon/reagent_containers/food/snacks/plump_pie, \
/obj/item/weapon/reagent_containers/food/snacks/liquidfood)

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

@@ -5117,6 +5117,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)
@@ -6126,7 +6137,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

@@ -378,7 +378,7 @@
nutriment_amt = 2
toxin_amount = null
/obj/item/weapon/reagent_containers/food/snacks/sharkmeat/Initialize()
/obj/item/weapon/reagent_containers/food/snacks/carpmeat/fish/sharkmeat/Initialize()
. = ..()
bitesize = 3
reagents.add_reagent("protein", 2)

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