From 42d9e3cf513c7beb1f9fa1d64be130073fe8d916 Mon Sep 17 00:00:00 2001
From: Ghommie <42542238+Ghommie@users.noreply.github.com>
Date: Mon, 11 Nov 2019 18:49:18 +0100
Subject: [PATCH] Porting Robustin's Syndicate Infiltrator PR
---
_maps/shuttles/infiltrator_basic.dmm | 353 +++++++++---------
.../machinery/porta_turret/portable_turret.dm | 19 +
code/game/turfs/simulated/wall/reinf_walls.dm | 26 ++
.../nukeop/equipment/nuclearbomb.dm | 6 +-
.../projectiles/projectile/bullets/sniper.dm | 6 +
code/modules/shuttle/syndicate.dm | 5 +
icons/turf/walls/plastitanium_wall.dmi | Bin 2914 -> 3811 bytes
7 files changed, 236 insertions(+), 179 deletions(-)
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 3cd7332b6a77c42e366eed8845e71dc7cc296818..01dfdd1234deb738088294e1e14dfc0ae7fb4ecc 100644
GIT binary patch
delta 3791
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
delta 2887
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