mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-15 04:32:42 +00:00
For those too lazy to read the thread: Vending machines now have a switch inside the maintenance panel that when flipped, turns off those pesky advertisements. A bunch of unused delivery locations have been removed. You can no longer attack yourself with that bag of cheesie honkers you just finished eating from. Mining Satchels and trashbags now default to picking up everything on one tile. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2027 316c924e-a436-60f5-8080-3fe189b3f50e
121 lines
3.2 KiB
Plaintext
121 lines
3.2 KiB
Plaintext
/**********************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."
|
|
|
|
|
|
/**********************Ore box**************************/
|
|
|
|
/obj/ore_box
|
|
icon = 'mining.dmi'
|
|
icon_state = "orebox"
|
|
name = "Ore Box"
|
|
desc = "It's heavy"
|
|
density = 1
|
|
|
|
/obj/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/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
|
|
var/amt_adamantine = 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++;
|
|
if (istype(C,/obj/item/weapon/ore/adamantine))
|
|
amt_adamantine++;
|
|
|
|
var/dat = text("<b>The contents of the ore box reveal...</b><br>")
|
|
if (amt_gold)
|
|
dat += text("Gold ore: [amt_gold]<br>")
|
|
if (amt_silver)
|
|
dat += text("Silver ore: [amt_silver]<br>")
|
|
if (amt_iron)
|
|
dat += text("Metal ore: [amt_iron]<br>")
|
|
if (amt_glass)
|
|
dat += text("Sand: [amt_glass]<br>")
|
|
if (amt_diamond)
|
|
dat += text("Diamond ore: [amt_diamond]<br>")
|
|
if (amt_plasma)
|
|
dat += text("Plasma ore: [amt_plasma]<br>")
|
|
if (amt_uranium)
|
|
dat += text("Uranium ore: [amt_uranium]<br>")
|
|
if (amt_clown)
|
|
dat += text("Bananium ore: [amt_clown]<br>")
|
|
if (amt_adamantine)
|
|
dat += text("Adamantine ore: [amt_adamantine]<br>")
|
|
|
|
dat += text("<br><br><A href='?src=\ref[src];removeall=1'>Empty box</A>")
|
|
user << browse("[dat]", "window=orebox")
|
|
return
|
|
|
|
/obj/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 |