diff --git a/code/_globalvars/turf.dm b/code/_globalvars/turf.dm index ab277cbd05521..f8eeecf61d891 100644 --- a/code/_globalvars/turf.dm +++ b/code/_globalvars/turf.dm @@ -14,6 +14,7 @@ GLOBAL_LIST_INIT(turf_texture_hallway, list(/datum/turf_texture/hallway)) GLOBAL_LIST_INIT(turf_texture_maint, list(/datum/turf_texture/maint, /datum/turf_texture/hallway, /datum/turf_texture/maint/tile)) GLOBAL_LIST_INIT(turf_texture_iron, list(/datum/turf_texture/hallway, /datum/turf_texture/maint/tile)) +GLOBAL_LIST_INIT(turf_texture_iron_nonsegmented, list(/datum/turf_texture/hallway_nonsegmented)) GLOBAL_LIST_INIT(turf_texture_plating, list(/datum/turf_texture/maint)) /* diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm index 64eb92ee3969c..39db3eb4bdb85 100644 --- a/code/game/area/Space_Station_13_areas.dm +++ b/code/game/area/Space_Station_13_areas.dm @@ -178,7 +178,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station color_correction = /datum/client_colour/area_color/cold_ish camera_networks = list(CAMERA_NETWORK_STATION) -/area/maintenance/get_turf_textures() +/area/maintenance/get_area_textures() return GLOB.turf_texture_maint //Maintenance - Departmental @@ -242,7 +242,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Science Maintenance" icon_state = "maint_sci" -/area/maintenance/department/science/get_turf_textures() +/area/maintenance/department/science/get_area_textures() return GLOB.turf_texture_hallway /area/maintenance/department/science/central @@ -420,7 +420,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station lighting_brightness_tube = 8 camera_networks = list(CAMERA_NETWORK_STATION) -/area/hallway/get_turf_textures() +/area/hallway/get_area_textures() return GLOB.turf_texture_hallway /area/hallway/primary @@ -642,7 +642,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station color_correction = /datum/client_colour/area_color/warm_ish camera_networks = list(CAMERA_NETWORK_STATION) -/area/crew_quarters/get_turf_textures() +/area/crew_quarters/get_area_textures() return GLOB.turf_texture_hallway /area/crew_quarters/dorms @@ -892,7 +892,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Engineering" icon_state = "engine" -/area/engine/engineering/get_turf_textures() +/area/engine/engineering/get_area_textures() return GLOB.turf_texture_hallway /area/engineering/hallway @@ -1216,7 +1216,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station color_correction = /datum/client_colour/area_color/warm_ish camera_networks = list(CAMERA_NETWORK_STATION) -/area/security/get_turf_textures() +/area/security/get_area_textures() return GLOB.turf_texture_hallway /area/security/main @@ -1389,7 +1389,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station color_correction = /datum/client_colour/area_color/warm_yellow camera_networks = list(CAMERA_NETWORK_STATION) -/area/quartermaster/get_turf_textures() +/area/quartermaster/get_area_textures() return GLOB.turf_texture_hallway /area/quartermaster/sorting @@ -1473,7 +1473,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station color_correction = /datum/client_colour/area_color/cold_ish camera_networks = list(CAMERA_NETWORK_STATION) -/area/hydroponics/get_turf_textures() +/area/hydroponics/get_area_textures() return GLOB.turf_texture_hallway /area/hydroponics/garden @@ -1571,7 +1571,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Robotics" icon_state = "robotics" -/area/science/robotics/get_turf_textures() +/area/science/robotics/get_area_textures() return GLOB.turf_texture_hallway /area/science/robotics/mechbay @@ -1615,7 +1615,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Primary Tool Storage" icon_state = "primarystorage" -/area/storage/primary/get_turf_textures() +/area/storage/primary/get_area_textures() return GLOB.turf_texture_hallway /area/storage/art diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index ac5310f19e421..8afb44fbd6704 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -646,5 +646,5 @@ GLOBAL_LIST_EMPTY(teleportlocs) if(mood_job_reverse) return !. // the most eye bleeding syntax ive written -/area/proc/get_turf_textures() +/area/proc/get_area_textures() return list() diff --git a/code/game/turfs/open/floor/iron_floor.dm b/code/game/turfs/open/floor/iron_floor.dm index 8d9c8173f6016..1774fb5238b6d 100644 --- a/code/game/turfs/open/floor/iron_floor.dm +++ b/code/game/turfs/open/floor/iron_floor.dm @@ -34,21 +34,33 @@ base_icon_state = "floor_edge" floor_tile = /obj/item/stack/tile/iron/edge +/turf/open/floor/iron/edge/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/half icon_state = "floor_half" base_icon_state = "floor_half" floor_tile = /obj/item/stack/tile/iron/half +/turf/open/floor/iron/half/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/corner icon_state = "floor_corner" base_icon_state = "floor_corner" floor_tile = /obj/item/stack/tile/iron/corner +/turf/open/floor/iron/corner/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/large icon_state = "floor_large" base_icon_state = "floor_large" floor_tile = /obj/item/stack/tile/iron/large +/turf/open/floor/iron/large/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/textured icon_state = "textured" base_icon_state = "textured" @@ -59,21 +71,33 @@ base_icon_state = "textured_edge" floor_tile = /obj/item/stack/tile/iron/textured_edge +/turf/open/floor/iron/textured_edge/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/textured_half icon_state = "textured_half" base_icon_state = "textured_half" floor_tile = /obj/item/stack/tile/iron/textured_half +/turf/open/floor/iron/textured_half/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/textured_corner icon_state = "textured_corner" base_icon_state = "textured_corner" floor_tile = /obj/item/stack/tile/iron/textured_corner +/turf/open/floor/iron/textured_corner/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/textured_large icon_state = "textured_large" base_icon_state = "textured_large" floor_tile = /obj/item/stack/tile/iron/textured_large +/turf/open/floor/iron/textured_large/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/dark icon_state = "darkfull" base_icon_state = "darkfull" @@ -84,31 +108,49 @@ base_icon_state = "dark_edge" floor_tile = /obj/item/stack/tile/iron/dark/smooth_edge +/turf/open/floor/iron/dark/smooth_edge/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/dark/smooth_half icon_state = "dark_half" base_icon_state = "dark_half" floor_tile = /obj/item/stack/tile/iron/dark/smooth_half +/turf/open/floor/iron/dark/smooth_half/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/dark/smooth_corner icon_state = "dark_corner" base_icon_state = "dark_corner" floor_tile = /obj/item/stack/tile/iron/dark/smooth_corner +/turf/open/floor/iron/dark/smooth_corner/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/dark/smooth_large icon_state = "dark_large" base_icon_state = "dark_large" floor_tile = /obj/item/stack/tile/iron/dark/smooth_large +/turf/open/floor/iron/dark/smooth_large/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/dark/side icon_state = "darkside" base_icon_state = "darkside" floor_tile = /obj/item/stack/tile/iron/dark_side +/turf/open/floor/iron/dark/side/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/dark/corner icon_state = "darkcorner" base_icon_state = "darkcorner" floor_tile = /obj/item/stack/tile/iron/dark_corner +/turf/open/floor/iron/dark/corner/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/checker icon_state = "blackwhite" base_icon_state = "blackwhite" @@ -129,16 +171,25 @@ base_icon_state = "textured_dark_edge" floor_tile = /obj/item/stack/tile/iron/dark/textured_edge +/turf/open/floor/iron/dark/textured_edge/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/dark/textured_half icon_state = "textured_dark_half" base_icon_state = "textured_dark_half" floor_tile = /obj/item/stack/tile/iron/dark/textured_half +/turf/open/floor/iron/dark/textured_half/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/dark/textured_corner icon_state = "textured_dark_corner" base_icon_state = "textured_dark_corner" floor_tile = /obj/item/stack/tile/iron/dark/textured_corner +/turf/open/floor/iron/dark/textured_large/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/dark/textured_large icon_state = "textured_dark_large" base_icon_state = "textured_dark_large" @@ -169,31 +220,49 @@ base_icon_state = "white_edge" floor_tile = /obj/item/stack/tile/iron/white/smooth_edge +/turf/open/floor/iron/white/smooth_edge/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/white/smooth_half icon_state = "white_half" base_icon_state = "white_half" floor_tile = /obj/item/stack/tile/iron/white/smooth_half +/turf/open/floor/iron/white/smooth_half/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/white/smooth_corner icon_state = "white_corner" base_icon_state = "white_corner" floor_tile = /obj/item/stack/tile/iron/white/smooth_corner +/turf/open/floor/iron/white/smooth_corner/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/white/smooth_large icon_state = "white_large" base_icon_state = "white_large" floor_tile = /obj/item/stack/tile/iron/white/smooth_large +/turf/open/floor/iron/white/smooth_large/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/white/side icon_state = "whitehall" base_icon_state = "whitehall" floor_tile = /obj/item/stack/tile/iron/white_side +/turf/open/floor/iron/white/side/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/white/corner icon_state = "whitecorner" base_icon_state = "whitecorner" floor_tile = /obj/item/stack/tile/iron/white_corner +/turf/open/floor/iron/white/corner/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/cafeteria icon_state = "cafeteria" base_icon_state = "cafeteria" @@ -209,21 +278,33 @@ base_icon_state = "textured_white_edge" floor_tile = /obj/item/stack/tile/iron/white/textured_edge +/turf/open/floor/iron/white/textured_edge/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/white/textured_half icon_state = "textured_white_half" base_icon_state = "textured_white_half" floor_tile = /obj/item/stack/tile/iron/white/textured_half +/turf/open/floor/iron/white/textured_half/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/white/textured_corner icon_state = "textured_white_corner" base_icon_state = "textured_white_corner" floor_tile = /obj/item/stack/tile/iron/white/textured_corner +/turf/open/floor/iron/white/textured_corner/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/white/textured_large icon_state = "textured_white_large" base_icon_state = "textured_white_large" floor_tile = /obj/item/stack/tile/iron/white/textured_large +/turf/open/floor/iron/white/textured_large/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/white/airless initial_gas_mix = AIRLESS_ATMOS @@ -259,21 +340,33 @@ base_icon_state = "smooth_edge" floor_tile = /obj/item/stack/tile/iron/smooth_edge +/turf/open/floor/iron/smooth_edge/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/smooth_half icon_state = "smooth_half" base_icon_state = "smooth_half" floor_tile = /obj/item/stack/tile/iron/smooth_half +/turf/open/floor/iron/smooth_half/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/smooth_corner icon_state = "smooth_corner" base_icon_state = "smooth_corner" floor_tile = /obj/item/stack/tile/iron/smooth_corner +/turf/open/floor/iron/smooth_corner/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/smooth_large icon_state = "smooth_large" base_icon_state = "smooth_large" floor_tile = /obj/item/stack/tile/iron/smooth_large +/turf/open/floor/iron/smooth_large/get_turf_texture() + return GLOB.turf_texture_iron_nonsegmented + /turf/open/floor/iron/chapel icon_state = "chapel" base_icon_state = "chapel" diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 6a375c26b2091..7abd4bc94c792 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -296,7 +296,7 @@ CREATION_TEST_IGNORE_SELF(/turf) // Here's hoping it doesn't stay like this for years before we finish conversion to step_ var/atom/firstbump var/canPassSelf = CanPass(mover, get_dir(src, mover)) - + if(canPassSelf || (mover.movement_type & PHASING)) for(var/atom/movable/thing as anything in contents) if(QDELETED(mover)) @@ -574,7 +574,7 @@ CREATION_TEST_IGNORE_SELF(/turf) var/datum/turf_texture/turf_texture for(var/datum/turf_texture/TF as() in textures) var/area/A = loc - if(TF in A?.get_turf_textures()) + if(TF in A?.get_area_textures()) turf_texture = turf_texture ? initial(TF.priority) > initial(turf_texture.priority) ? TF : turf_texture : TF if(turf_texture) vis_contents += load_turf_texture(turf_texture) diff --git a/code/game/turfs/turf_texture.dm b/code/game/turfs/turf_texture.dm index 25cfdcccef721..609af16c4d007 100644 --- a/code/game/turfs/turf_texture.dm +++ b/code/game/turfs/turf_texture.dm @@ -43,6 +43,10 @@ CREATION_TEST_IGNORE_SUBTYPES(/atom/movable/turf_texture) icon_state = "hallway" alpha = 55 +/datum/turf_texture/hallway_nonsegmented + icon_state = "hallway_nonsegmented" + alpha = 55 + //Deep maint use /datum/turf_texture/maint icon_state = "maint" diff --git a/icons/turf/turf_texture.dmi b/icons/turf/turf_texture.dmi index 6c0d5b90bdc03..110c3507acfd1 100644 Binary files a/icons/turf/turf_texture.dmi and b/icons/turf/turf_texture.dmi differ