diff --git a/_maps/map_files/Instanced/Saucer.json b/_maps/map_files/Instanced/Saucer.json new file mode 100644 index 00000000000..9519c53cacc --- /dev/null +++ b/_maps/map_files/Instanced/Saucer.json @@ -0,0 +1,7 @@ +{ + "map_name": "!*!*! Xenophorica", + "map_path": "map_files/Instanced/map_files", + "map_file": ["Saucer.dmm"], + "traits": [{"Linkage": "Self", "Boardable Ship": 1}], + "ship_type": "/obj/structure/overmap/antag/alien" +} diff --git a/_maps/map_files/Instanced/map_files/Saucer.dmm b/_maps/map_files/Instanced/map_files/Saucer.dmm new file mode 100644 index 00000000000..a61a2e1226c --- /dev/null +++ b/_maps/map_files/Instanced/map_files/Saucer.dmm @@ -0,0 +1,1460 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ak" = ( +/turf/closed/indestructible/abductor{ + icon_state = "alien18" + }, +/area/abductor_ship) +"aS" = ( +/obj/structure/hull_plate, +/turf/closed/indestructible/abductor{ + icon_state = "alien6" + }, +/area/abductor_ship) +"bK" = ( +/obj/effect/spawner/structure/window/plasma, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"cl" = ( +/obj/structure/hull_plate/end{ + dir = 9 + }, +/turf/open/space/basic, +/area/abductor_ship) +"cL" = ( +/obj/structure/bed/abductor, +/obj/item/bedsheet/cosmos, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"cN" = ( +/obj/effect/landmark/abductor/agent{ + team_number = 2 + }, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"dx" = ( +/obj/structure/hull_plate, +/turf/closed/indestructible/abductor{ + icon_state = "alien9" + }, +/area/abductor_ship) +"dD" = ( +/obj/machinery/computer/ship/ftl_computer/preset{ + dir = 8 + }, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"eQ" = ( +/obj/structure/table/abductor, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"gQ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"gZ" = ( +/obj/machinery/power/apc/highcap/fifteen_k, +/turf/closed/wall/mineral/abductor, +/area/abductor_ship) +"hc" = ( +/obj/structure/hull_plate/end{ + dir = 10 + }, +/turf/open/space/basic, +/area/abductor_ship) +"iI" = ( +/obj/structure/hull_plate/end{ + dir = 8 + }, +/turf/open/space/basic, +/area/abductor_ship) +"iW" = ( +/obj/machinery/ship_weapon/energy/emp_blaster, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating/abductor2, +/area/abductor_ship) +"ja" = ( +/obj/structure/hull_plate, +/turf/closed/indestructible/abductor{ + icon_state = "alien22" + }, +/area/abductor_ship) +"jf" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"jp" = ( +/obj/machinery/power/rtg/abductor, +/obj/structure/cable/white{ + icon_state = "0-4" + }, +/turf/open/floor/plating/abductor2, +/area/abductor_ship) +"ku" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/abductor2, +/area/abductor_ship) +"kI" = ( +/obj/structure/hull_plate, +/turf/closed/indestructible/abductor{ + icon_state = "alien3" + }, +/area/abductor_ship) +"kY" = ( +/obj/structure/table/optable/abductor, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"lS" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"ma" = ( +/obj/machinery/door/airlock/abductor, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"mh" = ( +/obj/structure/hull_plate, +/turf/closed/indestructible/abductor{ + icon_state = "alien20" + }, +/area/abductor_ship) +"ms" = ( +/obj/structure/hull_plate, +/turf/closed/indestructible/abductor{ + icon_state = "alien11" + }, +/area/abductor_ship) +"nd" = ( +/obj/machinery/replicator, +/turf/closed/wall/mineral/abductor, +/area/abductor_ship) +"oj" = ( +/obj/structure/hull_plate/end{ + dir = 6 + }, +/turf/open/space/basic, +/area/abductor_ship) +"ow" = ( +/obj/structure/hull_plate, +/turf/closed/indestructible/abductor{ + icon_state = "alien5" + }, +/area/abductor_ship) +"oF" = ( +/turf/open/floor/plating/abductor2, +/area/abductor_ship) +"pp" = ( +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/structure/cable/white{ + icon_state = "5-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/abductor2, +/area/abductor_ship) +"qj" = ( +/obj/machinery/door/airlock/abductor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/abductor2, +/area/abductor_ship) +"rf" = ( +/obj/structure/cable/white{ + icon_state = "1-10" + }, +/turf/open/floor/plating/abductor2, +/area/abductor_ship) +"rj" = ( +/obj/structure/hull_plate, +/turf/closed/indestructible/abductor{ + icon_state = "alien10" + }, +/area/abductor_ship) +"sz" = ( +/obj/structure/fans/tiny, +/obj/machinery/door/airlock/abductor, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"sO" = ( +/obj/structure/hull_plate, +/turf/closed/indestructible/abductor{ + icon_state = "alien2" + }, +/area/abductor_ship) +"sS" = ( +/obj/structure/shuttle/engine/heater{ + dir = 8 + }, +/turf/open/floor/plating/abductor2, +/area/abductor_ship) +"tc" = ( +/obj/structure/table/abductor, +/obj/machinery/recharger, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"tJ" = ( +/obj/structure/hull_plate, +/turf/closed/indestructible/abductor{ + icon_state = "alien16" + }, +/area/abductor_ship) +"ug" = ( +/turf/closed/wall/mineral/abductor, +/area/abductor_ship) +"uI" = ( +/obj/structure/closet/abductor, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"uO" = ( +/obj/structure/hull_plate, +/turf/open/space/basic, +/area/abductor_ship) +"vA" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/terminal{ + dir = 4 + }, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"vW" = ( +/obj/structure/hull_plate, +/turf/closed/indestructible/abductor{ + icon_state = "alien15" + }, +/area/abductor_ship) +"wF" = ( +/turf/closed/indestructible/abductor{ + icon_state = "alien17" + }, +/area/abductor_ship) +"xa" = ( +/obj/structure/hull_plate, +/turf/closed/indestructible/abductor, +/area/abductor_ship) +"yp" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"yR" = ( +/obj/machinery/computer/camera_advanced/abductor, +/obj/machinery/abductor/console, +/obj/machinery/abductor/pad{ + team_number = 2 + }, +/obj/machinery/computer/camera_advanced/abductor, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"zS" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/abductor/scientist{ + team_number = 2 + }, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"zU" = ( +/turf/closed/indestructible/abductor{ + icon_state = "alien8" + }, +/area/abductor_ship) +"AB" = ( +/obj/machinery/computer/ship/navigation/console{ + dir = 8; + icon_state = "computer_mid" + }, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"Bd" = ( +/obj/structure/hull_plate, +/turf/closed/indestructible/abductor{ + icon_state = "alien14" + }, +/area/abductor_ship) +"Bj" = ( +/obj/structure/table/abductor, +/obj/item/surgical_drapes, +/obj/item/surgicaldrill/alien, +/obj/item/circular_saw/alien, +/obj/item/cautery/alien, +/obj/item/hemostat/alien, +/obj/item/retractor/alien, +/obj/item/scalpel/alien, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"BI" = ( +/obj/machinery/door/airlock/abductor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"Cw" = ( +/obj/structure/hull_plate/end{ + dir = 5 + }, +/turf/open/space/basic, +/area/abductor_ship) +"CQ" = ( +/turf/open/space/basic, +/area/space) +"CY" = ( +/obj/structure/hull_plate/end{ + dir = 4 + }, +/turf/open/space/basic, +/area/abductor_ship) +"Db" = ( +/turf/closed/indestructible/abductor{ + icon_state = "alien7" + }, +/area/abductor_ship) +"FL" = ( +/obj/structure/hull_plate/end{ + dir = 1 + }, +/turf/open/space/basic, +/area/abductor_ship) +"FR" = ( +/obj/structure/hull_plate/end, +/turf/open/space/basic, +/area/abductor_ship) +"Ga" = ( +/obj/structure/shuttle/engine/heater{ + dir = 8 + }, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"GK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/abductor2, +/area/abductor_ship) +"Ia" = ( +/obj/structure/table/abductor, +/obj/item/paper/guides/antag/abductor, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"Ie" = ( +/obj/structure/reagent_dispensers/foamtank/hull_repair_juice, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"JE" = ( +/obj/machinery/computer/ship/helm/console{ + dir = 8 + }, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"KC" = ( +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"KU" = ( +/obj/machinery/abductor/experiment, +/obj/machinery/abductor/console, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"Lc" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"LD" = ( +/obj/structure/closet/abductor, +/obj/item/storage/box/alienhandcuffs, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"LH" = ( +/obj/structure/hull_plate, +/turf/closed/indestructible/abductor{ + icon_state = "alien24" + }, +/area/abductor_ship) +"LI" = ( +/obj/machinery/abductor/experiment, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"MJ" = ( +/obj/structure/hull_plate, +/turf/closed/indestructible/abductor{ + icon_state = "alien21" + }, +/area/abductor_ship) +"MP" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"Na" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/ship_weapon/energy/emp_blaster, +/turf/open/floor/plating/abductor2, +/area/abductor_ship) +"Ni" = ( +/obj/structure/bed/abductor, +/obj/item/bedsheet/random, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"NQ" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"Oi" = ( +/obj/machinery/power/rtg/abductor, +/obj/structure/cable/white{ + icon_state = "0-2" + }, +/turf/open/floor/plating/abductor2, +/area/abductor_ship) +"Qa" = ( +/obj/machinery/computer/ship/dradis/console{ + dir = 5; + icon_state = "computer_end" + }, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"Qt" = ( +/obj/effect/spawner/structure/window/plasma, +/turf/open/floor/plating/abductor2, +/area/abductor_ship) +"RA" = ( +/obj/structure/table/abductor, +/obj/item/extinguisher/advanced/hull_repair_juice, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"Tq" = ( +/obj/structure/hull_plate, +/turf/closed/indestructible/abductor{ + icon_state = "alien19" + }, +/area/abductor_ship) +"TJ" = ( +/obj/structure/hull_plate, +/turf/closed/indestructible/abductor{ + icon_state = "alien4" + }, +/area/abductor_ship) +"Vl" = ( +/obj/machinery/jukebox/disco, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"VK" = ( +/obj/machinery/shuttle/engine/void{ + dir = 4 + }, +/obj/structure/hull_plate, +/turf/closed/indestructible/abductor{ + icon_state = "alien12" + }, +/area/abductor_ship) +"Wx" = ( +/obj/machinery/door/airlock/abductor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"XS" = ( +/obj/machinery/abductor/gland_dispenser, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"Yc" = ( +/obj/machinery/abductor/pad{ + team_number = 2 + }, +/turf/open/floor/plating/abductor, +/area/abductor_ship) +"YG" = ( +/obj/structure/hull_plate, +/turf/closed/indestructible/abductor{ + icon_state = "alien23" + }, +/area/abductor_ship) + +(1,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(2,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(3,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(4,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(5,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(6,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(7,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(8,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +cl +iI +iI +iI +iI +iI +iI +iI +iI +iI +hc +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(9,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +cl +uO +tJ +Bd +VK +rj +oF +Bd +VK +rj +aS +uO +hc +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(10,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +CQ +cl +uO +mh +wF +jp +sS +ug +sz +ug +Ga +Ni +Db +xa +uO +hc +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(11,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +cl +uO +tJ +wF +Oi +pp +ku +ug +KC +ug +uI +KC +cL +Db +aS +uO +hc +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(12,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +FL +mh +wF +Oi +rf +oF +GK +ug +KC +nd +KC +KC +KC +Ni +Db +xa +FR +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(13,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +FL +MJ +ug +ug +ug +ug +Wx +ug +ma +ug +ug +ug +ma +ug +ug +sO +FR +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(14,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +FL +ja +KC +KC +dD +KC +gQ +ug +KC +jf +MP +BI +MP +NQ +LD +kI +FR +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(15,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +FL +ja +KC +cN +KC +KC +Lc +BI +MP +lS +yp +ug +LI +gQ +XS +kI +FR +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(16,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +FL +ja +eQ +eQ +KC +KC +gQ +ug +Vl +KC +yp +ug +KU +zS +kY +kI +FR +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(17,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +FL +ja +RA +eQ +KC +KC +gQ +ma +KC +KC +yp +ug +yR +gQ +Bj +kI +FR +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(18,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +FL +ja +KC +KC +jf +MP +lS +nd +KC +KC +KC +ma +jf +vA +KC +kI +FR +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(19,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +FL +YG +Ie +ug +qj +ug +ug +ug +ma +ug +ug +ug +qj +gZ +Yc +TJ +FR +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(20,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +FL +LH +ak +ug +iW +bK +tc +tc +KC +eQ +Ia +bK +Na +ug +zU +ow +FR +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(21,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +Cw +uO +Tq +ak +oF +bK +KC +KC +KC +KC +KC +bK +oF +zU +dx +uO +oj +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(22,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +CQ +Cw +uO +LH +ak +ug +uI +JE +AB +Qa +uI +ug +zU +ow +uO +oj +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(23,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +Cw +uO +Tq +vW +ms +Qt +Qt +Qt +vW +ms +dx +uO +oj +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(24,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +Cw +CY +CY +CY +CY +CY +CY +CY +CY +CY +oj +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(25,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(26,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(27,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(28,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(29,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} +(30,1,1) = {" +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +CQ +"} diff --git a/nsv13.dme b/nsv13.dme index 2b0ca9adc67..f6e4b8fef33 100644 --- a/nsv13.dme +++ b/nsv13.dme @@ -4060,6 +4060,7 @@ #include "nsv13\code\modules\overmap\FTL\ftl_jump_mishaps\jump_mishap_helpers.dm" #include "nsv13\code\modules\overmap\FTL\ftl_jump_mishaps\phase_ghost.dm" #include "nsv13\code\modules\overmap\ship_areas\badmiral.dm" +#include "nsv13\code\modules\overmap\types\antagships.dm" #include "nsv13\code\modules\overmap\types\miningships.dm" #include "nsv13\code\modules\overmap\types\nanotrasen.dm" #include "nsv13\code\modules\overmap\types\solgov.dm" diff --git a/nsv13/code/__DEFINES/overmap.dm b/nsv13/code/__DEFINES/overmap.dm index ca0b003bd46..f0108bdc5fb 100644 --- a/nsv13/code/__DEFINES/overmap.dm +++ b/nsv13/code/__DEFINES/overmap.dm @@ -31,8 +31,9 @@ #define FIRE_MODE_LASER_PD 16 #define FIRE_MODE_BLUE_LASER 17 #define FIRE_MODE_HYBRID_RAIL 18 +#define FIRE_MODE_EMP 19 -#define MAX_POSSIBLE_FIREMODE 18 //This should relate to the maximum number of weapons a ship can ever have. Keep this up to date please! +#define MAX_POSSIBLE_FIREMODE 19 //This should relate to the maximum number of weapons a ship can ever have. Keep this up to date please! //Weapon classes for AIs #define WEAPON_CLASS_LIGHT 1 diff --git a/nsv13/code/datums/weapon_types.dm b/nsv13/code/datums/weapon_types.dm index 4d4f32881ce..4fdaaeeee52 100644 --- a/nsv13/code/datums/weapon_types.dm +++ b/nsv13/code/datums/weapon_types.dm @@ -203,6 +203,23 @@ if(!override_mass_check && target.mass <= MASS_TINY) //Alright fighter mains. I'm not THAT much of a bastard. Generally AIs will prefer to not use their MAC for flyswatting. return FALSE return TRUE + +/datum/ship_weapon/emp_blaster // really big ion gun for when you have to make everyone stop + name = "Phased Ion Pulse Driver" + default_projectile_type = /obj/item/projectile/beam/laser/phaser/emp + burst_size = 2 + fire_delay = 0.3 SECONDS + range_modifier = 10 + overmap_select_sound = 'nsv13/sound/effects/ship/phaser_adjust.ogg' + overmap_firing_sounds = list('sound/weapons/emitter.ogg') + select_alert = "Activating High Energy Defense weapons.." + failure_alert = "DANGER: Defensive weapon offline." + lateral = FALSE + miss_chance = 33 + firing_arc = 45 + max_miss_distance = 6 + ai_fire_delay = 0.3 SECONDS + allowed_roles = OVERMAP_USER_ROLE_PILOT //End Energy Weapons /datum/ship_weapon/missile_launcher diff --git a/nsv13/code/modules/munitions/ship_weapons/energy_weapons/phaser.dm b/nsv13/code/modules/munitions/ship_weapons/energy_weapons/phaser.dm index cd041f433e3..2468b593e7d 100644 --- a/nsv13/code/modules/munitions/ship_weapons/energy_weapons/phaser.dm +++ b/nsv13/code/modules/munitions/ship_weapons/energy_weapons/phaser.dm @@ -159,3 +159,20 @@ /obj/machinery/ship_weapon/energy/beam/admin //ez weapon for quickly testing. charge_per_shot = 0 + +/obj/machinery/ship_weapon/energy/emp_blaster + name = "Phased Ion Pulse Driver" + desc = "A strange energy weapon, it seems to share some distant legacy with the ion gun" + icon_state = "emp gun" + fire_mode = FIRE_MODE_EMP //Shot by the pilot. + circuit = /obj/item/circuitboard/machine + idle_power_usage = 0 + charge = 0 + charge_rate = 1000 //How quickly do we charge? + charge_per_shot = 10000 //How much power per shot do we have to use? + max_charge = 100000 //10 shots before it has to recharge. + power_modifier = 0 //Power youre inputting into this thing. + power_modifier_cap = 1 //Which means that your guns are spitting bursts that do 60 damage. + energy_weapon_type = /datum/ship_weapon/emp_blaster + static_charge = TRUE //Controls whether power and energy cost scale with power modifier. True = no scaling + damage_deflection = 100 diff --git a/nsv13/code/modules/overmap/overmap.dm b/nsv13/code/modules/overmap/overmap.dm index 44fa6c5745d..6ad40d98570 100644 --- a/nsv13/code/modules/overmap/overmap.dm +++ b/nsv13/code/modules/overmap/overmap.dm @@ -593,6 +593,11 @@ Proc to spool up a new Z-level for a player ship and assign it a treadmill. var/list/params_list = params2list(params) if(target == src || istype(target, /atom/movable/screen) || (target in user.GetAllContents()) || params_list["alt"] || params_list["shift"]) return FALSE + if(disruption) + if(user) + to_chat(user, "The controls buzz angrily!") + playsound(helm, 'sound/machines/buzz-sigh.ogg', 75, 1) + return if(LAZYFIND(gauss_gunners, user)) //Special case for gauss gunners here. Takes priority over them being the regular gunner. var/datum/component/overmap_gunning/user_gun = user.GetComponent(/datum/component/overmap_gunning) if(user_gun) @@ -1030,3 +1035,12 @@ Proc to spool up a new Z-level for a player ship and assign it a treadmill. */ /obj/structure/overmap/proc/spec_collision_handling(obj/structure/overmap/other_ship, list/impact_powers, impact_angle) return + + +/obj/structure/overmap/key_down(key, client/user) + if(disruption) + if(user) + to_chat(user, "The controls buzz angrily!") + playsound(helm, 'sound/machines/buzz-sigh.ogg', 75, 1) + return + . = ..() diff --git a/nsv13/code/modules/overmap/types/antagships.dm b/nsv13/code/modules/overmap/types/antagships.dm new file mode 100644 index 00000000000..5f3a95ae3ed --- /dev/null +++ b/nsv13/code/modules/overmap/types/antagships.dm @@ -0,0 +1,28 @@ +/obj/structure/overmap/antag/alien //Abductor flying saucer. + name = "!*!*! Xenophorica" + icon = 'nsv13/icons/overmap/new/saucer.dmi' + icon_state = "saucer" + desc = "Information not found: Update your NTOS " + mass = MASS_MEDIUM + sprite_size = 96 + damage_states = FALSE + obj_integrity = 600 + max_integrity = 600 + ai_controlled = FALSE + //collision_positions = list(new /datum/vector2d(-27,62), new /datum/vector2d(-30,52), new /datum/vector2d(-30,11), new /datum/vector2d(-32,-16), new /datum/vector2d(-30,-45), new /datum/vector2d(-24,-58), new /datum/vector2d(19,-60), new /datum/vector2d(33,-49), new /datum/vector2d(35,24), new /datum/vector2d(33,60)) + bound_width = 128 + bound_height = 128 + faction = "Abductor" + role = INSTANCED_MIDROUND_SHIP + starting_system = "Staging" //Abductors come from an unkown part of space.... probably + armor = list("overmap_light" = 70, "overmap_medium" = 60, "overmap_heavy" = 60) //advanced armor? IDK, these are completely arbitary rn. it's a smaller ship though + use_armour_quadrants = FALSE + cloak_factor = 30 //they're pretty advanced. and they need to be undetected. powerful cloak + +/obj/structure/overmap/antag/alien/Initialize(mapload) + . = ..() + handle_cloak(TRUE) + AddComponent(/datum/component/overmap_shields, 1200, 1200, 35) //inital integrity, max integrity, and recharge rate. + +/obj/structure/overmap/antag/alien/apply_weapons() + weapon_types[FIRE_MODE_EMP] = new/datum/ship_weapon/emp_blaster(src) diff --git a/nsv13/code/modules/overmap/weapons/projectiles_fx.dm b/nsv13/code/modules/overmap/weapons/projectiles_fx.dm index 28aac6a8671..762e77df662 100644 --- a/nsv13/code/modules/overmap/weapons/projectiles_fx.dm +++ b/nsv13/code/modules/overmap/weapons/projectiles_fx.dm @@ -697,3 +697,33 @@ Misc projectile types, effects, think of this as the special FX file. icon = 'nsv13/goonstation/icons/hugeexplosion2.dmi' icon_state = "explosion" duration = 10 + + + +/obj/item/projectile/beam/laser/phaser/emp + name = "Massive Ion bolt" + var/disruption = 20 //Do you like stuncombat? Well the AI doesn't. and neither does the mainship- hopefully. + var/disruption_cap = 30 //Very effective if applied spaced out over time against damage-resistant ships. + damage = 30 //anemic damage + icon = 'icons/obj/projectiles.dmi' + icon_state = "ion" + impact_effect_type = /obj/effect/temp_visual/impact_effect/ion + flag = "overmap_heavy" + relay_projectile_type = /obj/item/projectile/beam/laser/phaser/emp/relayed + +/obj/item/projectile/beam/laser/phaser/emp/spec_overmap_hit(obj/structure/overmap/target) + if(target.disruption <= disruption_cap) + target.disruption = min(target.disruption + disruption, disruption_cap) + return + +/obj/item/projectile/beam/laser/phaser/emp/relayed + projectile_piercing = PASSTABLE + flag = "energy" + +/obj/item/projectile/beam/laser/phaser/relayed/Initialize(mapload) + src.transform *= 2 + +/obj/item/projectile/beam/laser/phaser/relayed/on_hit(atom/target, blocked = FALSE) + ..() + empulse(target, 1, 1) + return BULLET_ACT_HIT diff --git a/nsv13/goonstation/icons/obj/computer.dmi b/nsv13/goonstation/icons/obj/computer.dmi index d67d4505ca9..b4d89122da6 100644 Binary files a/nsv13/goonstation/icons/obj/computer.dmi and b/nsv13/goonstation/icons/obj/computer.dmi differ diff --git a/nsv13/icons/obj/energy_weapons.dmi b/nsv13/icons/obj/energy_weapons.dmi index 1d9aab52ff0..6788b003267 100644 Binary files a/nsv13/icons/obj/energy_weapons.dmi and b/nsv13/icons/obj/energy_weapons.dmi differ diff --git a/nsv13/icons/overmap/new/saucer.dmi b/nsv13/icons/overmap/new/saucer.dmi new file mode 100644 index 00000000000..7b463238cb9 Binary files /dev/null and b/nsv13/icons/overmap/new/saucer.dmi differ