Skip to content

Commit

Permalink
Adds Paddy, the Security Mech (tgstation#79376)
Browse files Browse the repository at this point in the history
## About The Pull Request
- Adds a new combat mech, Paddy. Paddy is a modified Ripley MK-I,
intended for use by the station's security force. Like the MK-I, the
Paddy features an open-air cockpit design (and thus does not protect
from ranged weapons), but maintains the speed of the base unit.
Constructing a Paddy is similar to constructing a MK-II, though the kit
requires combat-mech level research. Sprites by
[DrDiasyl](https://github.com/DrDiasyl)
-- The paddy has an internal cargo bay capable of holding up to four
individuals (loaded with a hydraulic claw). If the pilot exits the
Paddy, any loaded individuals are likewise ejected. Individuals can
attempt to resist their way out of the mech, but it requires the mech to
be stationary for 45 seconds. If they do this, all individuals in the
holding cell are ejected.

- Adds a new mech equipment piece, the hydraulic claw. Similar to a
clamp, this Paddy-exclusive item can load mobs into the Paddy's cargo
bay. Humanoid mobs are handcuffed upon loading. The hydraulic claw is
unlocked on the same tech node as the Paddy.

- Adds a round-start Paddy, carrying one peacekeeper disabler and one
hydraulic claw, to each security area on all maps. Round-start Paddys
are also pre-locked with security access. Security now has access to a
mech charger, and a small bay for it all. Map edits were done by
[Maurukas](https://github.com/Maurukas).

- Also did some minor cleanup of various mech-related code. Ripley mech
cargo is no longer stored in the mech, but within the "ejector" object.
This doesn't have any player-facing changes, but it is easier to
organize behind the scenes. additionally, if Ripleys are destroyed now,
they drop their stored objects rather than deleting them.

## Why It's Good For The Game
Playing lone security is probably one of the least fun aspects of the
game. Arresting any assistant is inevitably setting yourself up against
the tide as a whole; You try to stun any one person and they crawl out
of the woodworks to get in your way, drag off the arrestee, and probably
try to steal your gear.

The Paddy is set up to be functional against low-threat targets, but not
particularly good against anything with purpose. The round-start Paddy
carries the disabler equipment, as well as the law claw, to detain
individuals in a *somewhat* safe manner. Being that you're inside an
exosuit, you're immune to shovespam that plagues the halls, and you
don't risk dropping important gear quite as easily.

However, The open canopy gives you no protection at all from ranged
attacks, nor from atmos hazards. Being that you're in an exosuit, you
cannot use other items or equipment. The AI will have trouble finding
you to open a door, due to your name not jumping their camera to your
location.
## Changelog
:cl: Zxaber, DrDiasyl, Maurukas
add: A new security-focused combat mech, the Paddy, has been added,
intended to be particularly helpful for lone sec officers. You will find
one in the Security main office, and a replacement can be built with
late-game mech research.
fix: Ripley MK-I and MK-II mechs no longer qdel their stored items when
destroyed.
/:cl:

![image](https://github.com/tgstation/tgstation/assets/37497534/72e6890d-82be-44dd-9b09-e4c75a9bfd4a)

---------

Co-authored-by: Vire <66576896+Maurukas@users.noreply.github.com>
  • Loading branch information
zxaber and Maurukas authored Nov 9, 2023
1 parent 8ea1f1d commit 91af16b
Show file tree
Hide file tree
Showing 28 changed files with 1,620 additions and 474 deletions.
33 changes: 17 additions & 16 deletions _maps/map_files/Birdshot/birdshot.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -7850,8 +7850,8 @@
/obj/structure/sink/kitchen/directional/east,
/obj/machinery/airalarm/directional/south,
/obj/machinery/button/door/directional/west{
pixel_y = 8;
id = "custodialshutters"
id = "custodialshutters";
pixel_y = 8
},
/turf/open/floor/iron/white/small,
/area/station/service/janitor)
Expand Down Expand Up @@ -10724,8 +10724,8 @@
/area/station/security/prison/shower)
"dZT" = (
/obj/machinery/button/transport/tram/directional/south{
specific_transport_id = "bird_2";
id = 2
id = 2;
specific_transport_id = "bird_2"
},
/turf/open/floor/iron,
/area/station/maintenance/department/medical/central)
Expand Down Expand Up @@ -20010,8 +20010,8 @@
pixel_y = 11
},
/obj/item/mod/module/signlang_radio{
pixel_y = 2;
pixel_x = -2
pixel_x = -2;
pixel_y = 2
},
/turf/open/floor/iron/small,
/area/station/security/office)
Expand Down Expand Up @@ -36000,8 +36000,8 @@
"mNG" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/button/transport/tram/directional/south{
specific_transport_id = "bird_2";
id = 1
id = 1;
specific_transport_id = "bird_2"
},
/turf/open/floor/iron,
/area/station/maintenance/port/aft)
Expand Down Expand Up @@ -46813,8 +46813,8 @@
"qzp" = (
/obj/structure/window/reinforced/spawner/directional/west,
/obj/machinery/button/transport/tram/directional/north{
specific_transport_id = "bird_1";
id = 1
id = 1;
specific_transport_id = "bird_1"
},
/obj/machinery/transport/destination_sign/indicator/directional/north,
/turf/open/floor/noslip,
Expand Down Expand Up @@ -49876,8 +49876,8 @@
/obj/structure/table,
/obj/machinery/airalarm/directional/south,
/obj/item/storage/box/bandages{
pixel_y = 6;
pixel_x = -6
pixel_x = -6;
pixel_y = 6
},
/obj/item/clipboard{
pixel_x = 4;
Expand Down Expand Up @@ -56708,8 +56708,8 @@
"tGv" = (
/obj/structure/window/reinforced/spawner/directional/west,
/obj/machinery/button/transport/tram/directional/north{
specific_transport_id = "bird_1";
id = 2
id = 2;
specific_transport_id = "bird_1"
},
/obj/machinery/transport/destination_sign/indicator/directional/north,
/turf/open/floor/noslip,
Expand Down Expand Up @@ -61666,6 +61666,7 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/obj/machinery/camera/autoname/directional/north,
/obj/machinery/light/small/directional/north,
/obj/vehicle/sealed/mecha/ripley/paddy/preset,
/turf/open/floor/iron,
/area/station/security/tram)
"vmX" = (
Expand Down Expand Up @@ -66929,8 +66930,8 @@
/obj/item/radio/intercom/directional/south,
/obj/structure/extinguisher_cabinet/directional/west,
/obj/item/storage/box/bandages{
pixel_y = 6;
pixel_x = 4
pixel_x = 4;
pixel_y = 6
},
/obj/item/stack/medical/gauze{
pixel_x = -2;
Expand Down
Loading

0 comments on commit 91af16b

Please sign in to comment.