Files
Bubberstation/code/modules/mining/mine_items.dm
KorPhaeron 755455c9de New sprite
2015-12-10 01:36:27 -06:00

266 lines
8.6 KiB
Plaintext

/**********************Light************************/
//this item is intended to give the effect of entering the mine, so that light gradually fades
/obj/effect/light_emitter
name = "Light-emtter"
anchored = 1
unacidable = 1
luminosity = 8
/**********************Miner Lockers**************************/
/obj/structure/closet/wardrobe/miner
name = "mining wardrobe"
icon_door = "mixed"
/obj/structure/closet/wardrobe/miner/New()
..()
contents = list()
new /obj/item/weapon/storage/backpack/dufflebag/engineering(src)
new /obj/item/weapon/storage/backpack/industrial(src)
new /obj/item/weapon/storage/backpack/satchel_eng(src)
new /obj/item/clothing/under/rank/miner(src)
new /obj/item/clothing/under/rank/miner(src)
new /obj/item/clothing/under/rank/miner(src)
new /obj/item/clothing/shoes/sneakers/black(src)
new /obj/item/clothing/shoes/sneakers/black(src)
new /obj/item/clothing/shoes/sneakers/black(src)
new /obj/item/clothing/gloves/fingerless(src)
new /obj/item/clothing/gloves/fingerless(src)
new /obj/item/clothing/gloves/fingerless(src)
/obj/structure/closet/secure_closet/miner
name = "miner's equipment"
icon_state = "mining"
req_access = list(access_mining)
/obj/structure/closet/secure_closet/miner/New()
..()
new /obj/item/device/radio/headset/headset_cargo(src)
new /obj/item/device/mining_scanner(src)
new /obj/item/weapon/storage/bag/ore(src)
new /obj/item/weapon/shovel(src)
new /obj/item/weapon/pickaxe(src)
new /obj/item/clothing/glasses/meson(src)
/**********************Shuttle Computer**************************/
/obj/machinery/computer/shuttle/mining
name = "Mining Shuttle Console"
desc = "Used to call and send the mining shuttle."
circuit = /obj/item/weapon/circuitboard/mining_shuttle
shuttleId = "mining"
possible_destinations = "mining_home;mining_away"
/*********************Pickaxe & Drills**************************/
/obj/item/weapon/pickaxe
name = "pickaxe"
icon = 'icons/obj/mining.dmi'
icon_state = "pickaxe"
flags = CONDUCT
slot_flags = SLOT_BELT
force = 15
throwforce = 10
item_state = "pickaxe"
w_class = 4
materials = list(MAT_METAL=2000) //one sheet, but where can you make them?
var/digspeed = 40
var/list/digsound = list('sound/effects/picaxe1.ogg','sound/effects/picaxe2.ogg','sound/effects/picaxe3.ogg')
origin_tech = "materials=1;engineering=1"
attack_verb = list("hit", "pierced", "sliced", "attacked")
/obj/item/weapon/pickaxe/proc/playDigSound()
playsound(src, pick(digsound),50,1)
/obj/item/weapon/pickaxe/silver
name = "silver-plated pickaxe"
icon_state = "spickaxe"
item_state = "spickaxe"
digspeed = 30 //mines faster than a normal pickaxe, bought from mining vendor
origin_tech = "materials=3;engineering=2"
desc = "A silver-plated pickaxe that mines slightly faster than standard-issue."
/obj/item/weapon/pickaxe/diamond
name = "diamond-tipped pickaxe"
icon_state = "dpickaxe"
item_state = "dpickaxe"
digspeed = 20
origin_tech = "materials=4;engineering=3"
desc = "A pickaxe with a diamond pick head. Extremely robust at cracking rock walls and digging up dirt."
/obj/item/weapon/pickaxe/drill
name = "mining drill"
icon_state = "handdrill"
item_state = "jackhammer"
digspeed = 25 //available from roundstart, faster than a pickaxe.
digsound = list('sound/weapons/drill.ogg')
hitsound = 'sound/weapons/drill.ogg'
origin_tech = "materials=2;powerstorage=3;engineering=2"
desc = "An electric mining drill for the especially scrawny."
/obj/item/weapon/pickaxe/drill/cyborg
name = "cyborg mining drill"
desc = "An integrated electric mining drill."
flags = NODROP
/obj/item/weapon/pickaxe/drill/diamonddrill
name = "diamond-tipped mining drill"
icon_state = "diamonddrill"
digspeed = 10
origin_tech = "materials=6;powerstorage=4;engineering=5"
desc = "Yours is the drill that will pierce the heavens!"
/obj/item/weapon/pickaxe/drill/cyborg/diamond //This is the BORG version!
name = "diamond-tipped cyborg mining drill" //To inherit the NODROP flag, and easier to change borg specific drill mechanics.
icon_state = "diamonddrill"
digspeed = 10
/obj/item/weapon/pickaxe/drill/jackhammer
name = "sonic jackhammer"
icon_state = "jackhammer"
item_state = "jackhammer"
digspeed = 5 //the epitome of powertools. extremely fast mining, laughs at puny walls
origin_tech = "materials=3;powerstorage=2;engineering=2"
digsound = list('sound/weapons/sonic_jackhammer.ogg')
hitsound = 'sound/weapons/sonic_jackhammer.ogg'
desc = "Cracks rocks with sonic blasts, and doubles as a demolition power tool for smashing walls."
/*****************************Shovel********************************/
/obj/item/weapon/shovel
name = "shovel"
desc = "A large tool for digging and moving dirt."
icon = 'icons/obj/mining.dmi'
icon_state = "shovel"
flags = CONDUCT
slot_flags = SLOT_BELT
force = 8
var/digspeed = 20
throwforce = 4
item_state = "shovel"
w_class = 3
materials = list(MAT_METAL=50)
origin_tech = "materials=1;engineering=1"
attack_verb = list("bashed", "bludgeoned", "thrashed", "whacked")
sharpness = IS_SHARP
/obj/item/weapon/shovel/spade
name = "spade"
desc = "A small tool for digging and moving dirt."
icon_state = "spade"
item_state = "spade"
force = 5
throwforce = 7
w_class = 2
/**********************Mining car (Crate like thing, not the rail car)**************************/
/obj/structure/closet/crate/miningcar
desc = "A mining car. This one doesn't work on rails, but has to be dragged."
name = "Mining car (not for rails)"
icon_crate = "miningcar"
icon_state = "miningcar"
/*****************************Survival Pod********************************/
/area/survivalpod
name = "\improper Emergency Shelter"
icon_state = "away"
requires_power = 0
has_gravity = 1
/obj/item/weapon/survivalcapsule
name = "bluespace shelter capsule"
desc = "An emergency shelter stored within a pocket of bluespace."
icon_state = "capsule"
icon = 'icons/obj/mining.dmi'
w_class = 1
var/used = FALSE
/obj/item/weapon/survivalcapsule/attack_self()
if(used == FALSE)
src.loc.visible_message("The [src] begins to shake. Stand back!")
used = TRUE
sleep(50)
playsound(get_turf(src), 'sound/effects/phasein.ogg', 100, 1)
PoolOrNew(/obj/effect/particle_effect/smoke, src.loc)
load()
qdel(src)
/obj/item/weapon/survivalcapsule/proc/load()
var/turf/start_turf = get_turf(src.loc)
var/turf/cur_turf
var/x_size = 5
var/y_size = 5
var/list/walltypes = list(/turf/simulated/wall)
var/floor_type = /turf/simulated/floor/wood
var/room
//Center the room/spawn it
start_turf = locate(start_turf.x -2, start_turf.y - 2, start_turf.z)
room = spawn_room(start_turf, x_size, y_size, walltypes, floor_type, "Emergency Shelter")
start_turf = get_turf(src.loc)
//Fill it
cur_turf = locate(start_turf.x, start_turf.y-2, start_turf.z)
new /obj/machinery/door/airlock/glass(cur_turf)
cur_turf = locate(start_turf.x+1, start_turf.y, start_turf.z)
new /obj/structure/table/wood(cur_turf)
new /obj/item/weapon/storage/pill_bottle/dice(cur_turf)
cur_turf = locate(start_turf.x+1, start_turf.y-1, start_turf.z)
var/obj/structure/bed/chair/comfy/C = new /obj/structure/bed/chair/comfy(cur_turf)
C.dir = 1
cur_turf = locate(start_turf.x+1, start_turf.y+1, start_turf.z)
new /obj/structure/bed/chair/comfy(cur_turf)
cur_turf = locate(start_turf.x-1, start_turf.y-1, start_turf.z)
var/obj/machinery/sleeper/S = new /obj/machinery/sleeper(cur_turf)
S.dir = 4
cur_turf = locate(start_turf.x-1, start_turf.y, start_turf.z)
new /obj/structure/table/wood(cur_turf)
new /obj/item/weapon/storage/box/donkpockets(cur_turf)
cur_turf = locate(start_turf.x-1, start_turf.y+1, start_turf.z)
new /obj/structure/table/wood(cur_turf)
new /obj/machinery/microwave(cur_turf)
var/area/survivalpod/L = new /area/survivalpod
var/turf/threshhold = locate(start_turf.x, start_turf.y-2, start_turf.z)
threshhold.ChangeTurf(/turf/simulated/floor/wood)
threshhold.blocks_air = 1 //So the air doesn't leak out
threshhold.oxygen = 21
threshhold.temperature = 293.15
threshhold.nitrogen = 82
threshhold.carbon_dioxide = 0
threshhold.toxins = 0
L.contents += threshhold
threshhold.overlays.Cut()
var/list/turfs = room["floors"]
for(var/turf/simulated/floor/A in turfs)
SSair.remove_from_active(A)
A.oxygen = 21
A.temperature = 293.15
A.nitrogen = 82
A.carbon_dioxide = 0
A.toxins = 0
A.air.oxygen = 21
A.air.carbon_dioxide = 0
A.air.nitrogen = 82
A.air.toxins = 0
A.air.temperature = 293.15
SSair.add_to_active(A)
A.overlays.Cut()
L.contents += A