Bleeding edgy refresh (#303)
* not code stuff * other things * global vars, defines, helpers * onclick hud stuff, orphans, world.dm * controllers and datums * game folder * everything not client/mobs in modules * client folder * stage 1 mob stuff * simple animal things * silicons * carbon things * ayylmaos and monkeys * hyoomahn * icons n shit * sprite fixes * compile fixes * some fixes I cherrypicked. * qdel fixes * forgot brain refractors
This commit is contained in:
@@ -5,9 +5,10 @@
|
||||
name = "chasm"
|
||||
desc = "Watch your step."
|
||||
baseturf = /turf/open/chasm
|
||||
smooth = SMOOTH_TRUE | SMOOTH_BORDER
|
||||
smooth = SMOOTH_TRUE | SMOOTH_BORDER | SMOOTH_MORE
|
||||
icon = 'icons/turf/floors/Chasms.dmi'
|
||||
icon_state = "smooth"
|
||||
canSmoothWith = list(/turf/open/floor/fakepit, /turf/open/chasm)
|
||||
var/drop_x = 1
|
||||
var/drop_y = 1
|
||||
var/drop_z = 1
|
||||
@@ -20,6 +21,34 @@
|
||||
if(!drop_stuff())
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
|
||||
/turf/open/chasm/attackby(obj/item/C, mob/user, params, area/area_restriction)
|
||||
..()
|
||||
if(istype(C, /obj/item/stack/rods))
|
||||
var/obj/item/stack/rods/R = C
|
||||
var/obj/structure/lattice/L = locate(/obj/structure/lattice, src)
|
||||
if(!L)
|
||||
if(R.use(1))
|
||||
to_chat(user, "<span class='notice'>You construct a lattice.</span>")
|
||||
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
|
||||
ReplaceWithLattice()
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need one rod to build a lattice.</span>")
|
||||
return
|
||||
if(istype(C, /obj/item/stack/tile/plasteel))
|
||||
var/obj/structure/lattice/L = locate(/obj/structure/lattice, src)
|
||||
if(L)
|
||||
var/obj/item/stack/tile/plasteel/S = C
|
||||
if(S.use(1))
|
||||
qdel(L)
|
||||
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
|
||||
to_chat(user, "<span class='notice'>You build a floor.</span>")
|
||||
ChangeTurf(/turf/open/floor/plating)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need one floor tile to build a floor!</span>")
|
||||
else
|
||||
to_chat(user, "<span class='warning'>The plating is going to need some support! Place metal rods first.</span>")
|
||||
|
||||
|
||||
/turf/open/chasm/proc/drop_stuff(AM)
|
||||
. = 0
|
||||
var/thing_to_check = src
|
||||
@@ -112,4 +141,4 @@
|
||||
qdel(AM)
|
||||
|
||||
/turf/open/chasm/straight_down/lava_land_surface/normal_air
|
||||
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
|
||||
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
|
||||
@@ -137,22 +137,38 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
|
||||
if(..())
|
||||
return 1
|
||||
if(intact && istype(C, /obj/item/weapon/crowbar))
|
||||
if(broken || burnt)
|
||||
broken = 0
|
||||
burnt = 0
|
||||
user << "<span class='danger'>You remove the broken plating.</span>"
|
||||
else
|
||||
if(istype(src, /turf/open/floor/wood))
|
||||
user << "<span class='danger'>You forcefully pry off the planks, destroying them in the process.</span>"
|
||||
else
|
||||
user << "<span class='danger'>You remove the floor tile.</span>"
|
||||
if(floor_tile)
|
||||
new floor_tile(src)
|
||||
make_plating()
|
||||
playsound(src, C.usesound, 80, 1)
|
||||
pry_tile(C, user)
|
||||
return 1
|
||||
if(intact && istype(C, /obj/item/stack/tile))
|
||||
var/obj/item/stack/tile/T = C
|
||||
if(T.turf_type == type)
|
||||
return
|
||||
var/obj/item/weapon/crowbar/CB = user.is_holding_item_of_type(/obj/item/weapon/crowbar)
|
||||
if(!CB)
|
||||
return
|
||||
var/turf/open/floor/plating/P = pry_tile(CB, user, TRUE)
|
||||
if(!istype(P))
|
||||
return
|
||||
P.attackby(T, user, params)
|
||||
return 0
|
||||
|
||||
/turf/open/floor/proc/pry_tile(obj/item/C, mob/user, silent = FALSE)
|
||||
playsound(src, C.usesound, 80, 1)
|
||||
return remove_tile(user, silent)
|
||||
|
||||
/turf/open/floor/proc/remove_tile(mob/user, silent = FALSE, make_tile = TRUE)
|
||||
if(broken || burnt)
|
||||
broken = 0
|
||||
burnt = 0
|
||||
if(user && !silent)
|
||||
to_chat(user, "<span class='danger'>You remove the broken plating.</span>")
|
||||
else
|
||||
if(user && !silent)
|
||||
to_chat(user, "<span class='danger'>You remove the floor tile.</span>")
|
||||
if(floor_tile && make_tile)
|
||||
new floor_tile(src)
|
||||
return make_plating()
|
||||
|
||||
/turf/open/floor/singularity_pull(S, current_size)
|
||||
if(current_size == STAGE_THREE)
|
||||
if(prob(30))
|
||||
@@ -183,3 +199,54 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
|
||||
|
||||
/turf/open/floor/acid_melt()
|
||||
ChangeTurf(baseturf)
|
||||
|
||||
/turf/open/floor/rcd_vals(mob/user, obj/item/weapon/rcd/the_rcd)
|
||||
switch(the_rcd.mode)
|
||||
if(RCD_FLOORWALL)
|
||||
return list("mode" = RCD_FLOORWALL, "delay" = 20, "cost" = 16)
|
||||
if(RCD_AIRLOCK)
|
||||
return list("mode" = RCD_AIRLOCK, "delay" = 50, "cost" = 16)
|
||||
if(RCD_DECONSTRUCT)
|
||||
return list("mode" = RCD_DECONSTRUCT, "delay" = 50, "cost" = 33)
|
||||
if(RCD_WINDOWGRILLE)
|
||||
return list("mode" = RCD_WINDOWGRILLE, "delay" = 40, "cost" = 4)
|
||||
return FALSE
|
||||
|
||||
/turf/open/floor/rcd_act(mob/user, obj/item/weapon/rcd/the_rcd, passed_mode)
|
||||
switch(passed_mode)
|
||||
if(RCD_FLOORWALL)
|
||||
to_chat(user, "<span class='notice'>You build a wall.</span>")
|
||||
ChangeTurf(/turf/closed/wall)
|
||||
return TRUE
|
||||
if(RCD_AIRLOCK)
|
||||
if(locate(/obj/machinery/door/airlock) in src)
|
||||
return FALSE
|
||||
to_chat(user, "<span class='notice'>You build an airlock.</span>")
|
||||
var/obj/machinery/door/airlock/A = new the_rcd.airlock_type(src)
|
||||
|
||||
A.electronics = new/obj/item/weapon/electronics/airlock(src)
|
||||
|
||||
if(the_rcd.conf_access)
|
||||
A.electronics.accesses = the_rcd.conf_access.Copy()
|
||||
A.electronics.one_access = the_rcd.use_one_access
|
||||
|
||||
if(A.electronics.one_access)
|
||||
A.req_one_access = A.electronics.accesses
|
||||
else
|
||||
A.req_access = A.electronics.accesses
|
||||
A.autoclose = TRUE
|
||||
return TRUE
|
||||
if(RCD_DECONSTRUCT)
|
||||
if(istype(src, baseturf))
|
||||
return FALSE
|
||||
to_chat(user, "<span class='notice'>You deconstruct [src].</span>")
|
||||
ChangeTurf(baseturf)
|
||||
return TRUE
|
||||
if(RCD_WINDOWGRILLE)
|
||||
if(locate(/obj/structure/grille) in src)
|
||||
return FALSE
|
||||
to_chat(user, "<span class='notice'>You construct the grille.</span>")
|
||||
var/obj/structure/grille/G = new(src)
|
||||
G.anchored = TRUE
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
* Wood floor
|
||||
* Grass floor
|
||||
* Carpet floor
|
||||
* Fake pits
|
||||
* Fake space
|
||||
*/
|
||||
|
||||
/turf/open/floor/wood
|
||||
@@ -13,14 +15,31 @@
|
||||
if(..())
|
||||
return
|
||||
if(istype(C, /obj/item/weapon/screwdriver))
|
||||
if(broken || burnt)
|
||||
return
|
||||
user << "<span class='danger'>You unscrew the planks.</span>"
|
||||
new floor_tile(src)
|
||||
make_plating()
|
||||
playsound(src, C.usesound, 80, 1)
|
||||
pry_tile(C, user)
|
||||
return
|
||||
|
||||
/turf/open/floor/wood/pry_tile(obj/item/C, mob/user, silent = FALSE)
|
||||
var/is_screwdriver = istype(C, /obj/item/weapon/screwdriver)
|
||||
playsound(src, C.usesound, 80, 1)
|
||||
return remove_tile(user, silent, make_tile = is_screwdriver)
|
||||
|
||||
/turf/open/floor/wood/remove_tile(mob/user, silent = FALSE, make_tile = TRUE)
|
||||
if(broken || burnt)
|
||||
broken = 0
|
||||
burnt = 0
|
||||
if(user && !silent)
|
||||
to_chat(user, "<span class='danger'>You remove the broken planks.</span>")
|
||||
else
|
||||
if(make_tile)
|
||||
if(user && !silent)
|
||||
to_chat(user, "<span class='danger'>You unscrew the planks.</span>")
|
||||
if(floor_tile)
|
||||
new floor_tile(src)
|
||||
else
|
||||
if(user && !silent)
|
||||
to_chat(user, "<span class='danger'>You forcefully pry off the planks, destroying them in the process.</span>")
|
||||
return make_plating()
|
||||
|
||||
/turf/open/floor/wood/cold
|
||||
temperature = 255.37
|
||||
|
||||
@@ -79,10 +98,7 @@
|
||||
..()
|
||||
if(prob(15))
|
||||
icon_state = "basalt[rand(0, 12)]"
|
||||
switch(icon_state)
|
||||
if("basalt1", "basalt2", "basalt3")
|
||||
SetLuminosity(1, 1)
|
||||
|
||||
set_basalt_light(src)
|
||||
|
||||
/turf/open/floor/carpet
|
||||
name = "carpet"
|
||||
@@ -92,7 +108,7 @@
|
||||
floor_tile = /obj/item/stack/tile/carpet
|
||||
broken_states = list("damaged")
|
||||
smooth = SMOOTH_TRUE
|
||||
canSmoothWith = null
|
||||
canSmoothWith = list(/turf/open/floor/carpet, /turf/open/chasm)
|
||||
flags = NONE
|
||||
|
||||
/turf/open/floor/carpet/Initialize()
|
||||
@@ -122,6 +138,14 @@
|
||||
update_icon()
|
||||
|
||||
|
||||
|
||||
turf/open/floor/fakepit
|
||||
desc = "A clever illusion designed to look like a bottomless pit."
|
||||
smooth = SMOOTH_TRUE | SMOOTH_BORDER | SMOOTH_MORE
|
||||
canSmoothWith = list(/turf/open/floor/fakepit, /turf/open/chasm)
|
||||
icon = 'icons/turf/floors/Chasms.dmi'
|
||||
icon_state = "smooth"
|
||||
|
||||
/turf/open/floor/fakespace
|
||||
icon = 'icons/turf/space.dmi'
|
||||
icon_state = "0"
|
||||
@@ -131,4 +155,4 @@
|
||||
|
||||
/turf/open/floor/fakespace/Initialize()
|
||||
..()
|
||||
icon_state = "[rand(0,25)]"
|
||||
icon_state = "[rand(0,25)]"
|
||||
@@ -1,7 +1,7 @@
|
||||
/turf/open/floor/light
|
||||
name = "light floor"
|
||||
desc = "A wired glass tile embedded into the floor."
|
||||
luminosity = 5
|
||||
light_range = 5
|
||||
icon_state = "light_on"
|
||||
floor_tile = /obj/item/stack/tile/light
|
||||
broken_states = list("light_broken")
|
||||
@@ -22,24 +22,24 @@
|
||||
switch(state)
|
||||
if(0)
|
||||
icon_state = "light_on-[coloredlights[currentcolor]]"
|
||||
SetLuminosity(1)
|
||||
set_light(1)
|
||||
if(1)
|
||||
var/num = pick("1","2","3","4")
|
||||
icon_state = "light_on_flicker[num]"
|
||||
SetLuminosity(1)
|
||||
set_light(1)
|
||||
if(2)
|
||||
icon_state = "light_on_broken"
|
||||
SetLuminosity(1)
|
||||
set_light(1)
|
||||
if(3)
|
||||
icon_state = "light_off"
|
||||
SetLuminosity(0)
|
||||
set_light(0)
|
||||
else
|
||||
SetLuminosity(0)
|
||||
set_light(0)
|
||||
icon_state = "light_off"
|
||||
|
||||
|
||||
/turf/open/floor/light/ChangeTurf(turf/T)
|
||||
SetLuminosity(0)
|
||||
set_light(0)
|
||||
return ..()
|
||||
|
||||
/turf/open/floor/light/attack_hand(mob/user)
|
||||
@@ -67,9 +67,9 @@
|
||||
qdel(C)
|
||||
state = 0 //fixing it by bashing it with a light bulb, fun eh?
|
||||
update_icon()
|
||||
user << "<span class='notice'>You replace the light bulb.</span>"
|
||||
to_chat(user, "<span class='notice'>You replace the light bulb.</span>")
|
||||
else
|
||||
user << "<span class='notice'>The lightbulb seems fine, no need to replace it.</span>"
|
||||
to_chat(user, "<span class='notice'>The lightbulb seems fine, no need to replace it.</span>")
|
||||
|
||||
|
||||
//Cycles through all of the colours
|
||||
|
||||
@@ -8,24 +8,88 @@
|
||||
icon_state = "rockvault"
|
||||
floor_tile = /obj/item/stack/tile/plasteel
|
||||
|
||||
/turf/open/floor/bluegrid
|
||||
//Circuit flooring, glows a little
|
||||
/turf/open/floor/circuit
|
||||
icon = 'icons/turf/floors.dmi'
|
||||
icon_state = "bcircuit"
|
||||
floor_tile = /obj/item/stack/tile/plasteel
|
||||
var/icon_normal = "bcircuit"
|
||||
light_color = LIGHT_COLOR_CYAN
|
||||
floor_tile = /obj/item/stack/tile/circuit
|
||||
var/on = TRUE
|
||||
|
||||
/turf/open/floor/bluegrid/Initialize()
|
||||
/turf/open/floor/circuit/Initialize()
|
||||
SSmapping.nuke_tiles += src
|
||||
update_icon()
|
||||
..()
|
||||
|
||||
/turf/open/floor/bluegrid/Destroy()
|
||||
/turf/open/floor/circuit/Destroy()
|
||||
SSmapping.nuke_tiles -= src
|
||||
return ..()
|
||||
|
||||
/turf/open/floor/greengrid
|
||||
icon = 'icons/turf/floors.dmi'
|
||||
icon_state = "gcircuit"
|
||||
floor_tile = /obj/item/stack/tile/plasteel
|
||||
/turf/open/floor/circuit/update_icon()
|
||||
if(on)
|
||||
if(LAZYLEN(SSmapping.nuke_threats))
|
||||
icon_state = "rcircuitanim"
|
||||
light_color = LIGHT_COLOR_FLARE
|
||||
else
|
||||
icon_state = icon_normal
|
||||
light_color = initial(light_color)
|
||||
set_light(1.4, 0.5)
|
||||
else
|
||||
icon_state = "[icon_normal]off"
|
||||
set_light(0)
|
||||
|
||||
/turf/open/floor/circuit/off
|
||||
icon_state = "bcircuitoff"
|
||||
on = FALSE
|
||||
|
||||
/turf/open/floor/circuit/airless
|
||||
initial_gas_mix = "TEMP=2.7"
|
||||
|
||||
/turf/open/floor/circuit/telecomms
|
||||
initial_gas_mix = "n2=100;TEMP=80"
|
||||
|
||||
/turf/open/floor/circuit/green
|
||||
icon_state = "gcircuit"
|
||||
icon_normal = "gcircuit"
|
||||
light_color = LIGHT_COLOR_GREEN
|
||||
floor_tile = /obj/item/stack/tile/circuit/green
|
||||
|
||||
/turf/open/floor/circuit/green/off
|
||||
icon_state = "gcircuitoff"
|
||||
on = FALSE
|
||||
|
||||
/turf/open/floor/circuit/green/anim
|
||||
icon_state = "gcircuitanim"
|
||||
icon_normal = "gcircuitanim"
|
||||
floor_tile = /obj/item/stack/tile/circuit/green/anim
|
||||
|
||||
/turf/open/floor/circuit/green/airless
|
||||
initial_gas_mix = "TEMP=2.7"
|
||||
|
||||
/turf/open/floor/circuit/green/telecomms
|
||||
initial_gas_mix = "n2=100;TEMP=80"
|
||||
|
||||
/turf/open/floor/circuit/red
|
||||
icon_state = "rcircuit"
|
||||
icon_normal = "rcircuit"
|
||||
light_color = LIGHT_COLOR_FLARE
|
||||
floor_tile = /obj/item/stack/tile/circuit/red
|
||||
|
||||
/turf/open/floor/circuit/red/off
|
||||
icon_state = "rcircuitoff"
|
||||
on = FALSE
|
||||
|
||||
/turf/open/floor/circuit/red/anim
|
||||
icon_state = "rcircuitanim"
|
||||
icon_normal = "rcircuitanim"
|
||||
floor_tile = /obj/item/stack/tile/circuit/red/anim
|
||||
|
||||
/turf/open/floor/circuit/red/airless
|
||||
initial_gas_mix = "TEMP=2.7"
|
||||
|
||||
/turf/open/floor/circuit/red/telecomms
|
||||
initial_gas_mix = "n2=100;TEMP=80"
|
||||
|
||||
/turf/open/floor/pod
|
||||
name = "pod floor"
|
||||
@@ -201,4 +265,3 @@
|
||||
for(var/obj/structure/spacevine/SV in src)
|
||||
if(!QDESTROYING(SV))//Helps avoid recursive loops
|
||||
qdel(SV)
|
||||
UpdateAffectingLights()
|
||||
|
||||
@@ -256,30 +256,6 @@
|
||||
icon_state = "podhatchcorner"
|
||||
|
||||
|
||||
|
||||
/turf/open/floor/plasteel/circuit
|
||||
icon_state = "bcircuit"
|
||||
/turf/open/floor/plasteel/airless/circuit
|
||||
icon_state = "bcircuit"
|
||||
/turf/open/floor/plasteel/circuit/off
|
||||
icon_state = "bcircuitoff"
|
||||
|
||||
/turf/open/floor/plasteel/circuit/gcircuit
|
||||
icon_state = "gcircuit"
|
||||
/turf/open/floor/plasteel/airless/circuit/gcircuit
|
||||
icon_state = "gcircuit"
|
||||
/turf/open/floor/plasteel/circuit/gcircuit/off
|
||||
icon_state = "gcircuitoff"
|
||||
/turf/open/floor/plasteel/circuit/gcircuit/animated
|
||||
icon_state = "gcircuitanim"
|
||||
|
||||
/turf/open/floor/plasteel/circuit/rcircuit
|
||||
icon_state = "rcircuit"
|
||||
/turf/open/floor/plasteel/circuit/rcircuit/animated
|
||||
icon_state = "rcircuitanim"
|
||||
|
||||
|
||||
|
||||
/turf/open/floor/plasteel/loadingarea
|
||||
icon_state = "loadingarea"
|
||||
/turf/open/floor/plasteel/loadingarea/dirty
|
||||
|
||||
@@ -32,20 +32,20 @@
|
||||
return
|
||||
if(istype(C, /obj/item/stack/rods))
|
||||
if(broken || burnt)
|
||||
user << "<span class='warning'>Repair the plating first!</span>"
|
||||
to_chat(user, "<span class='warning'>Repair the plating first!</span>")
|
||||
return
|
||||
var/obj/item/stack/rods/R = C
|
||||
if (R.get_amount() < 2)
|
||||
user << "<span class='warning'>You need two rods to make a reinforced floor!</span>"
|
||||
to_chat(user, "<span class='warning'>You need two rods to make a reinforced floor!</span>")
|
||||
return
|
||||
else
|
||||
user << "<span class='notice'>You begin reinforcing the floor...</span>"
|
||||
to_chat(user, "<span class='notice'>You begin reinforcing the floor...</span>")
|
||||
if(do_after(user, 30, target = src))
|
||||
if (R.get_amount() >= 2 && !istype(src, /turf/open/floor/engine))
|
||||
ChangeTurf(/turf/open/floor/engine)
|
||||
playsound(src, 'sound/items/Deconstruct.ogg', 80, 1)
|
||||
R.use(2)
|
||||
user << "<span class='notice'>You reinforce the floor.</span>"
|
||||
to_chat(user, "<span class='notice'>You reinforce the floor.</span>")
|
||||
return
|
||||
else if(istype(C, /obj/item/stack/tile))
|
||||
if(!broken && !burnt)
|
||||
@@ -59,12 +59,12 @@
|
||||
F.state = L.state
|
||||
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
|
||||
else
|
||||
user << "<span class='warning'>This section is too damaged to support a tile! Use a welder to fix the damage.</span>"
|
||||
to_chat(user, "<span class='warning'>This section is too damaged to support a tile! Use a welder to fix the damage.</span>")
|
||||
else if(istype(C, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/welder = C
|
||||
if( welder.isOn() && (broken || burnt) )
|
||||
if(welder.remove_fuel(0,user))
|
||||
user << "<span class='danger'>You fix some dents on the broken plating.</span>"
|
||||
to_chat(user, "<span class='danger'>You fix some dents on the broken plating.</span>")
|
||||
playsound(src, welder.usesound, 80, 1)
|
||||
icon_state = icon_plating
|
||||
burnt = 0
|
||||
|
||||
@@ -53,15 +53,15 @@
|
||||
return
|
||||
|
||||
if (dug)
|
||||
user << "<span class='warning'>This area has already been dug!</span>"
|
||||
to_chat(user, "<span class='warning'>This area has already been dug!</span>")
|
||||
return
|
||||
|
||||
user << "<span class='notice'>You start digging...</span>"
|
||||
to_chat(user, "<span class='notice'>You start digging...</span>")
|
||||
playsound(src, 'sound/effects/shovel_dig.ogg', 50, 1)
|
||||
|
||||
if(do_after(user, digging_speed, target = src))
|
||||
if(istype(src, /turf/open/floor/plating/asteroid))
|
||||
user << "<span class='notice'>You dig a hole.</span>"
|
||||
to_chat(user, "<span class='notice'>You dig a hole.</span>")
|
||||
gets_dug()
|
||||
feedback_add_details("pick_used_mining","[W.type]")
|
||||
|
||||
@@ -119,13 +119,18 @@
|
||||
|
||||
/turf/open/floor/plating/asteroid/basalt/Initialize()
|
||||
..()
|
||||
switch(icon_state)
|
||||
if("basalt1", "basalt2", "basalt3") //5 and 9 are too dark to glow and make the amount of glows in tunnels too high
|
||||
SetLuminosity(1, 1) //this is basically a 3.75% chance that a basalt floor glows
|
||||
set_basalt_light(src)
|
||||
|
||||
/proc/set_basalt_light(turf/open/floor/B)
|
||||
switch(B.icon_state)
|
||||
if("basalt1", "basalt2", "basalt3")
|
||||
B.set_light(2, 0.6, LIGHT_COLOR_LAVA) //more light
|
||||
if("basalt5", "basalt9")
|
||||
B.set_light(1.4, 0.6, LIGHT_COLOR_LAVA) //barely anything!
|
||||
|
||||
/turf/open/floor/plating/asteroid/basalt/gets_dug()
|
||||
if(!dug)
|
||||
SetLuminosity(0)
|
||||
set_light(0)
|
||||
..()
|
||||
|
||||
|
||||
@@ -323,6 +328,3 @@
|
||||
|
||||
/turf/open/floor/plating/asteroid/snow/atmosphere
|
||||
initial_gas_mix = "o2=22;n2=82;TEMP=180"
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -6,7 +6,10 @@
|
||||
gender = PLURAL //"That's some lava."
|
||||
baseturf = /turf/open/floor/plating/lava //lava all the way down
|
||||
slowdown = 2
|
||||
luminosity = 1
|
||||
|
||||
light_range = 2
|
||||
light_power = 0.75
|
||||
light_color = LIGHT_COLOR_LAVA
|
||||
|
||||
/turf/open/floor/plating/lava/ex_act()
|
||||
return
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
if(!C || !user)
|
||||
return
|
||||
if(istype(C, /obj/item/weapon/wrench))
|
||||
user << "<span class='notice'>You begin removing rods...</span>"
|
||||
to_chat(user, "<span class='notice'>You begin removing rods...</span>")
|
||||
playsound(src, C.usesound, 80, 1)
|
||||
if(do_after(user, 30*C.toolspeed, target = src))
|
||||
if(!istype(src, /turf/open/floor/engine))
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
/turf/closed/mineral/attackby(obj/item/weapon/pickaxe/P, mob/user, params)
|
||||
|
||||
if (!user.IsAdvancedToolUser())
|
||||
usr << "<span class='warning'>You don't have the dexterity to do this!</span>"
|
||||
to_chat(usr, "<span class='warning'>You don't have the dexterity to do this!</span>")
|
||||
return
|
||||
|
||||
if (istype(P, /obj/item/weapon/pickaxe))
|
||||
@@ -57,12 +57,12 @@
|
||||
if(last_act+P.digspeed > world.time)//prevents message spam
|
||||
return
|
||||
last_act = world.time
|
||||
user << "<span class='notice'>You start picking...</span>"
|
||||
to_chat(user, "<span class='notice'>You start picking...</span>")
|
||||
P.playDigSound()
|
||||
|
||||
if(do_after(user,P.digspeed, target = src))
|
||||
if(ismineralturf(src))
|
||||
user << "<span class='notice'>You finish cutting into the rock.</span>"
|
||||
to_chat(user, "<span class='notice'>You finish cutting into the rock.</span>")
|
||||
gets_drilled(user)
|
||||
feedback_add_details("pick_used_mining","[P.type]")
|
||||
else
|
||||
@@ -86,10 +86,10 @@
|
||||
..()
|
||||
|
||||
/turf/closed/mineral/attack_alien(mob/living/carbon/alien/M)
|
||||
M << "<span class='notice'>You start digging into the rock...</span>"
|
||||
to_chat(M, "<span class='notice'>You start digging into the rock...</span>")
|
||||
playsound(src, 'sound/effects/break_stone.ogg', 50, 1)
|
||||
if(do_after(M,40, target = src))
|
||||
M << "<span class='notice'>You tunnel into the rock.</span>"
|
||||
to_chat(M, "<span class='notice'>You tunnel into the rock.</span>")
|
||||
gets_drilled(M)
|
||||
|
||||
/turf/closed/mineral/Bumped(AM as mob|obj)
|
||||
@@ -206,9 +206,9 @@
|
||||
|
||||
/turf/closed/mineral/random/labormineral
|
||||
mineralSpawnChanceList = list(
|
||||
/turf/closed/mineral/uranium = 2, /turf/closed/mineral/diamond = 1, /turf/closed/mineral/gold = 3, /turf/closed/mineral/titanium = 4,
|
||||
/turf/closed/mineral/silver = 6, /turf/closed/mineral/plasma = 15, /turf/closed/mineral/iron = 80,
|
||||
/turf/closed/mineral/gibtonite = 3)
|
||||
/turf/closed/mineral/uranium = 3, /turf/closed/mineral/diamond = 1, /turf/closed/mineral/gold = 8, /turf/closed/mineral/titanium = 8,
|
||||
/turf/closed/mineral/silver = 20, /turf/closed/mineral/plasma = 30, /turf/closed/mineral/iron = 95,
|
||||
/turf/closed/mineral/gibtonite = 2)
|
||||
icon_state = "rock_labor"
|
||||
|
||||
|
||||
@@ -219,9 +219,9 @@
|
||||
initial_gas_mix = "o2=14;n2=23;TEMP=300"
|
||||
defer_change = 1
|
||||
mineralSpawnChanceList = list(
|
||||
/turf/closed/mineral/uranium/volcanic = 2, /turf/closed/mineral/diamond/volcanic = 1, /turf/closed/mineral/gold/volcanic = 3, /turf/closed/mineral/titanium/volcanic = 4,
|
||||
/turf/closed/mineral/silver/volcanic = 6, /turf/closed/mineral/plasma/volcanic = 15, /turf/closed/mineral/iron/volcanic = 80,
|
||||
/turf/closed/mineral/gibtonite/volcanic = 3)
|
||||
/turf/closed/mineral/uranium/volcanic = 3, /turf/closed/mineral/diamond/volcanic = 1, /turf/closed/mineral/gold/volcanic = 8, /turf/closed/mineral/titanium/volcanic = 8,
|
||||
/turf/closed/mineral/silver/volcanic = 20, /turf/closed/mineral/plasma/volcanic = 30, /turf/closed/mineral/bscrystal/volcanic = 1, /turf/closed/mineral/gibtonite/volcanic = 2,
|
||||
/turf/closed/mineral/iron/volcanic = 95)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -174,7 +174,7 @@
|
||||
icon_state = "map-shuttle"
|
||||
sheet_type = /obj/item/stack/sheet/mineral/titanium
|
||||
smooth = SMOOTH_MORE|SMOOTH_DIAGONAL
|
||||
canSmoothWith = list(/turf/closed/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock/, /turf/closed/wall/shuttle, /obj/structure/window/shuttle, /obj/structure/shuttle/engine, /obj/structure/shuttle/engine/heater, )
|
||||
canSmoothWith = list(/turf/closed/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock/, /turf/closed/wall/shuttle, /obj/structure/window/shuttle, /obj/structure/shuttle/engine/heater)
|
||||
|
||||
/turf/closed/wall/mineral/titanium/nodiagonal
|
||||
smooth = SMOOTH_MORE
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
/turf/closed/wall/clockwork/examine(mob/user)
|
||||
..()
|
||||
if((is_servant_of_ratvar(user) || isobserver(user)) && linkedcache)
|
||||
user << "<span class='brass'>It is linked to a Tinkerer's Cache, generating components!</span>"
|
||||
to_chat(user, "<span class='brass'>It is linked to a Tinkerer's Cache, generating components!</span>")
|
||||
|
||||
/turf/closed/wall/clockwork/Destroy()
|
||||
if(linkedcache)
|
||||
|
||||
@@ -17,19 +17,19 @@
|
||||
..()
|
||||
switch(d_state)
|
||||
if(INTACT)
|
||||
user << "<span class='notice'>The outer <b>grille</b> is fully intact.</span>"
|
||||
to_chat(user, "<span class='notice'>The outer <b>grille</b> is fully intact.</span>")
|
||||
if(SUPPORT_LINES)
|
||||
user << "<span class='notice'>The outer <i>grille</i> has been cut, and the support lines are <b>screwed</b> securely to the outer cover.</span>"
|
||||
to_chat(user, "<span class='notice'>The outer <i>grille</i> has been cut, and the support lines are <b>screwed</b> securely to the outer cover.</span>")
|
||||
if(COVER)
|
||||
user << "<span class='notice'>The support lines have been <i>unscrewed</i>, and the metal cover is <b>welded</b> firmly in place.</span>"
|
||||
to_chat(user, "<span class='notice'>The support lines have been <i>unscrewed</i>, and the metal cover is <b>welded</b> firmly in place.</span>")
|
||||
if(CUT_COVER)
|
||||
user << "<span class='notice'>The metal cover has been <i>sliced through</i>, and is <b>connected loosely</b> to the girder.</span>"
|
||||
to_chat(user, "<span class='notice'>The metal cover has been <i>sliced through</i>, and is <b>connected loosely</b> to the girder.</span>")
|
||||
if(BOLTS)
|
||||
user << "<span class='notice'>The outer cover has been <i>pried away</i>, and the bolts anchoring the support rods are <b>wrenched</b> in place.</span>"
|
||||
to_chat(user, "<span class='notice'>The outer cover has been <i>pried away</i>, and the bolts anchoring the support rods are <b>wrenched</b> in place.</span>")
|
||||
if(SUPPORT_RODS)
|
||||
user << "<span class='notice'>The bolts anchoring the support rods have been <i>loosened</i>, but are still <b>welded</b> firmly to the girder.</span>"
|
||||
to_chat(user, "<span class='notice'>The bolts anchoring the support rods have been <i>loosened</i>, but are still <b>welded</b> firmly to the girder.</span>")
|
||||
if(SHEATH)
|
||||
user << "<span class='notice'>The support rods have been <i>sliced through</i>, and the outer sheath is <b>connected loosely</b> to the girder.</span>"
|
||||
to_chat(user, "<span class='notice'>The support rods have been <i>sliced through</i>, and the outer sheath is <b>connected loosely</b> to the girder.</span>")
|
||||
|
||||
/turf/closed/wall/r_wall/devastate_wall()
|
||||
new sheet_type(src, sheet_amount)
|
||||
@@ -43,12 +43,12 @@
|
||||
playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
|
||||
else
|
||||
playsound(src, 'sound/effects/bang.ogg', 50, 1)
|
||||
M << "<span class='warning'>This wall is far too strong for you to destroy.</span>"
|
||||
to_chat(M, "<span class='warning'>This wall is far too strong for you to destroy.</span>")
|
||||
|
||||
/turf/closed/wall/r_wall/try_destroy(obj/item/weapon/W, mob/user, turf/T)
|
||||
if(istype(W, /obj/item/weapon/pickaxe/drill/jackhammer))
|
||||
var/obj/item/weapon/pickaxe/drill/jackhammer/D = W
|
||||
user << "<span class='notice'>You begin to smash though the [name]...</span>"
|
||||
to_chat(user, "<span class='notice'>You begin to smash though the [name]...</span>")
|
||||
if(do_after(user, 50, target = src))
|
||||
if(!istype(src, /turf/closed/wall/r_wall) || !W)
|
||||
return 1
|
||||
@@ -66,170 +66,170 @@
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
d_state = SUPPORT_LINES
|
||||
update_icon()
|
||||
user << "<span class='notice'>You cut the outer grille.</span>"
|
||||
to_chat(user, "<span class='notice'>You cut the outer grille.</span>")
|
||||
return 1
|
||||
|
||||
if(SUPPORT_LINES)
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
user << "<span class='notice'>You begin unsecuring the support lines...</span>"
|
||||
to_chat(user, "<span class='notice'>You begin unsecuring the support lines...</span>")
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
if(do_after(user, 40*W.toolspeed, target = src))
|
||||
if(!istype(src, /turf/closed/wall/r_wall) || !W || d_state != SUPPORT_LINES)
|
||||
return 1
|
||||
d_state = COVER
|
||||
update_icon()
|
||||
user << "<span class='notice'>You unsecure the support lines.</span>"
|
||||
to_chat(user, "<span class='notice'>You unsecure the support lines.</span>")
|
||||
return 1
|
||||
|
||||
else if(istype(W, /obj/item/weapon/wirecutters))
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
d_state = INTACT
|
||||
update_icon()
|
||||
user << "<span class='notice'>You repair the outer grille.</span>"
|
||||
to_chat(user, "<span class='notice'>You repair the outer grille.</span>")
|
||||
return 1
|
||||
|
||||
if(COVER)
|
||||
if(istype(W, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if(WT.remove_fuel(0,user))
|
||||
user << "<span class='notice'>You begin slicing through the metal cover...</span>"
|
||||
to_chat(user, "<span class='notice'>You begin slicing through the metal cover...</span>")
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
if(do_after(user, 60*W.toolspeed, target = src))
|
||||
if(!istype(src, /turf/closed/wall/r_wall) || !WT || !WT.isOn() || d_state != COVER)
|
||||
return 1
|
||||
d_state = CUT_COVER
|
||||
update_icon()
|
||||
user << "<span class='notice'>You press firmly on the cover, dislodging it.</span>"
|
||||
to_chat(user, "<span class='notice'>You press firmly on the cover, dislodging it.</span>")
|
||||
return 1
|
||||
|
||||
if(istype(W, /obj/item/weapon/gun/energy/plasmacutter))
|
||||
user << "<span class='notice'>You begin slicing through the metal cover...</span>"
|
||||
to_chat(user, "<span class='notice'>You begin slicing through the metal cover...</span>")
|
||||
playsound(src, 'sound/items/Welder.ogg', 100, 1)
|
||||
if(do_after(user, 60*W.toolspeed, target = src))
|
||||
if(!istype(src, /turf/closed/wall/r_wall) || !W || d_state != COVER)
|
||||
return 1
|
||||
d_state = CUT_COVER
|
||||
update_icon()
|
||||
user << "<span class='notice'>You press firmly on the cover, dislodging it.</span>"
|
||||
to_chat(user, "<span class='notice'>You press firmly on the cover, dislodging it.</span>")
|
||||
return 1
|
||||
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
user << "<span class='notice'>You begin securing the support lines...</span>"
|
||||
to_chat(user, "<span class='notice'>You begin securing the support lines...</span>")
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
if(do_after(user, 40*W.toolspeed, target = src))
|
||||
if(!istype(src, /turf/closed/wall/r_wall) || !W || d_state != COVER)
|
||||
return 1
|
||||
d_state = SUPPORT_LINES
|
||||
update_icon()
|
||||
user << "<span class='notice'>The support lines have been secured.</span>"
|
||||
to_chat(user, "<span class='notice'>The support lines have been secured.</span>")
|
||||
return 1
|
||||
|
||||
if(CUT_COVER)
|
||||
if(istype(W, /obj/item/weapon/crowbar))
|
||||
user << "<span class='notice'>You struggle to pry off the cover...</span>"
|
||||
to_chat(user, "<span class='notice'>You struggle to pry off the cover...</span>")
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
if(do_after(user, 100*W.toolspeed, target = src))
|
||||
if(!istype(src, /turf/closed/wall/r_wall) || !W || d_state != CUT_COVER)
|
||||
return 1
|
||||
d_state = BOLTS
|
||||
update_icon()
|
||||
user << "<span class='notice'>You pry off the cover.</span>"
|
||||
to_chat(user, "<span class='notice'>You pry off the cover.</span>")
|
||||
return 1
|
||||
|
||||
if(istype(W, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if(WT.remove_fuel(0,user))
|
||||
user << "<span class='notice'>You begin welding the metal cover back to the frame...</span>"
|
||||
to_chat(user, "<span class='notice'>You begin welding the metal cover back to the frame...</span>")
|
||||
playsound(src, WT.usesound, 100, 1)
|
||||
if(do_after(user, 60*WT.toolspeed, target = src))
|
||||
if(!istype(src, /turf/closed/wall/r_wall) || !WT || !WT.isOn() || d_state != CUT_COVER)
|
||||
return 1
|
||||
d_state = COVER
|
||||
update_icon()
|
||||
user << "<span class='notice'>The metal cover has been welded securely to the frame.</span>"
|
||||
to_chat(user, "<span class='notice'>The metal cover has been welded securely to the frame.</span>")
|
||||
return 1
|
||||
|
||||
if(BOLTS)
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
user << "<span class='notice'>You start loosening the anchoring bolts which secure the support rods to their frame...</span>"
|
||||
to_chat(user, "<span class='notice'>You start loosening the anchoring bolts which secure the support rods to their frame...</span>")
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
if(do_after(user, 40*W.toolspeed, target = src))
|
||||
if(!istype(src, /turf/closed/wall/r_wall) || !W || d_state != BOLTS)
|
||||
return 1
|
||||
d_state = SUPPORT_RODS
|
||||
update_icon()
|
||||
user << "<span class='notice'>You remove the bolts anchoring the support rods.</span>"
|
||||
to_chat(user, "<span class='notice'>You remove the bolts anchoring the support rods.</span>")
|
||||
return 1
|
||||
|
||||
if(istype(W, /obj/item/weapon/crowbar))
|
||||
user << "<span class='notice'>You start to pry the cover back into place...</span>"
|
||||
to_chat(user, "<span class='notice'>You start to pry the cover back into place...</span>")
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
if(do_after(user, 20*W.toolspeed, target = src))
|
||||
if(!istype(src, /turf/closed/wall/r_wall) || !W || d_state != BOLTS)
|
||||
return 1
|
||||
d_state = CUT_COVER
|
||||
update_icon()
|
||||
user << "<span class='notice'>The metal cover has been pried back into place.</span>"
|
||||
to_chat(user, "<span class='notice'>The metal cover has been pried back into place.</span>")
|
||||
return 1
|
||||
|
||||
if(SUPPORT_RODS)
|
||||
if(istype(W, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if(WT.remove_fuel(0,user))
|
||||
user << "<span class='notice'>You begin slicing through the support rods...</span>"
|
||||
to_chat(user, "<span class='notice'>You begin slicing through the support rods...</span>")
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
if(do_after(user, 100*W.toolspeed, target = src))
|
||||
if(!istype(src, /turf/closed/wall/r_wall) || !WT || !WT.isOn() || d_state != SUPPORT_RODS)
|
||||
return 1
|
||||
d_state = SHEATH
|
||||
update_icon()
|
||||
user << "<span class='notice'>You slice through the support rods.</span>"
|
||||
to_chat(user, "<span class='notice'>You slice through the support rods.</span>")
|
||||
return 1
|
||||
|
||||
if(istype(W, /obj/item/weapon/gun/energy/plasmacutter))
|
||||
user << "<span class='notice'>You begin slicing through the support rods...</span>"
|
||||
to_chat(user, "<span class='notice'>You begin slicing through the support rods...</span>")
|
||||
playsound(src, 'sound/items/Welder.ogg', 100, 1)
|
||||
if(do_after(user, 100*W.toolspeed, target = src))
|
||||
if(!istype(src, /turf/closed/wall/r_wall) || !W || d_state != SUPPORT_RODS)
|
||||
return 1
|
||||
d_state = SHEATH
|
||||
update_icon()
|
||||
user << "<span class='notice'>You slice through the support rods.</span>"
|
||||
to_chat(user, "<span class='notice'>You slice through the support rods.</span>")
|
||||
return 1
|
||||
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
user << "<span class='notice'>You start tightening the bolts which secure the support rods to their frame...</span>"
|
||||
to_chat(user, "<span class='notice'>You start tightening the bolts which secure the support rods to their frame...</span>")
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
if(do_after(user, 40*W.toolspeed, target = src))
|
||||
if(!istype(src, /turf/closed/wall/r_wall) || !W || d_state != SUPPORT_RODS)
|
||||
return 1
|
||||
d_state = BOLTS
|
||||
update_icon()
|
||||
user << "<span class='notice'>You tighten the bolts anchoring the support rods.</span>"
|
||||
to_chat(user, "<span class='notice'>You tighten the bolts anchoring the support rods.</span>")
|
||||
return 1
|
||||
|
||||
if(SHEATH)
|
||||
if(istype(W, /obj/item/weapon/crowbar))
|
||||
user << "<span class='notice'>You struggle to pry off the outer sheath...</span>"
|
||||
to_chat(user, "<span class='notice'>You struggle to pry off the outer sheath...</span>")
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
if(do_after(user, 100*W.toolspeed, target = src))
|
||||
if(!istype(src, /turf/closed/wall/r_wall) || !W || d_state != SHEATH)
|
||||
return 1
|
||||
user << "<span class='notice'>You pry off the outer sheath.</span>"
|
||||
to_chat(user, "<span class='notice'>You pry off the outer sheath.</span>")
|
||||
dismantle_wall()
|
||||
return 1
|
||||
|
||||
if(istype(W, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if(WT.remove_fuel(0,user))
|
||||
user << "<span class='notice'>You begin welding the support rods back together...</span>"
|
||||
to_chat(user, "<span class='notice'>You begin welding the support rods back together...</span>")
|
||||
playsound(src, WT.usesound, 100, 1)
|
||||
if(do_after(user, 100*WT.toolspeed, target = src))
|
||||
if(!istype(src, /turf/closed/wall/r_wall) || !WT || !WT.isOn() || d_state != SHEATH)
|
||||
return 1
|
||||
d_state = SUPPORT_RODS
|
||||
update_icon()
|
||||
user << "<span class='notice'>You weld the support rods back together.</span>"
|
||||
to_chat(user, "<span class='notice'>You weld the support rods back together.</span>")
|
||||
return 1
|
||||
return 0
|
||||
|
||||
@@ -248,3 +248,9 @@
|
||||
if(current_size >= STAGE_FIVE)
|
||||
if(prob(30))
|
||||
dismantle_wall()
|
||||
|
||||
/turf/closed/wall/r_vall/rcd_vals(mob/user, obj/item/weapon/rcd/the_rcd)
|
||||
return FALSE
|
||||
|
||||
/turf/closed/wall/r_vall/rcd_act(mob/user, obj/item/weapon/rcd/the_rcd, passed_mode)
|
||||
return FALSE
|
||||
@@ -114,12 +114,12 @@
|
||||
dismantle_wall(1)
|
||||
else
|
||||
playsound(src, 'sound/effects/bang.ogg', 50, 1)
|
||||
user << text("<span class='notice'>You punch the wall.</span>")
|
||||
to_chat(user, text("<span class='notice'>You punch the wall.</span>"))
|
||||
return 1
|
||||
|
||||
/turf/closed/wall/attack_hand(mob/user)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
user << "<span class='notice'>You push the wall but nothing happens!</span>"
|
||||
to_chat(user, "<span class='notice'>You push the wall but nothing happens!</span>")
|
||||
playsound(src, 'sound/weapons/Genhit.ogg', 25, 1)
|
||||
src.add_fingerprint(user)
|
||||
..()
|
||||
@@ -128,7 +128,7 @@
|
||||
/turf/closed/wall/attackby(obj/item/weapon/W, mob/user, params)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
if (!user.IsAdvancedToolUser())
|
||||
user << "<span class='warning'>You don't have the dexterity to do this!</span>"
|
||||
to_chat(user, "<span class='warning'>You don't have the dexterity to do this!</span>")
|
||||
return
|
||||
|
||||
//get the user's location
|
||||
@@ -154,8 +154,8 @@
|
||||
//check for wall mounted frames
|
||||
if(istype(W,/obj/item/wallframe))
|
||||
var/obj/item/wallframe/F = W
|
||||
if(F.try_build(src))
|
||||
F.attach(src)
|
||||
if(F.try_build(src, user))
|
||||
F.attach(src, user)
|
||||
return 1
|
||||
//Poster stuff
|
||||
else if(istype(W,/obj/item/weapon/poster))
|
||||
@@ -169,23 +169,23 @@
|
||||
if( istype(W, /obj/item/weapon/weldingtool) )
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if( WT.remove_fuel(0,user) )
|
||||
user << "<span class='notice'>You begin slicing through the outer plating...</span>"
|
||||
to_chat(user, "<span class='notice'>You begin slicing through the outer plating...</span>")
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
if(do_after(user, slicing_duration*W.toolspeed, target = src))
|
||||
if(!iswallturf(src) || !user || !WT || !WT.isOn() || !T)
|
||||
return 1
|
||||
if( user.loc == T && user.get_active_held_item() == WT )
|
||||
user << "<span class='notice'>You remove the outer plating.</span>"
|
||||
to_chat(user, "<span class='notice'>You remove the outer plating.</span>")
|
||||
dismantle_wall()
|
||||
return 1
|
||||
else if( istype(W, /obj/item/weapon/gun/energy/plasmacutter) )
|
||||
user << "<span class='notice'>You begin slicing through the outer plating...</span>"
|
||||
to_chat(user, "<span class='notice'>You begin slicing through the outer plating...</span>")
|
||||
playsound(src, 'sound/items/Welder.ogg', 100, 1)
|
||||
if(do_after(user, slicing_duration*W.toolspeed, target = src))
|
||||
if(!iswallturf(src) || !user || !W || !T)
|
||||
return 1
|
||||
if( user.loc == T && user.get_active_held_item() == W )
|
||||
user << "<span class='notice'>You remove the outer plating.</span>"
|
||||
to_chat(user, "<span class='notice'>You remove the outer plating.</span>")
|
||||
dismantle_wall()
|
||||
visible_message("The wall was sliced apart by [user]!", "<span class='italics'>You hear metal being sliced apart.</span>")
|
||||
return 1
|
||||
@@ -257,3 +257,17 @@
|
||||
|
||||
/turf/closed/wall/acid_melt()
|
||||
dismantle_wall(1)
|
||||
|
||||
/turf/closed/wall/rcd_vals(mob/user, obj/item/weapon/rcd/the_rcd)
|
||||
switch(the_rcd.mode)
|
||||
if(RCD_DECONSTRUCT)
|
||||
return list("mode" = RCD_DECONSTRUCT, "delay" = 40, "cost" = 26)
|
||||
return FALSE
|
||||
|
||||
/turf/closed/wall/rcd_act(mob/user, obj/item/weapon/rcd/the_rcd, passed_mode)
|
||||
switch(passed_mode)
|
||||
if(RCD_DECONSTRUCT)
|
||||
to_chat(user, "<span class='notice'>You deconstruct the wall.</span>")
|
||||
ChangeTurf(/turf/open/floor/plating)
|
||||
return TRUE
|
||||
return FALSE
|
||||
Reference in New Issue
Block a user