floor tile fix

This commit is contained in:
Metis
2024-11-15 19:23:32 -05:00
parent fa1de20bf3
commit 52550eae18
4 changed files with 199 additions and 1 deletions
@@ -0,0 +1,28 @@
/turf/open/floor/mineral/titanium/old
name = "tiled floor"
icon = 'GainStation13/icons/turf/floors.dmi'
icon_state = "titanium_old"
floor_tile = /obj/item/stack/tile/mineral/titanium
broken_states = list("titanium_dam1_old","titanium_dam2_old","titanium_dam3_old","titanium_dam4_old","titanium_dam5_old")
/turf/open/floor/mineral/titanium/old/airless
initial_gas_mix = "TEMP=2.7"
/turf/open/floor/mineral/titanium/old/yellow
icon_state = "titanium_yellow_old"
/turf/open/floor/mineral/titanium/old/yellow/airless
initial_gas_mix = "TEMP=2.7"
/turf/open/floor/mineral/titanium/old/blue
icon_state = "titanium_blue_old"
/turf/open/floor/mineral/titanium/old/blue/airless
initial_gas_mix = "TEMP=2.7"
/turf/open/floor/mineral/titanium/old/white
icon_state = "titanium_white_old"
/turf/open/floor/mineral/titanium/old/white/airless
initial_gas_mix = "TEMP=2.7"
/turf/open/floor/mineral/titanium/old/purple
icon_state = "titanium_purple_old"
/turf/open/floor/mineral/titanium/purple/airless
initial_gas_mix = "TEMP=2.7"
@@ -0,0 +1,165 @@
/////////////////////
// Tile reskinning //
/////////////////////
// Q: What is this?
// A: A simple function to allow you to change what tiles you place with a stack of tiles.
// Q: Why do it this way?
// A: This allows players more freedom to do beautiful-looking builds. Having five types of titanium tile would be clunky as heck.
// Q: Great! Can I use this for all floors?
// A: Unfortunately, this does not work on subtypes of plasteel and instead we must change the icon_state of these turfs instead, as the icon_regular_floor var that "saves" what type of floor a plasteel subtype turf was so once repaired...
// ... it'll go back to the floor it was instead of grey (medical floors turn white even after crowbaring the tile and putting it back). This stops changing turf_type from working.
/obj/item/stack/tile/mineral/titanium/attack_self(mob/user)
var/static/list/choices = list(
"Titanium" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_shuttle"),
"Yellow Titanium" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_shuttle_yellow"),
"Blue Titanium" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_shuttle_blue"),
"White Titanium" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_shuttle_white"),
"Purple Titanium" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_shuttle_purple"),
"Titanium Tile" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_shuttle_old"),
"Yellow Titanium Tile" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_shuttle_old_yellow"),
"Blue Titanium Tile" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_shuttle_old_blue"),
"White Titanium Tile" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_shuttle_old_white"),
"Purple Titanium Tile" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_shuttle_old_purple"),
)
var/choice = show_radial_menu(user, src, choices, radius = 48, require_near = TRUE)
switch(choice)
if("Titanium")
turf_type = /turf/open/floor/mineral/titanium
icon_state = "tile_shuttle"
desc = "Sleek titanium tiles."
if("Yellow Titanium")
turf_type = /turf/open/floor/mineral/titanium/yellow
icon_state = "tile_shuttle_yellow"
desc = "Sleek yellow titanium tiles."
if("Blue Titanium")
turf_type = /turf/open/floor/mineral/titanium/blue
icon_state = "tile_shuttle_blue"
desc = "Sleek blue titanium tiles."
if("White Titanium")
turf_type = /turf/open/floor/mineral/titanium/white
icon_state = "tile_shuttle_white"
desc = "Sleek white titanium tiles."
if("Purple Titanium")
turf_type = /turf/open/floor/mineral/titanium/purple
icon_state = "tile_shuttle_purple"
desc = "Sleek purple titanium tiles."
if("Titanium Tile")
turf_type = /turf/open/floor/mineral/titanium/old
icon_state = "tile_shuttle_old"
desc = "Titanium floor tiles."
if("Yellow Titanium Tile")
turf_type = /turf/open/floor/mineral/titanium/old/yellow
icon_state = "tile_shuttle_old_yellow"
desc = "Yellow titanium floor tiles."
if("Blue Titanium Tile")
turf_type = /turf/open/floor/mineral/titanium/old/blue
icon_state = "tile_shuttle_old_blue"
desc = "Blue titanium floor tiles."
if("White Titanium Tile")
turf_type = /turf/open/floor/mineral/titanium/old/white
icon_state = "tile_shuttle_old_white"
desc = "White titanium floor tiles."
if("Purple Titanium Tile")
turf_type = /turf/open/floor/mineral/titanium/old/purple
icon_state = "tile_shuttle_old_purple"
desc = "Purple titanium floor tiles."
/obj/item/stack/tile/plasteel
desc = "Metal tiles that can be placed on top of plating. Press Z or use these to change tiles."
icon = 'GainStation13/icons/obj/tiles.dmi'
var/tile_reskin_mode
tile_reskin_mode = "plasteel"
/obj/item/stack/tile/plasteel/attack_self(mob/user)
var/static/list/choices = list(
"Plasteel" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_plasteel"),
"White Plasteel" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_white"),
"Dark Plasteel" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_dark"),
"Chapel Flooring" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_chapel"),
"Shower" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_shower"),
"Freezer" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_freezer"),
"Kitchen" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_kitchen"),
"Grimy" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_grimy"),
"Solar Panel" = image(icon = 'GainStation13/icons/obj/tiles.dmi', icon_state = "tile_solar"),
)
var/choice = show_radial_menu(user, src, choices, radius = 48, require_near = TRUE)
switch(choice)
if("Plasteel")
turf_type = /turf/open/floor/plasteel
icon_state = "tile_plasteel"
desc = "Metal floor tiles."
tile_reskin_mode = "plasteel"
if("White Plasteel")
turf_type = /turf/open/floor/plasteel/white
icon_state = "tile_white"
desc = "White metal floor tiles."
tile_reskin_mode = "white plasteel"
if("Dark Plasteel")
turf_type = /turf/open/floor/plasteel/dark
icon_state = "tile_dark"
desc = "Dark metal floor tiles."
tile_reskin_mode = "dark plasteel"
if("Chapel Flooring")
turf_type = /turf/open/floor/plasteel/chapel
icon_state = "tile_chapel"
desc = "Those very dark floor tiles you find in the chapel a lot."
tile_reskin_mode = "chapel"
if("Shower")
turf_type = /turf/open/floor/plasteel/showroomfloor
icon_state = "tile_shower"
desc = "Tiles for showers, bathrooms and wetrooms."
tile_reskin_mode = "shower"
if("Freezer")
turf_type = /turf/open/floor/plasteel/freezer
icon_state = "tile_freezer"
desc = "High-grip flooring for walk-in freezers and chillers."
tile_reskin_mode = "freezer"
if("Kitchen")
turf_type = /turf/open/floor/plasteel/cafeteria
icon_state = "tile_kitchen"
desc = "Chequered pattern plasteel tiles."
tile_reskin_mode = "kitchen"
if("Grimy")
turf_type = /turf/open/floor/plasteel/grimy
icon_state = "tile_grimy"
desc = "I'm sure it'll look nice somewhere?"
tile_reskin_mode = "grimy"
if("Solar Panel")
turf_type = /turf/open/floor/plasteel/airless/solarpanel
icon_state = "tile_solar"
desc = "Flooring usually placed below solar panels. Using this indoors is an intergalactic fashion crime."
tile_reskin_mode = "solar"
/turf/open/floor/plasteel/attackby(obj/item/reskinstack, mob/user, params)
if(istype(reskinstack, /obj/item/stack/tile/plasteel))
var/obj/item/stack/tile/plasteel/hitfloor = reskinstack
switch(hitfloor.tile_reskin_mode)
if("plasteel")
icon_state = "floor"
icon_regular_floor = "floor"
if("white plasteel")
icon_state = "white"
icon_regular_floor = "white"
if("dark plasteel")
icon_state = "darkfull"
icon_regular_floor = "darkfull"
if("chapel")
icon_state = "chapel_alt"
icon_regular_floor = "chapel_alt"
if("shower")
icon_state = "showroomfloor"
icon_regular_floor = "showroomfloor"
if("freezer")
icon_state = "freezerfloor"
icon_regular_floor = "freezerfloor"
if("kitchen")
icon_state = "cafeteria"
icon_regular_floor = "cafeteria"
if("grimy")
icon_state = "grimy"
icon_regular_floor = "grimy"
if("solar")
icon_state = "solarpanel"
icon_regular_floor = "solarpanel"
else return
+4 -1
View File
@@ -203,7 +203,10 @@
var/old_icon = icon_regular_floor
var/old_dir = dir
var/turf/open/floor/W = ..()
W.icon_regular_floor = old_icon
//GS13 EDIT START
if(!(W.type in subtypesof(/turf/open/floor/plasteel)))
W.icon_regular_floor = old_icon
//GS13 EDIT END
W.setDir(old_dir)
W.update_icon()
return W
+2
View File
@@ -4045,8 +4045,10 @@
#include "GainStation13\code\modules\weapons\grenades.dm"
#include "GainStation13\code\obj\items\bluespace_belt.dm"
#include "GainStation13\code\obj\items\circuits.dm"
#include "GainStation13\code\obj\items\floor_tiles.dm"
#include "GainStation13\code\obj\items\holy.dm"
#include "GainStation13\code\obj\items\minor_items.dm"
#include "GainStation13\code\obj\items\reskinable_floor_tile.dm"
#include "GainStation13\code\obj\items\sensors\weight_infared.dm"
#include "GainStation13\code\obj\structure\airlock.dm"
#include "GainStation13\code\obj\structure\calorite_doors.dm"