Catwalk floors for interior use (#21437)

* That's a start

* We had sounds all this time

* New icons, fix tile interaction with plating.
This commit is contained in:
Vi3trice
2023-07-07 13:50:17 +01:00
committed by GitHub
parent 2683da821c
commit a5ecf3bce5
7 changed files with 96 additions and 1 deletions
+19
View File
@@ -8,6 +8,7 @@
#define FOOTSTEP_LAVA "lava"
#define FOOTSTEP_MEAT "meat"
#define FOOTSTEP_GLASS "glass"
#define FOOTSTEP_CATWALK "catwalk"
//barefoot sounds
#define FOOTSTEP_WOOD_BAREFOOT "woodbarefoot"
#define FOOTSTEP_WOOD_CLAW "woodclaw"
@@ -90,6 +91,12 @@ GLOBAL_LIST_INIT(footstep, list(
'sound/effects/footstep/glass1.ogg',
'sound/effects/footstep/glass2.ogg',
'sound/effects/footstep/glass3.ogg'), 100, 1),
FOOTSTEP_CATWALK = list(list(
'sound/effects/footstep/catwalk1.ogg',
'sound/effects/footstep/catwalk2.ogg',
'sound/effects/footstep/catwalk3.ogg',
'sound/effects/footstep/catwalk4.ogg',
'sound/effects/footstep/catwalk5.ogg'), 100, 1),
))
//bare footsteps lists
GLOBAL_LIST_INIT(barefootstep, list(
@@ -137,6 +144,12 @@ GLOBAL_LIST_INIT(barefootstep, list(
'sound/effects/footstep/glassbarefoot1.ogg',
'sound/effects/footstep/glassbarefoot2.ogg',
'sound/effects/footstep/glassbarefoot3.ogg'), 100, 1),
FOOTSTEP_CATWALK = list(list(
'sound/effects/footstep/catwalk1.ogg',
'sound/effects/footstep/catwalk2.ogg',
'sound/effects/footstep/catwalk3.ogg',
'sound/effects/footstep/catwalk4.ogg',
'sound/effects/footstep/catwalk5.ogg'), 100, 1),
))
//claw footsteps lists
@@ -185,6 +198,12 @@ GLOBAL_LIST_INIT(clawfootstep, list(
'sound/effects/footstep/glassbarefoot1.ogg',
'sound/effects/footstep/glassbarefoot2.ogg',
'sound/effects/footstep/glassbarefoot3.ogg'), 100, 1),
FOOTSTEP_CATWALK = list(list(
'sound/effects/footstep/catwalk1.ogg',
'sound/effects/footstep/catwalk2.ogg',
'sound/effects/footstep/catwalk3.ogg',
'sound/effects/footstep/catwalk4.ogg',
'sound/effects/footstep/catwalk5.ogg'), 100, 1),
))
//heavy footsteps list
+1
View File
@@ -1,6 +1,7 @@
GLOBAL_LIST_INIT(rod_recipes, list (
new /datum/stack_recipe("grille", /obj/structure/grille, 2, time = 1 SECONDS, one_per_turf = TRUE, on_floor_or_lattice = TRUE),
new /datum/stack_recipe("table frame", /obj/structure/table_frame, 2, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE),
new /datum/stack_recipe("catwalk tile", /obj/item/stack/tile/catwalk, 2, 4, 20),
null,
new /datum/stack_recipe("railing", /obj/structure/railing, 3, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE),
new /datum/stack_recipe("railing corner", /obj/structure/railing/corner, 3, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE),
@@ -271,3 +271,20 @@
/obj/item/stack/tile/disco_light/thirty
amount = 30
/obj/item/stack/tile/catwalk
name = "catwalk tiles"
gender = PLURAL
singular_name = "catwalk tile"
desc = "A catwalk tile. Not rated for space usage."
icon_state = "tile_catwalk"
force = 6
materials = list(MAT_METAL=500)
throwforce = 10
throw_speed = 3
throw_range = 7
flags = CONDUCT
turf_type = /turf/simulated/floor/catwalk
mineralType = "metal"
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 100, ACID = 70)
resistance_flags = FIRE_PROOF
@@ -209,3 +209,61 @@
icon_state = "reebe"
baseturf = /turf/simulated/floor/clockwork/reebe
uses_overlay = FALSE
/turf/simulated/floor/catwalk
name = "catwalk"
desc = "A catwalk for easier inspection of cable and pipe installations."
icon = 'icons/turf/floors/catwalk_floor.dmi'
icon_state = "catwalk"
base_icon_state = "catwalk"
baseturf = /turf/simulated/floor/plating
floor_tile = /obj/item/stack/tile/catwalk
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = list(SMOOTH_GROUP_CATWALK, SMOOTH_GROUP_SIMULATED_TURFS)
canSmoothWith = list(SMOOTH_GROUP_CATWALK)
footstep = FOOTSTEP_CATWALK
barefootstep = FOOTSTEP_CATWALK
clawfootstep = FOOTSTEP_CATWALK
keep_dir = FALSE
intact = FALSE
transparent_floor = TRUE
/turf/simulated/floor/catwalk/Initialize(mapload)
. = ..()
var/image/I = image('icons/turf/floors/plating.dmi', src, "plating")
I.layer = PLATING_LAYER
underlays += I
dir = SOUTH //dirs that are not 2/south cause smoothing jank
icon_state = "" //Prevents default icon appearing behind the catwalk
/turf/simulated/floor/catwalk/crowbar_act(mob/user, obj/item/I)
. = TRUE
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
pry_tile(I, user, TRUE)
/turf/simulated/floor/transparent/glass/can_lay_cable()
return FALSE // Pry the catwalk up if you want to apply cables underneath
/turf/simulated/floor/catwalk/ex_act(severity)
if(is_shielded())
return
switch(severity)
if(1.0)
ChangeTurf(baseturf)
if(2.0)
switch(pick(1,2;75,3))
if(1)
spawn(0)
ReplaceWithLattice()
if(prob(33)) new /obj/item/stack/rods(src)
if(2)
ChangeTurf(baseturf)
if(3)
break_tile_to_plating()
hotspot_expose(1000,CELL_VOLUME)
if(prob(33)) new /obj/item/stack/rods(src)
if(3.0)
if(prob(50))
break_tile_to_plating()
hotspot_expose(1000,CELL_VOLUME)
+1 -1
View File
@@ -64,7 +64,7 @@
var/obj/item/stack/tile/W = C
if(!W.use(1))
return
ChangeTurf(W.turf_type)
ChangeTurf(W.turf_type, keep_icon = FALSE)
playsound(src, 'sound/weapons/genhit.ogg', 50, 1)
else
to_chat(user, "<span class='warning'>This section is too damaged to support a tile! Use a welder to fix the damage.</span>")
Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB