Angled wall tweaks

This commit is contained in:
Aronai Sieyes
2021-07-22 17:48:22 -04:00
parent 2482780331
commit bb04b22cce
3 changed files with 52 additions and 5 deletions
+3 -3
View File
@@ -22,7 +22,7 @@
//rad_resistance_modifier = 0.5
// blend_objects defined on subtypes
noblend_objects = list(/obj/machinery/door/window)
noblend_objects = list(/obj/machinery/door/window, /obj/machinery/door/firedoor)
var/default_material = DEFAULT_WALL_MATERIAL
var/datum/material/material
@@ -369,7 +369,7 @@
/obj/structure/window/bay
icon = 'icons/obj/bay_window.dmi'
blend_objects = list(/obj/machinery/door, /turf/simulated/wall/bay)
noblend_objects = list(/obj/machinery/door/window)
noblend_objects = list(/obj/machinery/door/window, /obj/machinery/door/firedoor)
icon_state = "preview_glass"
basestate = "window"
alpha = 180
@@ -465,7 +465,7 @@
/obj/structure/window/eris
icon = 'icons/obj/eris_window.dmi'
blend_objects = list(/obj/machinery/door, /turf/simulated/wall/eris)
noblend_objects = list(/obj/machinery/door/window)
noblend_objects = list(/obj/machinery/door/window, /obj/machinery/door/firedoor)
icon_state = "preview_glass"
basestate = "window"
fulltile = TRUE
+4 -2
View File
@@ -117,6 +117,10 @@
if(can_join_with_low_wall(WF))
dirs += get_dir(src, WF)
special_wall_connections(dirs, inrange)
wall_connections = dirs_to_corner_states(dirs)
/turf/simulated/wall/proc/special_wall_connections(list/dirs, list/inrange)
if(material.icon_base == "hull") // Could be improved...
var/additional_dirs = 0
for(var/direction in alldirs)
@@ -129,8 +133,6 @@
if ((additional_dirs & diag_dir) == diag_dir)
dirs += diag_dir
wall_connections = dirs_to_corner_states(dirs)
/turf/simulated/wall/proc/can_join_with_wall(var/turf/simulated/wall/W)
//No blending if no material
if(!material || !W.material)
+45
View File
@@ -337,9 +337,31 @@
icon = 'icons/turf/wall_masks_eris.dmi'
icon_state = "generic"
wall_masks = 'icons/turf/wall_masks_eris.dmi'
var/list/blend_objects = list(/obj/machinery/door)
var/list/noblend_objects = list(/obj/machinery/door/window, /obj/machinery/door/firedoor)
/turf/simulated/wall/eris/can_join_with_low_wall(var/obj/structure/low_wall/WF)
return istype(WF, /obj/structure/low_wall/eris)
/turf/simulated/wall/eris/special_wall_connections(list/dirs, list/inrange)
..()
for(var/direction in cardinal)
var/turf/T = get_step(src, direction)
var/decided_to_blend = FALSE
blend_obj_loop:
for(var/obj/O in T)
for(var/b_type in blend_objects)
if(istype(O, b_type))
decided_to_blend = TRUE
for(var/obj/structure/S in T)
if(istype(S, src))
decided_to_blend = FALSE
for(var/nb_type in noblend_objects)
if(istype(O, nb_type))
decided_to_blend = FALSE
if(decided_to_blend)
dirs += direction
break blend_obj_loop // breaks outer loop
/turf/simulated/wall/eris/r_wall
icon_state = "rgeneric"
@@ -351,6 +373,8 @@
icon = 'icons/turf/wall_masks_bay.dmi'
icon_state = "generic"
wall_masks = 'icons/turf/wall_masks_bay.dmi'
var/list/blend_objects = list(/obj/machinery/door)
var/list/noblend_objects = list(/obj/machinery/door/window, /obj/machinery/door/firedoor)
var/stripe_color // Adds a colored stripe to the walls
@@ -366,6 +390,27 @@
I.color = stripe_color
add_overlay(I)
/turf/simulated/wall/bay/special_wall_connections(list/dirs, list/inrange)
..()
for(var/direction in cardinal)
var/turf/T = get_step(src, direction)
var/decided_to_blend = FALSE
blend_obj_loop:
for(var/obj/O in T)
for(var/b_type in blend_objects)
if(istype(O, b_type))
decided_to_blend = TRUE
for(var/obj/structure/S in T)
if(istype(S, src))
decided_to_blend = FALSE
for(var/nb_type in noblend_objects)
if(istype(O, nb_type))
decided_to_blend = FALSE
if(decided_to_blend)
dirs += direction
break blend_obj_loop // breaks outer loop
/turf/simulated/wall/bay/r_wall
icon_state = "rgeneric"
/turf/simulated/wall/bay/r_wall/Initialize(mapload)