216 lines
6.0 KiB
Plaintext
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
|