Files
GS13NG/code/game/turfs/simulated/floor/fancy_floor.dm
T
2017-06-21 08:32:00 -05:00

216 lines
6.0 KiB
Plaintext

/* In this file:
* Wood floor
* Grass floor
* Fake Basalt
* Carpet floor
* Fake pits
* Fake space
*/
/turf/open/floor/wood
icon_state = "wood"
floor_tile = /obj/item/stack/tile/wood
broken_states = list("wood-broken", "wood-broken2", "wood-broken3", "wood-broken4", "wood-broken5", "wood-broken6", "wood-broken7")
/turf/open/floor/wood/attackby(obj/item/C, mob/user, params)
if(..())
return
if(istype(C, /obj/item/weapon/screwdriver))
pry_tile(C, user)
return
/turf/open/floor/wood/try_replace_tile(obj/item/stack/tile/T, mob/user, params)
if(T.turf_type == type)
return
var/obj/item/weapon/tool = user.is_holding_item_of_type(/obj/item/weapon/screwdriver)
if(!tool)
tool = user.is_holding_item_of_type(/obj/item/weapon/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)
var/is_screwdriver = istype(C, /obj/item/weapon/screwdriver)
playsound(src, C.usesound, 80, 1)
return remove_tile(user, silent, make_tile = is_screwdriver)
/turf/open/floor/wood/remove_tile(mob/user, silent = FALSE, make_tile = TRUE)
if(broken || burnt)
broken = 0
burnt = 0
if(user && !silent)
to_chat(user, "<span class='danger'>You remove the broken planks.</span>")
else
if(make_tile)
if(user && !silent)
to_chat(user, "<span class='danger'>You unscrew the planks.</span>")
if(floor_tile)
new floor_tile(src)
else
if(user && !silent)
to_chat(user, "<span class='danger'>You forcefully pry off the planks, destroying them in the process.</span>")
return make_plating()
/turf/open/floor/wood/cold
temperature = 255.37
/turf/open/floor/wood/airless
initial_gas_mix = "TEMP=2.7"
/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 = NONE
var/ore_type = /obj/item/weapon/ore/glass
var/turfverb = "uproot"
/turf/open/floor/grass/Initialize()
..()
update_icon()
/turf/open/floor/grass/attackby(obj/item/C, mob/user, params)
if(istype(C, /obj/item/weapon/shovel) && params)
new ore_type(src)
new ore_type(src) //Make some sand if you shovel grass
user.visible_message("<span class='notice'>[user] digs up [src].</span>", "<span class='notice'>You [src.turfverb] [src].</span>")
playsound(src, 'sound/effects/shovel_dig.ogg', 50, 1)
make_plating()
if(..())
return
/turf/open/floor/grass/snow
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 = "o2=22;n2=82;TEMP=180"
slowdown = 2
/turf/open/floor/grass/snow/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/weapon/crowbar))//You need to dig this turf out instead of crowbarring it
return
..()
/turf/open/floor/grass/snow/basalt //By your powers combined, I am captain planet
name = "volcanic floor"
icon = 'icons/turf/floors.dmi'
icon_state = "basalt"
ore_type = /obj/item/weapon/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/weapon/ore/glass/basalt
turfverb = "dig up"
slowdown = 0
/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)
flags = NONE
/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
canSmoothWith = list(/turf/open/floor/carpet/black)
/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 = 1
update_icon()
/turf/open/floor/carpet/burn_tile()
burnt = 1
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"
/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
/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