mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-20 06:32:56 +00:00
* basic gutlunchers and ashwalker ranching * Update goldgrub.dm * UpdatePaths * Modular * Modular * Modular --------- Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
63 lines
1.8 KiB
Plaintext
63 lines
1.8 KiB
Plaintext
///structure to contain ores
|
|
/obj/structure/ore_container
|
|
|
|
/obj/structure/ore_container/attackby(obj/item/ore, mob/living/carbon/human/user, list/modifiers)
|
|
if(istype(ore, /obj/item/stack/ore) && !user.combat_mode)
|
|
ore.forceMove(src)
|
|
return
|
|
return ..()
|
|
|
|
/obj/structure/ore_container/Entered(atom/movable/mover)
|
|
. = ..()
|
|
update_appearance(UPDATE_OVERLAYS)
|
|
|
|
/obj/structure/ore_container/Exited(atom/movable/mover)
|
|
. = ..()
|
|
update_appearance(UPDATE_OVERLAYS)
|
|
|
|
/obj/structure/ore_container/ui_interact(mob/user, datum/tgui/ui)
|
|
. = ..()
|
|
ui = SStgui.try_update_ui(user, src, ui)
|
|
if(!ui)
|
|
ui = new(user, src, "OreContainer")
|
|
ui.open()
|
|
|
|
/obj/structure/ore_container/ui_data(mob/user)
|
|
var/list/data = list()
|
|
data["ores"] = list()
|
|
for(var/obj/item/stack/ore/ore_item in contents)
|
|
data["ores"] += list(list(
|
|
"id" = REF(ore_item),
|
|
"name" = ore_item.name,
|
|
"amount" = ore_item.amount,
|
|
))
|
|
return data
|
|
|
|
/obj/structure/ore_container/ui_static_data(mob/user)
|
|
var/list/data = list()
|
|
data["ore_images"] = list()
|
|
for(var/obj/item/stack/ore_item as anything in subtypesof(/obj/item/stack/ore))
|
|
data["ore_images"] += list(list(
|
|
"name" = initial(ore_item.name),
|
|
"icon" = icon2base64(getFlatIcon(image(icon = initial(ore_item.icon), icon_state = initial(ore_item.icon_state)), no_anim=TRUE))
|
|
))
|
|
return data
|
|
|
|
/obj/structure/ore_container/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
|
|
. = ..()
|
|
|
|
if(. || !isliving(ui.user))
|
|
return TRUE
|
|
|
|
var/mob/living/customer = ui.user
|
|
var/obj/item/stack_to_move
|
|
switch(action)
|
|
if("withdraw")
|
|
if(isnull(params["reference"]))
|
|
return TRUE
|
|
stack_to_move = locate(params["reference"]) in contents
|
|
if(isnull(stack_to_move))
|
|
return TRUE
|
|
stack_to_move.forceMove(get_turf(customer))
|
|
return TRUE
|