diff --git a/code/datums/ammo/bullet/arc.dm b/code/datums/ammo/bullet/arc.dm index 5e74508e04b2..277cda59bedf 100644 --- a/code/datums/ammo/bullet/arc.dm +++ b/code/datums/ammo/bullet/arc.dm @@ -8,7 +8,7 @@ scatter = 0 damage = 30 damage_var_high = PROJECTILE_VARIANCE_TIER_8 - penetration = ARMOR_PENETRATION_TIER_2 + penetration = ARMOR_PENETRATION_TIER_3 accurate_range = 10 max_range = 12 shell_speed = AMMO_SPEED_TIER_6 diff --git a/code/game/machinery/computer/groundside_operations.dm b/code/game/machinery/computer/groundside_operations.dm index 52ff558cde89..03dbbfb160ac 100644 --- a/code/game/machinery/computer/groundside_operations.dm +++ b/code/game/machinery/computer/groundside_operations.dm @@ -390,4 +390,8 @@ has_squad_overwatch = FALSE minimap_type = MINIMAP_FLAG_PMC +/obj/structure/machinery/computer/groundside_operations/arc + icon = 'icons/obj/vehicles/interiors/arc.dmi' + icon_state = "groundsideop_computer" + #undef COMMAND_SQUAD diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm index 4cdcb1a970ca..d9f15922eeaf 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm @@ -7,6 +7,8 @@ desc = "A rectangular metallic frame sitting on four legs with a back panel. Designed to fit the sitting position, more or less comfortably." icon_state = "chair" buckle_lying = 0 + var/north_layer = FLY_LAYER + var/non_north_layer = OBJ_LAYER var/propelled = FALSE //Check for fire-extinguisher-driven chairs var/can_rotate = TRUE var/picked_up_item = /obj/item/weapon/twohanded/folded_metal_chair @@ -25,10 +27,10 @@ flags_can_pass_all_temp = PASS_OVER /obj/structure/bed/chair/handle_rotation() //Making this into a separate proc so office chairs can call it on Move() - if(src.dir == NORTH) - src.layer = FLY_LAYER + if(dir == NORTH) + layer = north_layer else - src.layer = OBJ_LAYER + layer = non_north_layer if(buckled_mob) buckled_mob.setDir(dir) @@ -257,6 +259,10 @@ debris = list() picked_up_item = null +/obj/structure/bed/chair/comfy/arc + non_north_layer = BELOW_OBJ_LAYER + layer = BELOW_OBJ_LAYER + /obj/structure/bed/chair/comfy/orange icon_state = "comfychair_orange" diff --git a/code/modules/almayer/machinery.dm b/code/modules/almayer/machinery.dm index 9411c229d2f3..76eef40c081f 100644 --- a/code/modules/almayer/machinery.dm +++ b/code/modules/almayer/machinery.dm @@ -106,7 +106,9 @@ /obj/structure/machinery/prop/almayer/CICmap/computer name = "map terminal" desc = "A terminal that displays a map of the current operation location." - icon_state = "security" + icon = 'icons/obj/vehicles/interiors/arc.dmi' + icon_state = "cicmap_computer" + density = FALSE /obj/structure/machinery/prop/almayer/CICmap/upp minimap_type = MINIMAP_FLAG_UPP diff --git a/code/modules/cm_marines/overwatch.dm b/code/modules/cm_marines/overwatch.dm index 031e464b3f82..8dfd1dc3f929 100644 --- a/code/modules/cm_marines/overwatch.dm +++ b/code/modules/cm_marines/overwatch.dm @@ -872,7 +872,8 @@ name = "Broken Overwatch Console" /obj/structure/machinery/computer/overwatch/almayer/small - icon_state = "engineering_terminal" + icon = 'icons/obj/vehicles/interiors/arc.dmi' + icon_state = "overwatch_computer" /obj/structure/machinery/computer/overwatch/clf faction = FACTION_CLF diff --git a/code/modules/objectives/objective_memory_storage.dm b/code/modules/objectives/objective_memory_storage.dm index de2ab30691cc..c84f71556743 100644 --- a/code/modules/objectives/objective_memory_storage.dm +++ b/code/modules/objectives/objective_memory_storage.dm @@ -221,7 +221,8 @@ GLOBAL_DATUM_INIT(intel_system, /datum/intel_system, new()) /obj/structure/machinery/computer/intel/disk_reader // ARC computer to save on tile space name = "\improper SIGINT terminal" desc = "An USCM computer capable of uploading data to the intelligence database. It has a disk reader slot built into the bottom, as well." - icon_state = "terminal" + icon = 'icons/obj/vehicles/interiors/arc.dmi' + icon_state = "sigint_computer" /obj/structure/machinery/computer/intel/disk_reader/Initialize() . = ..() diff --git a/code/modules/shuttle/shuttle_rotate.dm b/code/modules/shuttle/shuttle_rotate.dm index e8e93a040889..b78ea85c7c3c 100644 --- a/code/modules/shuttle/shuttle_rotate.dm +++ b/code/modules/shuttle/shuttle_rotate.dm @@ -25,6 +25,14 @@ If ever any of these procs are useful for non-shuttles, rename it to proc/rotate pixel_x = oldPY pixel_y = (oldPX*(-1)) + +/* ***********************************Object rotate procs*********************************** */ + +/obj/vehicle/multitile/shuttleRotate(rotation, params) + params &= ~ROTATE_OFFSET + return ..() + + /* ***********************************Turf rotate procs*********************************** */ /turf/closed/mineral/shuttleRotate(rotation, params) diff --git a/code/modules/vehicles/arc/arc.dm b/code/modules/vehicles/arc/arc.dm index feee097c3638..8f5a8ee5d8e9 100644 --- a/code/modules/vehicles/arc/arc.dm +++ b/code/modules/vehicles/arc/arc.dm @@ -17,11 +17,10 @@ interior_map = /datum/map_template/interior/arc - passengers_slots = 3 - xenos_slots = 5 + passengers_slots = 2 // 5 total. Reserved slots are added to passenger slots. + xenos_slots = 4 entrances = list( - "left" = list(2, 0), "right" = list(-2, 0), ) diff --git a/code/modules/vehicles/arc/interior.dm b/code/modules/vehicles/arc/interior.dm new file mode 100644 index 000000000000..c8d7d0934e4d --- /dev/null +++ b/code/modules/vehicles/arc/interior.dm @@ -0,0 +1,13 @@ +/obj/structure/interior_exit/vehicle/arc + name = "ARC side door" + icon = 'icons/obj/vehicles/interiors/arc.dmi' + icon_state = "exit_door" + +/obj/structure/prop/vehicle/arc + name = "ARC chassis" + + icon = 'icons/obj/vehicles/interiors/arc_chassis.dmi' + icon_state = "arc_chassis" + layer = ABOVE_TURF_LAYER + mouse_opacity = FALSE + diff --git a/code/modules/vehicles/interior/interior_landmarks.dm b/code/modules/vehicles/interior/interior_landmarks.dm index fa1eee8651ac..cd9f2e74df15 100644 --- a/code/modules/vehicles/interior/interior_landmarks.dm +++ b/code/modules/vehicles/interior/interior_landmarks.dm @@ -267,6 +267,7 @@ V.vehicle = I.exterior V.pixel_x = pixel_x V.pixel_y = pixel_y + V.layer = layer V.alpha = alpha V.update_icon() @@ -286,6 +287,7 @@ V.vehicle = I.exterior V.pixel_x = pixel_x V.pixel_y = pixel_y + V.layer = layer V.alpha = alpha qdel(src) diff --git a/colonialmarines.dme b/colonialmarines.dme index 16a0cbe516bc..14c93257ff73 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -2414,6 +2414,7 @@ #include "code\modules\vehicles\apc\apc_medical.dm" #include "code\modules\vehicles\apc\interior.dm" #include "code\modules\vehicles\arc\arc.dm" +#include "code\modules\vehicles\arc\interior.dm" #include "code\modules\vehicles\arc\verbs.dm" #include "code\modules\vehicles\hardpoints\hardpoint.dm" #include "code\modules\vehicles\hardpoints\armor\armor.dm" diff --git a/icons/obj/vehicles/arc.dmi b/icons/obj/vehicles/arc.dmi index f662d5475ac0..c13153072ee2 100644 Binary files a/icons/obj/vehicles/arc.dmi and b/icons/obj/vehicles/arc.dmi differ diff --git a/icons/obj/vehicles/interiors/arc.dmi b/icons/obj/vehicles/interiors/arc.dmi new file mode 100644 index 000000000000..4ab29a7400ff Binary files /dev/null and b/icons/obj/vehicles/interiors/arc.dmi differ diff --git a/icons/obj/vehicles/interiors/arc_chassis.dmi b/icons/obj/vehicles/interiors/arc_chassis.dmi new file mode 100644 index 000000000000..255687f8fa0d Binary files /dev/null and b/icons/obj/vehicles/interiors/arc_chassis.dmi differ diff --git a/maps/interiors/arc.dmm b/maps/interiors/arc.dmm index 4da63cbff383..aacf9259515b 100644 --- a/maps/interiors/arc.dmm +++ b/maps/interiors/arc.dmm @@ -1,296 +1,112 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aD" = ( -/obj/effect/landmark/interior/spawn/weapons_loader, -/turf/open/shuttle/vehicle{ - icon_state = "floor_3_12" +"dH" = ( +/obj/effect/landmark/interior/spawn/entrance{ + alpha = 50; + exit_type = /obj/structure/interior_exit/vehicle/arc; + name = "ARC exit door"; + pixel_y = -10; + tag = "right" }, +/turf/open/floor, /area/interior/vehicle/arc) -"be" = ( -/obj/structure/interior_wall/apc{ - icon_state = "door_back" - }, -/turf/open/void/vehicle, -/area/space) -"cJ" = ( -/obj/structure/interior_wall/apc{ - icon_state = "rear_1" - }, +"sE" = ( /turf/open/void/vehicle, /area/space) -"dM" = ( -/obj/structure/interior_wall/apc{ - icon_state = "rear_2" +"yX" = ( +/obj/effect/landmark/interior/spawn/telephone{ + pixel_x = -12; + pixel_y = 15 }, -/turf/open/void/vehicle, -/area/space) -"dU" = ( /obj/effect/landmark/interior/spawn/vehicle_driver_seat/armor{ dir = 4 }, -/obj/structure/machinery/cm_vending/sorted/medical/wall_med/vehicle{ - pixel_x = 6; - pixel_y = 28 - }, -/obj/item/device/megaphone, -/turf/open/shuttle/vehicle{ - icon_state = "floor_3_9_1" - }, -/area/interior/vehicle/arc) -"jb" = ( -/turf/open/shuttle/vehicle{ - icon_state = "floor_3_11" - }, +/turf/open/floor, /area/interior/vehicle/arc) -"ml" = ( -/obj/structure/interior_wall/apc{ - icon_state = "wall" - }, -/obj/effect/landmark/interior/spawn/telephone, -/turf/open/void/vehicle, -/area/space) -"mR" = ( -/obj/structure/interior_wall/apc{ - icon_state = "front_wheel_R" - }, -/turf/open/void/vehicle, -/area/space) -"ro" = ( -/obj/structure/interior_wall/apc{ - alpha = 100; - icon_state = "wall_door_front"; - layer = 5.2; - pixel_y = 32 - }, -/turf/open/void/vehicle, -/area/space) -"ru" = ( -/turf/open/shuttle/vehicle{ - icon_state = "floor_1_6" - }, -/area/interior/vehicle/arc) -"tD" = ( -/obj/structure/interior_wall/apc{ - icon_state = "rear_6" - }, -/turf/open/void/vehicle, -/area/space) -"vt" = ( -/obj/structure/interior_wall/apc{ - icon_state = "rear_wheel_L" - }, -/turf/open/void/vehicle, -/area/space) -"we" = ( -/obj/structure/interior_wall/apc{ - alpha = 100; - icon_state = "door_front"; - layer = 5.2; - pixel_y = 32 - }, -/turf/open/void/vehicle, -/area/space) -"wK" = ( -/obj/structure/interior_wall/apc{ - icon_state = "wheel_front_top_1"; - pixel_x = 1; - pixel_y = -4 - }, -/turf/open/void/vehicle, -/area/space) -"ym" = ( -/obj/structure/interior_wall/apc{ - icon_state = "rear_wheel_R"; - opacity = 0 - }, -/turf/open/void/vehicle, -/area/space) -"yX" = ( -/turf/open/shuttle/vehicle{ - icon_state = "floor_3_8_1" - }, -/area/interior/vehicle/arc) -"CB" = ( -/obj/structure/interior_wall/apc{ - icon_state = "wall"; - opacity = 0 - }, -/turf/open/void/vehicle, -/area/space) "Dn" = ( /obj/structure/machinery/prop/almayer/CICmap/computer{ dir = 4; - pixel_y = 8 + layer = 2.98; + pixel_x = -13; + pixel_y = 4 }, -/obj/structure/surface/table/reinforced/prison{ - pixel_y = -3 - }, -/obj/structure/machinery/computer/overwatch/almayer/small{ +/obj/structure/machinery/computer/groundside_operations/arc{ dir = 4; - layer = 3.01; - pixel_y = -5 - }, -/turf/open/shuttle/vehicle{ - icon_state = "floor_3_10_1" - }, -/area/interior/vehicle/arc) -"Gy" = ( -/obj/structure/interior_wall/apc{ - icon_state = "front_1" - }, -/turf/open/void/vehicle, -/area/space) -"HB" = ( -/obj/structure/interior_wall/apc{ - icon_state = "corner_small_L" - }, -/obj/structure/interior_wall/apc{ - icon_state = "rear_5" - }, -/turf/open/void/vehicle, -/area/space) -"HJ" = ( -/obj/structure/interior_wall/apc{ - icon_state = "front_6" - }, -/turf/open/void/vehicle, -/area/space) -"Jc" = ( -/obj/structure/interior_wall/apc{ - icon_state = "corner_small_R" + layer = 2.981; + pixel_x = -13; + pixel_y = -9 }, -/obj/structure/interior_wall/apc{ - icon_state = "front_5" - }, -/turf/open/void/vehicle, -/area/space) -"Ng" = ( -/obj/structure/interior_wall/apc{ - icon_state = "wall" - }, -/turf/open/void/vehicle, -/area/space) -"NS" = ( -/obj/structure/bed/chair/comfy{ +/obj/structure/bed/chair/comfy/arc{ dir = 8 }, -/turf/open/shuttle/vehicle{ - icon_state = "floor_3_5" - }, +/turf/open/floor, /area/interior/vehicle/arc) -"Ol" = ( -/obj/effect/landmark/interior/spawn/entrance{ - alpha = 50; - exit_type = /obj/structure/interior_exit/vehicle/apc; - name = "Right APC door"; - tag = "right" - }, -/obj/effect/landmark/interior/spawn/interior_viewport{ - dir = 8; - pixel_x = 5; - pixel_y = 1 - }, -/turf/open/shuttle/vehicle{ - icon_state = "floor_1_12" - }, -/area/interior/vehicle/arc) -"Po" = ( -/obj/structure/surface/table/reinforced/prison{ - pixel_y = -3 - }, -/obj/structure/machinery/computer/intel/disk_reader{ +"DG" = ( +/obj/structure/machinery/computer/overwatch/almayer/small{ dir = 4; - pixel_y = 6 + layer = 2.982; + pixel_x = -13; + pixel_y = 10 }, -/obj/structure/machinery/computer/groundside_operations{ +/obj/structure/machinery/computer/intel/disk_reader{ dir = 4; - pixel_y = -7 - }, -/turf/open/shuttle/vehicle{ - icon_state = "floor_3_8_1" - }, -/area/interior/vehicle/arc) -"Rb" = ( -/turf/open/void/vehicle, -/area/space) -"Rf" = ( -/obj/structure/interior_wall/apc{ - icon_state = "front_2" + layer = 2.983; + pixel_x = -13; + pixel_y = -3 }, -/turf/open/void/vehicle, -/area/space) -"Zs" = ( -/obj/structure/bed/chair/comfy{ +/obj/structure/bed/chair/comfy/arc{ dir = 8 }, -/turf/open/shuttle/vehicle{ - icon_state = "floor_3_8_1" +/turf/open/floor, +/area/interior/vehicle/arc) +"Ly" = ( +/obj/effect/landmark/interior/spawn/weapons_loader{ + pixel_x = -2 }, +/turf/open/floor, /area/interior/vehicle/arc) -"ZF" = ( +"NS" = ( /obj/effect/landmark/interior/spawn/interior_viewport{ - dir = 8; - pixel_x = 5; - pixel_y = 8 - }, -/obj/effect/landmark/interior/spawn/entrance{ - alpha = 50; - dir = 1; - exit_type = /obj/structure/interior_exit/vehicle/apc; - name = "Left APC door"; - pixel_y = 32; - tag = "left" + layer = 2.98; + pixel_x = 8; + pixel_y = 4 }, -/turf/open/shuttle/vehicle{ - icon_state = "floor_1_11" +/obj/structure/bed/chair/vehicle{ + pixel_x = -7 }, +/turf/open/floor, /area/interior/vehicle/arc) +"Rb" = ( +/obj/structure/prop/vehicle/arc, +/turf/open/void/vehicle, +/area/space) (1,1,1) = {" -tD -HB -dM -cJ +sE +sE +sE Rb "} (2,1,1) = {" -Ng -Po +sE Dn -vt -Rb +DG +sE "} (3,1,1) = {" -ml -Zs +sE NS -ym -Rb +dH +sE "} (4,1,1) = {" -Ng -jb +sE yX -aD -ro +Ly +sE "} (5,1,1) = {" -be -ZF -ru -Ol -we -"} -(6,1,1) = {" -wK -CB -dU -mR -Rb -"} -(7,1,1) = {" -HJ -Jc -Rf -Gy -Rb +sE +sE +sE +sE "}