diff --git a/_maps/shuttles/infiltrator_basic.dmm b/_maps/shuttles/infiltrator_basic.dmm index 263d692764..f7ec35c667 100644 --- a/_maps/shuttles/infiltrator_basic.dmm +++ b/_maps/shuttles/infiltrator_basic.dmm @@ -2,15 +2,21 @@ "aa" = ( /turf/template_noop, /area/template_noop) -"ac" = ( -/obj/machinery/porta_turret/syndicate{ +"ab" = ( +/obj/machinery/porta_turret/syndicate/shuttle{ dir = 9 }, -/turf/closed/wall/mineral/plastitanium, +/turf/closed/wall/r_wall/syndicate, +/area/shuttle/syndicate/bridge) +"ac" = ( +/turf/closed/wall/r_wall/syndicate, /area/shuttle/syndicate/bridge) "ad" = ( -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/syndicate/bridge) +/obj/machinery/porta_turret/syndicate/shuttle{ + dir = 10 + }, +/turf/closed/wall/r_wall/syndicate, +/area/shuttle/syndicate/hallway) "ae" = ( /obj/structure/window/plastitanium, /obj/machinery/door/poddoor/shutters{ @@ -21,11 +27,8 @@ /turf/open/floor/plating, /area/shuttle/syndicate/bridge) "af" = ( -/obj/machinery/porta_turret/syndicate{ - dir = 5 - }, -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/syndicate/bridge) +/turf/closed/wall/r_wall/syndicate, +/area/shuttle/syndicate/hallway) "ag" = ( /obj/machinery/computer/med_data/syndie, /obj/effect/turf_decal/bot_white, @@ -144,7 +147,7 @@ /area/shuttle/syndicate/bridge) "au" = ( /obj/machinery/status_display/evac, -/turf/closed/wall/mineral/plastitanium, +/turf/closed/wall/r_wall/syndicate, /area/shuttle/syndicate/bridge) "av" = ( /obj/machinery/door/airlock/hatch{ @@ -164,14 +167,14 @@ /turf/open/floor/plasteel/dark, /area/shuttle/syndicate/bridge) "aw" = ( -/obj/machinery/porta_turret/syndicate{ - dir = 10 +/obj/machinery/porta_turret/syndicate/shuttle{ + dir = 9 }, -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/syndicate/hallway) +/turf/closed/wall/r_wall/syndicate, +/area/shuttle/syndicate/eva) "ax" = ( -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/syndicate/hallway) +/turf/closed/wall/r_wall/syndicate, +/area/shuttle/syndicate/eva) "ay" = ( /obj/structure/table/reinforced, /obj/item/stack/cable_coil/white, @@ -222,11 +225,8 @@ /turf/open/floor/plasteel/dark, /area/shuttle/syndicate/hallway) "aB" = ( -/obj/machinery/porta_turret/syndicate{ - dir = 6 - }, -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/syndicate/hallway) +/turf/closed/wall/r_wall/syndicate, +/area/shuttle/syndicate/airlock) "aC" = ( /obj/structure/chair/comfy/shuttle{ dir = 4; @@ -265,14 +265,17 @@ /turf/open/floor/plasteel/dark, /area/shuttle/syndicate/hallway) "aF" = ( -/obj/machinery/porta_turret/syndicate{ +/obj/machinery/porta_turret/syndicate/shuttle{ + dir = 5 + }, +/turf/closed/wall/r_wall/syndicate, +/area/shuttle/syndicate/armory) +"aG" = ( +/obj/machinery/porta_turret/syndicate/shuttle{ dir = 9 }, -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/syndicate/eva) -"aG" = ( -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/syndicate/eva) +/turf/closed/wall/r_wall/syndicate, +/area/shuttle/syndicate/medical) "aH" = ( /obj/structure/chair/comfy/shuttle{ dir = 4; @@ -314,14 +317,11 @@ /turf/open/floor/plasteel/dark, /area/shuttle/syndicate/hallway) "aJ" = ( -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/syndicate/airlock) +/turf/closed/wall/r_wall/syndicate, +/area/shuttle/syndicate/medical) "aK" = ( -/obj/machinery/porta_turret/syndicate{ - dir = 5 - }, -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/syndicate/armory) +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/shuttle/syndicate/medical) "aL" = ( /obj/machinery/suit_storage_unit/syndicate, /obj/effect/turf_decal/stripes/line{ @@ -508,7 +508,7 @@ /obj/structure/sign/warning/vacuum/external{ layer = 4 }, -/turf/closed/wall/mineral/plastitanium, +/turf/closed/wall/r_wall/syndicate, /area/shuttle/syndicate/airlock) "be" = ( /obj/machinery/suit_storage_unit/syndicate, @@ -517,11 +517,6 @@ }, /turf/open/floor/mineral/plastitanium, /area/shuttle/syndicate/eva) -"bf" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/plasteel/dark, -/area/shuttle/syndicate/eva) "bg" = ( /obj/structure/grille, /obj/structure/window/plastitanium, @@ -543,31 +538,28 @@ /turf/open/floor/mineral/plastitanium/red, /area/shuttle/syndicate/airlock) "bj" = ( -/obj/machinery/porta_turret/syndicate{ - dir = 9 - }, -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/syndicate/medical) +/turf/closed/wall/r_wall/syndicate/nodiagonal, +/area/shuttle/syndicate/armory) "bk" = ( -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/syndicate/medical) -"bl" = ( /obj/machinery/status_display/ai, -/turf/closed/wall/mineral/plastitanium, +/turf/closed/wall/r_wall/syndicate, /area/shuttle/syndicate/medical) "bm" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/shuttle/syndicate/medical) +/turf/closed/wall/r_wall/syndicate, +/area/shuttle/syndicate/armory) "bn" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, +/obj/machinery/status_display/evac, +/turf/closed/wall/r_wall/syndicate, /area/shuttle/syndicate/armory) "bo" = ( -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/syndicate/armory) -"bp" = ( -/obj/machinery/status_display/evac, -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/syndicate/armory) +/obj/machinery/nuclearbomb/syndicate{ + anchored = 1 + }, +/obj/machinery/door/window{ + dir = 1 + }, +/turf/open/floor/circuit/red, +/area/shuttle/syndicate/hallway) "bq" = ( /obj/machinery/sleeper/syndie{ dir = 4 @@ -1043,14 +1035,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/shuttle/syndicate/hallway) -"cm" = ( -/obj/machinery/nuclearbomb/syndicate, -/obj/machinery/door/window{ - dir = 1; - name = "Theatre Stage" - }, -/turf/open/floor/circuit/red, -/area/shuttle/syndicate/hallway) "cn" = ( /obj/machinery/light{ dir = 4 @@ -1169,18 +1153,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/shuttle/syndicate/medical) -"cC" = ( -/obj/machinery/porta_turret/syndicate{ - dir = 6 - }, -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/syndicate/medical) -"cD" = ( -/obj/machinery/porta_turret/syndicate{ - dir = 10 - }, -/turf/closed/wall/mineral/plastitanium, -/area/shuttle/syndicate/armory) "cE" = ( /obj/structure/shuttle/engine/propulsion/left, /obj/effect/turf_decal/stripes/line, @@ -1196,6 +1168,35 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/shuttle/syndicate/armory) +"dp" = ( +/obj/machinery/porta_turret/syndicate/shuttle{ + dir = 10 + }, +/turf/closed/wall/r_wall/syndicate, +/area/shuttle/syndicate/armory) +"pd" = ( +/obj/machinery/porta_turret/syndicate/shuttle{ + dir = 5 + }, +/turf/closed/wall/r_wall/syndicate, +/area/shuttle/syndicate/bridge) +"vv" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/plasteel/dark, +/area/shuttle/syndicate/eva) +"In" = ( +/obj/machinery/porta_turret/syndicate/shuttle{ + dir = 6 + }, +/turf/closed/wall/r_wall/syndicate, +/area/shuttle/syndicate/hallway) +"MJ" = ( +/obj/machinery/porta_turret/syndicate/shuttle{ + dir = 6 + }, +/turf/closed/wall/r_wall/syndicate, +/area/shuttle/syndicate/medical) (1,1,1) = {" aa @@ -1211,16 +1212,16 @@ aa aa aa aa -bj -bk -bk -bk -bk -bk -bk -bk -bk -bk +aG +aJ +aJ +aJ +aJ +aJ +aJ +aJ +aJ +aJ "} (2,1,1) = {" aa @@ -1230,13 +1231,13 @@ aa aa aa aa -aF -aG -aG -aG -aG -aG -bk +aw +ax +ax +ax +ax +ax +aJ bq bC bq @@ -1255,13 +1256,13 @@ aa aa aa aa -aG +ax aL aR aR aR be -bk +aJ br bD bH @@ -1280,13 +1281,13 @@ aa aa aa aa -aG +ax aM aM aM aM aM -bl +bk bs bD bI @@ -1298,51 +1299,51 @@ cu cB "} (5,1,1) = {" +ab +ac +ac +ac ac -ad -ad -ad -ad aa aa -aG +ax aM aM aM aM aM -bk +aJ bt bD bJ bT cb -bm -bk -bk -cC +aK +aJ +aJ +MJ "} (6,1,1) = {" -ad +ac ag an at +ac ad -aw aa -aG +ax aN aS aU aZ -bf -bk +vv +aJ bu bD bJ bT cc -bk +aJ aa aa aa @@ -1352,24 +1353,24 @@ ae ah ao at -ad +ac +af +af +ax +ax ax ax -aG -aG -aG -aG ba bg -bm +aK bv bv bK bv -bk -bk -ax -ax +aJ +aJ +af +af aa "} (8,1,1) = {" @@ -1417,7 +1418,7 @@ aD bL bU az -cm +bo cr cw aa @@ -1427,7 +1428,7 @@ ae ak ap at -ad +ac aA aE aI @@ -1452,75 +1453,75 @@ ae al ar at -ad -ax -ax -ax -ax -aJ -aJ +ac +af +af +af +af +aB +aB bb bh -bn +bj bw bw bM bw -bo -bo -ax -ax +bm +bm +af +af aa "} (12,1,1) = {" -ad +ac am as at -ad -aB +ac +In aa -aJ +aB aO aO aX bc aO -bo +bm bx bG bN bV ce -bo +bm aa aa aa "} (13,1,1) = {" -af -ad -ad -ad -ad +pd +ac +ac +ac +ac aa aa -aJ +aB aP aP aP aP aP -bo +bm by bG bN bV cf -bn -bo -bo -cD +bj +bm +bm +dp "} (14,1,1) = {" aa @@ -1530,13 +1531,13 @@ aa aa aa aa -aJ +aB aP aP aP aP aP -bp +bn bz bG bO @@ -1555,13 +1556,13 @@ aa aa aa aa -aJ +aB aQ aT aT aT bi -bo +bm bA bG bP @@ -1580,13 +1581,13 @@ aa aa aa aa -aK -aJ -aJ +aF +aB +aB aY bd -aJ -bo +aB +bm bB bG bQ @@ -1611,14 +1612,14 @@ aa aa aa aa -aK -bo -bo -bo -bo -bo -bo -bo -bo -bo +aF +bm +bm +bm +bm +bm +bm +bm +bm +bm "} diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 7aaab0d8ea..289f075302 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -647,6 +647,7 @@ has_cover = 0 scan_range = 9 req_access = list(ACCESS_SYNDICATE) + mode = TURRET_LETHAL stun_projectile = /obj/item/projectile/bullet lethal_projectile = /obj/item/projectile/bullet lethal_projectile_sound = 'sound/weapons/gunshot.ogg' @@ -695,6 +696,24 @@ stun_projectile = /obj/item/projectile/bullet/syndicate_turret lethal_projectile = /obj/item/projectile/bullet/syndicate_turret +/obj/machinery/porta_turret/syndicate/shuttle + scan_range = 9 + shot_delay = 3 + stun_projectile = /obj/item/projectile/bullet/p50/penetrator/shuttle + lethal_projectile = /obj/item/projectile/bullet/p50/penetrator/shuttle + lethal_projectile_sound = 'sound/weapons/gunshot_smg.ogg' + stun_projectile_sound = 'sound/weapons/gunshot_smg.ogg' + armor = list("melee" = 50, "bullet" = 30, "laser" = 30, "energy" = 30, "bomb" = 80, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90) + +/obj/machinery/porta_turret/syndicate/shuttle/target(atom/movable/target) + if(target) + setDir(get_dir(base, target))//even if you can't shoot, follow the target + shootAt(target) + addtimer(CALLBACK(src, .proc/shootAt, target), 5) + addtimer(CALLBACK(src, .proc/shootAt, target), 10) + addtimer(CALLBACK(src, .proc/shootAt, target), 15) + return TRUE + /obj/machinery/porta_turret/ai faction = list("silicon") nonlethal_projectile = /obj/item/projectile/beam/disabler diff --git a/code/game/turfs/simulated/wall/reinf_walls.dm b/code/game/turfs/simulated/wall/reinf_walls.dm index d52a3bcc23..0d9bff1bdf 100644 --- a/code/game/turfs/simulated/wall/reinf_walls.dm +++ b/code/game/turfs/simulated/wall/reinf_walls.dm @@ -227,3 +227,29 @@ /turf/closed/wall/r_wall/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode) if(the_rcd.canRturf) return ..() + +/turf/closed/wall/r_wall/syndicate + name = "hull" + desc = "The armored hull of an ominous looking ship." + icon = 'icons/turf/walls/plastitanium_wall.dmi' + icon_state = "map-shuttle" + explosion_block = 20 + sheet_type = /obj/item/stack/sheet/mineral/plastitanium + smooth = SMOOTH_MORE|SMOOTH_DIAGONAL + canSmoothWith = list(/turf/closed/wall/r_wall/syndicate, /turf/closed/wall/mineral/plastitanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/plastitanium, /obj/structure/shuttle/engine, /obj/structure/falsewall/plastitanium) + +/turf/closed/wall/r_wall/syndicate/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) + return FALSE + +/turf/closed/wall/r_wall/syndicate/nodiagonal + smooth = SMOOTH_MORE + icon_state = "map-shuttle_nd" + +/turf/closed/wall/r_wall/syndicate/nosmooth + icon = 'icons/turf/shuttle.dmi' + icon_state = "wall" + smooth = SMOOTH_FALSE + +/turf/closed/wall/r_wall/syndicate/overspace + icon_state = "map-overspace" + fixed_underlay = list("space"=1) diff --git a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm index add3c1d9b0..d0e6dafbc1 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm @@ -343,10 +343,10 @@ /obj/machinery/nuclearbomb/proc/set_anchor() - if(!isinspace()) - anchored = !anchored - else + if(isinspace() && !anchored) to_chat(usr, "There is nothing to anchor to!") + else + anchored = !anchored /obj/machinery/nuclearbomb/proc/set_safety() safety = !safety diff --git a/code/modules/projectiles/projectile/bullets/sniper.dm b/code/modules/projectiles/projectile/bullets/sniper.dm index 78be94339c..3ffac7804e 100644 --- a/code/modules/projectiles/projectile/bullets/sniper.dm +++ b/code/modules/projectiles/projectile/bullets/sniper.dm @@ -38,3 +38,9 @@ dismemberment = 0 //It goes through you cleanly. knockdown = 0 breakthings = FALSE + +/obj/item/projectile/bullet/p50/penetrator/shuttle //Nukeop Shuttle Variety + icon_state = "gaussstrong" + damage = 25 + speed = 0.3 + range = 16 diff --git a/code/modules/shuttle/syndicate.dm b/code/modules/shuttle/syndicate.dm index 6861676971..bffce9e7ab 100644 --- a/code/modules/shuttle/syndicate.dm +++ b/code/modules/shuttle/syndicate.dm @@ -27,6 +27,11 @@ board.moved = TRUE ..() +/obj/machinery/computer/shuttle/syndicate/allowed(mob/M) + if(issilicon(M) && !(ROLE_SYNDICATE in M.faction)) + return FALSE + return ..() + /obj/machinery/computer/shuttle/syndicate/drop_pod name = "syndicate assault pod control" desc = "Controls the drop pod's launch system." diff --git a/icons/turf/walls/plastitanium_wall.dmi b/icons/turf/walls/plastitanium_wall.dmi index 3cd7332b6a..01dfdd1234 100644 Binary files a/icons/turf/walls/plastitanium_wall.dmi and b/icons/turf/walls/plastitanium_wall.dmi differ