/**********************Satchel**************************/ /obj/item/weapon/satchel icon = 'mining.dmi' icon_state = "satchel" name = "Mining Satchel" var/mode = 1; //0 = pick one at a time, 1 = pick all on tile var/capacity = 50; //the number of ore pieces it can carry. flags = FPRINT | TABLEPASS | ONBELT w_class = 1 /obj/item/weapon/satchel/attack_self(mob/user as mob) for (var/obj/item/weapon/ore/O in contents) contents -= O O.loc = user.loc user << "\blue You empty the satchel." return /obj/item/weapon/satchel/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() if (istype(W, /obj/item/weapon/ore)) var/obj/item/weapon/ore/O = W src.contents += O; return /obj/item/weapon/satchel/verb/toggle_mode() set name = "Switch Satchel Method" set category = "Object" mode = !mode switch (mode) if(1) usr << "The satchel now picks up all ore in a tile at once." if(0) usr << "The satchel now picks up one ore at a time." /obj/item/weapon/satchel/borg icon = 'mining.dmi' icon_state = "satchel" name = "Cyborg Mining Satchel" mode = 1; //0 = pick one at a time, 1 = pick all on tile capacity = 200; //the number of ore pieces it can carry. /**********************Ore box**************************/ /obj/structure/ore_box icon = 'mining.dmi' icon_state = "orebox0" name = "Ore Box" desc = "It's heavy" density = 1 New() if(prob(50)) icon_state = "orebox1" /obj/structure/ore_box/attackby(obj/item/weapon/W as obj, mob/user as mob) if (istype(W, /obj/item/weapon/ore)) src.contents += W; if (istype(W, /obj/item/weapon/satchel)) src.contents += W.contents user << "\blue You empty the satchel into the box." return /obj/structure/ore_box/attack_hand(obj, mob/user as mob) var/amt_gold = 0 var/amt_silver = 0 var/amt_diamond = 0 var/amt_glass = 0 var/amt_iron = 0 var/amt_plasma = 0 var/amt_uranium = 0 var/amt_clown = 0 for (var/obj/item/weapon/ore/C in contents) if (istype(C,/obj/item/weapon/ore/diamond)) amt_diamond++; if (istype(C,/obj/item/weapon/ore/glass)) amt_glass++; if (istype(C,/obj/item/weapon/ore/plasma)) amt_plasma++; if (istype(C,/obj/item/weapon/ore/iron)) amt_iron++; if (istype(C,/obj/item/weapon/ore/silver)) amt_silver++; if (istype(C,/obj/item/weapon/ore/gold)) amt_gold++; if (istype(C,/obj/item/weapon/ore/uranium)) amt_uranium++; if (istype(C,/obj/item/weapon/ore/clown)) amt_clown++; var/dat = text("The contents of the ore box reveal...
") if (amt_gold) dat += text("Gold ore: [amt_gold]
") if (amt_silver) dat += text("Silver ore: [amt_silver]
") if (amt_iron) dat += text("Metal ore: [amt_iron]
") if (amt_glass) dat += text("Sand: [amt_glass]
") if (amt_diamond) dat += text("Diamond ore: [amt_diamond]
") if (amt_plasma) dat += text("Plasma ore: [amt_plasma]
") if (amt_uranium) dat += text("Uranium ore: [amt_uranium]
") if (amt_clown) dat += text("Bananium ore: [amt_clown]
") dat += text("

Empty box") user << browse("[dat]", "window=orebox") return /obj/structure/ore_box/Topic(href, href_list) if(..()) return usr.machine = src src.add_fingerprint(usr) if(href_list["removeall"]) for (var/obj/item/weapon/ore/O in contents) contents -= O O.loc = src.loc usr << "\blue You empty the box" src.updateUsrDialog() return