mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-27 01:32:09 +00:00
Adds the SPLF Raider offship, a repurposed freighter used by the Solarian People's Liberation Fleet to raid corporate assets in the CRZ. This is a piratical offship, but they are not antagonists. - In terms of ghostroles, this ship is comprised of four volunteer militants, one repurposed civilian synthetic, and one actual naval petty officer from the 35th splinter to moderate the volunteers. - My hope is that the ship should avoid independent ships and only attack corporate vessels, which I hope is communicated in the ghostrole descriptions. - For now, the uniforms and voidsuits are all generic Solarian assets, which may spark some confusion over how the SPLF is meant to be an entirely seperate faction to the mainline ASSN. With some luck, we'll have unique SPLF suits to work with soon.
232 lines
6.7 KiB
Plaintext
232 lines
6.7 KiB
Plaintext
/obj/structure/lattice
|
|
name = "lattice"
|
|
desc = "A lightweight support lattice."
|
|
desc_info = "Add a metal floor tile to build a floor on top of the lattice.<br>\
|
|
Lattices can be made by applying metal rods to a space tile."
|
|
icon = 'icons/obj/smooth/lattice.dmi'
|
|
icon_state = "lattice"
|
|
density = FALSE
|
|
anchored = TRUE
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
layer = ABOVE_TILE_LAYER
|
|
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
|
|
smoothing_flags = SMOOTH_MORE
|
|
canSmoothWith = list(
|
|
/obj/structure/lattice,
|
|
/turf/simulated/wall,
|
|
/turf/simulated/floor,
|
|
/turf/simulated/mineral,
|
|
/turf/unsimulated/wall,
|
|
/turf/unsimulated/floor,
|
|
/obj/structure/grille,
|
|
/turf/unsimulated/mineral/asteroid
|
|
)
|
|
footstep_sound = /singleton/sound_category/catwalk_footstep
|
|
|
|
/obj/structure/lattice/Initialize()
|
|
. = ..()
|
|
for(var/obj/structure/lattice/LAT in loc)
|
|
if(LAT == src)
|
|
continue
|
|
stack_trace("multiple lattices found in ([loc.x], [loc.y], [loc.z])")
|
|
return INITIALIZE_HINT_QDEL
|
|
|
|
if(isturf(loc))
|
|
var/turf/turf = loc
|
|
turf.is_hole = FALSE
|
|
|
|
/obj/structure/lattice/Destroy()
|
|
if(isturf(loc))
|
|
var/turf/turf = loc
|
|
turf.is_hole = initial(turf.is_hole)
|
|
return ..()
|
|
|
|
/obj/structure/lattice/ex_act(severity)
|
|
switch(severity)
|
|
if(1.0)
|
|
qdel(src)
|
|
if(2.0)
|
|
qdel(src)
|
|
return
|
|
|
|
/obj/structure/lattice/attackby(obj/item/attacking_item, mob/user)
|
|
if (istype(attacking_item, /obj/item/stack/tile/floor))
|
|
var/turf/T = get_turf(src)
|
|
T.attackby(attacking_item, user) //BubbleWrap - hand this off to the underlying turf instead
|
|
return
|
|
if (attacking_item.iswelder())
|
|
var/obj/item/weldingtool/WT = attacking_item
|
|
if(WT.use(1, user))
|
|
to_chat(user, SPAN_NOTICE("Slicing lattice joints ..."))
|
|
new /obj/item/stack/rods(src.loc)
|
|
qdel(src)
|
|
if (istype(attacking_item, /obj/item/stack/rods))
|
|
var/obj/item/stack/rods/R = attacking_item
|
|
if (R.use(2))
|
|
to_chat(user, SPAN_NOTICE("Constructing catwalk ..."))
|
|
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
|
|
new /obj/structure/lattice/catwalk(src.loc)
|
|
qdel(src)
|
|
return
|
|
|
|
/obj/structure/lattice/catwalk
|
|
name = "catwalk"
|
|
desc = "A catwalk for easier EVA maneuvering."
|
|
icon = 'icons/obj/smooth/catwalk.dmi'
|
|
icon_state = "catwalk"
|
|
smoothing_flags = SMOOTH_TRUE
|
|
canSmoothWith = list(
|
|
/obj/structure/lattice/catwalk,
|
|
/obj/structure/lattice/catwalk/indoor
|
|
)
|
|
var/return_amount = 3
|
|
|
|
// Special catwalk that can be placed on regular flooring.
|
|
/obj/structure/lattice/catwalk/indoor
|
|
desc = "A floor-mounted catwalk designed to protect pipes & station wiring from passing feet."
|
|
can_be_unanchored = TRUE
|
|
layer = CATWALK_LAYER
|
|
|
|
/obj/structure/lattice/catwalk/attackby(obj/item/attacking_item, mob/user)
|
|
if(attacking_item.iswelder())
|
|
var/obj/item/weldingtool/WT = attacking_item
|
|
if(!WT.use(1, user))
|
|
to_chat(user, SPAN_WARNING("You need more welding fuel to complete this task."))
|
|
return
|
|
if(attacking_item.use_tool(src, user, 5, volume = 50))
|
|
to_chat(user, SPAN_NOTICE("You slice apart [src]."))
|
|
var/obj/item/stack/rods/R = new /obj/item/stack/rods(get_turf(src))
|
|
R.amount = return_amount
|
|
R.update_icon()
|
|
qdel(src)
|
|
|
|
/obj/structure/lattice/catwalk/indoor/attackby(obj/item/attacking_item, mob/user)
|
|
if(attacking_item.isscrewdriver())
|
|
if(attacking_item.use_tool(src, user, 5, volume = 50))
|
|
anchored = !anchored
|
|
to_chat(user, SPAN_NOTICE("You [anchored ? "" : "un"]anchor [src]."))
|
|
QUEUE_SMOOTH(src)
|
|
QUEUE_SMOOTH_NEIGHBORS(src)
|
|
else
|
|
..()
|
|
|
|
/obj/structure/lattice/catwalk/hoist_act(turf/dest)
|
|
for (var/A in loc)
|
|
var/atom/movable/AM = A
|
|
AM.forceMove(dest)
|
|
..()
|
|
|
|
/obj/structure/lattice/catwalk/indoor/grate
|
|
name = "grate"
|
|
desc = "A metal grate."
|
|
icon = 'icons/obj/grate.dmi'
|
|
icon_state = "grate"
|
|
return_amount = 1
|
|
smoothing_flags = null
|
|
color = COLOR_TILED
|
|
var/base_icon_state = "grate"
|
|
var/damaged = FALSE
|
|
|
|
/obj/structure/lattice/catwalk/indoor/grate/attackby(obj/item/attacking_item, mob/user)
|
|
if(attacking_item.iswelder() && damaged)
|
|
var/obj/item/weldingtool/WT = attacking_item
|
|
if(attacking_item.use_tool(src, user, 5, volume = 50) && WT.use(1, user))
|
|
user.visible_message(
|
|
SPAN_NOTICE("\The [user] slices apart \the [src], leaving nothing useful behind."),
|
|
SPAN_NOTICE("You slice apart \the [src], leaving nothing useful behind."),
|
|
SPAN_NOTICE("You hear the sound of a welder, slicing apart metal.")
|
|
)
|
|
playsound(src, 'sound/items/welder.ogg', 50, 1)
|
|
qdel(src)
|
|
else
|
|
..()
|
|
|
|
/obj/structure/lattice/catwalk/indoor/grate/ex_act(severity)
|
|
switch(severity)
|
|
if(1.0)
|
|
qdel(src)
|
|
if(2.0)
|
|
if(!damaged)
|
|
icon_state = "[base_icon_state]_dam[rand(0,3)]"
|
|
damaged = TRUE
|
|
else
|
|
qdel(src)
|
|
return
|
|
|
|
/obj/structure/lattice/catwalk/indoor/grate/old/Initialize()
|
|
. = ..()
|
|
AddOverlays("rust")
|
|
|
|
/obj/structure/lattice/catwalk/indoor/grate/damaged
|
|
icon_state = "grate_dark_dam0"
|
|
damaged = TRUE
|
|
|
|
/obj/structure/lattice/catwalk/indoor/grate/damaged/Initialize()
|
|
. = ..()
|
|
icon_state = "[base_icon_state]_dam[rand(0,3)]"
|
|
|
|
/obj/structure/lattice/catwalk/indoor/grate/light
|
|
icon_state = "grate_light"
|
|
base_icon_state = "grate_light"
|
|
return_amount = 1
|
|
color = COLOR_GRAY50
|
|
|
|
/obj/structure/lattice/catwalk/indoor/grate/light/old/Initialize()
|
|
. = ..()
|
|
AddOverlays("rust")
|
|
|
|
/obj/structure/lattice/catwalk/indoor/grate/light/damaged
|
|
icon_state = "grate_light_dam0"
|
|
damaged = TRUE
|
|
|
|
/obj/structure/lattice/catwalk/indoor/grate/light/damaged/Initialize()
|
|
. = ..()
|
|
icon_state = "[base_icon_state]_dam[rand(0,3)]"
|
|
|
|
/obj/structure/lattice/catwalk/indoor/grate/dark
|
|
color = COLOR_DARK_GUNMETAL
|
|
|
|
/obj/structure/lattice/catwalk/indoor/grate/gridded
|
|
color = COLOR_GRAY40
|
|
|
|
/obj/structure/lattice/catwalk/indoor/grate/gunmetal
|
|
color = COLOR_DARK_GUNMETAL
|
|
|
|
/obj/structure/lattice/catwalk/indoor/grate/slate
|
|
color = COLOR_SLATE
|
|
|
|
/obj/structure/lattice/catwalk/indoor/urban
|
|
name = "grate"
|
|
desc = "A metal grate."
|
|
icon = 'icons/obj/structure/over_turf.dmi'
|
|
icon_state = "city_grate"
|
|
return_amount = 1
|
|
smoothing_flags = null
|
|
|
|
/obj/structure/lattice/catwalk/indoor/tatami
|
|
name = "tatami spread"
|
|
desc = "A straw mat rug of some sort, frequently referred to as a tatami."
|
|
icon = 'icons/obj/structure/over_turf.dmi'
|
|
icon_state = "tatami"
|
|
return_amount = null
|
|
smoothing_flags = null
|
|
footstep_sound = /singleton/sound_category/carpet_footstep
|
|
|
|
/obj/structure/lattice/catwalk/indoor/planks
|
|
name = "flooring plank"
|
|
desc = "A ricket assortment of planks meant to be stood upon."
|
|
icon = 'icons/obj/structure/urban/wood.dmi'
|
|
icon_state = "plank"
|
|
return_amount = null
|
|
smoothing_flags = null
|
|
footstep_sound = /singleton/sound_category/wood_footstep
|
|
|
|
/obj/structure/lattice/catwalk/indoor/planks/opaque
|
|
icon_state = "plank_dark"
|
|
|
|
/obj/structure/lattice/catwalk/indoor/planks/stairs
|
|
icon_state = "plank_stairs"
|
|
|
|
/obj/structure/lattice/catwalk/indoor/planks/deep
|
|
icon_state = "plank_deep"
|