A lot of stuff

This commit is contained in:
ACCount12
2015-03-31 18:30:09 +12:00
parent e37121d750
commit 1c219f0ebe
18 changed files with 154 additions and 97 deletions
+6 -6
View File
@@ -381,7 +381,7 @@
/obj/item/weapon/mining_voucher
name = "mining voucher"
desc = "A token to redeem a piece of equipment. Use it on a mining equipment vendor."
icon = 'icons/obj/items.dmi'
icon = 'icons/obj/mining.dmi'
icon_state = "mining_voucher"
w_class = 1
@@ -413,7 +413,7 @@
/obj/item/device/wormhole_jaunter
name = "wormhole jaunter"
desc = "A single use device harnessing outdated wormhole technology, Nanotrasen has since turned its eyes to blue space for more accurate teleportation. The wormholes it creates are unpleasant to travel through, to say the least."
icon = 'icons/obj/items.dmi'
icon = 'icons/obj/mining.dmi'
icon_state = "Jaunter"
item_state = "electronic"
throwforce = 0
@@ -473,7 +473,7 @@
/obj/item/weapon/resonator
name = "resonator"
icon = 'icons/obj/items.dmi'
icon = 'icons/obj/mining.dmi'
icon_state = "resonator"
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."
@@ -793,7 +793,7 @@
else
for(M in L)
var/turf/T = get_turf(M)
var/image/I = image('icons/turf/walls.dmi', loc = T, icon_state = M.scan_state, layer = 18)
var/image/I = image('icons/turf/mining.dmi', loc = T, icon_state = M.scan_state, layer = 18)
C.images += I
spawn(30)
if(C)
@@ -821,7 +821,7 @@
/obj/item/device/t_scanner/adv_mining_scanner/scan()
if(!cooldown)
cooldown = 1
spawn(60)
spawn(35)
cooldown = 0
var/turf/t = get_turf(src)
var/list/mobs = recursive_mob_check(t, 1,0,0)
@@ -838,7 +838,7 @@
var/client/C = user.client
for(M in L)
var/turf/T = get_turf(M)
var/image/I = image('icons/turf/walls.dmi', loc = T, icon_state = M.scan_state, layer = 18)
var/image/I = image('icons/turf/mining.dmi', loc = T, icon_state = M.scan_state, layer = 18)
C.images += I
spawn(30)
if(C)
+9 -9
View File
@@ -50,7 +50,7 @@
/obj/item/weapon/pickaxe
name = "pickaxe"
icon = 'icons/obj/items.dmi'
icon = 'icons/obj/mining.dmi'
icon_state = "pickaxe"
flags = CONDUCT
slot_flags = SLOT_BELT
@@ -79,12 +79,12 @@
name = "mining drill"
icon_state = "handdrill"
item_state = "jackhammer"
digspeed = 30 //available from roundstart, faster than a pickaxe but needs recharging or cell replacements
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 = "An electric mining drill for the especially scrawny."
var/drillcost = 125 //80 mineral walls by default
var/drillcost = 50 //80 mineral walls by default
var/obj/item/weapon/stock_parts/cell/high/bcell = null
/obj/item/weapon/pickaxe/drill/New() //this one starts with a cell pre-installed.
@@ -134,28 +134,28 @@
/obj/item/weapon/pickaxe/drill/diamonddrill
name = "diamond-tipped mining drill"
icon_state = "diamonddrill"
digspeed = 10 //it's a fast drill with a relatively low power cost. what more could you ask for?
digspeed = 8 //it's a fast drill with a relatively low power cost. what more could you ask for?
origin_tech = "materials=6;powerstorage=4;engineering=5"
desc = "Yours is the drill that will pierce the heavens!"
drillcost = 150 //66 mineral walls by default, but very quickly
drillcost = 75 //66 mineral walls by default, but very quickly
/obj/item/weapon/pickaxe/drill/jackhammer
name = "sonic jackhammer"
icon_state = "jackhammer"
item_state = "jackhammer"
digspeed = 5 //the epitome of powertools. high power consumption, extremely fast mining, laughs at puny walls
digspeed = 4 //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, and doubles as a demolition power tool for smashing walls.."
drillcost = 200
desc = "Cracks rocks with sonic blasts, and doubles as a demolition power tool for smashing walls."
drillcost = 100
/*****************************Shovel********************************/
/obj/item/weapon/shovel
name = "shovel"
desc = "A large tool for digging and moving dirt."
icon = 'icons/obj/items.dmi'
icon = 'icons/obj/mining.dmi'
icon_state = "shovel"
flags = CONDUCT
slot_flags = SLOT_BELT
+53 -44
View File
@@ -2,7 +2,7 @@
/turf/simulated/mineral //wall piece
name = "rock"
icon = 'icons/turf/walls.dmi'
icon = 'icons/turf/mining.dmi'
icon_state = "rock_nochance"
oxygen = 0
nitrogen = 0
@@ -10,7 +10,7 @@
density = 1
blocks_air = 1
temperature = TCMB
var/mineralName = ""
var/mineralType = null
var/mineralAmt = 3
var/spread = 0 //will the seam spread?
var/spreadChance = 0 //the percentual chance of an ore spreading to the neighbouring tiles
@@ -38,21 +38,21 @@
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)
T.overlays += image('icons/turf/walls.dmi', "rock_side_s")
T.overlays += image('icons/turf/mining.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)
T.overlays += image('icons/turf/walls.dmi', "rock_side_n", layer=6)
T.overlays += image('icons/turf/mining.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)
T.overlays += image('icons/turf/walls.dmi', "rock_side_w", layer=6)
T.overlays += image('icons/turf/mining.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)
T.overlays += image('icons/turf/walls.dmi', "rock_side_e", layer=6)
T.overlays += image('icons/turf/mining.dmi', "rock_side_e", layer=6)
if (mineralName && mineralAmt && spread && spreadChance)
if (mineralType && mineralAmt && spread && spreadChance)
for(var/dir in cardinal)
if(prob(spreadChance))
var/turf/T = get_step(src, dir)
@@ -73,7 +73,12 @@
/turf/simulated/mineral/random
name = "mineral deposit"
icon_state = "rock"
var/mineralSpawnChanceList = list("Uranium" = 5, "Diamond" = 1, "Gold" = 10, "Silver" = 12, "Plasma" = 20, "Iron" = 40, "Gibtonite" = 4/*, "Adamantine" =5*/, "Cave" = 2)//Currently, Adamantine won't spawn as it has no uses. -Durandan
var/mineralSpawnChanceList = list(
"Uranium" = 5, "Diamond" = 1, "Gold" = 10,
"Silver" = 12, "Plasma" = 20, "Iron" = 40,
"Gibtonite" = 4, "Cave" = 2, "BScrystal" = 1,
/*, "Adamantine" =5*/)
//Currently, Adamantine won't spawn as it has no uses. -Durandan
var/mineralChance = 13
/turf/simulated/mineral/random/New()
@@ -102,6 +107,8 @@
M = new/turf/simulated/mineral/gibtonite(src)
if("Bananium")
M = new/turf/simulated/mineral/clown(src)
if("BScrystal")
M = new/turf/simulated/mineral/bscrystal(src)
/*if("Adamantine")
M = new/turf/simulated/mineral/adamantine(src)*/
if(M)
@@ -112,7 +119,10 @@
/turf/simulated/mineral/random/high_chance
icon_state = "rock_highchance"
mineralChance = 25
mineralSpawnChanceList = list("Uranium" = 35, "Diamond" = 30, "Gold" = 45, "Silver" = 50, "Plasma" = 50)
mineralSpawnChanceList = list(
"Uranium" = 35, "Diamond" = 30,
"Gold" = 45, "Silver" = 50, "Plasma" = 50,
"BScrystal" = 20)
/turf/simulated/mineral/random/high_chance/New()
icon_state = "rock"
@@ -121,31 +131,34 @@
/turf/simulated/mineral/random/low_chance
icon_state = "rock_lowchance"
mineralChance = 6
mineralSpawnChanceList = list("Uranium" = 2, "Diamond" = 1, "Gold" = 4, "Silver" = 6, "Plasma" = 15, "Iron" = 40, "Gibtonite" = 2)
mineralSpawnChanceList = list(
"Uranium" = 2, "Diamond" = 1, "Gold" = 4,
"Silver" = 6, "Plasma" = 15, "Iron" = 40,
"Gibtonite" = 2, "BScrystal" = 1)
/turf/simulated/mineral/random/low_chance/New()
icon_state = "rock"
..()
/turf/simulated/mineral/iron
name = "iron deposit"
icon_state = "rock_Iron"
mineralType = /obj/item/weapon/ore/iron
spreadChance = 20
spread = 1
hidden = 0
/turf/simulated/mineral/uranium
name = "uranium deposit"
mineralName = "Uranium"
mineralType = /obj/item/weapon/ore/uranium
spreadChance = 5
spread = 1
hidden = 1
scan_state = "rock_Uranium"
/turf/simulated/mineral/iron
name = "iron deposit"
icon_state = "rock_Iron"
mineralName = "Iron"
spreadChance = 20
spread = 1
hidden = 0
/turf/simulated/mineral/diamond
name = "diamond deposit"
mineralName = "Diamond"
mineralType = /obj/item/weapon/ore/diamond
spreadChance = 0
spread = 1
hidden = 1
@@ -153,7 +166,7 @@
/turf/simulated/mineral/gold
name = "gold deposit"
mineralName = "Gold"
mineralType = /obj/item/weapon/ore/gold
spreadChance = 5
spread = 1
hidden = 1
@@ -161,7 +174,7 @@
/turf/simulated/mineral/silver
name = "silver deposit"
mineralName = "Silver"
mineralType = /obj/item/weapon/ore/silver
spreadChance = 5
spread = 1
hidden = 1
@@ -170,7 +183,7 @@
/turf/simulated/mineral/plasma
name = "plasma deposit"
icon_state = "rock_Plasma"
mineralName = "Plasma"
mineralType = /obj/item/weapon/ore/plasma
spreadChance = 8
spread = 1
hidden = 1
@@ -179,17 +192,26 @@
/turf/simulated/mineral/clown
name = "bananium deposit"
icon_state = "rock_Clown"
mineralName = "Bananium"
mineralType = /obj/item/weapon/ore/bananium
mineralAmt = 3
spreadChance = 0
spread = 0
hidden = 0
/turf/simulated/mineral/bscrystal
name = "bluespace crystal deposit"
icon_state = "rock_BScrystal"
mineralType = /obj/item/bluespace_crystal
mineralAmt = 1
spreadChance = 0
spread = 0
hidden = 1
scan_state = "rock_BScrystal"
////////////////////////////////Gibtonite
/turf/simulated/mineral/gibtonite
name = "gibtonite deposit"
icon_state = "rock_Gibtonite"
mineralName = "Gibtonite"
mineralAmt = 1
spreadChance = 0
spread = 0
@@ -419,23 +441,10 @@
return
/turf/simulated/mineral/proc/gets_drilled()
if ((src.mineralName != "") && (src.mineralAmt > 0) && (src.mineralAmt < 11))
if (mineralType && (src.mineralAmt > 0) && (src.mineralAmt < 11))
var/i
for (i=0;i<mineralAmt;i++)
if (src.mineralName == "Uranium")
new /obj/item/weapon/ore/uranium(src)
if (src.mineralName == "Iron")
new /obj/item/weapon/ore/iron(src)
if (src.mineralName == "Gold")
new /obj/item/weapon/ore/gold(src)
if (src.mineralName == "Silver")
new /obj/item/weapon/ore/silver(src)
if (src.mineralName == "Plasma")
new /obj/item/weapon/ore/plasma(src)
if (src.mineralName == "Diamond")
new /obj/item/weapon/ore/diamond(src)
if (src.mineralName == "Bananium")
new /obj/item/weapon/ore/bananium(src)
new mineralType(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
N.fullUpdateMineralOverlays()
@@ -591,13 +600,13 @@
src.overlays.Cut()
if(istype(get_step(src, NORTH), /turf/simulated/mineral))
src.overlays += image('icons/turf/walls.dmi', "rock_side_n")
src.overlays += image('icons/turf/mining.dmi', "rock_side_n")
if(istype(get_step(src, SOUTH), /turf/simulated/mineral))
src.overlays += image('icons/turf/walls.dmi', "rock_side_s", layer=6)
src.overlays += image('icons/turf/mining.dmi', "rock_side_s", layer=6)
if(istype(get_step(src, EAST), /turf/simulated/mineral))
src.overlays += image('icons/turf/walls.dmi', "rock_side_e", layer=6)
src.overlays += image('icons/turf/mining.dmi', "rock_side_e", layer=6)
if(istype(get_step(src, WEST), /turf/simulated/mineral))
src.overlays += image('icons/turf/walls.dmi', "rock_side_w", layer=6)
src.overlays += image('icons/turf/mining.dmi', "rock_side_w", layer=6)
/turf/simulated/mineral/updateMineralOverlays()
return
+40 -12
View File
@@ -118,28 +118,51 @@
var/primed = 0
var/det_time = 100
var/quality = 1 //How pure this gibtonite is, determines the explosion produced by it and is derived from the det_time of the rock wall it was taken from, higher value = better
var/attacher = "UNKNOWN"
var/datum/wires/explosive/gibtonite/wires
/obj/item/weapon/twohanded/required/gibtonite/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/pickaxe) || istype(I, /obj/item/weapon/resonator))
if(!wires && istype(I, /obj/item/device/assembly/igniter))
user.visible_message("<span class='warning'>[user] attaches [I] to [src]!</span>")
wires = new(src)
attacher = key_name(user)
qdel(I)
overlays += "Gibtonite_igniter"
return
if(wires && !primed)
if(istype(I, /obj/item/weapon/wirecutters) || istype(I, /obj/item/device/multitool) || istype(I, /obj/item/device/assembly/signaler))
wires.Interact(user)
return
if(istype(I, /obj/item/weapon/pickaxe) || istype(I, /obj/item/weapon/resonator) || I.force >= 10)
GibtoniteReaction(user)
return
if(istype(I, /obj/item/device/mining_scanner) || istype(I, /obj/item/device/t_scanner/adv_mining_scanner) && primed)
primed = 0
user.visible_message("<span class='notice'>The chain reaction was stopped! ...The ore's quality went down.</span>")
icon_state = "Gibtonite ore"
quality = 1
return
if(primed)
if(istype(I, /obj/item/device/mining_scanner) || istype(I, /obj/item/device/t_scanner/adv_mining_scanner) || istype(I, /obj/item/device/multitool))
primed = 0
user.visible_message("<span class='notice'>The chain reaction was stopped! ...The ore's quality went down.</span>")
icon_state = "Gibtonite ore"
quality = 1
return
..()
/obj/item/weapon/twohanded/required/gibtonite/attack_self(user)
if(wires)
wires.Interact(user)
else
..()
/obj/item/weapon/twohanded/required/gibtonite/bullet_act(var/obj/item/projectile/P)
if(istype(P, /obj/item/projectile/kinetic))
GibtoniteReaction(P.firer)
GibtoniteReaction(P.firer)
..()
/obj/item/weapon/twohanded/required/gibtonite/ex_act()
GibtoniteReaction(null, 1)
/obj/item/weapon/twohanded/required/gibtonite/proc/GibtoniteReaction(mob/user, triggered_by_explosive = 0)
/obj/item/weapon/twohanded/required/gibtonite/proc/GibtoniteReaction(mob/user, triggered_by = 0)
if(!primed)
playsound(src,'sound/effects/hit_on_shattered_glass.ogg',50,1)
primed = 1
@@ -149,13 +172,18 @@
var/notify_admins = 0
if(z != 5)//Only annoy the admins ingame if we're triggered off the mining zlevel
notify_admins = 1
if(notify_admins)
if(triggered_by_explosive)
if(triggered_by == 1)
message_admins("An explosion has triggered a [name] to detonate at <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[bombturf.x];Y=[bombturf.y];Z=[bombturf.z]'>[A.name] (JMP)</a>.")
else if(triggered_by == 2)
message_admins("A signal has triggered a [name] to detonate at <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[bombturf.x];Y=[bombturf.y];Z=[bombturf.z]'>[A.name] (JMP)</a>. Igniter attacher: [attacher]")
else
message_admins("[key_name(user)]<A HREF='?_src_=holder;adminmoreinfo=\ref[user]'>?</A> has triggered a [name] to detonate at <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[bombturf.x];Y=[bombturf.y];Z=[bombturf.z]'>[A.name] (JMP)</a>.")
if(triggered_by_explosive)
if(triggered_by == 1)
log_game("An explosion has primed a [name] for detonation at [A.name]([bombturf.x],[bombturf.y],[bombturf.z])")
else if(triggered_by == 2)
log_game("A signal has primed a [name] for detonation at [A.name]([bombturf.x],[bombturf.y],[bombturf.z]). Igniter attacher: [attacher].")
else
user.visible_message("<span class='warning'>[user] strikes \the [src], causing a chain reaction!</span>")
log_game("[key_name(user)] has primed a [name] for detonation at [A.name]([bombturf.x],[bombturf.y],[bombturf.z])")