Files
GS13NG/code/game/turfs/simulated/floor/fancy_floor.dm
T

425 lines
13 KiB
Plaintext

/* In this file:
* Wood floor
* Grass floor
* Fake Basalt
* Carpet floor
* Fake pits
* Fake space
*/
/turf/open/floor/wood
desc = "Stylish dark wood."
icon_state = "wood"
floor_tile = /obj/item/stack/tile/wood
custom_materials = list(/datum/material/wood = MINERAL_MATERIAL_AMOUNT * 0.25)
broken_states = list("wood-broken", "wood-broken2", "wood-broken3", "wood-broken4", "wood-broken5", "wood-broken6", "wood-broken7")
footstep = FOOTSTEP_WOOD
barefootstep = FOOTSTEP_WOOD_BAREFOOT
clawfootstep = FOOTSTEP_WOOD_CLAW
heavyfootstep = FOOTSTEP_GENERIC_HEAVY
tiled_dirt = FALSE
/turf/open/floor/wood/examine(mob/user)
. = ..()
. += "<span class='notice'>There's a few <b>screws</b> and a <b>small crack</b> visible.</span>"
/turf/open/floor/wood/screwdriver_act(mob/living/user, obj/item/I)
if(..())
return TRUE
. = STOP_ATTACK_PROC_CHAIN
pry_tile(I, user)
/turf/open/floor/wood/try_replace_tile(obj/item/stack/tile/T, mob/user, params)
if(T.turf_type == type)
return
var/obj/item/tool = user.is_holding_item_of_type(/obj/item/screwdriver)
if(!tool)
tool = user.is_holding_item_of_type(/obj/item/crowbar)
if(!tool)
return
var/turf/open/floor/plating/P = pry_tile(tool, user, TRUE)
if(!istype(P))
return
P.attackby(T, user, params)
/turf/open/floor/wood/pry_tile(obj/item/C, mob/user, silent = FALSE)
C.play_tool_sound(src, 80)
return remove_tile(user, silent, (C.tool_behaviour == TOOL_SCREWDRIVER))
/turf/open/floor/wood/remove_tile(mob/user, silent = FALSE, make_tile = TRUE, forced = FALSE)
if(broken || burnt)
broken = 0
burnt = 0
if(user && !silent)
to_chat(user, "<span class='notice'>You remove the broken planks.</span>")
else
if(make_tile)
if(user && !silent)
to_chat(user, "<span class='notice'>You unscrew the planks.</span>")
if(floor_tile)
new floor_tile(src)
else
if(user && !silent)
to_chat(user, "<span class='notice'>You forcefully pry off the planks, destroying them in the process.</span>")
return make_plating()
/turf/open/floor/wood/rust_heretic_act()
if(prob(70))
new /obj/effect/temp_visual/glowing_rune(src)
ChangeTurf(/turf/open/floor/plating/rust)
/turf/open/floor/wood/cold
temperature = 255.37
/turf/open/floor/wood/airless
initial_gas_mix = AIRLESS_ATMOS
/turf/open/floor/wood/wood_large
desc = "Stylish dark wood."
icon_state = "large_wood"
floor_tile = /obj/item/stack/tile/wood/wood_large
broken_states = list("large_wood-broken", "large_wood-broken2", "large_wood-broken3")
/turf/open/floor/wood/wood_tiled
desc = "Stylish dark wood."
icon_state = "wood_tile"
floor_tile = /obj/item/stack/tile/wood/wood_tiled
broken_states = list("wood_tile-broken", "wood_tile-broken2", "wood_tile-broken3")
/turf/open/floor/wood/wood_diagonal
desc = "Stylish dark wood."
icon_state = "diagonal_wood"
floor_tile = /obj/item/stack/tile/wood/wood_diagonal
broken_states = list("diagonal_wood-broken", "diagonal_wood-broken2", "diagonal_wood-broken3")
/turf/open/floor/grass
name = "grass patch"
desc = "You can't tell if this is real grass or just cheap plastic imitation."
icon_state = "grass"
floor_tile = /obj/item/stack/tile/grass
broken_states = list("sand")
flags_1 = NONE
bullet_bounce_sound = null
footstep = FOOTSTEP_GRASS
barefootstep = FOOTSTEP_GRASS
clawfootstep = FOOTSTEP_GRASS
heavyfootstep = FOOTSTEP_GENERIC_HEAVY
var/ore_type = /obj/item/stack/ore/glass
var/turfverb = "uproot"
tiled_dirt = FALSE
/turf/open/floor/grass/Initialize()
. = ..()
update_icon()
/turf/open/floor/grass/attackby(obj/item/C, mob/user, params)
if((C.tool_behaviour == TOOL_SHOVEL) && params)
new ore_type(src, 2)
user.visible_message("[user] digs up [src].", "<span class='notice'>You [turfverb] [src].</span>")
playsound(src, 'sound/effects/shovel_dig.ogg', 50, 1)
make_plating()
if(..())
return
/turf/open/floor/grass/fairy //like grass but fae-er
name = "fairygrass patch"
desc = "Something about this grass makes you want to frolic. Or get high."
icon_state = "fairygrass"
floor_tile = /obj/item/stack/tile/fairygrass
light_range = 2
light_power = 0.80
light_color = "#33CCFF"
color = "#33CCFF"
/turf/open/floor/grass/fairy/white
name = "white fairygrass patch"
light_color = "#FFFFFF"
color = "#FFFFFF"
floor_tile = /obj/item/stack/tile/fairygrass/white
/turf/open/floor/grass/fairy/red
name = "red fairygrass patch"
light_color = "#FF3333"
color = "#FF3333"
floor_tile = /obj/item/stack/tile/fairygrass/red
/turf/open/floor/grass/fairy/yellow
name = "yellow fairygrass patch"
light_color = "#FFFF66"
color = "#FFFF66"
floor_tile = /obj/item/stack/tile/fairygrass/yellow
/turf/open/floor/grass/fairy/green
name = "green fairygrass patch"
light_color = "#99FF99"
color = "#99FF99"
floor_tile = /obj/item/stack/tile/fairygrass/green
/turf/open/floor/grass/fairy/blue
name = "blue fairygrass patch"
floor_tile = /obj/item/stack/tile/fairygrass/blue
/turf/open/floor/grass/fairy/purple
name = "purple fairygrass patch"
light_color = "#D966FF"
color = "#D966FF"
floor_tile = /obj/item/stack/tile/fairygrass/purple
/turf/open/floor/grass/fairy/pink
name = "pink fairygrass patch"
light_color = "#FFB3DA"
color = "#FFB3DA"
floor_tile = /obj/item/stack/tile/fairygrass/pink
/turf/open/floor/grass/snow
gender = PLURAL
name = "snow"
icon = 'icons/turf/snow.dmi'
desc = "Looks cold."
icon_state = "snow"
ore_type = /obj/item/stack/sheet/mineral/snow
planetary_atmos = TRUE
floor_tile = null
initial_gas_mix = FROZEN_ATMOS
slowdown = 1.5 //So digging it out paths are useful.
bullet_sizzle = TRUE
footstep = FOOTSTEP_SAND
barefootstep = FOOTSTEP_SAND
clawfootstep = FOOTSTEP_SAND
heavyfootstep = FOOTSTEP_GENERIC_HEAVY
/turf/open/floor/grass/snow/try_replace_tile(obj/item/stack/tile/T, mob/user, params)
return
/turf/open/floor/grass/snow/crowbar_act(mob/living/user, obj/item/I)
return
/turf/open/floor/grass/snow/basalt //By your powers combined, I am captain planet
gender = NEUTER
name = "volcanic floor"
icon = 'icons/turf/floors.dmi'
icon_state = "basalt"
ore_type = /obj/item/stack/ore/glass/basalt
initial_gas_mix = LAVALAND_DEFAULT_ATMOS
slowdown = 0
/turf/open/floor/grass/snow/basalt/Initialize()
. = ..()
if(prob(15))
icon_state = "basalt[rand(0, 12)]"
set_basalt_light(src)
/turf/open/floor/grass/fakebasalt //Heart is not a real planeteer power
name = "aesthetic volcanic flooring"
desc = "Safely recreated turf for your hellplanet-scaping."
icon = 'icons/turf/floors.dmi'
icon_state = "basalt"
floor_tile = /obj/item/stack/tile/basalt
ore_type = /obj/item/stack/ore/glass/basalt
turfverb = "dig up"
slowdown = 0
footstep = FOOTSTEP_SAND
barefootstep = FOOTSTEP_SAND
clawfootstep = FOOTSTEP_SAND
heavyfootstep = FOOTSTEP_GENERIC_HEAVY
/turf/open/floor/grass/fakebasalt/Initialize()
. = ..()
if(prob(15))
icon_state = "basalt[rand(0, 12)]"
set_basalt_light(src)
/turf/open/floor/carpet
name = "carpet"
desc = "Soft velvet carpeting. Feels good between your toes."
icon = 'icons/turf/floors/carpet.dmi'
icon_state = "carpet"
floor_tile = /obj/item/stack/tile/carpet
broken_states = list("damaged")
smooth = SMOOTH_TRUE
canSmoothWith = list(/turf/open/floor/carpet, /turf/open/floor/carpet/airless)
flags_1 = NONE
bullet_bounce_sound = null
footstep = FOOTSTEP_CARPET
barefootstep = FOOTSTEP_CARPET_BAREFOOT
clawfootstep = FOOTSTEP_CARPET_BAREFOOT
heavyfootstep = FOOTSTEP_GENERIC_HEAVY
tiled_dirt = FALSE
/turf/open/floor/carpet/examine(mob/user)
. = ..()
. += "<span class='notice'>There's a <b>small crack</b> on the edge of it.</span>"
/turf/open/floor/carpet/Initialize()
. = ..()
update_icon()
/turf/open/floor/carpet/update_icon()
if(!..())
return 0
if(!broken && !burnt)
if(smooth)
queue_smooth(src)
else
make_plating()
if(smooth)
queue_smooth_neighbors(src)
/turf/open/floor/carpet/black
icon = 'icons/turf/floors/carpet_black.dmi'
floor_tile = /obj/item/stack/tile/carpet/black
smooth = SMOOTH_MORE
canSmoothWith = list(/turf/open/floor/carpet/black, /turf/open/floor/carpet/blackred, /turf/open/floor/carpet/monochrome)
/turf/open/floor/carpet/arcade
icon = 'icons/turf/floors.dmi'
icon_state = "arcade"
floor_tile = /obj/item/stack/tile/carpet/arcade
smooth = SMOOTH_FALSE
canSmoothWith = list()
/turf/open/floor/carpet/blackred
icon = 'icons/turf/floors/carpet_blackred.dmi'
floor_tile = /obj/item/stack/tile/carpet/blackred
icon_state = "tile-carpet-blackred"
smooth = SMOOTH_MORE
canSmoothWith = list(/turf/open/floor/carpet/black, /turf/open/floor/carpet/blackred, /turf/open/floor/carpet/monochrome)
/turf/open/floor/carpet/monochrome
icon = 'icons/turf/floors/carpet_monochrome.dmi'
floor_tile = /obj/item/stack/tile/carpet/monochrome
icon_state = "tile-carpet-monochrome"
smooth = SMOOTH_MORE
canSmoothWith = list(/turf/open/floor/carpet/black, /turf/open/floor/carpet/blackred, /turf/open/floor/carpet/monochrome)
/turf/open/floor/carpet/blue
icon = 'icons/turf/floors/carpet_blue.dmi'
floor_tile = /obj/item/stack/tile/carpet/blue
canSmoothWith = list(/turf/open/floor/carpet/blue, /turf/open/floor/carpet/blue/airless)
/turf/open/floor/carpet/cyan
icon = 'icons/turf/floors/carpet_cyan.dmi'
floor_tile = /obj/item/stack/tile/carpet/cyan
canSmoothWith = list(/turf/open/floor/carpet/cyan, /turf/open/floor/carpet/cyan/airless)
/turf/open/floor/carpet/green
icon = 'icons/turf/floors/carpet_green.dmi'
floor_tile = /obj/item/stack/tile/carpet/green
canSmoothWith = list(/turf/open/floor/carpet/green, /turf/open/floor/carpet/green/airless)
/turf/open/floor/carpet/orange
icon = 'icons/turf/floors/carpet_orange.dmi'
floor_tile = /obj/item/stack/tile/carpet/orange
canSmoothWith = list(/turf/open/floor/carpet/orange, /turf/open/floor/carpet/orange/airless)
/turf/open/floor/carpet/purple
icon = 'icons/turf/floors/carpet_purple.dmi'
floor_tile = /obj/item/stack/tile/carpet/purple
canSmoothWith = list(/turf/open/floor/carpet/purple, /turf/open/floor/carpet/purple/airless)
/turf/open/floor/carpet/red
icon = 'icons/turf/floors/carpet_red.dmi'
floor_tile = /obj/item/stack/tile/carpet/red
canSmoothWith = list(/turf/open/floor/carpet/red, /turf/open/floor/carpet/red/airless)
/turf/open/floor/carpet/royalblack
icon = 'icons/turf/floors/carpet_royalblack.dmi'
floor_tile = /obj/item/stack/tile/carpet/royalblack
canSmoothWith = list(/turf/open/floor/carpet/royalblack, /turf/open/floor/carpet/royalblack/airless)
/turf/open/floor/carpet/royalblue
icon = 'icons/turf/floors/carpet_royalblue.dmi'
floor_tile = /obj/item/stack/tile/carpet/royalblue
canSmoothWith = list(/turf/open/floor/carpet/royalblue, /turf/open/floor/carpet/royalblue/airless)
//*****Airless versions of all of the above.*****
/turf/open/floor/carpet/airless
initial_gas_mix = AIRLESS_ATMOS
/turf/open/floor/carpet/black/airless
initial_gas_mix = AIRLESS_ATMOS
/turf/open/floor/carpet/blackred/airless
initial_gas_mix = AIRLESS_ATMOS
/turf/open/floor/carpet/monochrome/airless
initial_gas_mix = AIRLESS_ATMOS
/turf/open/floor/carpet/blue/airless
initial_gas_mix = AIRLESS_ATMOS
/turf/open/floor/carpet/cyan/airless
initial_gas_mix = AIRLESS_ATMOS
/turf/open/floor/carpet/green/airless
initial_gas_mix = AIRLESS_ATMOS
/turf/open/floor/carpet/orange/airless
initial_gas_mix = AIRLESS_ATMOS
/turf/open/floor/carpet/purple/airless
initial_gas_mix = AIRLESS_ATMOS
/turf/open/floor/carpet/red/airless
initial_gas_mix = AIRLESS_ATMOS
/turf/open/floor/carpet/royalblack/airless
initial_gas_mix = AIRLESS_ATMOS
/turf/open/floor/carpet/royalblue/airless
initial_gas_mix = AIRLESS_ATMOS
/turf/open/floor/carpet/narsie_act(force, ignore_mobs, probability = 20)
. = (prob(probability) || force)
for(var/I in src)
var/atom/A = I
if(ignore_mobs && ismob(A))
continue
if(ismob(A) || .)
A.narsie_act()
/turf/open/floor/carpet/break_tile()
broken = TRUE
update_icon()
/turf/open/floor/carpet/burn_tile()
burnt = TRUE
update_icon()
/turf/open/floor/carpet/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir)
return FALSE
/turf/open/floor/fakepit
desc = "A clever illusion designed to look like a bottomless pit."
smooth = SMOOTH_TRUE | SMOOTH_BORDER | SMOOTH_MORE
canSmoothWith = list(/turf/open/floor/fakepit)
icon = 'icons/turf/floors/Chasms.dmi'
icon_state = "smooth"
tiled_dirt = FALSE
/turf/open/floor/fakepit/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir)
underlay_appearance.icon = 'icons/turf/floors.dmi'
underlay_appearance.icon_state = "basalt"
return TRUE
/turf/open/floor/fakespace
icon = 'icons/turf/space.dmi'
icon_state = "0"
floor_tile = /obj/item/stack/tile/fakespace
broken_states = list("damaged")
plane = PLANE_SPACE
tiled_dirt = FALSE
/turf/open/floor/fakespace/Initialize()
. = ..()
icon_state = SPACE_ICON_STATE
/turf/open/floor/fakespace/get_smooth_underlay_icon(mutable_appearance/underlay_appearance, turf/asking_turf, adjacency_dir)
underlay_appearance.icon = 'icons/turf/space.dmi'
underlay_appearance.icon_state = SPACE_ICON_STATE
underlay_appearance.plane = PLANE_SPACE
return TRUE