diff --git a/_maps/map_files/RandomZLevels/evil_santa.dmm b/_maps/map_files/RandomZLevels/evil_santa.dmm new file mode 100644 index 00000000000..f7e5978aefc --- /dev/null +++ b/_maps/map_files/RandomZLevels/evil_santa.dmm @@ -0,0 +1,195 @@ +"aa" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/space) +"ab" = (/turf/simulated/mineral,/area/awaymission/challenge/main) +"ac" = (/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/area/awaymission/challenge/main) +"ad" = (/mob/living/simple_animal/hostile/winter/snowman/ranged,/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/area/awaymission/challenge/main) +"ae" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/area/awaymission/challenge/main) +"af" = (/obj/structure/snowman,/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/area/awaymission/challenge/main) +"ag" = (/turf/simulated/wall,/area/awaymission/challenge/main) +"ah" = (/mob/living/simple_animal/hostile/tree,/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/area/awaymission/challenge/main) +"ai" = (/obj/structure/dresser,/turf/simulated/floor/carpet,/area/awaymission/challenge/main) +"aj" = (/turf/simulated/floor/carpet,/area/awaymission/challenge/main) +"ak" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/syndie,/turf/simulated/floor/carpet,/area/awaymission/challenge/main) +"al" = (/obj/structure/flora/grass/both,/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/area/awaymission/challenge/main) +"am" = (/turf/simulated/floor,/area/awaymission/challenge/main) +"an" = (/obj/item/weapon/paper/journal_scrap_2,/turf/simulated/floor/carpet,/area/awaymission/challenge/main) +"ao" = (/obj/structure/flora/rock/pile,/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/area/awaymission/challenge/main) +"ap" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/area/awaymission/challenge/main) +"aq" = (/obj/structure/mineral_door/wood{tag = "icon-wood"; icon_state = "wood"},/turf/simulated/floor,/area/awaymission/challenge/main) +"ar" = (/obj/item/weapon/restraints/legcuffs/beartrap,/turf/simulated/floor,/area/awaymission/challenge/main) +"as" = (/obj/machinery/space_heater,/turf/simulated/floor,/area/awaymission/challenge/main) +"at" = (/obj/structure/table/woodentable,/obj/item/weapon/newton,/turf/simulated/floor,/area/awaymission/challenge/main) +"au" = (/obj/structure/grille,/obj/structure/window/full/basic,/turf/simulated/floor/plating,/area/awaymission/challenge/main) +"av" = (/mob/living/simple_animal/hostile/winter/reindeer,/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/area/awaymission/challenge/main) +"aw" = (/obj/machinery/gun_turret/grenade{desc = "Winterized 40mm grenade launcher defense turret. If you've had this much time to look at it, you're probably already dead."; faction = "winter"; name = "winterized mounted grenade launcher (40mm)"},/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/area/awaymission/challenge/main) +"ax" = (/obj/structure/stool,/turf/simulated/floor,/area/awaymission/challenge/main) +"ay" = (/obj/structure/table/woodentable,/obj/structure/safe/floor,/obj/item/weapon/gun/projectile/shotgun/combat,/obj/item/weapon/gun/projectile/automatic/mini_uzi,/turf/simulated/floor,/area/awaymission/challenge/main) +"az" = (/obj/machinery/recharge_station,/turf/simulated/floor,/area/awaymission/challenge/main) +"aA" = (/obj/machinery/mech_bay_recharge_port,/turf/simulated/floor,/area/awaymission/challenge/main) +"aB" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/awaymission/challenge/main) +"aC" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor,/area/awaymission/challenge/main) +"aD" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/floor,/area/awaymission/challenge/main) +"aE" = (/obj/machinery/floodlight,/turf/simulated/floor,/area/awaymission/challenge/main) +"aF" = (/obj/structure/table,/obj/machinery/cell_charger,/turf/simulated/floor,/area/awaymission/challenge/main) +"aG" = (/obj/machinery/gun_turret/exterior{desc = "Winterized exterior defense turret chambered for 7.62 rounds. Designed to down intruders with heavy calliber bullets."; faction = "winter"; name = "winterized machine gun turret (7.62)"},/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/area/awaymission/challenge/main) +"aH" = (/mob/living/simple_animal/hostile/winter/snowman,/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/area/awaymission/challenge/main) +"aI" = (/obj/structure/flora/bush,/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/area/awaymission/challenge/main) +"aJ" = (/obj/item/weapon/pickaxe/gold,/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/area/awaymission/challenge/main) +"aK" = (/obj/structure/flora/grass/green,/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/area/awaymission/challenge/main) +"aL" = (/obj/structure/boulder,/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/area/awaymission/challenge/main) +"aM" = (/turf/simulated/wall/rust,/area/awaymission/challenge/main) +"aN" = (/obj/structure/inflatable/door,/obj/effect/decal/snow/clean/edge{tag = "icon-snow_corner (NORTH)"; icon_state = "snow_corner"; dir = 1},/turf/simulated/floor{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/awaymission/challenge/main) +"aO" = (/obj/structure/girder/displaced,/turf/simulated/floor{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/awaymission/challenge/main) +"aP" = (/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/awaymission/challenge/main) +"aQ" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/awaymission/challenge/main) +"aR" = (/turf/simulated/shuttle/wall{icon_state = "swall8"; dir = 2},/area/awaymission/challenge/main) +"aS" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor{icon_state = "delivery"},/area/awaymission/challenge/main) +"aT" = (/turf/simulated/shuttle/wall{icon_state = "swall4"; dir = 2},/area/awaymission/challenge/main) +"aU" = (/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/awaymission/challenge/main) +"aV" = (/turf/simulated/floor{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/awaymission/challenge/main) +"aW" = (/obj/structure/girder,/turf/simulated/floor{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/awaymission/challenge/main) +"aX" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/awaymission/challenge/main) +"aY" = (/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/challenge/main) +"aZ" = (/turf/simulated/floor{icon_state = "bar"},/area/awaymission/challenge/main) +"ba" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/awaymission/challenge/main) +"bb" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/awaymission/challenge/main) +"bc" = (/obj/effect/decal/straw/medium,/obj/effect/decal/remains/human,/turf/simulated/floor{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/awaymission/challenge/main) +"bd" = (/obj/item/weapon/paper/journal_scrap_3,/turf/simulated/floor{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/awaymission/challenge/main) +"be" = (/obj/structure/sink/puddle,/turf/simulated/floor{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/awaymission/challenge/main) +"bf" = (/mob/living/simple_animal/hostile/winter/santa/stage_1,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/awaymission/challenge/main) +"bg" = (/turf/simulated/shuttle/wall{icon_state = "swall2"; dir = 2},/area/awaymission/challenge/main) +"bh" = (/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/awaymission/challenge/main) +"bi" = (/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/awaymission/challenge/main) +"bj" = (/obj/structure/flora/rock,/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/area/awaymission/challenge/main) +"bk" = (/obj/structure/flora/grass/brown,/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/area/awaymission/challenge/main) +"bl" = (/obj/machinery/chem_heater,/turf/simulated/floor/wood,/area/awaymission/challenge/main) +"bm" = (/obj/machinery/chem_dispenser,/turf/simulated/floor/wood,/area/awaymission/challenge/main) +"bn" = (/obj/machinery/chem_master,/turf/simulated/floor/wood,/area/awaymission/challenge/main) +"bo" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/syringes,/turf/simulated/floor/wood,/area/awaymission/challenge/main) +"bp" = (/turf/simulated/floor/wood,/area/awaymission/challenge/main) +"bq" = (/obj/structure/mineral_door/wood{tag = "icon-wood"; icon_state = "wood"},/turf/simulated/floor/wood,/area/awaymission/challenge/main) +"br" = (/obj/machinery/bot/medbot/mysterious,/turf/simulated/floor/wood,/area/awaymission/challenge/main) +"bs" = (/obj/machinery/space_heater,/turf/simulated/floor/wood,/area/awaymission/challenge/main) +"bt" = (/obj/structure/table,/obj/item/clothing/accessory/stethoscope,/obj/item/bodybag,/obj/item/weapon/storage/box/beakers,/turf/simulated/floor/wood,/area/awaymission/challenge/main) +"bu" = (/obj/machinery/vending/cola,/turf/simulated/floor,/area/awaymission/challenge/main) +"bv" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/awaymission/challenge/main) +"bw" = (/obj/machinery/autolathe,/turf/simulated/floor,/area/awaymission/challenge/main) +"bx" = (/obj/machinery/gun_turret/interior{density = 0; desc = "Winterized interior defense turret chambered for .45 rounds and mounted on a wall. Designed to down intruders without damaging the hull."; faction = "winter"; name = "wall mounted machine gun turret (.45)"; pixel_y = 27},/turf/simulated/floor,/area/awaymission/challenge/main) +"by" = (/obj/structure/table,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor,/area/awaymission/challenge/main) +"bz" = (/obj/item/clothing/head/cone,/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/area/awaymission/challenge/main) +"bA" = (/mob/living/simple_animal/walrus,/turf/simulated/floor/snow{carbon_dioxide = 21.8366; nitrogen = 0; oxygen = 82.1472; temperature = 73},/area/awaymission/challenge/main) +"bB" = (/obj/structure/closet/toolcloset,/turf/simulated/floor,/area/awaymission/challenge/main) +"bC" = (/obj/item/taperoll/engineering,/turf/simulated/floor,/area/awaymission/challenge/main) +"bD" = (/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/floor,/area/awaymission/challenge/main) +"bE" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/gateroom) +"bF" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id_tag = "challenge"; name = "Gateway Shutters"; p_open = 0},/turf/simulated/floor{tag = "icon-delivery (SOUTHEAST)"; icon_state = "delivery"; dir = 6},/area/awaymission/gateroom) +"bG" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor{tag = "icon-delivery (SOUTHEAST)"; icon_state = "delivery"; dir = 6},/area/awaymission/gateroom) +"bH" = (/turf/simulated/floor,/area/awaymission/gateroom) +"bI" = (/obj/machinery/door_control{id = "challenge"; name = "Gateway Lockdown"; pixel_x = -4; pixel_y = 26; req_access_txt = "0"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/awaymission/gateroom) +"bJ" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/awaymission/gateroom) +"bK" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/greengrid,/area/awaymission/gateroom) +"bL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor,/area/awaymission/gateroom) +"bM" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/item/weapon/paper/journal_scrap_1,/turf/simulated/floor,/area/awaymission/gateroom) +"bN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor,/area/awaymission/gateroom) +"bO" = (/obj/machinery/gateway{dir = 9},/turf/simulated/floor/bluegrid,/area/awaymission/gateroom) +"bP" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor/bluegrid,/area/awaymission/gateroom) +"bQ" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor/bluegrid,/area/awaymission/gateroom) +"bR" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/challenge/main) +"bS" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/awaymission/gateroom) +"bT" = (/obj/structure/dispenser/oxygen{oxygentanks = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor,/area/awaymission/gateroom) +"bU" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor/bluegrid,/area/awaymission/gateroom) +"bV" = (/obj/machinery/gateway/centeraway,/turf/simulated/floor/bluegrid,/area/awaymission/gateroom) +"bW" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor/bluegrid,/area/awaymission/gateroom) +"bX" = (/obj/machinery/power/smes/magical,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/awaymission/challenge/main) +"bY" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc/noalarm{dir = 4; name = "Worn-out APC"; pixel_x = 24; pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/challenge/main) +"bZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/awaymission/gateroom) +"ca" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor,/area/awaymission/gateroom) +"cb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor,/area/awaymission/gateroom) +"cc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor,/area/awaymission/gateroom) +"cd" = (/obj/machinery/gateway{dir = 10},/turf/simulated/floor/bluegrid,/area/awaymission/gateroom) +"ce" = (/obj/machinery/gateway,/turf/simulated/floor/bluegrid,/area/awaymission/gateroom) +"cf" = (/obj/machinery/gateway{dir = 6},/turf/simulated/floor/bluegrid,/area/awaymission/gateroom) +"cg" = (/turf/simulated/floor/plating,/area/awaymission/challenge/main) +"ch" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/awaymission/challenge/main) +"ci" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/power/apc/noalarm{dir = 4; name = "Worn-out APC"; pixel_x = 24; pixel_y = 0},/turf/simulated/floor/plating,/area/awaymission/gateroom) +"cj" = (/obj/machinery/space_heater,/turf/simulated/floor,/area/awaymission/gateroom) +"ck" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor,/area/awaymission/gateroom) +"cl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor,/area/awaymission/gateroom) +"cm" = (/obj/structure/table,/obj/item/clothing/accessory/scarf/christmas,/obj/item/clothing/accessory/scarf/christmas,/obj/item/clothing/accessory/scarf/christmas,/obj/item/clothing/accessory/scarf/christmas,/obj/item/clothing/accessory/scarf/christmas,/turf/simulated/floor,/area/awaymission/gateroom) +"cn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table,/obj/item/clothing/head/helmet/space/santahat,/obj/item/clothing/head/helmet/space/santahat,/obj/item/clothing/head/helmet/space/santahat,/obj/item/clothing/head/helmet/space/santahat,/obj/item/clothing/head/helmet/space/santahat,/turf/simulated/floor,/area/awaymission/gateroom) +"co" = (/obj/structure/table,/obj/item/clothing/suit/furcoat,/obj/item/clothing/suit/furcoat,/obj/item/clothing/suit/furcoat,/obj/item/clothing/suit/furcoat,/obj/item/clothing/suit/furcoat,/turf/simulated/floor,/area/awaymission/gateroom) +"cp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor,/area/awaymission/gateroom) +"cq" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/gateroom) +"cr" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/gateroom) +"cs" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/gateroom) +"ct" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/gateroom) +"cu" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; initialize_directions = 10},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/awaymission/gateroom) +"cv" = (/obj/machinery/atmospherics/unary/tank/air{dir = 1},/turf/simulated/floor/plating,/area/awaymission/gateroom) +"cw" = (/turf/space,/area/space) +"cx" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 1},/turf/simulated/floor/plating/airless,/area/awaymission/gateroom) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa +aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa +aaababababababababababacacacacacacacacacacacacacacabababababababababababacacacacacacacacacacacacacacacacacacacacabababababababaa +aaabababababababababacacacacacacacacacacacacacacacacabababacacabababababacacacadacacacacacacacacacacacacacacacacacababababababaa +aaabababababababababacacacacacacacacacacacacacacacacacacacacabababababacacacacacaeacacacacacacacacacacacacacacacabababababababaa +aaabababababacababafacacacacacacacacacacacacacacacacacacacacacacababacacacacacacacacacacacacacagagagagagacacacacabababababababaa +aaababababacacacacacacacacacacahacacacacacacacacacacacacacacacacacacacacacacacacacacacacacagagagaiajakagacacacacacacabababababaa +aaabababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacalagamamajajajagacacacacacacacababababaa +aaabababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacalagamamanajajagacacacacacacacacabababaa +aaabababacacacaoacacacacacacacacacacacacacacacacacacacacapacacacacacacacacacacacacacacacacaqaramamasagagacacacacacacacacabababaa +aaabababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacagagagamatauacacacacacacacacacabababaa +aaabababacacacacacacacacacacacacagagagagagagagavacacacacacacacacacacacacacacacacacacacacacacawagaxayauacacacacacacacacacabababaa +aaabababacadacacacacacacacacacacagazaAaBaCaDagacacacacacacacacafacacacacacacacacacacacacacacacagagagagacacacacacacacacacabababaa +aaabababacacacacacacacacacacacacagamamamamamagacacacacacacacacacacacacacaoacacabacacacacacacacacacacacafacacacacacacacacabababaa +aaabababacacacacacacacacacacacacauamamamamamauacacacacacacacacacacacacacacababababacacacacacacacacacacacacacacacacacacacabababaa +aaabababacacacacacacalacacacacacagamamamamaEagacacacacacacacacacacacacacacabababababababacacacacacacacacacacacacacacacacabababaa +aaabababacacacacacacacacacacacacagasamamamaFagacacacacacacacacacacacacacacacababababababacacacacacacacacacacacacacahacacabababaa +aaabababacacacacacafacacacacacacagagagaqagagagacacacacacacacacacacacacacacacacabababacavacacacacacacacacacacacacacacacacabababaa +aaabababacacacacacacacacacacacacacaGacacacacalacacacacacacacacacaHacacacacacacacababababacacacacacacacacacacacacacacacacabababaa +aaabababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabababacacacacacacacacacacacacacacacacacabababaa +aaabababacacacacacacacacacacacacacacacacacacacacacacacaIacacacacacacacacadacacacabacacacacacacacacacacacacacacacacacacacabababaa +aaabababacaeacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabababaa +aaabababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabababaa +aaabaJabababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaKacacacacacacacacacacacacacacacacacacacacacacacababababaa +aaabaHaLacaLacabaKacacacacacacacacacacacaKacacacacacacacacacacacacacacaKacacacacacacacacacacacacacacacaHacacacacacacabababababaa +aaabababacabababababacacacacacaHacacacacaKacacacacacacacacaGacacacaGacacacacacacacacacacacacacacacacacacacacacacacacabacabababaa +aaabaMaMaNaMaOababacacacacacacacacacacacacacacacacacacaPaQaRaSaSaSaTaQaUacacacacacacacacacacacacacacacacacacacacacacacacabababaa +aaabaMaVaVaVaWababacacacacacacacacacacacacacacacacacacaXaYaZaYaZaYaZaYaXacacacacacacacacacapacacacacacacacacacacacababababababaa +aaabaOaVbaaVaMababacacacacacacacacacacacacacacacacacaGbbaZaYaZaYaZaYaZbbaGacacacacacacacacacacacacacacacacacacacacacabababababaa +aaabaWbcbdbeaOababababacacacacacacaIacacacacacacacacacaSaYaZaYaZaYaZaYaSacacacacacacacacacacacacacacacacacacacacacacabababababaa +aaabaMaMaOaMaWabababacacacacacacacacacacacacacacacacacaSaZaYaZbfaZaYaZaSacacacacacacacacacacacacacacacacavacacacacacabababababaa +aaababababababababacacacacacacacacacacacacacacacacacacaSaYaZaYaZaYaZaYaSacacacacacacacacacacacacacacacacacacacacacacabababababaa +aaabababababababababacacacacacacacacacacacacacacacacaGbgaZaYaZaYaZaYaZbgaGacacacacacacacacacacacaIacacacacacacacacacacababababaa +aaabababacabababababacacacacacacacacacacacacacacacacacaXaYaZaYaZaYaZaYaXacacacacacacacacacacacacacacacacacacacacacacacacabababaa +aaabababacacacacacacacacacacacacacacacacacacacacacacacbhaQaRaSaSaSaTaQbiacacacaKacacacacaoacacacacacacacacacacacacacacacabababaa +aaabababacacacacacacacacacacacacacacacacacacacacaHacacacacaGacacacaGacacacacacacacacacacacacacacacacacacacacacacacacacacabababaa +aaabababacacacacacacacacacacacacaeacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabababaa +aaabababacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabababaa +aaabababbjacacacacacacacacacacacacacacacacacacacacacacababacadacacacacacacacacacacacacacacacacacaeacacacacacacacacacacacabababaa +aaabababacacacacacacacacaHacacacacacacacacacacacacacacacababacacacacacacacacacacacacacacacacacacacacagagagagagacacacacacabababaa +aaabababacacacacacacacacacacacacacacacacacacacacacacacbjababacabababababacacacacacacacacaHacacacbkagagblbmbnagacacacacacabababaa +aaabababacacacacacacacacacacacacacacacacacacacacacacababababababababababacacacacacacacacacacacacagagbobpbpbpagacacacacacabababaa +aaabababacacacacacacacacacacacacacacacacacacacacacababababababababababababacacacacacacacacacacacbqbpbpbpbpbpagbkacacacacabababaa +aaabababacacavacacacacacacacacacacacacacacacacacacacababababababababababababacacacacacacacacacacagbpbpbpbrbpagacacacacacabababaa +aaabababacacacacacacacacacacacapacacacacacacacacacacacacababababababacababacacacacacacacacacacacagagbsbpbpbtagacacacacacabababaa +aaabababacacacacacbkagagagagacacacacacacacacacacacacacacabacabababacacacacacacacacacacacacacacacaGagagauauagagacacacacacabababaa +aaabababacacacacacagagbubvagagacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabababaa +aaabababacacacacacagbwamambxagacacacacacacacacacacacacacacacaIacacacacacacacacafacacacacacacacacacacacacacacacacacacacacabababaa +aaabababacacacacacaubyamamamagbzacacacacacbjacacacacacacacacacbAacacacacacacacacacacacacacacacacacacacacacacacacacacacacabababaa +aaabababacacacacacauasamamamaqacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabababaa +aaabababacacacacacagbBbCambDagbzacacacacacacacacacacacacacacacacacacacacacacacacacacacacacapacacacacacacacacacacacacacacabababaa +aaabababacacacacacagagagagagagacacacacacacacacacacacacacacbEbFbFbFbEbkacacacacacacacacacacacacacacacacacacacacacacaeacacabababaa +aaabababacacacacacalacacacacacacacacacacacacacacacacacaeacbEbGbGbGbEbjaIacacacacacacacacacacacacacacacacacacacacacacacacabababaa +aaabababacacacacacacacacacacacacacacacacacacacacbEbEbEbEbEbEbFbFbFbEbEbEbEbEbEacacacacacacacacacacacacacacacacacacacacacabababaa +aaabababacaeacacacacacacacacacacacacacacacabacabbEbHbHbHbHbIbJbJbJbIbHbHbHbHbEababacacacacacacacacacacacacacacacacacacacabababaa +aaababababacacacacacacadacacacacacacacacababababbEbHbKbKbKbHbLbMbNbHbObPbQbHbEabbjacababacacacacacacacadacacacacacacacacabababaa +aaabababababacacacacacacacacacacacacacababbRbRbRbEbHbKbKbKbHbSbTbSbHbUbVbWbHbEbRbRbRababacacacacacacacacacacacacacacacababababaa +aaabababababacabacacacacacacacacacacacababbRbXbYbEbHbKbKbKbZcacbcacccdcecfbHbEcgcgbRabababacacacacacacacacacacacacacabababababaa +aaababababababababababababababababababababbRchcibEcjbZckckclcmcncocpckckccbHbEcgcgbRabababababababababababababababababababababaa +aaababababababababababababababababababababbRcgcgbEbEcqbEbEcrcsctcscubEbEcqbEbEcgcgbRabababababababababababababababababababababaa +aaababababababababababababababababababababbRcgcgcgbEcvbEcwcxcwcwcwcxcwbEcvbEcgcgcgbRabababababababababababababababababababababaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +"} diff --git a/_maps/map_files/RandomZLevels/fileList.txt b/_maps/map_files/RandomZLevels/fileList.txt index 104b4dac7e4..52f26162ff7 100644 --- a/_maps/map_files/RandomZLevels/fileList.txt +++ b/_maps/map_files/RandomZLevels/fileList.txt @@ -8,16 +8,18 @@ #DO tick the associated code file for the away mission you are enabling. Otherwise, the map will be trying to reference objects which do not exist, which will cause runtime errors! #_maps/map_files/RandomZLevels/academy.dmm -_maps/map_files/RandomZLevels/beach.dmm +#_maps/map_files/RandomZLevels/beach.dmm #_maps/map_files/RandomZLevels/blackmarketpackers.dmm #_maps/map_files/RandomZLevels/challenge.dmm #_maps/map_files/RandomZLevels/centcomAway.dmm #_maps/map_files/RandomZLevels/clownplanet.dmm #_maps/map_files/RandomZLevels/example.dmm -_maps/map_files/RandomZLevels/listeningpost.dmm -_maps/map_files/RandomZLevels/moonoutpost19.dmm +#_maps/map_files/RandomZLevels/listeningpost.dmm +#_maps/map_files/RandomZLevels/moonoutpost19.dmm #_maps/map_files/RandomZLevels/spacebattle.dmm #_maps/map_files/RandomZLevels/spacehotel.dmm #_maps/map_files/RandomZLevels/stationCollision.dmm -_maps/map_files/RandomZLevels/undergroundoutpost45.dmm -#_maps/map_files/RandomZLevels/wildwest.dmm \ No newline at end of file +#_maps/map_files/RandomZLevels/undergroundoutpost45.dmm +#_maps/map_files/RandomZLevels/wildwest.dmm + +_maps/map_files/RandomZLevels/evil_santa.dmm \ No newline at end of file diff --git a/code/game/objects/items/weapons/melee/misc.dm b/code/game/objects/items/weapons/melee/misc.dm index e63dde9b9aa..1edaeb26eb7 100644 --- a/code/game/objects/items/weapons/melee/misc.dm +++ b/code/game/objects/items/weapons/melee/misc.dm @@ -27,3 +27,13 @@ throwforce = 10 w_class = 2 attack_verb = list("stabbed", "jabbed", "iced,") + +/obj/item/weapon/melee/candy_sword + name = "candy cane sword" + desc = "A large candy cane with a sharpened point. Definitely too dangerous for schoolchildren." + icon_state = "candy_sword" + item_state = "candy_sword" + force = 10 + throwforce = 7 + w_class = 3 + attack_verb = list("slashed", "stabbed", "sliced", "caned") \ No newline at end of file diff --git a/code/modules/awaymissions/mission_code/evil_santa.dm b/code/modules/awaymissions/mission_code/evil_santa.dm new file mode 100644 index 00000000000..5ae1a9ef742 --- /dev/null +++ b/code/modules/awaymissions/mission_code/evil_santa.dm @@ -0,0 +1,23 @@ +/obj/item/weapon/paper/journal_scrap_1 + name = "survivor's journal page 1" + info = "Coal again.
\ + Every year, coal in my stockings when this stupid holiday comes around.
\ + Not this year though. This year will be different. I'm going to find that fat man, I swear.
\ + He'll have to give me all the good presents, if he wants to live long enough to get any cookies." + +/obj/item/weapon/paper/journal_scrap_2 + name = "survivor's journal page 9" + info = "The North Pole... You'd think it was a part of his legend, but he actually lives there!
\ + The elves and village are a lie though. Not sure where the toys come from yet, but I'll get them.
\ + Not much out here, a couple little shacks and a big igloo in the center... Bet he's inside that.
\ + On an unrelated note, great packing snow. Built a snowman today." + +/obj/item/weapon/paper/journal_scrap_3 + name = "survivor's journal page 25" + info = "Oh man... This is bad...
\ + Not even my Syndicate training was a match for him. Barely made it out with my life.
\ + He was just waiting for me... He knew. He was ready.
\ + Couldn't make it back to my shack. That gun would have helped, if only I brought it...
\ + Cave-in has me trapped in here, I just hope the distress signal reaches help in time...
\ +
\ + He knows. He knows. He knows. He knows. He knows. He knows. He knows. He knows. He knows." \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/tree.dm b/code/modules/mob/living/simple_animal/hostile/tree.dm index 5dd06aaca94..181ddaa144e 100644 --- a/code/modules/mob/living/simple_animal/hostile/tree.dm +++ b/code/modules/mob/living/simple_animal/hostile/tree.dm @@ -35,7 +35,7 @@ max_n2 = 0 minbodytemp = 0 - faction = list("hostile") + faction = list("hostile", "winter") /mob/living/simple_animal/hostile/tree/FindTarget() . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/winter_mobs.dm b/code/modules/mob/living/simple_animal/hostile/winter_mobs.dm new file mode 100644 index 00000000000..73286aa485e --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/winter_mobs.dm @@ -0,0 +1,147 @@ +////////////////////////// +// Winter Mobs // +////////////////////////// + +/mob/living/simple_animal/hostile/winter + faction = list("hostile", "syndicate", "winter") + speak_chance = 0 + turns_per_move = 5 + speed = 1 + maxHealth = 50 + health = 50 + icon = 'icons/mob/winter_mob.dmi' + icon_state = "placeholder" + icon_living = "placeholder" + icon_dead = "placeholder" + + min_oxy = 0 + max_oxy = 0 + min_tox = 0 + max_tox = 0 + min_co2 = 0 + max_co2 = 0 + min_n2 = 0 + max_n2 = 0 + minbodytemp = 0 + + melee_damage_lower = 3 + melee_damage_upper = 7 + + var/weapon1 + +/mob/living/simple_animal/hostile/winter/snowman + name = "snowman" + desc = "A very angry snowman. Doesn't look like it wants to play around..." + icon_state = "snowman" + icon_living = "snowman" + icon_dead = "snowman-dead" + weapon1 = /obj/item/weapon/melee/candy_sword + + bodytemperature = 73.0 //it's made of snow and hatred, so it's pretty cold. + maxbodytemp = 280.15 //at roughly 7 C, these will start melting (dying) from the warmth. Mind over matter or something. + heat_damage_per_tick = 10 //Now With Rapid Thawing Action! + + +/mob/living/simple_animal/hostile/winter/snowman/death() + if(prob(20)) //chance to become a stationary snowman structure instead of a corpse + new /obj/structure/snowman(get_turf(src)) + visible_message("The [src.name] shimmers as its animating magic fades away!") + ..() //this is just to make sure it gets properly killed before we qdel it + qdel(src) + else + ..() + +/mob/living/simple_animal/hostile/winter/snowman/ranged + ranged = 1 + retreat_distance = 5 + minimum_distance = 5 + projectiletype = /obj/item/projectile/snowball + weapon1 = null + +/mob/living/simple_animal/hostile/winter/reindeer + name = "reindeer" + desc = "Apparently murder is a reindeer game." + icon_state = "reindeer" + icon_living = "reindeer" + icon_dead = "reindeer-dead" + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + meat_amount = 3 + + melee_damage_lower = 5 + melee_damage_upper = 10 + +/mob/living/simple_animal/hostile/winter/santa + maxHealth = 150 //if this seems low for a "boss", it's because you have to fight him multiple times, with him fully healing between stages + health = 150 + var/next_stage = null + name = "Santa Claus" + + icon_state = "santa" + icon_living = "santa" + icon_dead = "santa-dead" + +/mob/living/simple_animal/hostile/winter/santa/stage_1 //stage 1: slow melee + desc = "GET THE FAT MAN!" + next_stage = /mob/living/simple_animal/hostile/winter/santa/stage_2 + speed = 2 + melee_damage_lower = 5 + melee_damage_upper = 15 + +/mob/living/simple_animal/hostile/winter/santa/stage_1/death() + ..() + visible_message("HO HO HO! YOU THOUGHT IT WOULD BE THIS EASY?!?") + spawn(5) + new next_stage(get_turf(src)) + qdel(src) //hide the body + +/mob/living/simple_animal/hostile/winter/santa/stage_2 //stage 2: slow ranged + desc = "GET THE FAT MAN AGAIN!" + next_stage = /mob/living/simple_animal/hostile/winter/santa/stage_3 + ranged = 1 + projectiletype = /obj/item/projectile/ornament + retreat_distance = 5 + minimum_distance = 5 + +/mob/living/simple_animal/hostile/winter/santa/stage_2/death() + ..() + visible_message("YOU'VE BEEN VERY NAUGHTY! PREPARE TO DIE!") + spawn(5) + new next_stage(get_turf(src)) + qdel(src) //hide the body + +/mob/living/simple_animal/hostile/winter/santa/stage_3 //stage 3: fast rapidfire ranged + desc = "WHY WON'T HE DIE ALREADY!?" + next_stage = /mob/living/simple_animal/hostile/winter/santa/stage_4 + ranged = 1 + rapid = 1 + speed = 0 //he's lost some weight from the fighting + projectiletype = /obj/item/projectile/ornament + retreat_distance = 3 + minimum_distance = 3 + +/mob/living/simple_animal/hostile/winter/santa/stage_3/death() + ..() + visible_message("FACE MY FINAL FORM AND KNOW DESPAIR!") + spawn(5) + new next_stage(get_turf(src)) + qdel(src) //hide the body + +/mob/living/simple_animal/hostile/winter/santa/stage_4 //stage 4: fast spinebreaker + name = "Final Form Santa" + desc = "WHAT THE HELL IS HE!?! WHY WON'T HE STAY DEAD!?!" + ranged = 0 + rapid = 0 + speed = 0 //he's lost some weight from the fighting + + environment_smash = 2 //naughty walls must be punished too + melee_damage_lower = 10 + melee_damage_upper = 25 //that's gonna leave a mark, for sure + +/mob/living/simple_animal/hostile/winter/santa/stage_4/death() + world << "THE FAT MAN HAS FALLEN!" + world << "SANTA CLAUS HAS BEEN DEFEATED!" + ..() + var/obj/item/weapon/grenade/clusterbuster/xmas/X = new /obj/item/weapon/grenade/clusterbuster/xmas(get_turf(src)) + var/obj/item/weapon/grenade/clusterbuster/xmas/Y = new /obj/item/weapon/grenade/clusterbuster/xmas(get_turf(src)) + X.prime() + Y.prime() \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 9394c27fb4d..59afc38f1cd 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -224,9 +224,9 @@ /mob/living/simple_animal/proc/handle_temperature_damage() if(bodytemperature < minbodytemp) - adjustBruteLoss(2) + adjustBruteLoss(cold_damage_per_tick) else if(bodytemperature > maxbodytemp) - adjustBruteLoss(3) + adjustBruteLoss(heat_damage_per_tick) /mob/living/simple_animal/Bumped(AM as mob|obj) if(!AM) return diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm index 3b8f87ddc39..91ae6fa24bf 100644 --- a/code/modules/projectiles/projectile/special.dm +++ b/code/modules/projectiles/projectile/special.dm @@ -354,4 +354,36 @@ obj/item/projectile/kinetic/New() return ..() if(!gun) qdel(src) - gun.create_portal(src) \ No newline at end of file + gun.create_portal(src) + +/obj/item/projectile/snowball + name = "snowball" + icon_state = "snowball" + hitsound = 'sound/items/dodgeball.ogg' + damage = 3 + damage_type = BURN + +/obj/item/projectile/snowball/on_hit(atom/target) //chilling + if(istype(target, /mob/living)) + var/mob/living/M = target + M.bodytemperature = max(0, M.bodytemperature - 50) //each hit will drop your body temp, so don't get surrounded! + M.ExtinguishMob() //bright side, they counter being on fire! + +/obj/item/projectile/ornament + name = "ornament" + icon_state = "ornament-1" + hitsound = 'sound/effects/Glasshit.ogg' + damage = 5 + damage_type = BRUTE + +/obj/item/projectile/ornament/New() + icon_state = pick("ornament-1", "ornament-2") + ..() + +/obj/item/projectile/ornament/on_hit(atom/target) //knockback + if(istype(target, /turf)) + return 0 + var/obj/T = target + var/throwdir = get_dir(firer,target) + T.throw_at(get_edge_target_turf(target, throwdir),10,10) + return 1 \ No newline at end of file diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index ae3a532b404..0bd148505c7 100644 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index 8b31eab9787..91976e05514 100644 Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ diff --git a/icons/mob/winter_mob.dmi b/icons/mob/winter_mob.dmi new file mode 100644 index 00000000000..4f295300e50 Binary files /dev/null and b/icons/mob/winter_mob.dmi differ diff --git a/icons/obj/projectiles.dmi b/icons/obj/projectiles.dmi index d8a0e56ac53..6ac5827dbef 100644 Binary files a/icons/obj/projectiles.dmi and b/icons/obj/projectiles.dmi differ diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi index ad66b6b4801..46c2cfdb9f4 100644 Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ diff --git a/paradise.dme b/paradise.dme index cd0d8bab931..088a7840db5 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1000,6 +1000,7 @@ #include "code\modules\awaymissions\mission_code\centcomAway.dm" #include "code\modules\awaymissions\mission_code\challenge.dm" #include "code\modules\awaymissions\mission_code\clownplanet.dm" +#include "code\modules\awaymissions\mission_code\evil_santa.dm" #include "code\modules\awaymissions\mission_code\spacebattle.dm" #include "code\modules\awaymissions\mission_code\stationCollision.dm" #include "code\modules\awaymissions\mission_code\wildwest.dm" @@ -1495,6 +1496,7 @@ #include "code\modules\mob\living\simple_animal\hostile\statue.dm" #include "code\modules\mob\living\simple_animal\hostile\syndicate.dm" #include "code\modules\mob\living\simple_animal\hostile\tree.dm" +#include "code\modules\mob\living\simple_animal\hostile\winter_mobs.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\clown.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\drone.dm" #include "code\modules\mob\living\simple_animal\hostile\retaliate\pet.dm"