Skip to content

Commit

Permalink
Replaces the ARC interior & ARC tweaks (#6383)
Browse files Browse the repository at this point in the history
# About the pull request

- Replaces the ARC interior with a better-looking one, sprite made by
Zydras
- Modifies the ARC model to only have one door.
- ARC now fits 5 instead of 7 (including reserved slots)
- ARC now fits 4 xenoes intead of 5  
- Fixed vehicle elevator causing vehicle sprites to be incorrectly
offset/directional
- RE700 armor pen 10->15

# Explain why it's good for the game

- It looks cooler and makes the ARC feel less like a TARDIS
- Necessary for the new ARC model, plus Lore Accuracy(tm)
- It wasn't meant to fit 7 in the first place
- There's a total of 5 walkable tiles in the ARC and xenomorphs are a
fair bit larger than humans, so I considered this fair
- Longstanding bug fixed. Fixes
#6362
- The gun's working as an okay deterrent against t1s and other unarmored
xenoes, but it isn't enough of a deterrent to the more heavily-armored
ones.

# Testing Photographs and Procedure

<details>


![image](https://github.com/cmss13-devs/cmss13/assets/41448081/9f783e12-51ce-4f81-8457-aec7a4e0b648)

</details>


# Changelog
:cl: Zonespace, Zydras
fix: Vehicle elevator no longer incorrectly rotates vehicles
add: New ARC exterior and interior
balance: ARC now fits 5 humans instead of 7
balance: ARC now fits 4 xenos intead of 5
balance: ARC's RE700 turret armor pen 10->15
balance: On account of the smaller size, the ARC no longer has a
nanomed.
/:cl:

---------

Co-authored-by: John Doe <[email protected]>
  • Loading branch information
Zonespace27 and johndoe2013 authored Jun 14, 2024
1 parent c744aff commit 89c4b3b
Show file tree
Hide file tree
Showing 15 changed files with 113 additions and 259 deletions.
2 changes: 1 addition & 1 deletion code/datums/ammo/bullet/arc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
4 changes: 4 additions & 0 deletions code/game/machinery/computer/groundside_operations.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
12 changes: 9 additions & 3 deletions code/game/objects/structures/stool_bed_chair_nest/chairs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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)

Expand Down Expand Up @@ -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"

Expand Down
4 changes: 3 additions & 1 deletion code/modules/almayer/machinery.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion code/modules/cm_marines/overwatch.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion code/modules/objectives/objective_memory_storage.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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()
. = ..()
Expand Down
8 changes: 8 additions & 0 deletions code/modules/shuttle/shuttle_rotate.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
5 changes: 2 additions & 3 deletions code/modules/vehicles/arc/arc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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),
)

Expand Down
13 changes: 13 additions & 0 deletions code/modules/vehicles/arc/interior.dm
Original file line number Diff line number Diff line change
@@ -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

2 changes: 2 additions & 0 deletions code/modules/vehicles/interior/interior_landmarks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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()

Expand All @@ -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)
Expand Down
1 change: 1 addition & 0 deletions colonialmarines.dme
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
Binary file modified icons/obj/vehicles/arc.dmi
Binary file not shown.
Binary file added icons/obj/vehicles/interiors/arc.dmi
Binary file not shown.
Binary file added icons/obj/vehicles/interiors/arc_chassis.dmi
Binary file not shown.
Loading

0 comments on commit 89c4b3b

Please sign in to comment.