initial commit

This commit is contained in:
paprka
2015-02-13 20:59:39 -08:00
parent cf395f7da8
commit 88760896ad
23 changed files with 314 additions and 239 deletions
+24 -21
View File
@@ -229,24 +229,24 @@
anchored = 1.0
var/obj/item/weapon/card/id/inserted_id
var/list/prize_list = list(
new /datum/data/mining_equipment("Stimpack MediPen", /obj/item/weapon/reagent_containers/hypospray/medipen/stimpack, 50),
new /datum/data/mining_equipment("Leporazine MediPen", /obj/item/weapon/reagent_containers/hypospray/medipen/leporazine, 50),
new /datum/data/mining_equipment("MediPen Bundle", /obj/item/weapon/storage/box/medipens/utility, 200),
new /datum/data/mining_equipment("Stimpack", /obj/item/weapon/reagent_containers/hypospray/medipen/stimpack, 50),
new /datum/data/mining_equipment("Stimpack Bundle", /obj/item/weapon/storage/box/medipens/utility, 200),
new /datum/data/mining_equipment("Whiskey", /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey, 100),
new /datum/data/mining_equipment("Cigar", /obj/item/clothing/mask/cigarette/cigar/havana, 150),
new /datum/data/mining_equipment("Soap", /obj/item/weapon/soap/nanotrasen, 200),
new /datum/data/mining_equipment("Jaunter", /obj/item/device/wormhole_jaunter, 250),
new /datum/data/mining_equipment("Advanced Scanner", /obj/item/device/t_scanner/adv_mining_scanner, 300),
new /datum/data/mining_equipment("Laser Pointer", /obj/item/device/laser_pointer, 400),
new /datum/data/mining_equipment("Alien Toy", /obj/item/clothing/mask/facehugger/toy, 450),
new /datum/data/mining_equipment("Mining Drone", /mob/living/simple_animal/hostile/mining_drone/, 500),
new /datum/data/mining_equipment("Resonator", /obj/item/weapon/resonator, 650),
new /datum/data/mining_equipment("Kinetic Accelerator", /obj/item/weapon/gun/energy/kinetic_accelerator, 650),
new /datum/data/mining_equipment("Sonic Jackhammer", /obj/item/weapon/pickaxe/jackhammer, 800),
new /datum/data/mining_equipment("Laser Pointer", /obj/item/device/laser_pointer, 300),
new /datum/data/mining_equipment("Alien Toy", /obj/item/clothing/mask/facehugger/toy, 300),
new /datum/data/mining_equipment("Air Horn", /obj/item/weapon/bikehorn/airhorn, 350),
new /datum/data/mining_equipment("Advanced Scanner", /obj/item/device/t_scanner/adv_mining_scanner, 400),
new /datum/data/mining_equipment("Mining Drone", /mob/living/simple_animal/hostile/mining_drone, 500),
new /datum/data/mining_equipment("Kinetic Accelerator", /obj/item/weapon/gun/energy/kinetic_accelerator, 500),
new /datum/data/mining_equipment("Resonator", /obj/item/weapon/resonator, 500),
new /datum/data/mining_equipment("Lazarus Injector", /obj/item/weapon/lazarus_injector, 1000),
new /datum/data/mining_equipment("Jetpack", /obj/item/weapon/tank/jetpack/carbondioxide/mining, 2000),
new /datum/data/mining_equipment("Space Cash", /obj/item/weapon/spacecash/c1000, 5000),
new /datum/data/mining_equipment("Point Card", /obj/item/weapon/card/mining_point_card, 500),
new /datum/data/mining_equipment("Diamond Pickaxe", /obj/item/weapon/pickaxe/diamond, 1500),
new /datum/data/mining_equipment("Jetpack", /obj/item/weapon/tank/jetpack/carbondioxide/mining, 1800),
new /datum/data/mining_equipment("Space Cash", /obj/item/weapon/spacecash/c1000, 2000),
new /datum/data/mining_equipment("Point Transfer Card", /obj/item/weapon/card/mining_point_card, 500),
)
/datum/data/mining_equipment/
@@ -342,12 +342,15 @@
..()
/obj/machinery/mineral/equipment_vendor/proc/RedeemVoucher(obj/item/weapon/mining_voucher/voucher, mob/redeemer)
var/selection = input(redeemer, "Pick your equipment", "Mining Voucher Redemption") as null|anything in list("Mining Drill", "Kinetic Accelerator", "Mining Drone", "Advanced Scanner")
var/selection = input(redeemer, "Pick your equipment", "Mining Voucher Redemption") as null|anything in list("Mining Drill", "Resonator", "Kinetic Accelerator", "Advanced Scanner")
if(!selection || !Adjacent(redeemer) || voucher.gc_destroyed || voucher.loc != redeemer)
return
switch(selection)
if("Mining Drill")
new /obj/item/weapon/pickaxe/drill(src.loc)
new /obj/item/weapon/stock_parts/cell/high(src.loc)
if("Resonator")
new /obj/item/weapon/resonator(src.loc)
if("Kinetic Accelerator")
new /obj/item/weapon/gun/energy/kinetic_accelerator(src.loc)
if("Mining Drone")
@@ -378,7 +381,7 @@
/**********************Mining Point Card**********************/
/obj/item/weapon/card/mining_point_card
name = "mining point card"
name = "mining points card"
desc = "A small card preloaded with mining points. Swipe your ID card over it to transfer the points, then discard."
icon_state = "data"
var/points = 500
@@ -468,7 +471,7 @@
item_state = "resonator"
desc = "A handheld device that creates small fields of energy that resonate until they detonate, crushing rock. It can also be activated without a target to create a field at the user's location, to act as a delayed time trap. It's more effective in a vacuum."
w_class = 3
force = 10
force = 15
throwforce = 10
var/cooldown = 0
@@ -504,16 +507,16 @@
return
if(istype(proj_turf, /turf/simulated/mineral))
var/turf/simulated/mineral/M = proj_turf
playsound(src,'sound/weapons/resonator_blast.ogg',50,1)
M.gets_drilled(creator)
spawn(5)
spawn(50)
playsound(src,'sound/weapons/resonator_blast.ogg',50,1)
M.gets_drilled(creator)
qdel(src)
else
var/datum/gas_mixture/environment = proj_turf.return_air()
var/pressure = environment.return_pressure()
if(pressure < 50)
name = "strong resonance field"
resonance_damage = 45
resonance_damage = 50
spawn(50)
playsound(src,'sound/weapons/resonator_blast.ogg',50,1)
if(creator)
@@ -788,7 +791,7 @@
/obj/item/device/t_scanner/adv_mining_scanner/scan()
if(!cooldown)
cooldown = 1
spawn(80)
spawn(60)
cooldown = 0
var/turf/t = get_turf(src)
var/list/mobs = recursive_mob_check(t, 1,0,0)
+80 -58
View File
@@ -31,7 +31,6 @@
new /obj/item/clothing/shoes/sneakers/black(src)
new /obj/item/device/mining_scanner(src)
new /obj/item/weapon/storage/bag/ore(src)
new /obj/item/device/flashlight/lantern(src)
new /obj/item/weapon/shovel(src)
new /obj/item/weapon/pickaxe(src)
new /obj/item/clothing/glasses/meson(src)
@@ -39,7 +38,6 @@
/**********************Shuttle Computer**************************/
/obj/machinery/computer/shuttle/mining
name = "Mining Shuttle Console"
desc = "Used to call and send the mining shuttle."
@@ -48,15 +46,7 @@
shuttleId = "mining"
possible_destinations = "mining_home;mining_away"
/******************************Lantern*******************************/
/obj/item/device/flashlight/lantern
name = "lantern"
icon_state = "lantern"
desc = "A mining lantern."
brightness_on = 6 // luminosity when on
/*****************************Pickaxe********************************/
/*********************Pickaxe & Drills**************************/
/obj/item/weapon/pickaxe
name = "pickaxe"
@@ -64,89 +54,125 @@
icon_state = "pickaxe"
flags = CONDUCT
slot_flags = SLOT_BELT
force = 15.0
force = 15
throwforce = 10.0
item_state = "pickaxe"
w_class = 4.0
m_amt = 3750 //one sheet, but where can you make them?
var/digspeed = 40 //moving the delay to an item var so R&D can make improved picks. --NEO
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")
var/powered = 1 //used to check for drill charge when mining
/obj/item/weapon/pickaxe/proc/playDigSound()
playsound(src, pick(digsound),20,1)
/obj/item/weapon/pickaxe/silver
name = "silver pickaxe"
icon_state = "spickaxe"
item_state = "spickaxe"
digspeed = 30
origin_tech = "materials=3"
desc = "This makes no metallurgic sense."
/obj/item/weapon/pickaxe/diamond
name = "diamond-tipped pickaxe"
icon_state = "dpickaxe"
item_state = "dpickaxe"
digspeed = 20 //mines twice as fast as a normal pickaxe, bought from mining vendor
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" // Can dig sand as well!
name = "mining drill"
icon_state = "handdrill"
item_state = "jackhammer"
digspeed = 30
digspeed = 25 //available from roundstart, faster than a pickaxe but needs recharging or cell replacements
digsound = list('sound/weapons/drill.ogg')
hitsound = 'sound/weapons/drill.ogg'
origin_tech = "materials=2;powerstorage=3;engineering=2"
desc = "Yours is the drill that will pierce through the rock walls."
desc = "An electric mining drill for the especially scrawny."
var/drillcost = 125
var/obj/item/weapon/stock_parts/cell/high/bcell = null
powered = 0
/obj/item/weapon/pickaxe/drill/diamonddrill //When people ask about the badass leader of the mining tools, they are talking about ME! making it a child of drill to stop copypasta
name = "diamond mining drill"
/obj/item/weapon/pickaxe/drill/New() //this one starts with a cell pre-installed.
..()
bcell = new(src)
update_charge()
return
/obj/item/weapon/pickaxe/drill/proc/update_charge()
if(bcell && bcell.charge >= drillcost)
powered = 1
else
powered = 0
update_icon()
/obj/item/weapon/pickaxe/drill/update_icon()
if(!bcell)
icon_state = "[initial(icon_state)]-nocell"
else if(bcell.charge < drillcost)
icon_state = "[initial(icon_state)]-empty"
else
icon_state = "[initial(icon_state)]"
/obj/item/weapon/pickaxe/drill/attackby(obj/item/weapon/W, mob/user)
if(istype(W, /obj/item/weapon/stock_parts/cell))
if(bcell)
user << "<span class='notice'>[src] already has a cell.</span>"
else
user.drop_item()
W.loc = src
bcell = W
user << "<span class='notice'>You install a cell in [src].</span>"
update_charge()
else if(istype(W, /obj/item/weapon/screwdriver))
if(bcell)
bcell.updateicon()
bcell.loc = get_turf(src.loc)
bcell = null
user << "<span class='notice'>You remove the cell from [src].</span>"
update_charge()
return
..()
return
/obj/item/weapon/pickaxe/drill/examine(mob/user)
..()
if(bcell)
user <<"<span class='notice'>The [src.name] is [round(bcell.percent())]% charged.</span>"
if(!bcell)
user <<"<span class='warning'>The [src.name] does not have a power source installed.</span>"
/obj/item/weapon/pickaxe/drill/cyborg
name = "cyborg mining drill"
/obj/item/weapon/pickaxe/drill/diamonddrill
name = "diamond-tipped mining drill"
icon_state = "diamonddrill"
digspeed = 5 //Digs through walls, girders, and can dig up sand
digspeed = 10
origin_tech = "materials=6;powerstorage=4;engineering=5"
desc = "Yours is the drill that will pierce the heavens!"
drillcost = 150
/obj/item/weapon/pickaxe/jackhammer
/obj/item/weapon/pickaxe/drill/jackhammer
name = "sonic jackhammer"
icon_state = "jackhammer"
item_state = "jackhammer"
digspeed = 15 //faster than drill, but cannot dig
digspeed = 5 //the epitome of powertools. high power consumption, 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, perfect for clearing large areas of rock."
/obj/item/weapon/pickaxe/jackhammer/borgdrill // making it a parrent of jackhammer to prevent copypasta
name = "cyborg mining drill"
desc = ""
/obj/item/weapon/pickaxe/gold
name = "golden pickaxe"
icon_state = "gpickaxe"
item_state = "gpickaxe"
digspeed = 20
origin_tech = "materials=4"
desc = "This makes no metallurgic sense."
desc = "Cracks rocks with sonic blasts, and doubles as a demolition power tool for smashing walls.."
drillcost = 200
/obj/item/weapon/pickaxe/plasmacutter
name = "plasma cutter"
icon_state = "plasmacutter"
item_state = "gun"
w_class = 3.0 //it is smaller than the pickaxe
w_class = 3 //it is smaller than the pickaxe
damtype = "fire"
digspeed = 20 //Can slice though normal walls, all girders, or be used in reinforced wall deconstruction/ light thermite on fire
throwforce = 8
digspeed = 30 //Mines slightly faster than a normal pickaxe, but doubles as an unlimited-ammo welding tool.
digsound = list('sound/weapons/plasma_cutter.ogg')
hitsound = 'sound/weapons/plasma_cutter.ogg'
origin_tech = "materials=4;plasmatech=3;engineering=3"
desc = "A rock cutter that uses bursts of hot plasma. You could use it to cut limbs off of xenos! Or, you know, mine stuff."
/obj/item/weapon/pickaxe/diamond
name = "diamond pickaxe"
icon_state = "dpickaxe"
item_state = "dpickaxe"
digspeed = 10
origin_tech = "materials=6;engineering=4"
desc = "A pickaxe with a diamond pick head, this is just like minecraft."
/*****************************Shovel********************************/
@@ -185,7 +211,3 @@
density = 1
icon_opened = "miningcaropen"
icon_closed = "miningcar"
+50 -66
View File
@@ -22,10 +22,10 @@
..()
switch(severity)
if(3.0)
if (prob(75))
if(prob(75))
src.gets_drilled(null, 1)
if(2.0)
if (prob(90))
if(prob(90))
src.gets_drilled(null, 1)
if(1.0)
src.gets_drilled(null, 1)
@@ -37,22 +37,22 @@
var/turf/T
if((istype(get_step(src, NORTH), /turf/simulated/floor)) || (istype(get_step(src, NORTH), /turf/space)) || (istype(get_step(src, NORTH), /turf/simulated/shuttle/floor)))
T = get_step(src, NORTH)
if (T)
if(T)
T.overlays += image('icons/turf/walls.dmi', "rock_side_s")
if((istype(get_step(src, SOUTH), /turf/simulated/floor)) || (istype(get_step(src, SOUTH), /turf/space)) || (istype(get_step(src, SOUTH), /turf/simulated/shuttle/floor)))
T = get_step(src, SOUTH)
if (T)
if(T)
T.overlays += image('icons/turf/walls.dmi', "rock_side_n", layer=6)
if((istype(get_step(src, EAST), /turf/simulated/floor)) || (istype(get_step(src, EAST), /turf/space)) || (istype(get_step(src, EAST), /turf/simulated/shuttle/floor)))
T = get_step(src, EAST)
if (T)
if(T)
T.overlays += image('icons/turf/walls.dmi', "rock_side_w", layer=6)
if((istype(get_step(src, WEST), /turf/simulated/floor)) || (istype(get_step(src, WEST), /turf/space)) || (istype(get_step(src, WEST), /turf/simulated/shuttle/floor)))
T = get_step(src, WEST)
if (T)
if(T)
T.overlays += image('icons/turf/walls.dmi', "rock_side_e", layer=6)
if (mineralName && mineralAmt && spread && spreadChance)
if(mineralName && mineralAmt && spread && spreadChance)
for(var/dir in cardinal)
if(prob(spreadChance))
var/turf/T = get_step(src, dir)
@@ -78,10 +78,10 @@
/turf/simulated/mineral/random/New()
..()
if (prob(mineralChance))
if(prob(mineralChance))
var/mName = pickweight(mineralSpawnChanceList) //temp mineral name
if (mName)
if(mName)
var/turf/simulated/mineral/M
switch(mName)
if("Uranium")
@@ -383,18 +383,22 @@
/turf/simulated/mineral/attackby(var/obj/item/weapon/pickaxe/P as obj, mob/user as mob)
if (!user.IsAdvancedToolUser())
if(!user.IsAdvancedToolUser())
usr << "<span class='danger'>You don't have the dexterity to do this!</span>"
return
if (istype(P, /obj/item/weapon/pickaxe))
if(istype(P, /obj/item/weapon/pickaxe))
var/turf/T = user.loc
if (!( istype(T, /turf) ))
if(!( istype(T, /turf) ))
return
if(!P.powered)
return
/*
if (istype(W, /obj/item/weapon/pickaxe/radius))
if(istype(W, /obj/item/weapon/pickaxe/radius))
var/turf/T = user.loc
if (!( istype(T, /turf) ))
if(!( istype(T, /turf) ))
return
*/
//Watch your tabbing, microwave. --NEO
@@ -406,6 +410,20 @@
P.playDigSound()
if(do_after(user,P.digspeed))
if(istype(P, /obj/item/weapon/pickaxe/drill))
var/obj/item/weapon/pickaxe/drill/D = P
if(isrobot(user))
var/mob/living/silicon/robot/R = user
if(R && R.cell)
if(!R.cell.use(D.drillcost))
D.update_charge()
return
else
if(!D.bcell.use(D.drillcost))
user << "<span class='warning'>Your drill ran out of power.</span>"
D.update_charge()
return
D.update_charge()
user << "<span class='notice'>You finish cutting into the rock.</span>"
gets_drilled(user)
else
@@ -413,22 +431,22 @@
return
/turf/simulated/mineral/proc/gets_drilled()
if ((src.mineralName != "") && (src.mineralAmt > 0) && (src.mineralAmt < 11))
if((src.mineralName != "") && (src.mineralAmt > 0) && (src.mineralAmt < 11))
var/i
for (i=0;i<mineralAmt;i++)
if (src.mineralName == "Uranium")
if(src.mineralName == "Uranium")
new /obj/item/weapon/ore/uranium(src)
if (src.mineralName == "Iron")
if(src.mineralName == "Iron")
new /obj/item/weapon/ore/iron(src)
if (src.mineralName == "Gold")
if(src.mineralName == "Gold")
new /obj/item/weapon/ore/gold(src)
if (src.mineralName == "Silver")
if(src.mineralName == "Silver")
new /obj/item/weapon/ore/silver(src)
if (src.mineralName == "Plasma")
if(src.mineralName == "Plasma")
new /obj/item/weapon/ore/plasma(src)
if (src.mineralName == "Diamond")
if(src.mineralName == "Diamond")
new /obj/item/weapon/ore/diamond(src)
if (src.mineralName == "Bananium")
if(src.mineralName == "Bananium")
new /obj/item/weapon/ore/bananium(src)
var/turf/simulated/floor/plating/asteroid/airless/N = ChangeTurf(/turf/simulated/floor/plating/asteroid/airless)
playsound(src, 'sound/effects/break_stone.ogg', 50, 1) //beautiful destruction
@@ -443,14 +461,14 @@
/*
/turf/simulated/mineral/proc/setRandomMinerals()
var/s = pickweight(list("uranium" = 5, "iron" = 50, "gold" = 5, "silver" = 5, "plasma" = 50, "diamond" = 1))
if (s)
if(s)
mineralName = s
var/N = text2path("/turf/simulated/mineral/[s]")
if (N)
if(N)
var/turf/simulated/mineral/M = new N
src = M
if (src.mineralName)
if(src.mineralName)
mineralAmt = 5
return*/
@@ -496,7 +514,7 @@
var/proper_name = name
..()
name = proper_name
//if (prob(50))
//if(prob(50))
// seedName = pick(list("1","2","3","4"))
// seedAmt = rand(1,4)
if(prob(20))
@@ -513,7 +531,7 @@
if(3.0)
return
if(2.0)
if (prob(20))
if(prob(20))
src.gets_dug()
if(1.0)
src.gets_dug()
@@ -524,58 +542,24 @@
if(!W || !user)
return 0
if ((istype(W, /obj/item/weapon/shovel)))
if((istype(W, /obj/item/weapon/shovel)))
var/turf/T = user.loc
if (!( istype(T, /turf) ))
if(!( istype(T, /turf) ))
return
if (dug)
if(dug)
user << "<span class='danger'>This area has already been dug.</span>"
return
user << "<span class='danger'>You start digging.</span>"
playsound(src, 'sound/effects/shovel_dig.ogg', 50, 1) //FUCK YO RUSTLE I GOT'S THE DIGS SOUND HERE
sleep(40)
if ((user.loc == T && user.get_active_hand() == W))
sleep(15)
if((user.loc == T && user.get_active_hand() == W))
user << "<span class='notice'>You dug a hole.</span>"
gets_dug()
return
if ((istype(W,/obj/item/weapon/pickaxe/drill)))
var/turf/T = user.loc
if (!( istype(T, /turf) ))
return
if (dug)
user << "<span class='warning'>This area has already been dug.</span>"
return
user << "<span class='danger'>You start digging.</span>"
playsound(src, 'sound/effects/shovel_dig.ogg', 50, 1) //FUCK YO RUSTLE I GOT'S THE DIGS SOUND HERE
sleep(30)
if ((user.loc == T && user.get_active_hand() == W))
user << "<span class='notice'>You dug a hole.</span>"
gets_dug()
if ((istype(W,/obj/item/weapon/pickaxe/drill/diamonddrill)) || (istype(W,/obj/item/weapon/pickaxe/jackhammer/borgdrill)))
var/turf/T = user.loc
if (!( istype(T, /turf) ))
return
if (dug)
user << "<span class='warning'>This area has already been dug.</span>"
return
user << "<span class='danger'>You start digging.</span>"
playsound(src, 'sound/effects/shovel_dig.ogg', 50, 1) //FUCK YO RUSTLE I GOT'S THE DIGS SOUND HERE
sleep(0)
if ((user.loc == T && user.get_active_hand() == W))
user << "<span class='notice'>You dug a hole.</span>"
gets_dug()
if(istype(W,/obj/item/weapon/storage/bag/ore))
var/obj/item/weapon/storage/bag/ore/S = W
if(S.collection_mode == 1)