Adds some neat tiles and walls for use on lavaland

This commit is contained in:
CitadelStationBot
2017-06-26 09:19:17 -05:00
parent 028752c3de
commit ac33b9defb
10 changed files with 197 additions and 3 deletions

View File

@@ -14,6 +14,7 @@
#define CLOSED_TURF_LAYER 2.05
#define ABOVE_NORMAL_TURF_LAYER 2.08
#define LATTICE_LAYER 2.2
#define OVER_LATTICE_LAYER 2.25
#define DISPOSAL_PIPE_LAYER 2.3
#define GAS_PIPE_HIDDEN_LAYER 2.35
#define WIRE_LAYER 2.4

View File

@@ -116,6 +116,23 @@
underlay_appearance.icon_state = "necro1"
return TRUE
/turf/closed/indestructible/riveted/boss
name = "stone wall"
desc = "A thick, seemingly indestructible stone wall."
icon = 'icons/turf/walls/boss_wall.dmi'
icon_state = "wall"
explosion_block = 50
baseturf = /turf/closed/indestructible/riveted/boss
/turf/closed/indestructible/riveted/boss/hot
icon = 'icons/turf/walls/boss_wall_hot.dmi'
baseturf = /turf/closed/indestructible/riveted/boss/hot
/turf/closed/indestructible/riveted/boss/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/closed/indestructible/riveted/hierophant
name = "wall"
desc = "A wall made out of a strange metal. The squares on it pulse in a predictable pattern."

View File

@@ -54,8 +54,16 @@
else
to_chat(user, "<span class='warning'>The plating is going to need some support! Place metal rods first.</span>")
/turf/open/chasm/proc/is_safe()
//if anything matching this typecache is found in the chasm, we don't drop things
var/static/list/chasm_safeties_typecache = typecacheof(list(/obj/structure/lattice/catwalk, /obj/structure/stone_tile))
var/list/found_safeties = typecache_filter_list(contents, chasm_safeties_typecache)
return LAZYLEN(found_safeties)
/turf/open/chasm/proc/drop_stuff(AM)
. = 0
if(is_safe())
return FALSE
var/thing_to_check = src
if(AM)
thing_to_check = list(AM)

View File

@@ -54,7 +54,7 @@
/turf/open/floor/plating/lava/proc/is_safe()
//if anything matching this typecache is found in the lava, we don't burn things
var/static/list/lava_safeties_typecache = typecacheof(list(/obj/structure/lattice/catwalk))
var/static/list/lava_safeties_typecache = typecacheof(list(/obj/structure/lattice/catwalk, /obj/structure/stone_tile))
var/list/found_safeties = typecache_filter_list(contents, lava_safeties_typecache)
return LAZYLEN(found_safeties)

View File

@@ -4,12 +4,14 @@
var/blacklisted_turfs
var/whitelisted_turfs
var/banned_areas
var/banned_objects
/datum/map_template/shelter/New()
. = ..()
blacklisted_turfs = typecacheof(/turf/closed)
whitelisted_turfs = list()
banned_areas = typecacheof(/area/shuttle)
banned_objects = list()
/datum/map_template/shelter/proc/check_deploy(turf/deploy_location)
var/affected = get_affected_turfs(deploy_location, centered=TRUE)
@@ -24,7 +26,7 @@
return SHELTER_DEPLOY_BAD_TURFS
for(var/obj/O in T)
if(O.density && O.anchored)
if((O.density && O.anchored) || is_type_in_typecache(O, banned_objects))
return SHELTER_DEPLOY_ANCHORED_OBJECTS
return SHELTER_DEPLOY_ALLOWED
@@ -40,7 +42,7 @@
/datum/map_template/shelter/alpha/New()
. = ..()
whitelisted_turfs = typecacheof(/turf/closed/mineral)
banned_objects = typecacheof(/obj/structure/stone_tile)
/datum/map_template/shelter/beta
name = "Shelter Beta"
@@ -55,3 +57,4 @@
/datum/map_template/shelter/beta/New()
. = ..()
whitelisted_turfs = typecacheof(/turf/closed/mineral)
banned_objects = typecacheof(/obj/structure/stone_tile)

View File

@@ -60,3 +60,168 @@
. = ..()
else
return QDEL_HINT_LETMELIVE
//stone tiles for boss arenas
/obj/structure/stone_tile
name = "stone tile"
icon = 'icons/turf/boss_floors.dmi'
icon_state = "pristine_tile1"
layer = OVER_LATTICE_LAYER
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
var/tile_key = "pristine_tile"
var/tile_random_sprite_max = 24
/obj/structure/stone_tile/Initialize(mapload)
. = ..()
icon_state = "[tile_key][rand(1, tile_random_sprite_max)]"
/obj/structure/stone_tile/block
name = "stone block"
icon_state = "pristine_block1"
tile_key = "pristine_block"
tile_random_sprite_max = 4
/obj/structure/stone_tile/slab
name = "stone slab"
icon_state = "pristine_slab1"
tile_key = "pristine_slab"
tile_random_sprite_max = 4
/obj/structure/stone_tile/center
name = "stone center tile"
icon_state = "pristine_center1"
tile_key = "pristine_center"
tile_random_sprite_max = 4
/obj/structure/stone_tile/surrounding
name = "stone surrounding slab"
icon_state = "pristine_surrounding1"
tile_key = "pristine_surrounding"
tile_random_sprite_max = 2
/obj/structure/stone_tile/surrounding_tile
name = "stone surrounding tile"
icon_state = "pristine_surrounding_tile1"
tile_key = "pristine_surrounding_tile"
tile_random_sprite_max = 2
//cracked stone tiles
/obj/structure/stone_tile/cracked
name = "cracked stone tile"
icon_state = "cracked_tile1"
tile_key = "cracked_tile"
/obj/structure/stone_tile/block/cracked
name = "cracked stone block"
icon_state = "cracked_block1"
tile_key = "cracked_block"
/obj/structure/stone_tile/slab/cracked
name = "cracked stone slab"
icon_state = "cracked_slab1"
tile_key = "cracked_slab"
tile_random_sprite_max = 1
/obj/structure/stone_tile/center/cracked
name = "cracked stone center tile"
icon_state = "cracked_center1"
tile_key = "cracked_center"
/obj/structure/stone_tile/surrounding/cracked
name = "cracked stone surrounding slab"
icon_state = "cracked_surrounding1"
tile_key = "cracked_surrounding"
tile_random_sprite_max = 1
/obj/structure/stone_tile/surrounding_tile/cracked
name = "cracked stone surrounding tile"
icon_state = "cracked_surrounding_tile1"
tile_key = "cracked_surrounding_tile"
//burnt stone tiles
/obj/structure/stone_tile/burnt
name = "burnt stone tile"
icon_state = "burnt_tile1"
tile_key = "burnt_tile"
/obj/structure/stone_tile/block/burnt
name = "burnt stone block"
icon_state = "burnt_block1"
tile_key = "burnt_block"
/obj/structure/stone_tile/slab/burnt
name = "burnt stone slab"
icon_state = "burnt_slab1"
tile_key = "burnt_slab"
/obj/structure/stone_tile/center/burnt
name = "burnt stone center tile"
icon_state = "burnt_center1"
tile_key = "burnt_center"
/obj/structure/stone_tile/surrounding/burnt
name = "burnt stone surrounding slab"
icon_state = "burnt_surrounding1"
tile_key = "burnt_surrounding"
/obj/structure/stone_tile/surrounding_tile/burnt
name = "burnt stone surrounding tile"
icon_state = "burnt_surrounding_tile1"
tile_key = "burnt_surrounding_tile"
//hot stone tiles, cosmetic only
/obj/structure/stone_tile/hot
icon = 'icons/turf/boss_floors_hot.dmi'
/obj/structure/stone_tile/block/hot
icon = 'icons/turf/boss_floors_hot.dmi'
/obj/structure/stone_tile/slab/hot
icon = 'icons/turf/boss_floors_hot.dmi'
/obj/structure/stone_tile/center/hot
icon = 'icons/turf/boss_floors_hot.dmi'
/obj/structure/stone_tile/surrounding/hot
icon = 'icons/turf/boss_floors_hot.dmi'
/obj/structure/stone_tile/surrounding_tile/hot
icon = 'icons/turf/boss_floors_hot.dmi'
//hot cracked stone tiles, cosmetic only
/obj/structure/stone_tile/cracked/hot
icon = 'icons/turf/boss_floors_hot.dmi'
/obj/structure/stone_tile/block/cracked/hot
icon = 'icons/turf/boss_floors_hot.dmi'
/obj/structure/stone_tile/slab/cracked/hot
icon = 'icons/turf/boss_floors_hot.dmi'
/obj/structure/stone_tile/center/cracked/hot
icon = 'icons/turf/boss_floors_hot.dmi'
/obj/structure/stone_tile/surrounding/cracked/hot
icon = 'icons/turf/boss_floors_hot.dmi'
/obj/structure/stone_tile/surrounding_tile/cracked/hot
icon = 'icons/turf/boss_floors_hot.dmi'
//hot burnt stone tiles, cosmetic only
/obj/structure/stone_tile/burnt/hot
icon = 'icons/turf/boss_floors_hot.dmi'
/obj/structure/stone_tile/block/burnt/hot
icon = 'icons/turf/boss_floors_hot.dmi'
/obj/structure/stone_tile/slab/burnt/hot
icon = 'icons/turf/boss_floors_hot.dmi'
/obj/structure/stone_tile/center/burnt/hot
icon = 'icons/turf/boss_floors_hot.dmi'
/obj/structure/stone_tile/surrounding/burnt/hot
icon = 'icons/turf/boss_floors_hot.dmi'
/obj/structure/stone_tile/surrounding_tile/burnt/hot
icon = 'icons/turf/boss_floors_hot.dmi'

BIN
icons/turf/boss_floors.dmi Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB