mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-06 23:12:36 +00:00
266 lines
8.6 KiB
Plaintext
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
|