mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-05 23:11:52 +00:00
Removes all \red's and \blues in favor of span classes. \red things that were bold were replaced with danger because it's warning but bold.
107 lines
2.5 KiB
Plaintext
107 lines
2.5 KiB
Plaintext
|
|
/**********************Ore box**************************/
|
|
|
|
/obj/structure/ore_box
|
|
icon = 'icons/obj/mining.dmi'
|
|
icon_state = "orebox0"
|
|
name = "ore box"
|
|
desc = "A heavy box used for storing ore."
|
|
density = 1
|
|
var/last_update = 0
|
|
var/list/stored_ore = list()
|
|
|
|
/obj/structure/ore_box/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
|
if (istype(W, /obj/item/weapon/ore))
|
|
user.remove_from_mob(W)
|
|
src.contents += W
|
|
if (istype(W, /obj/item/weapon/storage))
|
|
var/obj/item/weapon/storage/S = W
|
|
S.hide_from(usr)
|
|
for(var/obj/item/weapon/ore/O in S.contents)
|
|
S.remove_from_storage(O, src) //This will move the item to this item's contents
|
|
|
|
CHECK_TICK
|
|
|
|
user << span("notice", "You empty the satchel into the box.")
|
|
|
|
update_ore_count()
|
|
|
|
return
|
|
|
|
/obj/structure/ore_box/proc/update_ore_count()
|
|
|
|
stored_ore = list()
|
|
|
|
for(var/obj/item/weapon/ore/O in contents)
|
|
|
|
if(stored_ore[O.name])
|
|
stored_ore[O.name]++
|
|
else
|
|
stored_ore[O.name] = 1
|
|
|
|
/obj/structure/ore_box/examine(mob/user)
|
|
user << "That's an [src]."
|
|
user << desc
|
|
|
|
// Borgs can now check contents too.
|
|
if((!istype(user, /mob/living/carbon/human)) && (!istype(user, /mob/living/silicon/robot)))
|
|
return
|
|
|
|
if(!Adjacent(user)) //Can only check the contents of ore boxes if you can physically reach them.
|
|
return
|
|
|
|
add_fingerprint(user)
|
|
|
|
if(!contents.len)
|
|
user << "It is empty."
|
|
return
|
|
|
|
if(world.time > last_update + 10)
|
|
update_ore_count()
|
|
last_update = world.time
|
|
|
|
user << "It holds:"
|
|
for(var/ore in stored_ore)
|
|
user << "- [stored_ore[ore]] [ore]"
|
|
return
|
|
|
|
|
|
/obj/structure/ore_box/verb/empty_box()
|
|
set name = "Empty Ore Box"
|
|
set category = "Object"
|
|
set src in view(1)
|
|
|
|
if(!istype(usr, /mob/living/carbon/human)) //Only living, intelligent creatures with hands can empty ore boxes.
|
|
usr << "<span class='warning'>You are physically incapable of emptying the ore box.</span>"
|
|
return
|
|
|
|
if( usr.stat || usr.restrained() )
|
|
return
|
|
|
|
if(!Adjacent(usr)) //You can only empty the box if you can physically reach it
|
|
usr << "You cannot reach the ore box."
|
|
return
|
|
|
|
add_fingerprint(usr)
|
|
|
|
if(contents.len < 1)
|
|
usr << "<span class='warning'>The ore box is empty</span>"
|
|
return
|
|
|
|
for (var/obj/item/weapon/ore/O in contents)
|
|
contents -= O
|
|
O.loc = src.loc
|
|
usr << "<span class='notice'>You empty the ore box</span>"
|
|
|
|
return
|
|
|
|
/obj/structure/ore_box/ex_act(severity)
|
|
if(severity == 1.0 || (severity < 3.0 && prob(50)))
|
|
for (var/obj/item/weapon/ore/O in contents)
|
|
O.loc = src.loc
|
|
O.ex_act(severity++)
|
|
|
|
CHECK_TICK
|
|
qdel(src)
|
|
return
|