From 42bf34b2ef2190b89cd5d6ab91f4abe4a9993b4c Mon Sep 17 00:00:00 2001 From: Neerti Date: Wed, 20 Mar 2019 15:50:10 -0400 Subject: [PATCH] Merge pull request #6006 from PrismaticGynoid/crashedescapepods Adds 3 new crashed escape pod PoIs --- .../ai/aI_holder_subtypes/simple_mob_ai.dm | 10 +++++- .../PrismaticGynoid - crashedescapepods.yml | 6 ++++ maps/submaps/surface_submaps/plains/Epod2.dmm | 30 ++++++++++++++++ maps/submaps/surface_submaps/plains/plains.dm | 7 ++++ .../surface_submaps/plains/plains_areas.dm | 4 +++ .../surface_submaps/wilderness/Epod3.dmm | 31 ++++++++++++++++ .../surface_submaps/wilderness/Epod4.dmm | 35 +++++++++++++++++++ .../surface_submaps/wilderness/wilderness.dm | 16 ++++++++- .../wilderness/wilderness_areas.dm | 7 ++++ 9 files changed, 144 insertions(+), 2 deletions(-) create mode 100644 html/changelogs/PrismaticGynoid - crashedescapepods.yml create mode 100644 maps/submaps/surface_submaps/plains/Epod2.dmm create mode 100644 maps/submaps/surface_submaps/wilderness/Epod3.dmm create mode 100644 maps/submaps/surface_submaps/wilderness/Epod4.dmm diff --git a/code/modules/ai/aI_holder_subtypes/simple_mob_ai.dm b/code/modules/ai/aI_holder_subtypes/simple_mob_ai.dm index 2a16a3e091b..0c069a76895 100644 --- a/code/modules/ai/aI_holder_subtypes/simple_mob_ai.dm +++ b/code/modules/ai/aI_holder_subtypes/simple_mob_ai.dm @@ -20,6 +20,14 @@ /datum/ai_holder/simple_mob/event base_wander_delay = 8 +// Will keep the mob within a limited radius of its home, useful for guarding an area +/datum/ai_holder/simple_mob/guard + returns_home = TRUE + +// Won't return home while it's busy doing something else, like chasing a player +/datum/ai_holder/simple_mob/guard/give_chase + home_low_priority = TRUE + // Doesn't really act until told to by something on the outside. /datum/ai_holder/simple_mob/inert hostile = FALSE @@ -138,4 +146,4 @@ // Simple mobs that retaliate and support others in their faction who get attacked. /datum/ai_holder/simple_mob/retaliate/cooperative - cooperative = TRUE \ No newline at end of file + cooperative = TRUE diff --git a/html/changelogs/PrismaticGynoid - crashedescapepods.yml b/html/changelogs/PrismaticGynoid - crashedescapepods.yml new file mode 100644 index 00000000000..7ffbc583340 --- /dev/null +++ b/html/changelogs/PrismaticGynoid - crashedescapepods.yml @@ -0,0 +1,6 @@ +author: PrismaticGynoid + +delete-after: True + +changes: + - rscadd: "Adds three new crashed escape pod PoIs." diff --git a/maps/submaps/surface_submaps/plains/Epod2.dmm b/maps/submaps/surface_submaps/plains/Epod2.dmm new file mode 100644 index 00000000000..db809d4c7bb --- /dev/null +++ b/maps/submaps/surface_submaps/plains/Epod2.dmm @@ -0,0 +1,30 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/Epod2) +"c" = (/turf/simulated/floor/outdoors/rocks,/area/submap/Epod2) +"d" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Epod2) +"e" = (/obj/structure/boulder{icon_state = "boulder3"},/turf/simulated/floor/outdoors/dirt,/area/submap/Epod2) +"f" = (/obj/structure/boulder{icon_state = "boulder2"},/turf/simulated/floor/outdoors/dirt,/area/submap/Epod2) +"g" = (/obj/structure/boulder{icon_state = "boulder3"},/turf/simulated/floor/outdoors/rocks,/area/submap/Epod2) +"h" = (/turf/simulated/shuttle/wall,/area/submap/Epod2) +"i" = (/obj/structure/shuttle/engine/propulsion/burst{icon_state = "propulsion"; dir = 4},/turf/simulated/shuttle/wall,/area/submap/Epod2) +"j" = (/obj/structure/boulder,/turf/simulated/floor/outdoors/rocks,/area/submap/Epod2) +"k" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/structure/window/reinforced,/obj/item/stack/rods,/obj/item/weapon/material/shard,/obj/item/weapon/material/shard{icon_state = "medium"},/turf/simulated/shuttle/plating,/area/submap/Epod2) +"l" = (/obj/structure/bed/chair{icon_state = "chair_preview"; dir = 8},/obj/structure/loot_pile/surface/bones,/obj/effect/decal/cleanable/blood,/obj/effect/decal/cleanable/dirt,/obj/machinery/status_display{pixel_y = -32},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/shuttle/floor,/area/submap/Epod2) +"m" = (/obj/structure/bed/chair{icon_state = "chair_preview"; dir = 8},/obj/structure/loot_pile/surface/medicine_cabinet{pixel_y = 28},/obj/machinery/light,/obj/effect/decal/cleanable/vomit,/obj/effect/decal/cleanable/blood/drip,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/blood/drip,/obj/item/weapon/reagent_containers/hypospray/autoinjector/empty,/turf/simulated/shuttle/floor,/area/submap/Epod2) +"n" = (/obj/structure/bed/chair{icon_state = "chair_preview"; dir = 8},/obj/structure/closet/walllocker/emerglocker{pixel_y = 28},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/blood/drip,/turf/simulated/shuttle/floor,/area/submap/Epod2) +"o" = (/obj/effect/decal/cleanable/blood/drip,/obj/machinery/door/airlock/external{icon_state = "door_locked"; locked = 1; name = "Escape Pod Hatch"},/turf/simulated/shuttle/floor,/area/submap/Epod2) +"p" = (/obj/structure/boulder{icon_state = "boulder4"},/turf/simulated/floor/outdoors/dirt,/area/submap/Epod2) +"q" = (/obj/structure/boulder{icon_state = "boulder2"},/turf/simulated/floor/outdoors/rocks,/area/submap/Epod2) + +(1,1,1) = {" +aaaaaaaaaaaaaaa +abbcdbbbbbbbbba +abdefdcddbbbbba +adghhhhicdddbba +afjklmnoccccdda +apbhhhhicccdcca +abqdpddcddcccca +abbbbbcdbcddcda +abbbbbbbbbdbdda +aaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/plains.dm b/maps/submaps/surface_submaps/plains/plains.dm index 77ab822ed92..5220eea0608 100644 --- a/maps/submaps/surface_submaps/plains/plains.dm +++ b/maps/submaps/surface_submaps/plains/plains.dm @@ -8,6 +8,7 @@ #include "house1.dmm" #include "beacons.dmm" #include "Epod.dmm" +#include "Epod2.dmm" #include "PascalB.dmm" #include "bonfire.dmm" #include "Rocky5.dmm" @@ -76,6 +77,12 @@ mappath = 'maps/submaps/surface_submaps/plains/Epod.dmm' cost = 5 +/datum/map_template/surface/plains/Epod2 + name = "Emergency Pod 2" + desc = "A locked Emergency pod in the middle of nowhere." + mappath = 'maps/submaps/surface_submaps/plains/Epod2.dmm' + cost = 5 + /datum/map_template/surface/plains/normal/Rocky2 name = "Rocky2" desc = "More rocks." diff --git a/maps/submaps/surface_submaps/plains/plains_areas.dm b/maps/submaps/surface_submaps/plains/plains_areas.dm index 99f9fef12e8..b92f4778548 100644 --- a/maps/submaps/surface_submaps/plains/plains_areas.dm +++ b/maps/submaps/surface_submaps/plains/plains_areas.dm @@ -19,6 +19,10 @@ name = "Epod1" ambience = AMBIENCE_FOREBODING +/area/submap/Epod2 + name = "Epod2" + ambience = AMBIENCE_FOREBODING + /area/submap/Rocky2 name = "Rocky2" diff --git a/maps/submaps/surface_submaps/wilderness/Epod3.dmm b/maps/submaps/surface_submaps/wilderness/Epod3.dmm new file mode 100644 index 00000000000..42fbe7f6f80 --- /dev/null +++ b/maps/submaps/surface_submaps/wilderness/Epod3.dmm @@ -0,0 +1,31 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/Epod3) +"c" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Epod3) +"d" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Epod3) +"e" = (/turf/simulated/shuttle/wall,/area/submap/Epod3) +"f" = (/obj/structure/flora/tree/sif,/turf/simulated/floor/outdoors/dirt,/area/submap/Epod3) +"g" = (/obj/effect/spider/stickyweb,/turf/template_noop,/area/submap/Epod3) +"h" = (/obj/structure/bed/chair{dir = 4},/obj/structure/closet/walllocker/emerglocker{pixel_y = 28},/obj/item/device/radio/intercom{pixel_y = -26},/turf/simulated/shuttle/floor,/area/submap/Epod3) +"i" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_y = 28},/obj/machinery/light,/obj/item/weapon/weldingtool/largetank,/turf/simulated/shuttle/floor,/area/submap/Epod3) +"j" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/structure/bed/chair{icon_state = "chair_preview"; dir = 8},/obj/effect/decal/remains,/obj/effect/decal/cleanable/blood/splatter,/obj/item/ammo_casing/spent,/obj/item/clothing/under/suit_jacket/really_black,/obj/item/clothing/shoes/dress,/obj/item/clothing/glasses/sunglasses,/obj/random/multiple/gun/projectile/handgun,/turf/simulated/shuttle/floor,/area/submap/Epod3) +"k" = (/obj/structure/shuttle/engine/propulsion/burst{icon_state = "propulsion"; dir = 8},/turf/simulated/shuttle/wall,/area/submap/Epod3) +"l" = (/obj/effect/spider/stickyweb,/turf/simulated/floor/outdoors/dirt,/area/submap/Epod3) +"m" = (/obj/machinery/door/airlock/external{name = "Escape Pod Hatch"; welded = 1},/turf/simulated/shuttle/floor,/area/submap/Epod3) +"n" = (/obj/effect/spider/eggcluster/small/frost,/turf/simulated/floor/outdoors/dirt,/area/submap/Epod3) +"o" = (/mob/living/simple_mob/animal/giant_spider/carrier{ai_holder_type = /datum/ai_holder/simple_mob/guard/give_chase},/turf/template_noop,/area/submap/Epod3) +"p" = (/obj/effect/spider/stickyweb,/obj/effect/spider/stickyweb,/turf/template_noop,/area/submap/Epod3) +"q" = (/mob/living/simple_mob/animal/giant_spider/frost/sif{ai_holder_type = /datum/ai_holder/simple_mob/guard/give_chase},/turf/simulated/floor/outdoors/dirt,/area/submap/Epod3) +"r" = (/obj/structure/shuttle/window,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/submap/Epod3) + +(1,1,1) = {" +aaaaaaaaaaaaaaa +abbbgggcccbbbba +abbbgdgllllbbba +abdggkeeeefgbba +abggbmhijrngdba +abbgokeeeellgba +abbpgccllllfgba +abbdggggccqbbba +abbbbbbdbbbbbba +aaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/wilderness/Epod4.dmm b/maps/submaps/surface_submaps/wilderness/Epod4.dmm new file mode 100644 index 00000000000..e37847b087f --- /dev/null +++ b/maps/submaps/surface_submaps/wilderness/Epod4.dmm @@ -0,0 +1,35 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/Epod4) +"c" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Epod4) +"d" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/outdoors/dirt,/area/submap/Epod4) +"e" = (/obj/structure/flora/grass/green,/turf/simulated/floor/outdoors/dirt,/area/submap/Epod4) +"f" = (/turf/simulated/floor/water,/area/submap/Epod4) +"g" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/outdoors/dirt,/area/submap/Epod4) +"h" = (/turf/simulated/shuttle/wall,/area/submap/Epod4) +"i" = (/obj/structure/shuttle/window,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/submap/Epod4) +"j" = (/obj/structure/flora/grass/both,/turf/simulated/floor/outdoors/dirt,/area/submap/Epod4) +"k" = (/obj/structure/bed/chair{icon_state = "chair_preview"; dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/structure/loot_pile/maint/junk,/turf/simulated/floor/water,/area/submap/Epod4) +"l" = (/turf/simulated/floor/water/deep,/area/submap/Epod4) +"m" = (/obj/structure/bed/chair{icon_state = "chair_preview"; dir = 1},/obj/effect/decal/remains/posi,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0},/obj/item/clothing/shoes/brown,/obj/item/clothing/under/mbill,/obj/item/clothing/head/soft/mbill,/turf/simulated/floor/water,/area/submap/Epod4) +"n" = (/obj/structure/bed/chair{icon_state = "chair_preview"; dir = 1},/obj/structure/closet/walllocker/emerglocker/east,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/structure/closet/crate/hydroponics{desc = "All you need to destroy that pesky planet."; name = "exotic seeds crate"; starts_with = list(/obj/item/seeds/random = 6, /obj/item/seeds/replicapod = 2, /obj/item/seeds/ambrosiavulgarisseed = 2, /obj/item/seeds/kudzuseed, /obj/item/seeds/libertymycelium, /obj/item/seeds/reishimycelium)},/turf/simulated/floor/water,/area/submap/Epod4) +"o" = (/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall,/area/submap/Epod4) +"p" = (/obj/structure/door_assembly/door_assembly_ext{anchored = 1},/turf/simulated/floor/water,/area/submap/Epod4) +"q" = (/obj/structure/flora/grass/brown,/turf/simulated/floor/outdoors/dirt,/area/submap/Epod4) + +(1,1,1) = {" +aaaaaaaaaa +abbbbbbbba +abcccccbba +acccdcccba +acceffgcba +adefhihjca +acffhkhcja +acflhmhfca +aeflhnhfca +acflopofca +aecflllfja +abcfllfcca +adjcfffqca +abccqcqcba +aaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/wilderness/wilderness.dm b/maps/submaps/surface_submaps/wilderness/wilderness.dm index da28429ea7a..9338bc08f81 100644 --- a/maps/submaps/surface_submaps/wilderness/wilderness.dm +++ b/maps/submaps/surface_submaps/wilderness/wilderness.dm @@ -27,6 +27,8 @@ #include "Drugden.dmm" #include "Musk.dmm" #include "Manor1.dmm" +#include "Epod3.dmm" +#include "Epod4.dmm" #endif @@ -208,4 +210,16 @@ name = "Manor1" desc = "Whodunit" mappath = 'maps/submaps/surface_submaps/wilderness/Manor1.dmm' - cost = 20 \ No newline at end of file + cost = 20 + +/datum/map_template/surface/wilderness/deep/Epod3 + name = "Emergency Pod 3" + desc = "A webbed Emergency pod in the middle of nowhere." + mappath = 'maps/submaps/surface_submaps/wilderness/Epod3.dmm' + cost = 5 + +/datum/map_template/surface/wilderness/normal/Epod4 + name = "Emergency Pod 4" + desc = "A flooded Emergency pod in the middle of nowhere." + mappath = 'maps/submaps/surface_submaps/wilderness/Epod4.dmm' + cost = 5 diff --git a/maps/submaps/surface_submaps/wilderness/wilderness_areas.dm b/maps/submaps/surface_submaps/wilderness/wilderness_areas.dm index 5bfa361b59f..554579e4a44 100644 --- a/maps/submaps/surface_submaps/wilderness/wilderness_areas.dm +++ b/maps/submaps/surface_submaps/wilderness/wilderness_areas.dm @@ -113,3 +113,10 @@ name = "Manor1" ambience = AMBIENCE_FOREBODING +/area/submap/Epod3 + name = "Epod3" + ambience = AMBIENCE_FOREBODING + +/area/submap/Epod4 + name = "Epod4" + ambience = AMBIENCE_FOREBODING