mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-24 05:23:22 +01:00
Mining Vendor TGUI (#17426)
* Mining Vendor TGUI * nice * Update tgui/packages/tgui/interfaces/MiningVendor.tsx Co-authored-by: Wowzewow (Wezzy) <42310821+alsoandanswer@users.noreply.github.com> --------- Co-authored-by: Wowzewow (Wezzy) <42310821+alsoandanswer@users.noreply.github.com>
This commit is contained in:
@@ -117,7 +117,7 @@ var/global/list/minevendor_list = list( //keep in order of price
|
||||
if(!id_turf.Adjacent(loc))
|
||||
scanned_id = null
|
||||
get_user_id(user)
|
||||
interact(user)
|
||||
ui_interact(user)
|
||||
|
||||
/obj/machinery/mineral/equipment_vendor/proc/get_user_id(var/mob/user)
|
||||
if(isDrone(user))
|
||||
@@ -129,46 +129,43 @@ var/global/list/minevendor_list = list( //keep in order of price
|
||||
if(ID)
|
||||
scanned_id = WEAKREF(ID)
|
||||
|
||||
/obj/machinery/mineral/equipment_vendor/interact(mob/user)
|
||||
var/dat
|
||||
dat +="<div class='statusDisplay'>"
|
||||
/obj/machinery/mineral/equipment_vendor/ui_interact(mob/user, datum/tgui/ui)
|
||||
ui = SStgui.try_update_ui(user, src, ui)
|
||||
if(!ui)
|
||||
ui = new(user, src, "MiningVendor", "Mining Equipment Vendor", ui_x=500, ui_y=500)
|
||||
ui.autoupdate = FALSE
|
||||
ui.open()
|
||||
|
||||
/obj/machinery/mineral/equipment_vendor/ui_data(mob/user)
|
||||
var/list/data = list()
|
||||
var/obj/item/card/id/ID = scanned_id?.resolve()
|
||||
if(ID)
|
||||
dat += "You have [ID.mining_points ? ID.mining_points : 0] mining points collected. <A href='?src=\ref[src];choice=eject'>Eject ID.</A><br>"
|
||||
data["hasId"] = TRUE
|
||||
data["miningPoints"] = ID.mining_points ? ID.mining_points : 0
|
||||
else
|
||||
dat += "No ID inserted. <A href='?src=\ref[src];choice=insert'>Insert ID.</A><br>"
|
||||
dat += "</div>"
|
||||
dat += "<br><b>Equipment point cost list:</b><BR><table border='0' width='300'>"
|
||||
for(var/datum/data/mining_equipment/prize in minevendor_list)
|
||||
if(prize.amount > 0)
|
||||
dat += "<tr><td>[prize.equipment_name]</td><td>[prize.cost]</td><td><A href='?src=\ref[src];purchase=\ref[prize]'>Purchase</A> ([prize.amount])</td></tr>"
|
||||
else if(prize.amount == -1)
|
||||
dat += "<tr><td>[prize.equipment_name]</td><td>[prize.cost]</td><td><A href='?src=\ref[src];purchase=\ref[prize]'>Purchase</A> (No limit.)</td></tr>"
|
||||
else
|
||||
dat += "<tr><td>[prize.equipment_name]</td><td>(Out of stock!)</td></tr>"
|
||||
dat += "</table>"
|
||||
data["hasId"] = FALSE
|
||||
var/list/prize_list = list()
|
||||
for(var/datum/data/mining_equipment/prize as anything in minevendor_list)
|
||||
prize_list += list(list("name" = prize.equipment_name, "cost" = prize.cost, "stock" = prize.amount, "ref" = "\ref[prize]"))
|
||||
data["prizeList"] = prize_list
|
||||
return data
|
||||
|
||||
var/datum/browser/popup = new(user, "miningvendor", "Mining Equipment Vendor", 400, 350)
|
||||
popup.set_content(dat)
|
||||
popup.open()
|
||||
return
|
||||
|
||||
/obj/machinery/mineral/equipment_vendor/Topic(href, href_list)
|
||||
if(..())
|
||||
/obj/machinery/mineral/equipment_vendor/ui_act(action, params)
|
||||
. = ..()
|
||||
if(.)
|
||||
return
|
||||
if(href_list["choice"])
|
||||
var/obj/item/card/id/ID = scanned_id.resolve()
|
||||
if(ID)
|
||||
if(href_list["choice"] == "eject")
|
||||
scanned_id = null
|
||||
else if(href_list["choice"] == "insert")
|
||||
|
||||
if(action == "choice")
|
||||
if(params["choice"] == "scan")
|
||||
var/obj/item/card/id/I = usr.get_active_hand()
|
||||
if(istype(I))
|
||||
scanned_id = WEAKREF(I)
|
||||
if(href_list["purchase"])
|
||||
return TRUE
|
||||
|
||||
if(action == "purchase")
|
||||
var/obj/item/card/id/ID = scanned_id.resolve()
|
||||
if(ID)
|
||||
var/datum/data/mining_equipment/prize = locate(href_list["purchase"])
|
||||
var/datum/data/mining_equipment/prize = locate(params["purchase"])
|
||||
if(!prize || !(prize in minevendor_list))
|
||||
return
|
||||
if(prize.amount <= 0 && prize.amount != -1)
|
||||
@@ -186,9 +183,7 @@ var/global/list/minevendor_list = list( //keep in order of price
|
||||
prize.amount--
|
||||
new prize.equipment_path(get_turf(src))
|
||||
intent_message(MACHINE_SOUND)
|
||||
|
||||
updateUsrDialog()
|
||||
return
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/mineral/equipment_vendor/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/coin/mining))
|
||||
|
||||
Reference in New Issue
Block a user