Add new hideout ruin, fix misc ruin bugs (#13527)

This commit is contained in:
Wildkins
2022-04-18 13:15:03 -04:00
committed by GitHub
parent 7e4e54c65f
commit ef02a994fa
5 changed files with 162 additions and 3 deletions
+1 -1
View File
@@ -27,7 +27,7 @@ var/list/banned_ruin_ids = list()
while (remaining > 0 && length(available))
var/datum/map_template/ruin/ruin = pickweight(available)
if (ruin.spawn_cost > budget)
if (ruin.spawn_cost > remaining)
available -= ruin
continue
+2
View File
@@ -24,6 +24,8 @@
. = ..()
if(ispath(projectile_type))
BB = new projectile_type(src)
else
expend() // allows spawning spent casings by nulling projectile_type
randpixel_xy()
transform = turn(transform,rand(0,360))
+7
View File
@@ -0,0 +1,7 @@
author: JohnWildkins
delete-after: True
changes:
- rscadd: "Added a new hideout exoplanet ruin, available to explore."
- bugfix: "Fixed ruin site selection + budgeting."
@@ -8,7 +8,7 @@
sectors = list(SECTOR_TAU_CETI, SECTOR_ROMANOVICH, SECTOR_CORP_ZONE)
suffix = "asteroid/mining_base.dmm"
template_flags = RUIN_HUMAN
ruin_tags = RUIN_HUMAN
/datum/map_template/ruin/exoplanet/carp_nest
name = "Carp Nest"
@@ -20,4 +20,16 @@
sectors = list(SECTOR_TAU_CETI, SECTOR_ROMANOVICH, SECTOR_CORP_ZONE)
suffix = "asteroid/carp_nest.dmm"
template_flags = RUIN_ALIEN
ruin_tags = RUIN_ALIEN
/datum/map_template/ruin/exoplanet/hideout
name = "Abandoned Hideout"
id = "hideout"
description = "An abandoned hideout, seemingly once belonging to a marooned crew."
spawn_weight = 0.5
spawn_cost = 4
sectors = list(SECTOR_TAU_CETI, SECTOR_ROMANOVICH, SECTOR_CORP_ZONE)
suffix = "asteroid/hideout.dmm"
ruin_tags = RUIN_HUMAN|RUIN_WRECK
@@ -0,0 +1,138 @@
"aK" = (/obj/structure/closet/toolcloset,/turf/simulated/floor/tiled/airless,/area/exoplanet/barren/asteroid)
"aV" = (/obj/item/gun/projectile/pirate,/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"aW" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"bD" = (/obj/effect/decal/cleanable/blood/splatter,/obj/item/ammo_casing/c10mm{projectile_type = null},/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"bZ" = (/obj/structure/grille,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"cv" = (/obj/random/junk,/obj/item/stack/cable_coil/cut,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"du" = (/obj/machinery/light/small/red,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"dA" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"dK" = (/obj/effect/gibspawner/robot,/turf/unsimulated/floor/asteroid/ash,/area/exoplanet/barren/asteroid)
"dT" = (/turf/unsimulated/floor/asteroid/ash,/area/exoplanet/barren/asteroid)
"ef" = (/obj/structure/bed/stool/chair/shuttle{dir = 4},/turf/simulated/floor/tiled/airless,/area/exoplanet/barren/asteroid)
"gc" = (/mob/living/simple_animal/hostile/rogue_drone,/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"ge" = (/obj/item/material/shard,/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"go" = (/obj/effect/decal/cleanable/blood/gibs/limb,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"gq" = (/obj/item/ammo_casing/c10mm{projectile_type = null},/obj/item/ammo_casing/c10mm{projectile_type = null},/obj/item/ammo_casing/c10mm{projectile_type = null},/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"hm" = (/obj/random/glowstick,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"hz" = (/obj/random/keg,/turf/unsimulated/floor/asteroid/ash,/area/exoplanet/barren/asteroid)
"hO" = (/obj/structure/cable{dir = 4},/obj/item/broken_device,/turf/simulated/floor/tiled/airless,/area/exoplanet/barren/asteroid)
"iD" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"iX" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/drinks/bottle/small/ale,/obj/item/reagent_containers/food/drinks/bottle/small/ale,/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"js" = (/obj/structure/table/rack,/obj/random/contraband,/obj/random/contraband,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"jG" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"jI" = (/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor/plating,/area/exoplanet/barren/asteroid)
"jJ" = (/obj/structure/table/rack,/obj/structure/trash_pile,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"kh" = (/obj/effect/decal/cleanable/blood/gibs/body,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"ku" = (/obj/structure/table/rack,/obj/structure/closet/crate/loot,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"ky" = (/obj/structure/grille/broken,/obj/item/material/shard,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"mi" = (/obj/random/junk,/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"mN" = (/obj/effect/gibspawner/robot,/turf/simulated/wall,/area/exoplanet/barren/asteroid)
"nt" = (/obj/random/junk,/obj/random/finances,/turf/unsimulated/floor/asteroid/ash,/area/exoplanet/barren/asteroid)
"nB" = (/obj/effect/landmark/corpse/commander,/obj/effect/decal/cleanable/blood,/obj/item/gun/projectile/revolver/mateba,/obj/item/ammo_casing/a454{projectile_type = null},/turf/unsimulated/floor/asteroid/ash,/area/exoplanet/barren/asteroid)
"oe" = (/obj/effect/map_effect/airlock/long/square/engine/reversed,/turf/simulated/wall,/area/exoplanet/barren/asteroid)
"pw" = (/obj/random/vendor,/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"pI" = (/obj/random/voidsuit/no_nanotrasen,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"sz" = (/obj/structure/droppod_door,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"tb" = (/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/airless,/area/space)
"tp" = (/obj/random/melee,/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"tA" = (/obj/item/trash/syndi_cakes,/turf/unsimulated/floor/asteroid/ash,/area/exoplanet/barren/asteroid)
"tH" = (/turf/simulated/wall/shuttle/dark,/area/exoplanet/barren/asteroid)
"uq" = (/obj/random/junk,/turf/simulated/floor/tiled/airless,/area/exoplanet/barren/asteroid)
"uO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/airless,/area/exoplanet/barren/asteroid)
"vK" = (/obj/effect/map_effect/wingrille_spawn/full,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"vV" = (/obj/structure/mech_wreckage/powerloader,/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"wl" = (/obj/structure/grille/broken,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"xD" = (/obj/effect/decal/cleanable/blood/tracks/footprints,/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"xT" = (/turf/simulated/wall{can_open = 1},/area/exoplanet/barren/asteroid)
"yg" = (/mob/living/simple_animal/hostile/viscerator,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"yh" = (/obj/item/ammo_casing/shotgun/pellet{projectile_type = null},/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"yi" = (/obj/item/ammo_casing/c10mm{projectile_type = null},/obj/item/ammo_casing/c10mm{projectile_type = null},/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"yP" = (/obj/effect/decal/cleanable/blood/drip,/obj/item/ammo_casing/shotgun/pellet{projectile_type = null},/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"zf" = (/obj/random/glowstick,/turf/simulated/floor/tiled/airless,/area/exoplanet/barren/asteroid)
"zo" = (/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"Ab" = (/obj/random/document/junk,/obj/item/trash/cigbutt/cigarbutt,/turf/unsimulated/floor/asteroid/ash,/area/exoplanet/barren/asteroid)
"Aq" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/drinks/drinkingglass,/obj/item/reagent_containers/food/drinks/drinkingglass,/obj/item/reagent_containers/food/drinks/drinkingglass,/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"AD" = (/turf/simulated/floor/tiled/airless,/area/exoplanet/barren/asteroid)
"AQ" = (/obj/random/toolbox,/turf/simulated/floor/tiled/airless,/area/exoplanet/barren/asteroid)
"Bt" = (/obj/structure/bed/stool/chair/shuttle,/turf/simulated/floor/tiled/airless,/area/exoplanet/barren/asteroid)
"BK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/gibspawner/robot,/turf/simulated/floor/tiled/airless,/area/exoplanet/barren/asteroid)
"Cq" = (/obj/machinery/atmospherics/valve{dir = 4},/turf/simulated/floor/plating,/area/exoplanet/barren/asteroid)
"CB" = (/obj/structure/table/wood,/obj/random/medical,/obj/random/random_flag,/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"Dk" = (/obj/effect/gibspawner/human,/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"DN" = (/obj/structure/trash_pile,/turf/unsimulated/floor/asteroid/ash,/area/exoplanet/barren/asteroid)
"DT" = (/obj/effect/landmark/corpse/miner,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"DW" = (/obj/structure/reagent_dispensers/keg/beerkeg,/turf/unsimulated/floor/asteroid/ash,/area/exoplanet/barren/asteroid)
"Ec" = (/obj/machinery/light/small/red{dir = 4},/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"Eo" = (/obj/machinery/floodlight,/turf/unsimulated/floor/asteroid/ash,/area/exoplanet/barren/asteroid)
"Fi" = (/obj/effect/gibspawner/human,/obj/item/gun/projectile/shotgun/improvised/sawn,/turf/unsimulated/floor/asteroid/ash,/area/exoplanet/barren/asteroid)
"Fv" = (/obj/machinery/light/small/red{dir = 1},/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"Fx" = (/obj/random/medical,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"GC" = (/turf/simulated/mineral,/area/exoplanet/barren/asteroid)
"GE" = (/obj/effect/decal/cleanable/blood/oil/streak,/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"GN" = (/obj/effect/gibspawner/human,/turf/unsimulated/floor/asteroid/ash,/area/exoplanet/barren/asteroid)
"HT" = (/obj/structure/closet/crate/trashcart,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"HW" = (/obj/item/ammo_magazine/c38,/obj/item/ammo_casing/shotgun/pellet,/obj/item/gun/projectile/revolver/lemat,/turf/unsimulated/floor/asteroid/ash,/area/exoplanet/barren/asteroid)
"Id" = (/obj/item/ammo_casing/shotgun/pellet{projectile_type = null},/turf/unsimulated/floor/asteroid/ash,/area/exoplanet/barren/asteroid)
"If" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"Iz" = (/obj/structure/bed/stool/bar/wood,/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"IP" = (/obj/effect/decal/cleanable/blood/gibs/robot,/obj/effect/decal/cleanable/blood/oil/streak,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"Jj" = (/obj/machinery/light{dir = 1; icon_state = "tube1"},/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"Kx" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"KE" = (/obj/random/junk,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"Lg" = (/obj/effect/gibspawner/robot,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"Mw" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10},/turf/simulated/floor/plating,/area/exoplanet/barren/asteroid)
"MX" = (/obj/random/firstaid,/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"Oe" = (/obj/machinery/chemical_dispenser/bar_alc/full{dir = 4; pixel_x = -4},/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"Oz" = (/obj/effect/decal/cleanable/blood/drip,/obj/item/ammo_casing/c10mm{projectile_type = null},/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"OE" = (/obj/structure/table/rack,/obj/structure/closet/crate/drop/grey{icon_state = "dropcrate-grey-open"; opened = 1},/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"OK" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/drinks/bottle/small/beer,/obj/item/reagent_containers/food/drinks/bottle/small/beer,/obj/item/reagent_containers/food/drinks/bottle/small/beer,/obj/item/reagent_containers/food/drinks/bottle/small/beer,/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"PR" = (/turf/simulated/wall,/area/exoplanet/barren/asteroid)
"QK" = (/obj/structure/cable{dir = 8},/obj/item/trash/broken_electronics,/turf/simulated/floor/tiled/airless,/area/exoplanet/barren/asteroid)
"QU" = (/obj/item/mecha_equipment/mounted_system/combat/taser,/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"Rl" = (/mob/living/simple_animal/hostile/rogue_drone,/turf/unsimulated/floor/asteroid/ash,/area/exoplanet/barren/asteroid)
"Rs" = (/obj/item/ammo_casing/c10mm{projectile_type = null},/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"Sy" = (/obj/random/melee,/turf/unsimulated/floor/asteroid/ash,/area/exoplanet/barren/asteroid)
"Tj" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"Tn" = (/obj/item/material/shard,/turf/unsimulated/floor/asteroid/ash,/area/exoplanet/barren/asteroid)
"Um" = (/obj/effect/decal/cleanable/blood/gibs,/obj/item/material/shard,/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"VS" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"Wg" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plating,/area/exoplanet/barren/asteroid)
"Xa" = (/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"Xu" = (/obj/item/ammo_casing/shotgun/pellet{projectile_type = null},/turf/simulated/floor/tiled/asteroid/airless,/area/exoplanet/barren/asteroid)
"ZE" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
"ZO" = (/obj/effect/decal/cleanable/blood/gibs/robot/limb,/obj/effect/decal/cleanable/blood/oil/streak,/turf/simulated/floor/airless,/area/exoplanet/barren/asteroid)
(1,1,1) = {"
dTdTdTdTdTdTdTdTdTdTIddTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdT
dTdTdTdTdTdTdTdTdTdTFiIddTdTGCGCGCGCGCdTGCdTdTdTdTdTdTdTdTdTdTdT
dTdTdTdTdTdTdTdTGCGCdTdTGCGCGCGCGCGCGCGCdTGCGCdTdTdTdTdTdTdTdTdT
dTdTdTdTdTdTdTGCPRPRxTxTPRPRPRPRPRGCGCdTGCGCGCdTdTdTdTdTdTdTdTdT
dTdTdTdTdTdTGCPRPRjGzozoVSHTjJzoPRGCGCdTGCGCGCGCTndTdTdTdTdTdTdT
dTdTdTdTdTGCPRPRFvTjiDiDZEzokuEcPRGCGCGCGCGCGCdTdTdTdTdTdTdTdTdT
dTdTdTdTGCPRPRzozozoKEzozoKEjJzoPRhzhzhzGCPRPRkyPRwlwlPRvKPRPRdT
dTdTdTGCPRPRzoKEzokuzoygjJzokuzoPRAbnBntGCPROegeJjXaXadAXamiPRdT
dTdTdTGCPRzoKEzoaWOEDTLgjJKEkuzoPRPRxTPRPRPRAqiXOKCBXamiXapwPRdT
dTdTGCGCPRzozoKEgokhaWIPZOyizobDOzKEgoaWyPxTRsIzIzIzXuDkaVXawldT
dTdTGCGCmNzozoygzozozozoyiyhFxOzzoaWduyPgoxTUmxDxDxDgcXaXupwPRdT
dTdTdTGCPRzozozojsEcPRPRPRPRPRPRPRPRPRPRPRPRgqtpDkRsMXXaQUmiPRdT
dTdTdTGCPRtbKxzojJKEPRGCGCGCGCGCGCGCGCdTdTPRjICqWgMwGEGEIfvVbZdT
dTRldTdTxTzoVSzokuzoPRGCHWDNGCGCGCGCdTdTdTPRPRvKPRPRzoPRvKwlwldT
dTGNSydTxTzoVSzojJzoxTdTtADWGCGCGCdTdTdTdTdTdTdTPRpIzoPRdTdTdTdT
dTdTdTGCPRiDZEzokuzoPRGCGCGCGCdTdTdTdTdTdTdTdTdTPRzozoPRdTdTdTdT
dTGCGCGCPRPRPRPRPRPRPRGCGCGCGCdTdTdTdTdTdTdTEodToePRzoPRdTRldTdT
dTdTGCGCGCGCGCGCGCGCGCGCdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdT
dTdTGCGCGCGCdTGCdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdT
dTGCGCdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdT
dTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdKdTdTdTdTdTdTdTdTdTdT
dTdTdTdTdTdTdTdTdTdTdTtHtHtHtHwlwldTdTdTdTdTdTdTdTdTdTdTdTdTdTdT
dTdTdTdTdTdTdTdTdTdTdTtHBtBtefzozozodTdTdTdTdTdTdTdTdTdTdTdTdTdT
dTdTdTdTdTdTdTdTdTdTdTwlADADADhmpIzowldTdTdTdTdTdTdTdTdTdTdTdTdT
dTdTdTdTdTdTdTdTdTdTdTwlADzfADuqADaKtHdTdTdTdTdTdTdTdTdTdTdTdTdT
dTdTdTdTdTdTdTdTdTdTdTwlQKcvuOBKuOhOtHdTdTdTdTdTdTdTdTdTdTdTdTdT
dTdTdTdTdTdTdTdTdTdTdTbZAQADuqzoADADtHdTdTdTdTdTdTdTdTdTdTdTdTdT
dTdTdTdTdTdTdTdTdTdTdTtHaKADADKEzoADtHdTdTdTdTdTdTdTdTdTdTdTdTdT
dTdTdTdTdTdTdTdTdTdTdTtHtHszszsztHwltHdTdTdTdTdTdTdTdTdTdTdTdTdT
dTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdT
dTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdT
dTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdTdT
"}