diff --git a/code/game/turfs/space/cracked_asteroid.dm b/code/game/turfs/space/cracked_asteroid.dm new file mode 100644 index 0000000000..b9f43af82e --- /dev/null +++ b/code/game/turfs/space/cracked_asteroid.dm @@ -0,0 +1,16 @@ +// This is used to have vacuums inside the asteroid be more present. + +/turf/space/cracked_asteroid + icon = 'icons/turf/flooring/asteroid.dmi' + name = "cracked sand" + desc = "Rough sand with a huge crack. It probably leads out into the void." + icon_state = "asteroid_cracked" + dynamic_lighting = TRUE + +/turf/space/cracked_asteroid/is_space() // So people don't start floating when standing on it. + return FALSE + +/turf/space/cracked_asteroid/New() + ..() + spawn(2 SECONDS) + overlays.Cut() \ No newline at end of file diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index 9ab3828587..5af7056562 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -9,7 +9,7 @@ // heat_capacity = 700000 No. /turf/space/New() - if(!istype(src, /turf/space/transit)) + if(!istype(src, /turf/space/transit) && !istype(src, /turf/space/cracked_asteroid)) icon_state = "[((x + y) ^ ~(x * y) + z) % 25]" update_starlight() ..() diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index 1c6208061d..0a5c2d94c3 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -139,7 +139,7 @@ var/list/mining_overlay_cache = list() overlays += mining_overlay_cache["dug_overlay"] for(var/direction in cardinal) - if(istype(get_step(src, direction), /turf/space)) + if(istype(get_step(src, direction), /turf/space) && !istype(get_step(src, direction), /turf/space/cracked_asteroid)) if(!mining_overlay_cache["asteroid_edge_[direction]"]) mining_overlay_cache["asteroid_edge_[direction]"] = image('icons/turf/flooring/asteroid.dmi', "asteroid_edges", dir = direction) overlays += mining_overlay_cache["asteroid_edge_[direction]"] diff --git a/code/modules/random_map/automata/caves.dm b/code/modules/random_map/automata/caves.dm index 30e6f1376a..4868e6d068 100644 --- a/code/modules/random_map/automata/caves.dm +++ b/code/modules/random_map/automata/caves.dm @@ -45,7 +45,10 @@ var/turf/simulated/mineral/T = locate((origin_x-1)+x,(origin_y-1)+y,origin_z) if(istype(T) && !T.ignore_mapgen) if(map[current_cell] == FLOOR_CHAR) - T.make_floor() + if(prob(90)) + T.make_floor() + else + T.ChangeTurf(/turf/space/cracked_asteroid) else T.make_wall() if(map[current_cell] == DOOR_CHAR) diff --git a/icons/turf/flooring/asteroid.dmi b/icons/turf/flooring/asteroid.dmi index 8f48310536..f623dfeb8e 100644 Binary files a/icons/turf/flooring/asteroid.dmi and b/icons/turf/flooring/asteroid.dmi differ diff --git a/polaris.dme b/polaris.dme index 16fd036728..ef44fd0b32 100644 --- a/polaris.dme +++ b/polaris.dme @@ -994,6 +994,7 @@ #include "code\game\turfs\simulated\wall_types.dm" #include "code\game\turfs\simulated\walls.dm" #include "code\game\turfs\snow\snow.dm" +#include "code\game\turfs\space\cracked_asteroid.dm" #include "code\game\turfs\space\space.dm" #include "code\game\turfs\space\transit.dm" #include "code\game\turfs\unsimulated\beach.dm"