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

View File

@@ -30,3 +30,17 @@ var/const/WIRE_EXPLODE = 1
var/obj/item/weapon/c4/P = holder var/obj/item/weapon/c4/P = holder
P.explode(get_turf(P)) P.explode(get_turf(P))
/datum/wires/explosive/gibtonite
holder_type = /obj/item/weapon/twohanded/required/gibtonite
/datum/wires/explosive/gibtonite/CanUse(var/mob/living/L)
return 1
/datum/wires/explosive/gibtonite/UpdateCut(var/index, var/mended)
return
/datum/wires/explosive/gibtonite/explode()
var/obj/item/weapon/twohanded/required/gibtonite/P = holder
P.GibtoniteReaction(null, 2)

View File

@@ -121,8 +121,7 @@
return return
/atom/proc/bullet_act(obj/item/projectile/P, def_zone) /atom/proc/bullet_act(obj/item/projectile/P, def_zone)
P.on_hit(src, 0, def_zone) . = P.on_hit(src, 0, def_zone)
. = 0
/atom/proc/in_contents_of(container)//can take class or object instance as argument /atom/proc/in_contents_of(container)//can take class or object instance as argument
if(ispath(container)) if(ispath(container))

View File

@@ -7,7 +7,7 @@
health = 200 health = 200
lights_power = 7 lights_power = 7
deflect_chance = 15 deflect_chance = 15
damage_absorption = list("brute"=0.8,"fire"=1,"bullet"=0.8,"laser"=0.9,"energy"=1,"bomb"=0.6) damage_absorption = list("brute"=0.6,"fire"=1,"bullet"=0.8,"laser"=0.9,"energy"=1,"bomb"=0.6)
max_equip = 6 max_equip = 6
wreckage = /obj/structure/mecha_wreckage/ripley wreckage = /obj/structure/mecha_wreckage/ripley
var/list/cargo = new var/list/cargo = new
@@ -39,7 +39,7 @@
/obj/mecha/working/ripley/go_out() /obj/mecha/working/ripley/go_out()
..() ..()
if (src.damage_absorption.["brute"] < 0.6 && src.damage_absorption.["brute"] > 0.3) if (src.damage_absorption["brute"] < 0.6 && src.damage_absorption["brute"] > 0.3)
src.overlays = null src.overlays = null
src.overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g-open") src.overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g-open")
else if (src.damage_absorption.["brute"] == 0.3) else if (src.damage_absorption.["brute"] == 0.3)
@@ -48,30 +48,30 @@
/obj/mecha/working/ripley/moved_inside(var/mob/living/carbon/human/H as mob) /obj/mecha/working/ripley/moved_inside(var/mob/living/carbon/human/H as mob)
..() ..()
if (src.damage_absorption.["brute"] < 0.6 && src.damage_absorption.["brute"] > 0.3) if (src.damage_absorption["brute"] < 0.6 && src.damage_absorption["brute"] > 0.3)
src.overlays = null src.overlays = null
src.overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g") src.overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g")
else if (src.damage_absorption.["brute"] == 0.3) else if (src.damage_absorption["brute"] == 0.3)
src.overlays = null src.overlays = null
src.overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g-full") src.overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g-full")
/obj/mecha/working/ripley/mmi_moved_inside(var/obj/item/device/mmi/mmi_as_oc as obj,mob/user as mob) /obj/mecha/working/ripley/mmi_moved_inside(var/obj/item/device/mmi/mmi_as_oc as obj,mob/user as mob)
..() ..()
if (src.damage_absorption.["brute"] < 0.6 && src.damage_absorption.["brute"] > 0.3) if (src.damage_absorption["brute"] < 0.6 && src.damage_absorption["brute"] > 0.3)
src.overlays = null src.overlays = null
src.overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g") src.overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g")
else if (src.damage_absorption.["brute"] == 0.3) else if (src.damage_absorption["brute"] == 0.3)
src.overlays = null src.overlays = null
src.overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g-full") src.overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g-full")
/obj/mecha/working/ripley/firefighter /obj/mecha/working/ripley/firefighter
desc = "Standart APLU chassis was refitted with additional thermal protection and cistern." desc = "Autonomous Power Loader Unit. This model is refitted with additional thermal protection."
name = "\improper APLU \"Firefighter\"" name = "\improper APLU \"Firefighter\""
icon_state = "firefighter" icon_state = "firefighter"
max_temperature = 65000 max_temperature = 65000
health = 250 health = 250
lights_power = 7 lights_power = 7
damage_absorption = list("brute"=0.8,"fire"=0.5,"bullet"=0.7,"laser"=0.8,"energy"=1,"bomb"=0.4) damage_absorption = list("brute"=0.6,"fire"=0.5,"bullet"=0.7,"laser"=0.7,"energy"=1,"bomb"=0.4)
max_equip = 5 // More armor, less tools max_equip = 5 // More armor, less tools
wreckage = /obj/structure/mecha_wreckage/ripley/firefighter wreckage = /obj/structure/mecha_wreckage/ripley/firefighter

View File

@@ -46,7 +46,7 @@
if(istype(I, /obj/item/weapon/screwdriver)) if(istype(I, /obj/item/weapon/screwdriver))
open_panel = !open_panel open_panel = !open_panel
user << "<span class='notice'>You [open_panel ? "open" : "close"] the wire panel.</span>" user << "<span class='notice'>You [open_panel ? "open" : "close"] the wire panel.</span>"
else if(istype(I, /obj/item/weapon/wirecutters) || istype(I, /obj/item/device/multitool) || istype(I, /obj/item/device/assembly/signaler )) else if(istype(I, /obj/item/weapon/wirecutters) || istype(I, /obj/item/device/multitool) || istype(I, /obj/item/device/assembly/signaler))
wires.Interact(user) wires.Interact(user)
else else
..() ..()

View File

@@ -4,7 +4,7 @@
icon_state = "meson" icon_state = "meson"
item_state = "meson" item_state = "meson"
origin_tech = "magnets=2;engineering=2" origin_tech = "magnets=2;engineering=2"
darkness_view = 1 darkness_view = 2
vision_flags = SEE_TURFS vision_flags = SEE_TURFS
invis_view = SEE_INVISIBLE_MINIMUM invis_view = SEE_INVISIBLE_MINIMUM

View File

@@ -381,7 +381,7 @@
/obj/item/weapon/mining_voucher /obj/item/weapon/mining_voucher
name = "mining voucher" name = "mining voucher"
desc = "A token to redeem a piece of equipment. Use it on a mining equipment vendor." 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" icon_state = "mining_voucher"
w_class = 1 w_class = 1
@@ -413,7 +413,7 @@
/obj/item/device/wormhole_jaunter /obj/item/device/wormhole_jaunter
name = "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." 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" icon_state = "Jaunter"
item_state = "electronic" item_state = "electronic"
throwforce = 0 throwforce = 0
@@ -473,7 +473,7 @@
/obj/item/weapon/resonator /obj/item/weapon/resonator
name = "resonator" name = "resonator"
icon = 'icons/obj/items.dmi' icon = 'icons/obj/mining.dmi'
icon_state = "resonator" icon_state = "resonator"
item_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." 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 else
for(M in L) for(M in L)
var/turf/T = get_turf(M) 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 C.images += I
spawn(30) spawn(30)
if(C) if(C)
@@ -821,7 +821,7 @@
/obj/item/device/t_scanner/adv_mining_scanner/scan() /obj/item/device/t_scanner/adv_mining_scanner/scan()
if(!cooldown) if(!cooldown)
cooldown = 1 cooldown = 1
spawn(60) spawn(35)
cooldown = 0 cooldown = 0
var/turf/t = get_turf(src) var/turf/t = get_turf(src)
var/list/mobs = recursive_mob_check(t, 1,0,0) var/list/mobs = recursive_mob_check(t, 1,0,0)
@@ -838,7 +838,7 @@
var/client/C = user.client var/client/C = user.client
for(M in L) for(M in L)
var/turf/T = get_turf(M) 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 C.images += I
spawn(30) spawn(30)
if(C) if(C)

View File

@@ -50,7 +50,7 @@
/obj/item/weapon/pickaxe /obj/item/weapon/pickaxe
name = "pickaxe" name = "pickaxe"
icon = 'icons/obj/items.dmi' icon = 'icons/obj/mining.dmi'
icon_state = "pickaxe" icon_state = "pickaxe"
flags = CONDUCT flags = CONDUCT
slot_flags = SLOT_BELT slot_flags = SLOT_BELT
@@ -79,12 +79,12 @@
name = "mining drill" name = "mining drill"
icon_state = "handdrill" icon_state = "handdrill"
item_state = "jackhammer" 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') digsound = list('sound/weapons/drill.ogg')
hitsound = 'sound/weapons/drill.ogg' hitsound = 'sound/weapons/drill.ogg'
origin_tech = "materials=2;powerstorage=3;engineering=2" origin_tech = "materials=2;powerstorage=3;engineering=2"
desc = "An electric mining drill for the especially scrawny." 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 var/obj/item/weapon/stock_parts/cell/high/bcell = null
/obj/item/weapon/pickaxe/drill/New() //this one starts with a cell pre-installed. /obj/item/weapon/pickaxe/drill/New() //this one starts with a cell pre-installed.
@@ -134,28 +134,28 @@
/obj/item/weapon/pickaxe/drill/diamonddrill /obj/item/weapon/pickaxe/drill/diamonddrill
name = "diamond-tipped mining drill" name = "diamond-tipped mining drill"
icon_state = "diamonddrill" 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" origin_tech = "materials=6;powerstorage=4;engineering=5"
desc = "Yours is the drill that will pierce the heavens!" 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 /obj/item/weapon/pickaxe/drill/jackhammer
name = "sonic jackhammer" name = "sonic jackhammer"
icon_state = "jackhammer" icon_state = "jackhammer"
item_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" origin_tech = "materials=3;powerstorage=2;engineering=2"
digsound = list('sound/weapons/sonic_jackhammer.ogg') digsound = list('sound/weapons/sonic_jackhammer.ogg')
hitsound = '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.." desc = "Cracks rocks with sonic blasts, and doubles as a demolition power tool for smashing walls."
drillcost = 200 drillcost = 100
/*****************************Shovel********************************/ /*****************************Shovel********************************/
/obj/item/weapon/shovel /obj/item/weapon/shovel
name = "shovel" name = "shovel"
desc = "A large tool for digging and moving dirt." desc = "A large tool for digging and moving dirt."
icon = 'icons/obj/items.dmi' icon = 'icons/obj/mining.dmi'
icon_state = "shovel" icon_state = "shovel"
flags = CONDUCT flags = CONDUCT
slot_flags = SLOT_BELT slot_flags = SLOT_BELT

View File

@@ -2,7 +2,7 @@
/turf/simulated/mineral //wall piece /turf/simulated/mineral //wall piece
name = "rock" name = "rock"
icon = 'icons/turf/walls.dmi' icon = 'icons/turf/mining.dmi'
icon_state = "rock_nochance" icon_state = "rock_nochance"
oxygen = 0 oxygen = 0
nitrogen = 0 nitrogen = 0
@@ -10,7 +10,7 @@
density = 1 density = 1
blocks_air = 1 blocks_air = 1
temperature = TCMB temperature = TCMB
var/mineralName = "" var/mineralType = null
var/mineralAmt = 3 var/mineralAmt = 3
var/spread = 0 //will the seam spread? var/spread = 0 //will the seam spread?
var/spreadChance = 0 //the percentual chance of an ore spreading to the neighbouring tiles 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))) 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) T = get_step(src, NORTH)
if (T) 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))) 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) T = get_step(src, SOUTH)
if (T) 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))) 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) T = get_step(src, EAST)
if (T) 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))) 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) T = get_step(src, WEST)
if (T) 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) for(var/dir in cardinal)
if(prob(spreadChance)) if(prob(spreadChance))
var/turf/T = get_step(src, dir) var/turf/T = get_step(src, dir)
@@ -73,7 +73,12 @@
/turf/simulated/mineral/random /turf/simulated/mineral/random
name = "mineral deposit" name = "mineral deposit"
icon_state = "rock" 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 var/mineralChance = 13
/turf/simulated/mineral/random/New() /turf/simulated/mineral/random/New()
@@ -102,6 +107,8 @@
M = new/turf/simulated/mineral/gibtonite(src) M = new/turf/simulated/mineral/gibtonite(src)
if("Bananium") if("Bananium")
M = new/turf/simulated/mineral/clown(src) M = new/turf/simulated/mineral/clown(src)
if("BScrystal")
M = new/turf/simulated/mineral/bscrystal(src)
/*if("Adamantine") /*if("Adamantine")
M = new/turf/simulated/mineral/adamantine(src)*/ M = new/turf/simulated/mineral/adamantine(src)*/
if(M) if(M)
@@ -112,7 +119,10 @@
/turf/simulated/mineral/random/high_chance /turf/simulated/mineral/random/high_chance
icon_state = "rock_highchance" icon_state = "rock_highchance"
mineralChance = 25 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() /turf/simulated/mineral/random/high_chance/New()
icon_state = "rock" icon_state = "rock"
@@ -121,31 +131,34 @@
/turf/simulated/mineral/random/low_chance /turf/simulated/mineral/random/low_chance
icon_state = "rock_lowchance" icon_state = "rock_lowchance"
mineralChance = 6 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() /turf/simulated/mineral/random/low_chance/New()
icon_state = "rock" 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 /turf/simulated/mineral/uranium
name = "uranium deposit" name = "uranium deposit"
mineralName = "Uranium" mineralType = /obj/item/weapon/ore/uranium
spreadChance = 5 spreadChance = 5
spread = 1 spread = 1
hidden = 1 hidden = 1
scan_state = "rock_Uranium" 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 /turf/simulated/mineral/diamond
name = "diamond deposit" name = "diamond deposit"
mineralName = "Diamond" mineralType = /obj/item/weapon/ore/diamond
spreadChance = 0 spreadChance = 0
spread = 1 spread = 1
hidden = 1 hidden = 1
@@ -153,7 +166,7 @@
/turf/simulated/mineral/gold /turf/simulated/mineral/gold
name = "gold deposit" name = "gold deposit"
mineralName = "Gold" mineralType = /obj/item/weapon/ore/gold
spreadChance = 5 spreadChance = 5
spread = 1 spread = 1
hidden = 1 hidden = 1
@@ -161,7 +174,7 @@
/turf/simulated/mineral/silver /turf/simulated/mineral/silver
name = "silver deposit" name = "silver deposit"
mineralName = "Silver" mineralType = /obj/item/weapon/ore/silver
spreadChance = 5 spreadChance = 5
spread = 1 spread = 1
hidden = 1 hidden = 1
@@ -170,7 +183,7 @@
/turf/simulated/mineral/plasma /turf/simulated/mineral/plasma
name = "plasma deposit" name = "plasma deposit"
icon_state = "rock_Plasma" icon_state = "rock_Plasma"
mineralName = "Plasma" mineralType = /obj/item/weapon/ore/plasma
spreadChance = 8 spreadChance = 8
spread = 1 spread = 1
hidden = 1 hidden = 1
@@ -179,17 +192,26 @@
/turf/simulated/mineral/clown /turf/simulated/mineral/clown
name = "bananium deposit" name = "bananium deposit"
icon_state = "rock_Clown" icon_state = "rock_Clown"
mineralName = "Bananium" mineralType = /obj/item/weapon/ore/bananium
mineralAmt = 3 mineralAmt = 3
spreadChance = 0 spreadChance = 0
spread = 0 spread = 0
hidden = 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 ////////////////////////////////Gibtonite
/turf/simulated/mineral/gibtonite /turf/simulated/mineral/gibtonite
name = "gibtonite deposit" name = "gibtonite deposit"
icon_state = "rock_Gibtonite" icon_state = "rock_Gibtonite"
mineralName = "Gibtonite"
mineralAmt = 1 mineralAmt = 1
spreadChance = 0 spreadChance = 0
spread = 0 spread = 0
@@ -419,23 +441,10 @@
return return
/turf/simulated/mineral/proc/gets_drilled() /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 var/i
for (i=0;i<mineralAmt;i++) for (i=0;i<mineralAmt;i++)
if (src.mineralName == "Uranium") new mineralType(src)
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)
var/turf/simulated/floor/plating/asteroid/airless/N = ChangeTurf(/turf/simulated/floor/plating/asteroid/airless) 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 playsound(src, 'sound/effects/break_stone.ogg', 50, 1) //beautiful destruction
N.fullUpdateMineralOverlays() N.fullUpdateMineralOverlays()
@@ -591,13 +600,13 @@
src.overlays.Cut() src.overlays.Cut()
if(istype(get_step(src, NORTH), /turf/simulated/mineral)) 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)) 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)) 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)) 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() /turf/simulated/mineral/updateMineralOverlays()
return return

View File

@@ -118,28 +118,51 @@
var/primed = 0 var/primed = 0
var/det_time = 100 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/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) /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) GibtoniteReaction(user)
return return
if(istype(I, /obj/item/device/mining_scanner) || istype(I, /obj/item/device/t_scanner/adv_mining_scanner) && primed) if(primed)
primed = 0 if(istype(I, /obj/item/device/mining_scanner) || istype(I, /obj/item/device/t_scanner/adv_mining_scanner) || istype(I, /obj/item/device/multitool))
user.visible_message("<span class='notice'>The chain reaction was stopped! ...The ore's quality went down.</span>") primed = 0
icon_state = "Gibtonite ore" user.visible_message("<span class='notice'>The chain reaction was stopped! ...The ore's quality went down.</span>")
quality = 1 icon_state = "Gibtonite ore"
return 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) /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() /obj/item/weapon/twohanded/required/gibtonite/ex_act()
GibtoniteReaction(null, 1) 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) if(!primed)
playsound(src,'sound/effects/hit_on_shattered_glass.ogg',50,1) playsound(src,'sound/effects/hit_on_shattered_glass.ogg',50,1)
primed = 1 primed = 1
@@ -149,13 +172,18 @@
var/notify_admins = 0 var/notify_admins = 0
if(z != 5)//Only annoy the admins ingame if we're triggered off the mining zlevel if(z != 5)//Only annoy the admins ingame if we're triggered off the mining zlevel
notify_admins = 1 notify_admins = 1
if(notify_admins) 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>.") 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 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>.") 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])") 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 else
user.visible_message("<span class='warning'>[user] strikes \the [src], causing a chain reaction!</span>") 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])") log_game("[key_name(user)] has primed a [name] for detonation at [A.name]([bombturf.x],[bombturf.y],[bombturf.z])")

View File

@@ -442,7 +442,7 @@
/obj/item/asteroid/goliath_hide /obj/item/asteroid/goliath_hide
name = "goliath hide plates" name = "goliath hide plates"
desc = "Pieces of a goliath's rocky hide, these might be able to make your suit a bit more durable to attack from the local fauna." desc = "Pieces of a goliath's rocky hide, these might be able to make your suit a bit more durable to attack from the local fauna."
icon = 'icons/obj/items.dmi' icon = 'icons/obj/mining.dmi'
icon_state = "goliath_hide" icon_state = "goliath_hide"
flags = NOBLUDGEON flags = NOBLUDGEON
w_class = 3 w_class = 3
@@ -463,8 +463,11 @@
if(istype(target, /obj/mecha/working/ripley)) if(istype(target, /obj/mecha/working/ripley))
var/obj/mecha/D = target var/obj/mecha/D = target
var/list/damage_absorption = D.damage_absorption var/list/damage_absorption = D.damage_absorption
if(damage_absorption.["brute"] > 0.3) if(damage_absorption["brute"] > 0.3)
damage_absorption.["brute"] = max(damage_absorption.["brute"] - 0.1, 0.3) damage_absorption["brute"] = max(damage_absorption["brute"] - 0.1, 0.3)
damage_absorption["bullet"] = damage_absorption["bullet"] - 0.05
damage_absorption["fire"] = damage_absorption["fire"] - 0.05
damage_absorption["laser"] = damage_absorption["laser"] - 0.025
user << "<span class='info'>You strengthen [target], improving its resistance against melee attacks.</span>" user << "<span class='info'>You strengthen [target], improving its resistance against melee attacks.</span>"
qdel(src) qdel(src)
if(D.icon_state == "ripley-open") if(D.icon_state == "ripley-open")

View File

@@ -214,6 +214,7 @@
icon_state = "plasmacutter" icon_state = "plasmacutter"
item_state = "plasmacutter" item_state = "plasmacutter"
force = 15 force = 15
damtype = "fire"
modifystate = -1 modifystate = -1
origin_tech = "combat=1;materials=3;magnets=2;plasmatech=2;engineering=1" origin_tech = "combat=1;materials=3;magnets=2;plasmatech=2;engineering=1"
ammo_type = list(/obj/item/ammo_casing/energy/plasma) ammo_type = list(/obj/item/ammo_casing/energy/plasma)

View File

@@ -69,9 +69,10 @@
return 50 //if the projectile doesn't do damage, play its hitsound at 50% volume return 50 //if the projectile doesn't do damage, play its hitsound at 50% volume
/obj/item/projectile/Bump(atom/A) /obj/item/projectile/Bump(atom/A)
if(A == firer) if(A == firer || A == src)
loc = A.loc loc = A.loc
return 0 //cannot shoot yourself return 0 //cannot shoot yourself
if(bumped)//Stops multihit projectiles if(bumped)//Stops multihit projectiles
return 1 return 1
bumped = 1 bumped = 1

View File

@@ -0,0 +1,12 @@
author: ACCount
delete-after: True
changes:
- rscadd: "The plasma cutter is now a gun that comes in the mining vending machine. Use it to mine fast but expensively."
- tweak: "It's also cheaper in RnD, and there's an advanced version of it there too. Yay!"
- tweak: "Ripleys and Firefighters have been buffed significantly. Go wild."
- tweak: "Precious mesons are cheaper in RnD."
- rscadd: "Now you can mine bluespace crystals. They are extremely rare."
- rscadd: "You can make remote bombs out of gibtonite. Figure out how."
- tweak: "Gibtonite is a bit less stable. Do not hit it with anything heavy."

View File

@@ -1,10 +0,0 @@
author: pudl
delete-after: True
changes:
- rscadd: "The plasma cutter is now a gun that comes in the mining vending machine. Use it to mine fast but expensively."
- rscadd: "It's also cheaper in RnD, and there's an advanced version of it there too. Yay!"
- rscadd: "Ripleys and Firefighters have been buffed significantly. Go wild."
- rscadd: "Also, Ripleys can spawn with a plasma cutter attachment, free of charge."
- rscadd: "Precious mesons are cheaper in RnD."

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 54 KiB

BIN
icons/turf/mining.dmi Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 217 KiB

After

Width:  |  Height:  |  Size: 189 KiB