/turf/closed/wall/r_wall
name = "reinforced wall"
desc = "A huge chunk of reinforced metal used to separate rooms."
icon = 'icons/turf/walls/reinforced_wall.dmi'
icon_state = "r_wall"
opacity = 1
density = TRUE
var/d_state = INTACT
hardness = 10
sheet_type = /obj/item/stack/sheet/plasteel
sheet_amount = 1
girder_type = /obj/structure/girder/reinforced
explosion_block = 2
rad_insulation = RAD_HEAVY_INSULATION
/turf/closed/wall/r_wall/deconstruction_hints(mob/user)
switch(d_state)
if(INTACT)
return "The outer grille is fully intact."
if(SUPPORT_LINES)
return "The outer grille has been cut, and the support lines are screwed securely to the outer cover."
if(COVER)
return "The support lines have been unscrewed, and the metal cover is welded firmly in place."
if(CUT_COVER)
return "The metal cover has been sliced through, and is connected loosely to the girder."
if(ANCHOR_BOLTS)
return "The outer cover has been pried away, and the bolts anchoring the support rods are wrenched in place."
if(SUPPORT_RODS)
return "The bolts anchoring the support rods have been loosened, but are still welded firmly to the girder."
if(SHEATH)
return "The support rods have been sliced through, and the outer sheath is connected loosely to the girder."
/turf/closed/wall/r_wall/devastate_wall()
new sheet_type(src, sheet_amount)
new /obj/item/stack/sheet/metal(src, 2)
/turf/closed/wall/r_wall/attack_animal(mob/living/simple_animal/M)
M.changeNext_move(CLICK_CD_MELEE)
M.do_attack_animation(src)
if(!M.environment_smash)
return
if(M.environment_smash & ENVIRONMENT_SMASH_RWALLS)
dismantle_wall(1)
playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
else
playsound(src, 'sound/effects/bang.ogg', 50, 1)
to_chat(M, "This wall is far too strong for you to destroy.")
/turf/closed/wall/r_wall/try_destroy(obj/item/I, mob/user, turf/T)
if(istype(I, /obj/item/pickaxe/drill/jackhammer))
to_chat(user, "You begin to smash though [src]...")
if(do_after(user, 150, target = src))
if(!istype(src, /turf/closed/wall/r_wall))
return TRUE
I.play_tool_sound(src)
visible_message("[user] smashes through [src] with [I]!", "You hear the grinding of metal.")
dismantle_wall()
return TRUE
return FALSE
/turf/closed/wall/r_wall/try_decon(obj/item/W, mob/user, turf/T)
//DECONSTRUCTION
switch(d_state)
if(INTACT)
if(istype(W, /obj/item/wirecutters))
W.play_tool_sound(src, 100)
d_state = SUPPORT_LINES
update_icon()
to_chat(user, "You cut the outer grille.")
return 1
if(SUPPORT_LINES)
if(istype(W, /obj/item/screwdriver))
to_chat(user, "You begin unsecuring the support lines...")
if(W.use_tool(src, user, 40, volume=100))
if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_LINES)
return 1
d_state = COVER
update_icon()
to_chat(user, "You unsecure the support lines.")
return 1
else if(istype(W, /obj/item/wirecutters))
W.play_tool_sound(src, 100)
d_state = INTACT
update_icon()
to_chat(user, "You repair the outer grille.")
return 1
if(COVER)
if(istype(W, /obj/item/weldingtool) || istype(W, /obj/item/gun/energy/plasmacutter))
if(!W.tool_start_check(user, amount=0))
return
to_chat(user, "You begin slicing through the metal cover...")
if(W.use_tool(src, user, 60, volume=100))
if(!istype(src, /turf/closed/wall/r_wall) || d_state != COVER)
return 1
d_state = CUT_COVER
update_icon()
to_chat(user, "You press firmly on the cover, dislodging it.")
return 1
if(istype(W, /obj/item/screwdriver))
to_chat(user, "You begin securing the support lines...")
if(W.use_tool(src, user, 40, volume=100))
if(!istype(src, /turf/closed/wall/r_wall) || d_state != COVER)
return 1
d_state = SUPPORT_LINES
update_icon()
to_chat(user, "The support lines have been secured.")
return 1
if(CUT_COVER)
if(istype(W, /obj/item/crowbar))
to_chat(user, "You struggle to pry off the cover...")
if(W.use_tool(src, user, 100, volume=100))
if(!istype(src, /turf/closed/wall/r_wall) || d_state != CUT_COVER)
return 1
d_state = ANCHOR_BOLTS
update_icon()
to_chat(user, "You pry off the cover.")
return 1
if(istype(W, /obj/item/weldingtool))
if(!W.tool_start_check(user, amount=0))
return
to_chat(user, "You begin welding the metal cover back to the frame...")
if(W.use_tool(src, user, 60, volume=100))
if(!istype(src, /turf/closed/wall/r_wall) || d_state != CUT_COVER)
return TRUE
d_state = COVER
update_icon()
to_chat(user, "The metal cover has been welded securely to the frame.")
return 1
if(ANCHOR_BOLTS)
if(istype(W, /obj/item/wrench))
to_chat(user, "You start loosening the anchoring bolts which secure the support rods to their frame...")
if(W.use_tool(src, user, 40, volume=100))
if(!istype(src, /turf/closed/wall/r_wall) || d_state != ANCHOR_BOLTS)
return 1
d_state = SUPPORT_RODS
update_icon()
to_chat(user, "You remove the bolts anchoring the support rods.")
return 1
if(istype(W, /obj/item/crowbar))
to_chat(user, "You start to pry the cover back into place...")
if(W.use_tool(src, user, 20, volume=100))
if(!istype(src, /turf/closed/wall/r_wall) || d_state != ANCHOR_BOLTS)
return 1
d_state = CUT_COVER
update_icon()
to_chat(user, "The metal cover has been pried back into place.")
return 1
if(SUPPORT_RODS)
if(istype(W, /obj/item/weldingtool) || istype(W, /obj/item/gun/energy/plasmacutter))
if(!W.tool_start_check(user, amount=0))
return
to_chat(user, "You begin slicing through the support rods...")
if(W.use_tool(src, user, 100, volume=100))
if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_RODS)
return 1
d_state = SHEATH
update_icon()
to_chat(user, "You slice through the support rods.")
return 1
if(istype(W, /obj/item/wrench))
to_chat(user, "You start tightening the bolts which secure the support rods to their frame...")
W.play_tool_sound(src, 100)
if(W.use_tool(src, user, 40))
if(!istype(src, /turf/closed/wall/r_wall) || d_state != SUPPORT_RODS)
return 1
d_state = ANCHOR_BOLTS
update_icon()
to_chat(user, "You tighten the bolts anchoring the support rods.")
return 1
if(SHEATH)
if(istype(W, /obj/item/crowbar))
to_chat(user, "You struggle to pry off the outer sheath...")
if(W.use_tool(src, user, 100, volume=100))
if(!istype(src, /turf/closed/wall/r_wall) || d_state != SHEATH)
return 1
to_chat(user, "You pry off the outer sheath.")
dismantle_wall()
return 1
if(istype(W, /obj/item/weldingtool))
if(!W.tool_start_check(user, amount=0))
return
to_chat(user, "You begin welding the support rods back together...")
if(W.use_tool(src, user, 100, volume=100))
if(!istype(src, /turf/closed/wall/r_wall) || d_state != SHEATH)
return TRUE
d_state = SUPPORT_RODS
update_icon()
to_chat(user, "You weld the support rods back together.")
return 1
return 0
/turf/closed/wall/r_wall/proc/update_icon()
if(d_state != INTACT)
smooth = SMOOTH_FALSE
clear_smooth_overlays()
icon_state = "r_wall-[d_state]"
else
smooth = SMOOTH_TRUE
queue_smooth_neighbors(src)
queue_smooth(src)
icon_state = "r_wall"
/turf/closed/wall/r_wall/singularity_pull(S, current_size)
..()
if(current_size >= STAGE_FIVE)
if(prob(30))
dismantle_wall()
/turf/closed/wall/r_wall/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
if(the_rcd.canRturf)
return ..()
/turf/closed/wall/r_wall/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode)
if(the_rcd.canRturf)
return ..()
/turf/closed/wall/r_wall/syndicate
name = "hull"
desc = "The armored hull of an ominous looking ship."
icon = 'icons/turf/walls/plastitanium_wall.dmi'
icon_state = "map-shuttle"
explosion_block = 20
sheet_type = /obj/item/stack/sheet/mineral/plastitanium
smooth = SMOOTH_MORE|SMOOTH_DIAGONAL
canSmoothWith = list(/turf/closed/wall/r_wall/syndicate, /turf/closed/wall/mineral/plastitanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/plastitanium, /obj/structure/shuttle/engine, /obj/structure/falsewall/plastitanium)
/turf/closed/wall/r_wall/syndicate/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
return FALSE
/turf/closed/wall/r_wall/syndicate/nodiagonal
smooth = SMOOTH_MORE
icon_state = "map-shuttle_nd"
/turf/closed/wall/r_wall/syndicate/nosmooth
icon = 'icons/turf/shuttle.dmi'
icon_state = "wall"
smooth = SMOOTH_FALSE
/turf/closed/wall/r_wall/syndicate/overspace
icon_state = "map-overspace"
fixed_underlay = list("space"=1)