From 393c9899a9dd56adade7a5e05bd7327725932229 Mon Sep 17 00:00:00 2001 From: Neerti Date: Sun, 2 Oct 2016 06:24:32 -0400 Subject: [PATCH] Adds Asteroid Cracks Adds a new type of turf, which is a cracked asteroid floor. It is functionally a space tile, which means air can escape through the cracks and into the void. These cracks can be plugged by building a floor over them using rods and tiles. The cracks are generated randomly along with the asteroid whenever a floor is placed, with a 1 in 10 chance of it being a cracked floor. --- code/game/turfs/space/cracked_asteroid.dm | 16 ++++++++++++++++ code/game/turfs/space/space.dm | 2 +- code/modules/mining/mine_turfs.dm | 2 +- code/modules/random_map/automata/caves.dm | 5 ++++- icons/turf/flooring/asteroid.dmi | Bin 7227 -> 9269 bytes polaris.dme | 1 + 6 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 code/game/turfs/space/cracked_asteroid.dm diff --git a/code/game/turfs/space/cracked_asteroid.dm b/code/game/turfs/space/cracked_asteroid.dm new file mode 100644 index 00000000000..b9f43af82e2 --- /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 9ab38285871..5af70565623 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 1c6208061dd..0a5c2d94c38 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 30e6f1376a5..4868e6d0684 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 8f483105368b0e4cb0ec0c671310252591e26208..f623dfeb8e2dbf7cdf5fe28fef34a0ad8be504c2 100644 GIT binary patch literal 9269 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 literal 7227 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