Skip to content

Commit

Permalink
Syndicate Lavabase Ruin (tgstation#21550)
Browse files Browse the repository at this point in the history
* Syndicate Base

* Secret Base

* Forgot a file

* Gives the base red floors and syndie walls

* Fixes compile errors

* Makes sure you can't steal the bombs

* Adds some uranium
  • Loading branch information
KorPhaeron authored and optimumtact committed Nov 19, 2016
1 parent 516479b commit 594e345
Show file tree
Hide file tree
Showing 5 changed files with 137 additions and 6 deletions.
92 changes: 92 additions & 0 deletions _maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base.dmm
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
"aa" = (/turf/open/floor/plating/asteroid/basalt/lava_land_surface,/area/lavaland/surface/outdoors)
"ab" = (/turf/open/floor/plating/lava/smooth/lava_land_surface,/area/lavaland/surface/outdoors)
"ac" = (/turf/closed/wall/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"ad" = (/obj/effect/mob_spawn/human/lavaland_syndicate{tag = "icon-sleeper_s"; icon_state = "sleeper_s"},/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"ae" = (/obj/effect/mob_spawn/human/lavaland_syndicate/comms{tag = "icon-sleeper_s"; icon_state = "sleeper_s"},/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"af" = (/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"ag" = (/obj/machinery/syndicatebomb/badmin/varplosion{can_unanchor = 0; name = "self destruct device"},/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"ah" = (/obj/structure/closet/emcloset,/obj/item/weapon/tank/internals/emergency_oxygen/engi,/obj/item/clothing/mask/breath,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"ai" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aj" = (/obj/structure/table,/obj/item/clothing/gloves/color/latex,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"ak" = (/obj/structure/table,/obj/item/device/healthanalyzer,/obj/item/clothing/glasses/hud/health,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"al" = (/obj/structure/table,/obj/item/weapon/book/manual/wiki/infections{pixel_y = 7},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"am" = (/obj/machinery/smartfridge/chemistry/virology,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"an" = (/obj/machinery/computer/pandemic,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"ao" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"ap" = (/mob/living/carbon/monkey,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aq" = (/obj/machinery/chem_master,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"ar" = (/obj/machinery/chem_dispenser,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"as" = (/obj/structure/table,/obj/item/stack/sheet/mineral/plasma{layer = 2.9},/obj/item/stack/sheet/mineral/plasma{layer = 2.9},/obj/item/stack/sheet/mineral/plasma{layer = 2.9},/obj/item/stack/sheet/mineral/plasma{layer = 2.9},/obj/item/stack/sheet/mineral/plasma{layer = 2.9},/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"at" = (/obj/structure/chair{dir = 1},/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"au" = (/obj/machinery/chem_heater,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"av" = (/obj/machinery/door/airlock/hatch,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aw" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"ax" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/glass/beaker/large,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"ay" = (/obj/structure/table,/obj/item/stack/sheet/mineral/uranium{amount = 20},/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"az" = (/obj/structure/table,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aA" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aB" = (/obj/structure/table,/obj/item/weapon/screwdriver{pixel_x = -2; pixel_y = 6},/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aC" = (/obj/structure/table,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/reagent_containers/dropper,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aD" = (/obj/structure/table,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aE" = (/obj/structure/closet/l3closet,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aF" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/brute,/obj/item/weapon/storage/firstaid/brute,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aG" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/fire,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aH" = (/obj/structure/table,/obj/item/pizzabox/margherita,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aI" = (/obj/structure/table,/obj/item/pizzabox/meat,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aJ" = (/obj/machinery/vending/snack,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aK" = (/obj/machinery/vending/coffee,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aL" = (/obj/structure/reagent_dispensers/watertank,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aM" = (/obj/effect/baseturf_helper,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aN" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aO" = (/obj/machinery/door/airlock/hatch,/turf/open/floor/plasteel{baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface},/area/ruin/powered/syndicate_lava_base)
"aP" = (/obj/machinery/vending/cigarette,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aQ" = (/obj/structure/reagent_dispensers/fueltank,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aR" = (/obj/structure/table,/obj/item/stack/sheet/metal/fifty,/turf/open/floor/engine,/area/ruin/powered/syndicate_lava_base)
"aS" = (/turf/open/floor/engine,/area/ruin/powered/syndicate_lava_base)
"aT" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/storage/toolbox/electrical,/turf/open/floor/engine,/area/ruin/powered/syndicate_lava_base)
"aU" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/fourcolor,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aV" = (/obj/structure/table,/obj/item/device/radio/intercom{broadcasting = 0; dir = 8; freerange = 1; listening = 1; name = "Pirate Radio Listening Channel"; pixel_x = 0},/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aW" = (/obj/machinery/telecomms/relay/preset/ruskie{use_power = 0},/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aX" = (/obj/structure/table,/obj/machinery/light/small{dir = 8},/obj/item/weapon/storage/toolbox/mechanical,/turf/open/floor/engine,/area/ruin/powered/syndicate_lava_base)
"aY" = (/obj/structure/table,/obj/item/device/radio/intercom{broadcasting = 1; dir = 8; freerange = 1; listening = 0; name = "Pirate Radio Broadcast Channel"; pixel_x = 0},/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"aZ" = (/obj/structure/chair/office/light{dir = 8},/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"ba" = (/obj/structure/table,/turf/open/floor/engine,/area/ruin/powered/syndicate_lava_base)
"bb" = (/obj/structure/table,/obj/item/stack/telecrystal,/obj/item/stack/telecrystal,/obj/item/stack/telecrystal,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"bc" = (/obj/structure/table,/obj/item/ammo_box/magazine/sniper_rounds,/obj/item/ammo_box/magazine/sniper_rounds,/obj/item/weapon/gun/ballistic/automatic/sniper_rifle,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"bd" = (/obj/structure/table,/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/weapon/gun/ballistic/automatic/pistol,/obj/item/weapon/gun/ballistic/automatic/pistol,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"be" = (/obj/structure/table,/obj/item/weapon/gun/ballistic/automatic/sniper_rifle,/obj/item/ammo_box/magazine/sniper_rounds,/obj/item/ammo_box/magazine/sniper_rounds,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"bf" = (/obj/structure/table,/obj/item/weapon/grenade/syndieminibomb,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)
"bg" = (/obj/structure/table,/obj/item/weapon/cqc_manual,/turf/open/floor/mineral/plastitanium,/area/ruin/powered/syndicate_lava_base)

(1,1,1) = {"
aaababababababababababababababababababababababababababaaaaaa
aaababababababababababababababababababababababababababababab
ababababababababababacacacacacacabababaaabababababababaaabab
ababababababababababacadadaeadacabababababababababababaaabab
ababababababababababacafafafafacaaaaabababababababababababab
ababababababababaaaaacagafafacacacacacacacacacacacababababab
abababababacacacacacacahafafacaiajakalamanaoapapacababababab
abababababacaqararaqacahafafacafafafagafafaoapapacababababab
abaaabababacasatatauacahafafacafafafafafafavapapacababababab
ababaaababacawafafaxacacafafacafayazazazazaoapapacababababab
abababababacaAafafafaBacafafacavacacacacacacacacacababababab
ababababaaacaCafafafaDacafafacafaEacaFaGacaHaIaJacababababab
abababacacacacavavacacacavavacavacacafafacafafaKacababababab
abababacaLagafafafafafafafaMaNafafagafafaOafafaPacababababab
abababacaQafafafafafafafafafafafafafafafacacacacacaaabababab
abababacacacacavavacacacacafafacacacafafacaaaaaaaaaaaaababab
abababaaacaRaSaSaSaSaSaSacafafacaaacaOaOacacacacacacaaababab
abababaaacaTaSaSaSaSaSaSacafafacaaacafafafafaUaVaWacabababab
abababaaacaXaSaSaSaSaSaSacafafacaaacagafafafaYaZafacabababab
ababababacbaaSaSaSaSaSaSacafafacabacafafafafbbaVafacabababab
ababababacaSaSaSaSaSaSaSacafafacabacafafafafafafafacabababab
ababababacaSaSaSaSaSaSaSacafafacabacbcbdbdbebfbfbgacabababab
ababababacacacacacacacacacafafacabacacacacacacacacacabababab
abababababababababaaaaaaacafafacabababababababababababababab
ababababababababababaaaaacafafacabababababababababababababab
ababababababababababababacafafacababababaaabababababababaaaa
ababababababababababababacavavacababababababababababaaabaaaa
ababaaababababababababababababababababababababababababaaaaaa
aaaaaaabababababababababababababababababaaababababababababaa
aaaaaaaaababababababababababababababababaaaaababababababaaaa
"}
8 changes: 8 additions & 0 deletions code/datums/ruins/lavaland.dm
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,14 @@
cost = 20
allow_duplicates = FALSE

/datum/map_template/ruin/lavaland/syndicate_base
name = "Syndicate Lava Base"
id = "lava-base"
description = "A secret base researching illegal bioweapons, it is closely guarded by an elite team of syndicate agents."
suffix = "lavaland_surface_syndicate_base.dmm"
cost = 20
allow_duplicates = FALSE

/datum/map_template/ruin/lavaland/free_golem
name = "Free Golem Ship"
id = "golem-ship"
Expand Down
3 changes: 2 additions & 1 deletion code/game/area/areas/ruins.dm
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@
/area/ruin/powered/golem_ship
name = "Free Golem Ship"


/area/ruin/powered/syndicate_lava_base
name = "Secret Base"

// Ruins of "onehalf" ship

Expand Down
14 changes: 9 additions & 5 deletions code/game/machinery/syndicatebomb.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
var/timer_set = 60
var/maximum_timer = 60000

var/can_unanchor = TRUE

var/open_panel = FALSE //are the wires exposed?
var/active = FALSE //is the bomb counting down?
var/defused = FALSE //is the bomb capable of exploding?
Expand Down Expand Up @@ -98,7 +100,7 @@
. = timer_set

/obj/machinery/syndicatebomb/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wrench))
if(istype(I, /obj/item/weapon/wrench) && can_unanchor)
if(!anchored)
if(!isturf(loc) || isspaceturf(loc))
user << "<span class='notice'>The bomb must be placed on solid ground to attach it.</span>"
Expand Down Expand Up @@ -350,10 +352,10 @@
..()

/obj/item/weapon/bombcore/badmin/explosion
var/HeavyExplosion = 2
var/MediumExplosion = 5
var/LightExplosion = 11
var/Flames = 11
var/HeavyExplosion = 5
var/MediumExplosion = 10
var/LightExplosion = 20
var/Flames = 20

/obj/item/weapon/bombcore/badmin/explosion/detonate()
explosion(get_turf(src), HeavyExplosion, MediumExplosion, LightExplosion, flame_range = Flames)
Expand Down Expand Up @@ -530,4 +532,6 @@
existant = 0
timer = world.time + BUTTON_COOLDOWN



#undef BUTTON_COOLDOWN
26 changes: 26 additions & 0 deletions code/modules/ruins/lavaland_ruin_code.dm
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,29 @@
user << "You need at least ten sheets to finish a golem."
else
user << "You can't build a golem out of this kind of material."


///Syndicate Listening Post
/obj/effect/mob_spawn/human/lavaland_syndicate
name = "Syndicate Bioweapon Scientist"
uniform = /obj/item/clothing/under/syndicate
suit = /obj/item/clothing/suit/toggle/labcoat
shoes = /obj/item/clothing/shoes/combat
gloves = /obj/item/clothing/gloves/combat
radio = /obj/item/device/radio/headset/syndicate/alt
back = /obj/item/weapon/storage/backpack
id_job = "Operative"
id_access = "Syndicate"
roundstart = FALSE
death = FALSE
icon = 'icons/obj/Cryogenic2.dmi'
icon_state = "sleeper"
has_id = 1
flavour_text = "<font size=3>You are a syndicate agent, employed in a top secret research facility developing biological weapons. Unfortunatley, your hated enemy, Nanotrasen, has begun mining in this sector. <b>Continue your research as best you can, and try to keep a low profile. Do not abandon the base without good cause.</b> The base is rigged with explosives should the worst happen, do not let the base fall into enemy hands!</b>"

/obj/effect/mob_spawn/human/lavaland_syndicate/comms
name = "Syndicate Comms Agent"
mask = /obj/item/clothing/mask/chameleon
suit = /obj/item/clothing/suit/armor/vest
flavour_text = "<font size=3>You are a syndicate agent, employed in a top secret research facility developing biological weapons. Unfortunatley, your hated enemy, Nanotrasen, has begun mining in this sector. <b>Monitor enemy activity as best you can, and try to keep a low profile. Do not abandon the base without good cause.</b> Use the communication equipment to provide support to any field agents, and sow disinformation to throw Nanotrasen off your trail. Do not let the base fall into enemy hands!</b>"
pocket2 = /obj/item/weapon/card/id/syndicate

0 comments on commit 594e345

Please sign in to comment.