From cb6de824cbb5a0f1506df7228b377ca1413f90ad Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Mon, 14 Mar 2016 07:25:26 -0500 Subject: [PATCH] Monster Nests, more maps --- _maps/templates/lavaland_biodome_beach.dmm | 76 ++++++++++++++++ .../templates/lavaland_surface_xeno_nest.dmm | 81 ++++++++++++++++++ code/modules/mining/mine_turfs.dm | 7 +- .../simple_animal/hostile/mining_mobs.dm | 31 ++++++- config/lavaRuinConfig.txt | 19 +++- icons/mob/nest.dmi | Bin 2754 -> 12550 bytes 6 files changed, 206 insertions(+), 8 deletions(-) create mode 100644 _maps/templates/lavaland_biodome_beach.dmm create mode 100644 _maps/templates/lavaland_surface_xeno_nest.dmm diff --git a/_maps/templates/lavaland_biodome_beach.dmm b/_maps/templates/lavaland_biodome_beach.dmm new file mode 100644 index 00000000000..9ab4c91b9db --- /dev/null +++ b/_maps/templates/lavaland_biodome_beach.dmm @@ -0,0 +1,76 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/simulated/wall/r_wall,/area/ruin/powered) +"c" = (/turf/simulated/floor/plating{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"d" = (/obj/structure/grille,/obj/structure/window/fulltile,/turf/simulated/floor/plating{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"e" = (/turf/simulated/floor/plating/beach/sand,/area/ruin/powered) +"f" = (/obj/effect/overlay/palmtree_l,/turf/simulated/floor/plating/beach/sand,/area/ruin/powered) +"g" = (/turf/simulated/wall/mineral/sandstone,/area/ruin/powered) +"h" = (/obj/effect/overlay/palmtree_r,/obj/effect/overlay/coconut,/turf/simulated/floor/plating/beach/sand,/area/ruin/powered) +"i" = (/obj/structure/table,/obj/item/weapon/storage/box/drinkingglasses,/obj/item/weapon/storage/box/drinkingglasses,/obj/item/weapon/reagent_containers/food/drinks/shaker,/obj/item/weapon/storage/box/beakers,/turf/simulated/floor/wood,/area/ruin/powered) +"j" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor/wood,/area/ruin/powered) +"k" = (/obj/machinery/vending/boozeomat{emagged = 1},/turf/simulated/floor/wood,/area/ruin/powered) +"l" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/rag,/turf/simulated/floor/wood,/area/ruin/powered) +"m" = (/obj/effect/mob_spawn/human/cook{helmet = null; id_access = "Bartender"; id_job = "Bartender"; suit = /obj/item/clothing/suit/armor/vest; uniform = /obj/item/clothing/under/rank/bartender; death = 0; desc = "Looks secure."; flavour_text = "You are a bartender for the beach!"; icon = 'icons/obj/Cryogenic2.dmi'; icon_state = "sleeper"; mob_name = "Jerry Thomas"; name = "bartenders cryosleeper"; roundstart = 1},/turf/simulated/floor/wood,/area/ruin/powered) +"n" = (/turf/simulated/floor/wood,/area/ruin/powered) +"o" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/floor/wood,/area/ruin/powered) +"p" = (/turf/simulated/floor/plating/beach/sand,/obj/structure/closet/crate/bin,/turf/simulated/floor/plasteel/sandeffect,/area/ruin/powered) +"q" = (/turf/simulated/floor/plating/beach/sand,/turf/simulated/floor/plasteel/sandeffect,/area/ruin/powered) +"r" = (/obj/structure/table,/turf/simulated/floor/wood,/area/ruin/powered) +"s" = (/turf/simulated/floor/plating/beach/sand,/obj/machinery/vending/cigarette,/turf/simulated/floor/plasteel/sandeffect,/area/ruin/powered) +"t" = (/obj/structure/table/wood,/turf/simulated/floor/wood,/area/ruin/powered) +"u" = (/obj/machinery/processor,/turf/simulated/floor/wood,/area/ruin/powered) +"v" = (/turf/simulated/floor/plating/beach/sand,/obj/machinery/vending/cola,/turf/simulated/floor/plasteel/sandeffect,/area/ruin/powered) +"w" = (/turf/simulated/floor/plating/beach/sand,/obj/structure/chair/stool,/turf/simulated/floor/plasteel/sandeffect,/area/ruin/powered) +"x" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/floor/wood,/area/ruin/powered) +"y" = (/turf/simulated/floor/plating/beach/sand,/obj/machinery/vending/snack,/turf/simulated/floor/plasteel/sandeffect,/area/ruin/powered) +"z" = (/turf/simulated/floor/plating/beach/sand{density = 1; opacity = 1},/area/ruin/powered) +"A" = (/obj/machinery/door/airlock/sandstone,/turf/simulated/floor/wood,/area/ruin/powered) +"B" = (/obj/structure/closet/secure_closet/freezer/kitchen,/turf/simulated/floor/wood,/area/ruin/powered) +"C" = (/obj/structure/sign/barsign,/turf/simulated/wall/mineral/sandstone,/area/ruin/powered) +"D" = (/mob/living/simple_animal/crab,/turf/simulated/floor/plating/beach/sand,/area/ruin/powered) +"E" = (/obj/effect/overlay/palmtree_l,/obj/effect/overlay/coconut,/turf/simulated/floor/plating/beach/sand,/area/ruin/powered) +"F" = (/turf/simulated/floor/plating/beach/sand,/obj/structure/closet/athletic_mixed,/turf/simulated/floor/plasteel/sandeffect,/area/ruin/powered) +"G" = (/turf/simulated/floor/plating/beach/sand,/obj/item/clothing/shoes/sandal,/obj/item/clothing/shoes/sandal,/obj/item/clothing/shoes/sandal,/obj/structure/closet/crate,/turf/simulated/floor/plasteel/sandeffect,/area/ruin/powered) +"H" = (/obj/machinery/door/airlock/hatch,/turf/simulated/floor/plating{baseturf = /turf/simulated/floor/plating/lava/smooth; blocks_air = 1},/area/ruin/powered) +"I" = (/obj/machinery/door/airlock/sandstone,/turf/simulated/floor/plating{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) +"J" = (/obj/effect/overlay/coconut,/turf/simulated/floor/plating/beach/sand,/area/ruin/powered) +"K" = (/obj/item/toy/beach_ball,/turf/simulated/floor/plating/beach/sand,/area/ruin/powered) +"L" = (/obj/structure/chair,/turf/simulated/floor/plating/beach/sand,/area/ruin/powered) +"M" = (/obj/structure/chair,/mob/living/simple_animal/crab,/turf/simulated/floor/plating/beach/sand,/area/ruin/powered) +"N" = (/turf/simulated/floor/plating/beach/coastline_t,/area/ruin/powered) +"O" = (/turf/simulated/floor/plating/beach/coastline_b,/area/ruin/powered) +"P" = (/turf/simulated/floor/plating/beach/water,/area/ruin/powered) +"Q" = (/turf/simulated/wall/r_wall{baseturf = /turf/simulated/floor/plating/lava/smooth},/area/ruin/powered) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +bccccccccccccccccccccccccccccb +bcddddddddddddddddddddddddddcb +bcdeeeeeeeeeeeeeeeeeeeeeeeedcb +bcdeeeeefeeeeeeeeeeeeeeeeeedcb +bcdeeeeeegggggggggggeeeeheedcb +bcdeeeeeegijklmnnnogpqeeeeedcb +bcdeeeeeqgnnnnnnnnrgsqqqqqedcb +bcdeeeefqgttttttgnugvqqqqqedcb +bcdeeeeeqqwwwwwwgnxgyqeeeeedcb +bcdzzzzzqqqqqqqqAnBgqqzzzzedcb +bcdeeeeeeqqqqqqqgCggqeDeeeedcb +bcdeeeEeeeeeeqqqqqqqqeeeeeedcb +bcdeeeeeeeeeeqqqeeeeeeeeFGedcb +HcIeeeeeeeeeeqqqeeeeeeeeqqedcb +bcdeeDeeeeeeeeeeeeeeeeeeeeedcb +bcdeeeeefJeeeeeeeeeeeeeeeeedcb +bcdeeKLeeLeeMeeLeLeLeLeLefedcb +bcdeeeeeeeeeeeeeeeeeeeeeeeedcb +bcdNNNNNNNNNNNNNNNNNNNNNNNNdcb +bcdOOOOOOOOOOOOOOOOOOOOOOOOdcb +bcdPPPPPPPPPPPPPPPPPPPPPPPPdcb +bcdPPPPPPPPPPPPPPPPPPPPPPPPdcb +bcdPPPPPPPPPPPPPPPPPPPPPPPPdcb +bcdPPPPPPPPPPPPPPPPPPPPPPPPdcb +bcdPPPPPPPPPPPPPPPPPPPPPPPPdcb +bcddddddddddddddddddddddddddcb +bccccccccccccccccccccccccccccb +bbbbbQbbbbbbbbbbbbbbbbbbbbbbbb +"} diff --git a/_maps/templates/lavaland_surface_xeno_nest.dmm b/_maps/templates/lavaland_surface_xeno_nest.dmm new file mode 100644 index 00000000000..b6e665edad8 --- /dev/null +++ b/_maps/templates/lavaland_surface_xeno_nest.dmm @@ -0,0 +1,81 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/structure/alien/resin/wall,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"c" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/obj/structure/alien/resin/wall,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"d" = (/obj/structure/alien/resin/wall,/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"e" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/structure/alien/weeds{desc = "A large mottled egg."; health = 100; icon_state = "egg_hatched"; name = "egg"},/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"f" = (/obj/structure/alien/weeds,/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"g" = (/obj/structure/alien/weeds,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"h" = (/obj/structure/alien/weeds,/obj/structure/alien/resin/wall,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"i" = (/obj/structure/alien/weeds,/obj/structure/bed/nest,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"j" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/mob/living/simple_animal/hostile/alien,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"k" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/obj/structure/alien/weeds{desc = "A large mottled egg."; health = 100; icon_state = "egg_hatched"; name = "egg"},/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"l" = (/obj/structure/alien/weeds/node,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"m" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/structure/bed/nest,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"n" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/obj/structure/bed/nest,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"o" = (/obj/structure/alien/weeds,/obj/structure/bed/nest,/obj/effect/decal/cleanable/blood/gibs,/obj/item/clothing/mask/facehugger{icon_state = "facehugger_impregnated"; item_state = "facehugger_impregnated"; stat = 2},/obj/item/weapon/gun/projectile/automatic/pistol,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"p" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"q" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"r" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/structure/alien/resin/wall,/obj/structure/alien/resin/wall,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"s" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/obj/structure/alien/egg,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"t" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/mob/living/simple_animal/hostile/alien/sentinel,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"u" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/effect/decal/cleanable/blood/gibs,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"v" = (/obj/structure/alien/weeds/node,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"w" = (/obj/structure/alien/weeds,/obj/effect/decal/cleanable/blood/gibs,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"x" = (/obj/structure/alien/weeds,/obj/structure/alien/weeds{desc = "A large mottled egg."; health = 100; icon_state = "egg_hatched"; name = "egg"},/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"y" = (/obj/structure/alien/weeds/node,/obj/structure/alien/resin/wall,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"z" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/structure/bed/nest,/obj/effect/decal/cleanable/blood/gibs,/obj/item/clothing/mask/facehugger{icon_state = "facehugger_impregnated"; item_state = "facehugger_impregnated"; stat = 2},/obj/item/clothing/under/rank/security,/obj/item/clothing/suit/armor/vest,/obj/item/weapon/melee/baton/loaded,/obj/item/clothing/head/helmet,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"A" = (/obj/structure/alien/weeds,/obj/structure/alien/egg,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"B" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/structure/alien/weeds{desc = "A large mottled egg."; health = 100; icon_state = "egg_hatched"; name = "egg"},/obj/effect/decal/cleanable/blood/gibs,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"C" = (/obj/structure/alien/weeds,/obj/structure/alien/weeds{desc = "A large mottled egg."; health = 100; icon_state = "egg_hatched"; name = "egg"},/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"D" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/obj/effect/decal/cleanable/blood/gibs,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"E" = (/obj/structure/alien/weeds,/mob/living/simple_animal/hostile/alien/drone{plants_off = 1},/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"F" = (/obj/structure/alien/weeds,/mob/living/simple_animal/hostile/alien/queen/large{desc = "A gigantic alien who is in charge of the hive and all of its loyal servants."; name = "alien queen"; pixel_x = -16; plants_off = 1},/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"G" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/mob/living/simple_animal/hostile/alien/drone{plants_off = 1},/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"H" = (/obj/structure/alien/weeds,/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"I" = (/obj/structure/alien/weeds,/obj/structure/bed/nest,/obj/effect/decal/cleanable/blood/gibs,/obj/effect/decal/cleanable/blood,/obj/item/clothing/mask/facehugger{icon_state = "facehugger_impregnated"; item_state = "facehugger_impregnated"; stat = 2},/obj/item/clothing/under/syndicate,/obj/item/clothing/glasses/night,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"J" = (/obj/structure/alien/weeds,/mob/living/simple_animal/hostile/alien/sentinel,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"K" = (/obj/structure/alien/weeds/node,/mob/living/simple_animal/hostile/alien,/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"L" = (/obj/structure/alien/weeds/node,/mob/living/simple_animal/hostile/alien/drone{plants_off = 1},/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"M" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/structure/bed/nest,/obj/effect/decal/cleanable/blood/gibs,/obj/item/weapon/tank/internals/oxygen,/obj/item/clothing/suit/space/syndicate/orange,/obj/item/clothing/mask/gas,/obj/item/clothing/head/helmet/space/syndicate/orange,/obj/item/clothing/mask/facehugger{icon_state = "facehugger_impregnated"; item_state = "facehugger_impregnated"; stat = 2},/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"N" = (/obj/structure/alien/weeds,/obj/structure/alien/resin/wall,/turf/template_noop,/area/template_noop) +"O" = (/obj/structure/alien/weeds/node,/turf/template_noop,/area/template_noop) +"P" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/obj/structure/alien/resin/wall,/turf/template_noop,/area/template_noop) +"Q" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/effect/decal/cleanable/blood,/mob/living/simple_animal/hostile/alien/drone{plants_off = 1},/turf/simulated/floor/plating/asteroid{carbon_dioxide = 48.7; heat_capacity = 1e+006; nitrogen = 13.2; oxygen = 32.4; temperature = 251},/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"R" = (/obj/structure/alien/weeds,/turf/template_noop,/area/template_noop) +"S" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/template_noop,/area/template_noop) +"T" = (/obj/structure/alien/weeds/node,/obj/structure/alien/resin/wall,/turf/template_noop,/area/template_noop) +"U" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/structure/alien/resin/wall,/turf/template_noop,/area/template_noop) +"V" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/template_noop,/area/template_noop) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaabcddcaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaacefgchaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaahijkicaaaaaaaaaaaaaaaaaaaa +aaahcbhcbhbaaaaaaaabhglmcaaaaaaaaaaaaaaaaaaaa +abhcggenopchcaaaaaaacbqbhaaaaaaaaaaaaaaachraa +abgspqtuvwqxhcaaaaaahcgcaaabcchaaaaaaabhcxcaa +ccepymgpqcgpqhchcbhabqphaabhzibaaaaaabcmeqhaa +hAkgmqpgppqgpgclgqhbhgcbaacBCDchbhchccqEqgcaa +begspFqlpggplqblpqgccphbcchgjpgpplpgqpgplnbaa +hcsGquHqqgqgqpchbggpqgpgEpqqgnchcbhchckggmhaa +abgqyIuJkyqqghcahcplpqcbcgqlxmcaaaaaabhqxccaa +abcegHqkpxppcbaaaccpgqhahhcxmchaaaaaahcpcbaaa +aabcbhchcbchcaaabhgqpccaaabhcbaaaaaaacgphaaaa +aaaaaaaaaaaaaaaahqqghbaaaaaaaaaaaaaaacqbcaaaa +aaaaaaaaaaaaaaaacgpcbaaaaaaaaaaaaaaaabKcaaaaa +aaaaaaaaaaaaaaaahqghaaaaaaaaaaaaaaaabcghaaaaa +aaaaaaaaaaaaaaaacpqcaaaaaaabhcbhhaachpqcaaaaa +aaaaaaaaaaaaaaaabgphbhccbhccgqpgcbchgqchaaaaa +aaaaaaaaaaaaaaaahglqcqgpgqcgphcglpqgphbaaaaaa +aaaaaaaaaaaaaaaahcqpgqpgLpgqccbhchchbcaaaaaaa +aaaaaaaaaaaaaaahcbgqpgccbqphhaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaabhggphchbacgpcbaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaahqpcbbaaaabcggchaaaaaaaaaaaaaaa +aaaaaaaaaaaabccjhhaaaaaaahqpgcaaaaaaaaaaaaaaa +aaaaaaaaaaahhipgcaaaaaaaacbqlbaaaaaaaaaaaaaaa +aaaaaaaaaacbxqgebaaaaaaaaacbbcaaaaaaaaaaaaaaa +aaaaaaaaaahMDlqhhaaaaaaaaaNOOPaaPPaaaaaaaaaaa +aaaaaaaaaabiQgicaaaaaaaaaaPRSTPNPaaaaaaaaaaaa +aaaaaaaaaahcqehbaaaaaaaaaUTVVSRVSaaaaaaaaaaaa +aaaaaaaaaaahcbbaaaaaaaaaPNRSRVSRaaaaaaaaaaaaa +"} diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index cd8b984e254..59bded6eeda 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -315,7 +315,8 @@ var/global/list/rockTurfEdgeCache turf_type = /turf/simulated/floor/plating/asteroid/airless /turf/simulated/floor/plating/asteroid/airless/cave/volcanic - mob_spawn_list = list(/mob/living/simple_animal/hostile/asteroid/goldgrub = 1, /mob/living/simple_animal/hostile/asteroid/goliath/beast = 5, /mob/living/simple_animal/hostile/asteroid/basilisk/watcher = 4, /mob/living/simple_animal/hostile/asteroid/hivelord/legion = 3) + mob_spawn_list = list(/mob/living/simple_animal/hostile/asteroid/goldgrub = 10, /mob/living/simple_animal/hostile/asteroid/goliath/beast = 50, /mob/living/simple_animal/hostile/asteroid/basilisk/watcher = 40, /mob/living/simple_animal/hostile/asteroid/hivelord/legion = 30, + /mob/living/simple_animal/hostile/spawner/lavaland = 2, /mob/living/simple_animal/hostile/spawner/lavaland/goliath = 3, /mob/living/simple_animal/hostile/spawner/lavaland/legion = 3) turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface oxygen = 14 nitrogen = 23 @@ -396,7 +397,7 @@ var/global/list/rockTurfEdgeCache if(prob(30)) if(istype(loc, /area/mine/explored)) return - for(var/atom/A in urange(15,T))//Lowers chance of mob clumps + for(var/atom/A in urange(12,T))//Lowers chance of mob clumps if(istype(A, /mob/living/simple_animal/hostile/asteroid)) return var/randumb = pickweight(mob_spawn_list) @@ -704,7 +705,7 @@ var/global/list/rockTurfEdgeCache nitrogen = 23 temperature = 300 - mineralChance = 13 + mineralChance = 10 mineralSpawnChanceList = list( /turf/simulated/mineral/uranium/volcanic = 5, /turf/simulated/mineral/diamond/volcanic = 1, /turf/simulated/mineral/gold/volcanic = 10, /turf/simulated/mineral/silver/volcanic = 12, /turf/simulated/mineral/plasma/volcanic = 20, /turf/simulated/mineral/iron/volcanic = 40, diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm index c4a38f956f0..4b23226f097 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm @@ -735,4 +735,33 @@ name = "legion's heart" desc = "A demonic, still beating heart... its healing properties will soon become inert if not used quickly." icon = 'icons/obj/surgery.dmi' - icon_state = "demon_heart" \ No newline at end of file + icon_state = "demon_heart" + +//Nests + +/mob/living/simple_animal/hostile/spawner/lavaland + name = "necropolis tendril" + desc = "A vile tendril of corruption, originating deep underground. Terrible monsters are pouring out of it." + icon = 'icons/mob/nest.dmi' + icon_state = "tendril" + icon_living = "tendril" + icon_dead = "tendril" + faction = list("mining") + health = 250 + maxHealth = 200 + max_mobs = 3 + spawn_time = 300 //30 seconds default + mob_type = /mob/living/simple_animal/hostile/asteroid/basilisk/watcher + spawn_text = "emerges from" + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 0 + maxbodytemp = INFINITY + layer = MOB_LAYER-0.1 + loot = list(/obj/effect/gibspawner) + del_on_death = 1 + +/mob/living/simple_animal/hostile/spawner/lavaland/goliath + mob_type = /mob/living/simple_animal/hostile/asteroid/goliath/beast + +/mob/living/simple_animal/hostile/spawner/lavaland/legion + mob_type = /mob/living/simple_animal/hostile/asteroid/hivelord/legion diff --git a/config/lavaRuinConfig.txt b/config/lavaRuinConfig.txt index a16ea543f2a..38391c74875 100644 --- a/config/lavaRuinConfig.txt +++ b/config/lavaRuinConfig.txt @@ -3,15 +3,26 @@ #Ruins should be 30x30 at max. Anymore than that will break the game. #SPECIFYING AN INVALID MAP WILL RESULT IN RUNTIMES ON GAME START -_maps/templates/lavaland_surface_automated_trade_outpost.dmm +##BIODOMES _maps/templates/lavaland_surface_biodome_winter.dmm +_maps/templates/lavaland__biodome_beach.dmm +_maps/templates/lavaland_biodome_clown_planet.dmm _maps/templates/lavaland_surface_cube.dmm + +##RESPAWN +_maps/templates/lavaland_surface_prisoner_Crash.dmm +_maps/templates/lavaland_surface_seed_vault.dmm + +##SIN _maps/templates/lavaland_surface_envy.dmm _maps/templates/lavaland_surface_gluttony.dmm _maps/templates/lavaland_surface_greed.dmm _maps/templates/lavaland_surface_pride.dmm -_maps/templates/lavaland_surface_prisoner_Crash.dmm -_maps/templates/lavaland_surface_seed_vault.dmm _maps/templates/lavaland_surface_sloth.dmm + +##MISC +_maps/templates/lavaland_surface_automated_trade_outpost.dmm _maps/templates/lavaland_surface_ufo_crash.dmm -_maps/templates/lavaland_surface_ww_vault.dmm \ No newline at end of file +_maps/templates/lavaland_surface_ww_vault.dmm +_maps/templates/lavaland_surface_automated_trade_outpost.dmm +_maps/templates/lavaland_surface_xeno_nest.dmm \ No newline at end of file diff --git a/icons/mob/nest.dmi b/icons/mob/nest.dmi index 7e76b8472bf4109080e8bb28b3d0170c4deb4db9..70d36cf82ebd7c709c54bcf919efafe8c1f4484c 100644 GIT binary patch literal 12550 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 IX%hUu02uKB*8l(j literal 2754 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