Files
Bubberstation/code/game/objects/structures/lattice.dm
MMMiracles f739e80649 Double-Decker Donut Disaster (Multi-Z Donutstation) (#48781)
* uhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

* upper staircases, lots of upper floor work

* railings

* ai sat rework, exterior decals

* ass ass ASS ASS fuckin ASSSSS

* oh my god its full of stairs

* forgot a file oop

* railing fix on multiz test, upper atmos, external space dust deterrents

* both-way rail climbing, maint work, 2nd story atmos desk, pipe/wiring/ allow floating over openspace and moving up-down openspace in nograv, trailing ends

* go NORTHWESSSST

* maint work, hull work, gamer time

* upper security, more maint work, eva catwalks, less retarded railings, hiding signs from openspace, elevators suck, wire/pipe work

* more maint work, decal work on 1st floor, called my parents they appreciated it

* multiz test shit

* maint work, hallway work, botany work

* removed cloning, turned into general treatment, added small temp corpse storage next to treatment

* eduititititit

* gamers

* openspace fixes

* os over os fix

* prison rework, hallway work, pr prep

* mapmerge + remove pixel 0s

* bad area and more railings, newline

* unnecessary vis flags and unused computer console

* public mining dock

* oops lol

Co-authored-by: Dennok <Deneles@yandex.ru>
2020-03-02 03:44:59 +08:00

121 lines
4.0 KiB
Plaintext

/obj/structure/lattice
name = "lattice"
desc = "A lightweight support lattice. These hold our station together."
icon = 'icons/obj/smooth_structures/lattice.dmi'
icon_state = "lattice"
density = FALSE
anchored = TRUE
armor = list("melee" = 50, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 50)
max_integrity = 50
layer = LATTICE_LAYER //under pipes
plane = FLOOR_PLANE
var/number_of_mats = 1
var/build_material = /obj/item/stack/rods
canSmoothWith = list(/obj/structure/lattice,
/turf/open/floor,
/turf/closed/wall,
/obj/structure/falsewall)
smooth = SMOOTH_MORE
// flags = CONDUCT_1
/obj/structure/lattice/examine(mob/user)
. = ..()
. += deconstruction_hints(user)
/obj/structure/lattice/proc/deconstruction_hints(mob/user)
return "<span class='notice'>The rods look like they could be <b>cut</b>. There's space for more <i>rods</i> or a <i>tile</i>.</span>"
/obj/structure/lattice/Initialize(mapload)
. = ..()
for(var/obj/structure/lattice/LAT in loc)
if(LAT != src)
QDEL_IN(LAT, 0)
/obj/structure/lattice/blob_act(obj/structure/blob/B)
return
/obj/structure/lattice/attackby(obj/item/C, mob/user, params)
if(resistance_flags & INDESTRUCTIBLE)
return
if(C.tool_behaviour == TOOL_WIRECUTTER)
to_chat(user, "<span class='notice'>Slicing [name] joints ...</span>")
deconstruct()
else
var/turf/T = get_turf(src)
return T.attackby(C, user) //hand this off to the turf instead (for building plating, catwalks, etc)
/obj/structure/lattice/deconstruct(disassembled = TRUE)
if(!(flags_1 & NODECONSTRUCT_1))
new build_material(get_turf(src), number_of_mats)
qdel(src)
/obj/structure/lattice/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
if(the_rcd.mode == RCD_FLOORWALL)
return list("mode" = RCD_FLOORWALL, "delay" = 0, "cost" = 2)
/obj/structure/lattice/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode)
if(passed_mode == RCD_FLOORWALL)
to_chat(user, "<span class='notice'>You build a floor.</span>")
var/turf/T = src.loc
if(isspaceturf(T))
T.PlaceOnTop(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR)
qdel(src)
return TRUE
return FALSE
/obj/structure/lattice/singularity_pull(S, current_size)
if(current_size >= STAGE_FOUR)
deconstruct()
/obj/structure/lattice/catwalk
name = "catwalk"
desc = "A catwalk for easier EVA maneuvering and cable placement."
icon = 'icons/obj/smooth_structures/catwalk.dmi'
icon_state = "catwalk"
number_of_mats = 2
smooth = SMOOTH_TRUE
canSmoothWith = null
obj_flags = CAN_BE_HIT | BLOCK_Z_FALL
/obj/structure/lattice/catwalk/deconstruction_hints(mob/user)
return "<span class='notice'>The supporting rods look like they could be <b>cut</b>.</span>"
/obj/structure/lattice/catwalk/Move()
var/turf/T = loc
for(var/obj/structure/cable/C in T)
C.deconstruct()
..()
/obj/structure/lattice/catwalk/deconstruct()
var/turf/T = loc
for(var/obj/structure/cable/C in T)
C.deconstruct()
..()
/obj/structure/lattice/lava
name = "heatproof support lattice"
desc = "A specialized support beam for building across lava. Watch your step."
icon = 'icons/obj/smooth_structures/catwalk.dmi'
icon_state = "catwalk"
number_of_mats = 1
color = "#5286b9ff"
smooth = SMOOTH_TRUE
canSmoothWith = null
obj_flags = CAN_BE_HIT | BLOCK_Z_FALL
resistance_flags = FIRE_PROOF | LAVA_PROOF
/obj/structure/lattice/lava/deconstruction_hints(mob/user)
return "<span class='notice'>The rods look like they could be <b>cut</b>, but the <i>heat treatment will shatter off</i>. There's space for a <i>tile</i>.</span>"
/obj/structure/lattice/lava/attackby(obj/item/C, mob/user, params)
. = ..()
if(istype(C, /obj/item/stack/tile/plasteel))
var/obj/item/stack/tile/plasteel/P = C
if(P.use(1))
to_chat(user, "<span class='notice'>You construct a floor plating, as lava settles around the rods.</span>")
playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE)
new /turf/open/floor/plating(locate(x, y, z))
else
to_chat(user, "<span class='warning'>You need one floor tile to build atop [src].</span>")
return