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
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
/atom/proc/bullet_act(obj/item/projectile/P, def_zone)
P.on_hit(src, 0, def_zone)
. = 0
. = P.on_hit(src, 0, def_zone)
/atom/proc/in_contents_of(container)//can take class or object instance as argument
if(ispath(container))

View File

@@ -7,7 +7,7 @@
health = 200
lights_power = 7
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
wreckage = /obj/structure/mecha_wreckage/ripley
var/list/cargo = new
@@ -39,7 +39,7 @@
/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 += image("icon" = "mecha.dmi", "icon_state" = "ripley-g-open")
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)
..()
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 += 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 += 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)
..()
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 += 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 += image("icon" = "mecha.dmi", "icon_state" = "ripley-g-full")
/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\""
icon_state = "firefighter"
max_temperature = 65000
health = 250
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
wreckage = /obj/structure/mecha_wreckage/ripley/firefighter

View File

@@ -46,7 +46,7 @@
if(istype(I, /obj/item/weapon/screwdriver))
open_panel = !open_panel
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)
else
..()

View File

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

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)

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

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

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])")

View File

@@ -442,7 +442,7 @@
/obj/item/asteroid/goliath_hide
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."
icon = 'icons/obj/items.dmi'
icon = 'icons/obj/mining.dmi'
icon_state = "goliath_hide"
flags = NOBLUDGEON
w_class = 3
@@ -463,8 +463,11 @@
if(istype(target, /obj/mecha/working/ripley))
var/obj/mecha/D = target
var/list/damage_absorption = D.damage_absorption
if(damage_absorption.["brute"] > 0.3)
damage_absorption.["brute"] = max(damage_absorption.["brute"] - 0.1, 0.3)
if(damage_absorption["brute"] > 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>"
qdel(src)
if(D.icon_state == "ripley-open")

View File

@@ -214,6 +214,7 @@
icon_state = "plasmacutter"
item_state = "plasmacutter"
force = 15
damtype = "fire"
modifystate = -1
origin_tech = "combat=1;materials=3;magnets=2;plasmatech=2;engineering=1"
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
/obj/item/projectile/Bump(atom/A)
if(A == firer)
if(A == firer || A == src)
loc = A.loc
return 0 //cannot shoot yourself
if(bumped)//Stops multihit projectiles
return 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