Fixes exoplanet turf edge icons (#23009)

## About PR
- Fixes an issue with exoplanet turf edge icons layering below the
adjacent turfs
 
- Exoplanet turfs no longer attempt to add edge icons by default,
instead this is specified wherever it's relevant (this is still enabled
by default in base floor type, and honestly shouldn't be the case since
there's maybe 10 turf types need this vs every single turf in existence,
but i don't have the energy to go through them all)

  - Removed an icon edge irrelevant turf

- Fixes exoplanet chasm turfs appearing red (no name icon in the file)
because it was trying to add edge turfs that had no icons with that name
  
  
<img width="808" height="983" alt="Screenshot_22"
src="https://github.com/user-attachments/assets/c1605ba7-eec4-4f1e-8950-c51d943dde9e"
/>

<sub>the red eye sees all, remember our promise....</sub>
This commit is contained in:
Kano
2026-08-06 09:33:13 +00:00
committed by GitHub
parent 5cbd7aeb7b
commit 6c27e4c3c3
11 changed files with 59 additions and 40 deletions
@@ -9,6 +9,7 @@
has_resources = TRUE
footstep_sound = SFX_FOOTSTEP_ASTEROID
turf_flags = TURF_FLAG_BACKGROUND
has_edge_icon = FALSE
var/diggable = 1
var/dirt_color = "#7c5e42"
@@ -100,10 +101,13 @@
AddOverlays(resource_indicator)
if(LAZYLEN(decals))
AddOverlays(decals)
var/list/overlay_group = list()
for(var/direction in GLOB.cardinals)
var/turf/turf_to_check = get_step(src,direction)
if(!istype(turf_to_check, type))
var/image/rock_side = image(icon, "edge[pick(0,1,2)]", dir = turn(direction, 180))
rock_side.layer = ABOVE_PLATING_LAYER
switch(direction)
if(NORTH)
rock_side.pixel_y += world.icon_size
@@ -113,10 +117,13 @@
rock_side.pixel_x += world.icon_size
if(WEST)
rock_side.pixel_x -= world.icon_size
overlays += rock_side
overlay_group += rock_side
else if(update_neighbors)
turf_to_check.update_icon()
AddOverlays(overlay_group)
/turf/simulated/floor/exoplanet/water/shallow
name = "shallow water"
desc = "Some water shallow enough to wade through."
@@ -5,6 +5,7 @@
smoothing_flags = SMOOTH_TRUE | SMOOTH_BORDER | SMOOTH_NO_CLEAR_ICON
smoothing_hints = SMOOTHHINT_CUT_F | SMOOTHHINT_ONLY_MATCH_TURF | SMOOTHHINT_TARGETS_NOT_UNIQUE
icon_state = "smooth"
has_resources = FALSE
var/static/list/forbidden_types = typecacheof(list(
/obj/singularity,
/obj/structure/lattice,
@@ -19,7 +20,6 @@
/obj/structure/sign,
/obj/structure/machinery/atmospherics/pipe
))
has_resources = FALSE
/turf/simulated/floor/exoplanet/abyss/Initialize()
. = ..()
@@ -8,6 +8,3 @@
/turf/simulated/floor/exoplanet/assunzione/Initialize(mapload)
. = ..()
icon_state = "rust[rand(1,12)]"
/turf/simulated/floor/exoplanet/assunzione/no_edge
has_edge_icon = FALSE
@@ -7,6 +7,7 @@
initial_flooring = /singleton/flooring/carpet
footstep_sound = SFX_FOOTSTEP_CARPET
has_resources = FALSE
has_edge_icon = TRUE
/turf/simulated/floor/exoplanet/carpet/art
icon_state = "artcarpet"
@@ -6,6 +6,7 @@
icon_state = "greygrass"
color = "#799c4b"
footstep_sound = SFX_FOOTSTEP_GRASS
has_edge_icon = TRUE
/turf/simulated/floor/exoplanet/grass/Initialize()
. = ..()
@@ -36,7 +37,7 @@
icon = 'icons/turf/flooring/grass.dmi'
icon_state = "grass_stalk"
color = null
has_edge_icon = null
has_edge_icon = FALSE
/turf/simulated/floor/exoplanet/grass/marsh
name = "marshy ground"
@@ -44,7 +45,7 @@
icon = 'icons/turf/fungal_marsh.dmi'
icon_state = "marsh"
color = null
has_edge_icon = null
has_edge_icon = FALSE
footstep_sound = SFX_FOOTSTEP_WATER
/turf/simulated/floor/exoplanet/grass/marsh/Initialize()
@@ -1,14 +1,3 @@
/turf/simulated/floor/exoplanet/konyang
name = "dense mossy grass"
gender = PLURAL
desc = "An alien moss covers the ground."
icon = 'icons/turf/flooring/exoplanet/konyang.dmi'
icon_state = "grass"
footstep_sound = SFX_FOOTSTEP_GRASS
/turf/simulated/floor/exoplanet/konyang/no_edge
has_edge_icon = FALSE
/obj/effect/konyang_foam
name = "coastal sea foam"
icon = 'icons/turf/flooring/exoplanet/konyang.dmi'
@@ -31,44 +20,62 @@
icon_state = "mist_center"
layer = 5.1
/turf/simulated/floor/exoplanet/konyang/wilting//manually mapped. To be surrounded by normal grass
/turf/simulated/floor/exoplanet/konyang
name = "dense mossy grass"
gender = PLURAL
desc = "An alien moss covers the ground."
icon = 'icons/turf/flooring/exoplanet/konyang.dmi'
icon_state = "grass"
footstep_sound = SFX_FOOTSTEP_GRASS
has_edge_icon = TRUE
/turf/simulated/floor/exoplanet/konyang/no_edge
has_edge_icon = FALSE
// manually mapped. To be surrounded by normal grass
/turf/simulated/floor/exoplanet/konyang/wilting
name = "wilting mossy grass"
desc = "An alien moss covers the ground. This patch doesn't look so healthy..."
icon = 'icons/turf/flooring/exoplanet/konyang/moss_transition_1.dmi'
icon_state = "unsmooth"
has_edge_icon = FALSE
smoothing_flags = SMOOTH_MORE | SMOOTH_BORDER | SMOOTH_NO_CLEAR_ICON
canSmoothWith = list(/turf/simulated/floor/exoplanet/konyang/wilting, /turf/simulated/floor/exoplanet/konyang/pink)
/turf/simulated/floor/exoplanet/konyang/pink//manually mapped. To be surrounded by wilting grass
// manually mapped. To be surrounded by wilting grass
/turf/simulated/floor/exoplanet/konyang/pink
name = "blossoming mossy grass"
desc = "The moss here is blooming in a shade of pink."
icon = 'icons/turf/flooring/exoplanet/konyang/moss_transition_2.dmi'
icon_state = "unsmooth"
has_edge_icon = FALSE
smoothing_flags = SMOOTH_TRUE
/turf/simulated/floor/exoplanet/dirt_konyang//a different path entirely so it will allow for edges to generate from grass
// a different path entirely so it will allow for edges to generate from grass
/turf/simulated/floor/exoplanet/dirt_konyang
name = "compacted dirt"
desc = "A patch of dirt."
icon = 'icons/turf/flooring/exoplanet/konyang.dmi'
icon_state = "dirt"
layer = 1.99//to let the grass edges go over it, which otherwise doesnt happen due to positioning and byond layering
layer = 1.99 // to let the grass edges go over it, which otherwise doesnt happen due to positioning and byond layering
footstep_sound = SFX_FOOTSTEP_ASTEROID
has_edge_icon = FALSE
/turf/simulated/floor/exoplanet/dirt_konyang/cave
name = "dense compacted dirt"
/turf/simulated/floor/exoplanet/dirt_konyang/cave/Initialize() // to make these tiles dark even on daytime exoplanets
. = ..()
set_light(0, 1, null)
footprint_color = null
update_icon(1)
/turf/simulated/floor/exoplanet/dirt_konyang/sand//same as above
// same as above
/turf/simulated/floor/exoplanet/dirt_konyang/sand
name = "fine coastal sand"
desc = "Some fine, white sand."
icon = 'icons/turf/flooring/exoplanet/konyang/konyang_beach.dmi'
icon_state = "sand"
footstep_sound = SFX_FOOTSTEP_ASTEROID
smoothing_flags = SMOOTH_FALSE
has_edge_icon = FALSE
/turf/simulated/floor/exoplanet/dirt_konyang/cave
name = "dense compacted dirt"
// to make these tiles dark even on daytime exoplanets
/turf/simulated/floor/exoplanet/dirt_konyang/cave/Initialize()
. = ..()
set_light(0, 1, null)
footprint_color = null
update_icon(1)
@@ -11,7 +11,6 @@
icon = 'icons/turf/flooring/ice_cavern.dmi'
icon_state = "icy_rock"
temperature = T0C - 5
has_edge_icon = FALSE
/turf/simulated/floor/exoplanet/mineral/adhomai/Initialize(mapload)
. = ..()