diff --git a/code/__DEFINES/typecheck/generic_types.dm b/code/__DEFINES/typecheck/generic_types.dm
index 1127c2873202..21d00d1f31fa 100644
--- a/code/__DEFINES/typecheck/generic_types.dm
+++ b/code/__DEFINES/typecheck/generic_types.dm
@@ -8,6 +8,7 @@
#define isclient(X) (istype(X, /client))
#define isStack(X) (istype(X, /obj/item/stack))
#define issurface(X) (istype(X, /obj/structure/surface))
+#define isscreenatom(A) (istype(A, /atom/movable/screen))
#define ismovableatom(A) (ismovable(A))
#define isatom(A) (isloc(A))
#define isfloorturf(A) (istype(A, /turf/open/floor))
diff --git a/code/datums/supply_packs/vehicle_equipment.dm b/code/datums/supply_packs/vehicle_equipment.dm
index cfacb92308e4..4e8ce904849f 100644
--- a/code/datums/supply_packs/vehicle_equipment.dm
+++ b/code/datums/supply_packs/vehicle_equipment.dm
@@ -9,7 +9,7 @@
group = "Vehicle Equipment"
/datum/supply_packs/landing_pad
- name = "AD-19E landing pad (x1)"
+ name = "AD-71E landing pad (x1)"
contains = list(
/obj/structure/landing_pad_folded,
)
diff --git a/code/game/jobs/job/command/auxiliary/operations_pilot.dm b/code/game/jobs/job/command/auxiliary/operations_pilot.dm
index 9517d0019e3e..1caff26c2d22 100644
--- a/code/game/jobs/job/command/auxiliary/operations_pilot.dm
+++ b/code/game/jobs/job/command/auxiliary/operations_pilot.dm
@@ -5,7 +5,7 @@
supervisors = "the auxiliary support officer"
flags_startup_parameters = ROLE_HIDDEN
gear_preset = /datum/equipment_preset/uscm_ship/op
- entry_message_body = "Your job is to fly, protect, and maintain the AD-19E blackfoot. While you are an officer, your authority is limited to the vtol, where you have authority over the enlisted personnel."
+ entry_message_body = "Your job is to fly, protect, and maintain the AD-71E blackfoot. While you are an officer, your authority is limited to the VTOL, where you have authority over the enlisted personnel."
/obj/effect/landmark/start/pilot/operations_pilot
name = JOB_OPERATIONS_PILOT
diff --git a/code/modules/gear_presets/uscm_ship.dm b/code/modules/gear_presets/uscm_ship.dm
index dd5a3f0fe1a1..f24a2a34cc20 100644
--- a/code/modules/gear_presets/uscm_ship.dm
+++ b/code/modules/gear_presets/uscm_ship.dm
@@ -642,7 +642,7 @@
/datum/equipment_preset/uscm_ship/op/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/satchel
- if(new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1))
+ if(new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1)) // note that 1 is not a boolean here
back_item = /obj/item/storage/backpack/marine
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/po(new_human), WEAR_L_EAR)
diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm
index 94584dc4968d..601376fa06f9 100644
--- a/code/modules/mob/new_player/preferences_setup.dm
+++ b/code/modules/mob/new_player/preferences_setup.dm
@@ -287,6 +287,8 @@
return /datum/equipment_preset/uscm_ship/dp/full
if(JOB_DROPSHIP_CREW_CHIEF)
return /datum/equipment_preset/uscm_ship/dcc/full
+ if(JOB_OPERATIONS_PILOT)
+ return /datum/equipment_preset/uscm_ship/op
if(JOB_CORPORATE_LIAISON)
return /datum/equipment_preset/uscm_ship/liaison
if(JOB_COMBAT_REPORTER)
diff --git a/code/modules/vehicles/blackfoot/blackfoot.dm b/code/modules/vehicles/blackfoot/blackfoot.dm
index 25d9a1eb7619..22da4282819e 100644
--- a/code/modules/vehicles/blackfoot/blackfoot.dm
+++ b/code/modules/vehicles/blackfoot/blackfoot.dm
@@ -44,7 +44,7 @@
/obj/item/hardpoint/locomotion/blackfoot_thrusters,
/obj/item/hardpoint/primary/blackfoot_launchers,
/obj/item/hardpoint/support/sensor_array,
- /obj/item/hardpoint/secondary/doorgun,
+ /obj/item/hardpoint/special/doorgun,
)
entrances = list(
@@ -79,7 +79,7 @@
var/state = STATE_STOWED
- COOLDOWN_DECLARE(turn_delay)
+ COOLDOWN_DECLARE(turn_cooldown)
COOLDOWN_DECLARE(flight_sound_cooldown)
var/obj/blackfoot_shadow/shadow_holder
@@ -129,6 +129,8 @@
/obj/vehicle/multitile/blackfoot/Initialize(mapload, ...)
. = ..()
tacmap = new /datum/tacmap/drawing/blackfoot(src, minimap_type)
+ load_hardpoints()
+ load_role_reserved_slots()
update_icon()
/obj/vehicle/multitile/blackfoot/Destroy()
@@ -136,6 +138,9 @@
. = ..()
+/obj/vehicle/multitile/blackfoot/load_hardpoints()
+ add_hardpoint(new /obj/item/hardpoint/special/doorgun)
+
/obj/vehicle/multitile/blackfoot/load_role_reserved_slots()
var/datum/role_reserved_slots/reserved_slot = new
reserved_slot.category_name = "Crewmen"
@@ -221,7 +226,7 @@
if(state == STATE_VTOL)
return ..()
- if(!COOLDOWN_FINISHED(src, turn_delay))
+ if(!COOLDOWN_FINISHED(src, turn_cooldown))
return FALSE
if(state != STATE_FLIGHT)
@@ -238,7 +243,7 @@
if(!.)
return
- COOLDOWN_START(src, turn_delay, 1 SECONDS)
+ COOLDOWN_START(src, turn_cooldown, 1 SECONDS)
if(shadow_holder)
shadow_holder.dir = dir
diff --git a/code/modules/vehicles/blackfoot/interior.dm b/code/modules/vehicles/blackfoot/interior.dm
index d163aa5dd798..5ff7e8a855be 100644
--- a/code/modules/vehicles/blackfoot/interior.dm
+++ b/code/modules/vehicles/blackfoot/interior.dm
@@ -427,7 +427,7 @@
return
var/obj/item/ammo_magazine/hardpoint/doorgun_ammo/ammo = item
- var/obj/item/hardpoint/secondary/doorgun/doorgun = locate() in linked_blackfoot.hardpoints
+ var/obj/item/hardpoint/special/doorgun/doorgun = locate() in linked_blackfoot.hardpoints
if(!doorgun)
return
diff --git a/code/modules/vehicles/hardpoints/hardpoint_ammo/doorgun_ammo.dm b/code/modules/vehicles/hardpoints/hardpoint_ammo/doorgun_ammo.dm
index 8bf6762919fd..81e00cb3775c 100644
--- a/code/modules/vehicles/hardpoints/hardpoint_ammo/doorgun_ammo.dm
+++ b/code/modules/vehicles/hardpoints/hardpoint_ammo/doorgun_ammo.dm
@@ -7,4 +7,4 @@
w_class = SIZE_LARGE
default_ammo = /datum/ammo/grenade_container/doorgun
max_rounds = 10
- gun_type = /obj/item/hardpoint/secondary/doorgun
+ gun_type = /obj/item/hardpoint/special/doorgun
diff --git a/code/modules/vehicles/hardpoints/secondary/doorgun.dm b/code/modules/vehicles/hardpoints/special/doorgun.dm
similarity index 79%
rename from code/modules/vehicles/hardpoints/secondary/doorgun.dm
rename to code/modules/vehicles/hardpoints/special/doorgun.dm
index f11f6fda84c3..c8b694546e11 100644
--- a/code/modules/vehicles/hardpoints/secondary/doorgun.dm
+++ b/code/modules/vehicles/hardpoints/special/doorgun.dm
@@ -1,5 +1,5 @@
-/obj/item/hardpoint/secondary/doorgun
- name = "\improper Doorgun"
+/obj/item/hardpoint/special/doorgun
+ name = "\improper M866 Blackfoot Automatic Doorgun"
desc = ""
icon = 'icons/obj/vehicles/hardpoints/blackfoot.dmi'
@@ -25,7 +25,7 @@
var/interior_type = /datum/map_template/interior/blackfoot_doorgun
-/obj/item/hardpoint/secondary/doorgun/on_install(obj/vehicle/multitile/vehicle)
+/obj/item/hardpoint/special/doorgun/on_install(obj/vehicle/multitile/vehicle)
if(!istype(vehicle, /obj/vehicle/multitile/blackfoot))
return
@@ -36,13 +36,13 @@
INVOKE_ASYNC(blackfoot, TYPE_PROC_REF(/obj/vehicle/multitile, do_create_interior))
blackfoot.update_icon()
-/obj/item/hardpoint/secondary/doorgun/reset_rotation()
+/obj/item/hardpoint/special/doorgun/reset_rotation()
rotate(turning_angle(dir, NORTH))
-/obj/item/hardpoint/secondary/doorgun/in_firing_arc(atom/target)
+/obj/item/hardpoint/special/doorgun/in_firing_arc(atom/target)
return !..() // Just return the opposite since it fires in the back
-/obj/item/hardpoint/secondary/doorgun/try_fire(atom/target, mob/living/user, params)
+/obj/item/hardpoint/special/doorgun/try_fire(atom/target, mob/living/user, params)
var/obj/vehicle/multitile/blackfoot/blackfoot_owner = owner
if(!blackfoot_owner)
@@ -59,7 +59,7 @@
return ..()
// Just removes the sleep because it sucks
-/obj/item/hardpoint/secondary/doorgun/reload(mob/user)
+/obj/item/hardpoint/special/doorgun/reload(mob/user)
if(!LAZYLEN(backup_clips))
to_chat(usr, SPAN_WARNING("\The [name] has no remaining backup clips."))
return
@@ -76,7 +76,7 @@
to_chat(user, SPAN_NOTICE("You reload \the [name]."))
-/obj/item/hardpoint/secondary/doorgun/can_be_removed(mob/remover)
+/obj/item/hardpoint/special/doorgun/can_be_removed(mob/remover)
to_chat(remover, SPAN_WARNING("[src] cannot be removed from [owner]."))
return FALSE
diff --git a/code/modules/vehicles/multitile/multitile_interaction.dm b/code/modules/vehicles/multitile/multitile_interaction.dm
index d90a7435652e..ae0f5634aa0c 100644
--- a/code/modules/vehicles/multitile/multitile_interaction.dm
+++ b/code/modules/vehicles/multitile/multitile_interaction.dm
@@ -370,6 +370,9 @@
if(modifiers[SHIFT_CLICK] || modifiers[MIDDLE_CLICK] || modifiers[RIGHT_CLICK] || modifiers[BUTTON4] || modifiers[BUTTON5]) //don't step on examine, point, etc
return
+ if(isscreenatom(object)) // the user has clicked a UI element, which is handled elsewhere
+ return
+
var/seat = get_mob_seat(source)
switch(seat)
if(VEHICLE_DRIVER)
diff --git a/colonialmarines.dme b/colonialmarines.dme
index b99dd9322a96..23aca5ad721f 100644
--- a/colonialmarines.dme
+++ b/colonialmarines.dme
@@ -2616,12 +2616,12 @@
#include "code\modules\vehicles\hardpoints\primary\minigun.dm"
#include "code\modules\vehicles\hardpoints\primary\primary.dm"
#include "code\modules\vehicles\hardpoints\secondary\cupola.dm"
-#include "code\modules\vehicles\hardpoints\secondary\doorgun.dm"
#include "code\modules\vehicles\hardpoints\secondary\flamer.dm"
#include "code\modules\vehicles\hardpoints\secondary\frontal_cannon.dm"
#include "code\modules\vehicles\hardpoints\secondary\grenade_launcher.dm"
#include "code\modules\vehicles\hardpoints\secondary\secondary.dm"
#include "code\modules\vehicles\hardpoints\secondary\tow.dm"
+#include "code\modules\vehicles\hardpoints\special\doorgun.dm"
#include "code\modules\vehicles\hardpoints\special\firing_port_weapon.dm"
#include "code\modules\vehicles\hardpoints\special\special.dm"
#include "code\modules\vehicles\hardpoints\support\antenna.dm"
diff --git a/maps/map_files/USS_Almayer/USS_Almayer.dmm b/maps/map_files/USS_Almayer/USS_Almayer.dmm
index 541158f63dd8..6ed81033e3ac 100644
--- a/maps/map_files/USS_Almayer/USS_Almayer.dmm
+++ b/maps/map_files/USS_Almayer/USS_Almayer.dmm
@@ -34908,10 +34908,6 @@
/obj/effect/decal/warning_stripes{
icon_state = "S"
},
-/obj/item/hardpoint/secondary/doorgun{
- pixel_y = 10;
- pixel_x = 2
- },
/turf/open/floor/almayer/plating/northeast,
/area/almayer/shipboard/operations)
"bFH" = (