Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.

Commit 1e91f03

Browse files
Merge pull request #2 from JohnFulpWillard/use
Uses :: instead of : from JohnFulpWillard
2 parents d8d110c + b27db80 commit 1e91f03

File tree

1 file changed

+48
-65
lines changed

1 file changed

+48
-65
lines changed

code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm

Lines changed: 48 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
new /obj/item/circuitboard/machine/icecream_vat)
1313
circuit = /obj/item/circuitboard/machine/icecream_vat
1414
//Ice cream to be dispensed into cone on attackby
15-
var/selected_scoop = null
15+
var/obj/item/reagent_containers/food/snacks/ice_cream_scoop/selected_scoop_type
1616
//Cone to be dispensed with alt click
17-
var/selected_cone = null
17+
var/obj/item/reagent_containers/food/snacks/selected_cone_type
1818
//Max amount of items that can be in vat's storage
1919
var/storage_capacity = 80
2020
//If it starts empty or not
@@ -60,46 +60,44 @@
6060
data["storage"] = list()
6161

6262
//Loop through starting list for data to send to main tab
63-
for(var/item_detail in ui_list)
63+
for(var/obj/item/reagent_containers/food/snacks/item_path as anything in ui_list)
6464

6565
//Create needed list and variable for geting data for UI
6666
var/list/details = list()
67-
var/obj/item/reagent_containers/food/snacks/item = new item_detail
6867

6968
//Get information for UI
70-
details["item_name"] = item.name
71-
details["item_quantity"] = find_amount(item)
72-
details["item_type_path"] = item.type
69+
details["item_name"] = item_path::name
70+
details["item_quantity"] = find_amount(item_path)
71+
details["item_type_path"] = item_path
7372

73+
74+
var/obj/item/reagent_containers/food/snacks/initialized_item = new item_path
7475
//Get an image for the UI
75-
var/icon/item_pic = getFlatIcon(item)
76+
var/icon/item_pic = getFlatIcon(initialized_item)
7677
var/md5 = md5(fcopy_rsc(item_pic))
77-
if(!SSassets.cache["photo_[md5]_[item.name]_icon.png"])
78-
SSassets.transport.register_asset("photo_[md5]_[item.name]_icon.png", item_pic)
79-
SSassets.transport.send_assets(user, list("photo_[md5]_[item.name]_icon.png" = item_pic))
80-
details["item_image"] = SSassets.transport.get_asset_url("photo_[md5]_[item.name]_icon.png")
78+
if(!SSassets.cache["photo_[md5]_[initialized_item.name]_icon.png"])
79+
SSassets.transport.register_asset("photo_[md5]_[initialized_item.name]_icon.png", item_pic)
80+
SSassets.transport.send_assets(user, list("photo_[md5]_[initialized_item.name]_icon.png" = item_pic))
81+
details["item_image"] = SSassets.transport.get_asset_url("photo_[md5]_[initialized_item.name]_icon.png")
8182

8283
//Sort into different data lists depending on what the item is
83-
if(istype(item, /obj/item/reagent_containers/food/snacks/ice_cream_scoop))
84-
details["selected_item"] = selected_scoop
84+
if(ispath(item_path, /obj/item/reagent_containers/food/snacks/ice_cream_scoop))
85+
details["selected_item"] = selected_scoop_type
8586
data["ice_cream"] += list(details)
8687
else
87-
details["selected_item"] = selected_cone
88+
details["selected_item"] = selected_cone_type
8889
data["cones"] += list(details)
89-
90-
//Delete item instance
91-
qdel(item)
90+
qdel(initialized_item)
9291

9392
//Loop through children of /datum/info_tab/icecream_vat for data to send to info tab
94-
for(var/info_detail in subtypesof(/datum/info_tab/icecream_vat))
93+
for(var/datum/info_tab/icecream_vat/info_detail_path as anything in subtypesof(/datum/info_tab/icecream_vat))
9594

9695
//Create needed list and variable for geting data for UI
9796
var/list/details = list()
9897

9998
//Get info from children
100-
//Use of : to get info without instancing thanks to JohnFulpWillard
101-
details["section_title"] = info_detail:section
102-
details["section_text"] = info_detail:section_text
99+
details["section_title"] = info_detail_path::section
100+
details["section_text"] = info_detail_path::section_text
103101

104102
//Add info to data
105103
data["info_tab"] += list(details)
@@ -153,24 +151,24 @@
153151
. = ..()
154152

155153
//Selected cones
156-
if(selected_cone == null)
154+
if(selected_cone_type == null)
157155
. += span_notice("You can <b>Alt Click</b> to dispense a cone once one is selected.")
158156
else
159-
. += span_notice("<b>Alt Click</b> to dispense [selected_cone:name].")
157+
. += span_notice("<b>Alt Click</b> to dispense [selected_cone_type::name].")
160158

161159
//Selected scoops
162-
if(selected_scoop == null)
160+
if(selected_scoop_type == null)
163161
. += span_notice("No ice cream scoop currently selected.")
164162
else
165-
. += span_notice("[selected_scoop:name] is currently selected.")
163+
. += span_notice("[selected_scoop_type::name] is currently selected.")
166164

167165
//Scooping cone instruction
168166
. += span_notice("<b>Right Click</b> to add a scoop to a cone.")
169167

170168
//For dispensing selected cone
171169
/obj/machinery/icecream_vat/AltClick(mob/living/carbon/user)
172-
if(selected_cone != null)
173-
dispense_item(selected_cone)
170+
if(selected_cone_type != null)
171+
dispense_item(selected_cone_type)
174172
else
175173
user.balloon_alert(user, "None selected!")
176174

@@ -223,66 +221,51 @@
223221

224222
return amount
225223

226-
/obj/machinery/icecream_vat/proc/dispense_item(received_item, mob/user = usr)
227-
228-
//Make a variable for checking the type of the selected item
229-
var/obj/item/reagent_containers/food/snacks/ui_item = new received_item
230-
224+
/obj/machinery/icecream_vat/proc/dispense_item(obj/item/reagent_containers/food/snacks/received_item_type, mob/user = usr)
231225
//If the vat has some of the desired item, dispense it
232-
if(find_amount(ui_item) > 0)
226+
if(find_amount(received_item_type) > 0)
233227
//Select the last(most recent) of desired item
234-
var/obj/item/reagent_containers/food/snacks/dispensed_item = LAZYACCESS(contents, last_index(ui_item))
228+
var/obj/item/reagent_containers/food/snacks/dispensed_item = LAZYACCESS(contents, last_index(received_item_type))
235229
//Drop it on the floor and then move it into the user's hands
236230
dispensed_item.forceMove(loc)
237231
user.put_in_hands(dispensed_item)
238-
user.visible_message(span_notice("[user] dispenses [received_item:name] from [src]."), span_notice("You dispense [received_item:name] from [src]."))
232+
user.visible_message(span_notice("[user] dispenses [received_item_type::name] from [src]."), span_notice("You dispense [received_item_type::name] from [src]."))
239233
playsound(src, dispense_sound, 25, TRUE, extrarange = -3)
240234
else
241235
//For Alt click and because UI buttons are slow to disable themselves
242236
user.balloon_alert(user, "All out!")
243237

244-
//Delete item instance
245-
qdel(ui_item)
246-
247-
/obj/machinery/icecream_vat/proc/select_item(received_item, mob/user = usr)
248-
249-
//Make a variable for checking the type of the selected item
250-
var/obj/item/reagent_containers/food/snacks/ui_item = new received_item
251-
238+
/obj/machinery/icecream_vat/proc/select_item(obj/item/reagent_containers/food/snacks/received_item_type, mob/user = usr)
252239
//Deselecting
253-
if(istype(ui_item, /obj/item/reagent_containers/food/snacks/ice_cream_cone))
254-
if(selected_cone == ui_item.type)
255-
user.visible_message(span_notice("[user] deselects [received_item:name] from [src]."), span_notice("You deselect [received_item:name] from [src]."))
256-
selected_cone = null
240+
if(ispath(received_item_type, /obj/item/reagent_containers/food/snacks/ice_cream_cone))
241+
if(selected_cone_type == received_item_type)
242+
user.visible_message(span_notice("[user] deselects [received_item_type::name] from [src]."), span_notice("You deselect [received_item_type::name] from [src]."))
243+
selected_cone_type = null
257244
playsound(src, select_sound, 25, TRUE, extrarange = -3)
258-
259245
return
260-
else if(selected_scoop == ui_item.type)
261-
user.visible_message(span_notice("[user] deselects [received_item:name] from [src]."), span_notice("You deselect [received_item:name] from [src]."))
262-
selected_scoop = null
263-
playsound(src, select_sound, 25, TRUE, extrarange = -3)
264246

247+
else if(selected_scoop_type == received_item_type)
248+
user.visible_message(span_notice("[user] deselects [received_item_type::name] from [src]."), span_notice("You deselect [received_item_type::name] from [src]."))
249+
selected_scoop_type = null
250+
playsound(src, select_sound, 25, TRUE, extrarange = -3)
265251
return
266252

267253
//Selecting
268-
if(find_amount(ui_item.type) > 0)
254+
if(find_amount(received_item_type) > 0)
269255
//Set item to selected based on its type
270-
if(istype(ui_item, /obj/item/reagent_containers/food/snacks/ice_cream_cone))
271-
selected_cone = ui_item.type
256+
if(ispath(received_item_type, /obj/item/reagent_containers/food/snacks/ice_cream_cone))
257+
selected_cone_type = received_item_type
272258
else
273-
selected_scoop = ui_item.type
259+
selected_scoop_type = received_item_type
274260
playsound(src, select_sound, 25, TRUE, extrarange = -3)
275-
user.visible_message(span_notice("[user] sets [src] to dispense [received_item:name]s."), span_notice("You set [src] to dispense [received_item:name]s."))
261+
user.visible_message(span_notice("[user] sets [src] to dispense [received_item_type::name]s."), span_notice("You set [src] to dispense [received_item_type::name]s."))
276262
//Prevent them from selecting items that the vat does not have
277263
else
278264
user.balloon_alert(user, "All out!")
279265

280-
//Delete item instance
281-
qdel(received_item)
282-
283266
/obj/machinery/icecream_vat/proc/last_index(obj/item/search_item)
284267

285-
var/obj/item/reagent_containers/food/snacks/item_index = null
268+
var/obj/item/reagent_containers/food/snacks/item_index
286269

287270
//Search for the same item path in storage
288271
for(var/i in 1 to LAZYLEN(contents))
@@ -349,13 +332,13 @@
349332
if(istype(target_cone, /obj/item/reagent_containers/food/snacks/ice_cream_cone))
350333
var/obj/item/reagent_containers/food/snacks/ice_cream_cone/cone = target_cone
351334
//Check if a scoop has been selected
352-
if(selected_scoop != null)
335+
if(selected_scoop_type != null)
353336
//Check if there are any of selected scoop in contents
354-
if(find_amount(selected_scoop) > 0)
337+
if(find_amount(selected_scoop_type) > 0)
355338
//Increase scooped variable
356339
cone.scoops += 1
357340
//Select last of selected scoop in contents
358-
var/obj/item/reagent_containers/food/snacks/cone_scoop = LAZYACCESS(contents, last_index(selected_scoop))
341+
var/obj/item/reagent_containers/food/snacks/cone_scoop = LAZYACCESS(contents, last_index(selected_scoop_type))
359342
//Remove scoop from contents
360343
cone_scoop.forceMove(loc)
361344
//Increase maximum volume to make room for scoop's chems

0 commit comments

Comments
 (0)