Constructable Directional Firelocks (#89061)

## About The Pull Request
Gone are the days of these turning into big fulltile firelocks.

![image](https://github.com/user-attachments/assets/85e49c57-0691-41f0-b0ba-e7ce72eea554)


Pretty simple PR conceptually, makes a border_only firelock frame,
constructable with 2 iron (as opposed to the full 3)

![image](https://github.com/user-attachments/assets/1ea866ff-8a6d-4ecb-8bb0-23f0907d0897)

They function just like any other border object, rotatable and so on.
Direction is properly shared between frame and completed firelock.
Firelocks can't ever share a tile (so you can't make a 90 degree angle)
but even if we wanted to remove that limitation it will have to stay
until somebody smarter comes along.

![image](https://github.com/user-attachments/assets/6e410b27-af75-41a7-9e80-1a9a04a7130f)

![image](https://github.com/user-attachments/assets/da4aa515-60a2-42fc-90fd-4ebdc63118d2)

Construction steps are identical to any other firelock, except these can
**not** be reinforced with plasteel.
Deconstruction is the same.

![image](https://github.com/user-attachments/assets/e4539bda-551c-405e-87c7-73d0a0ca4e32)

![image](https://github.com/user-attachments/assets/cafd069e-f52f-424f-9cb7-13d59e06eab7)


Also I discovered that the firelock icons just didn't work correctly
during construction so those are fixed now too

![image](https://github.com/user-attachments/assets/a2d4bec9-a2d8-4137-a3f1-3035fc0388bc)
## Why It's Good For The Game
Crew should be capable of repairing damages caused during a round, and
items like this that had no means of replacement leave a sour taste to
an aspiring engineer.
Plus turning into full tile ones the second they're damaged is really
jarring.
## Changelog
🆑
add: Added Directional Firelock Frames, making the tile-edge firelocks
properly repairable/deconstructable.
fix: fixed firelock construction not properly updating icons
/🆑

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
This commit is contained in:
OrionTheFox
2025-01-26 19:03:04 +00:00
committed by GitHub
co-authored by SyncIt21
parent b2d96e5178
commit 5cd8786154
3 changed files with 58 additions and 6 deletions
@@ -113,6 +113,7 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \
)), \
null, \
new/datum/stack_recipe("firelock frame", /obj/structure/firelock_frame, 3, time = 5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_DOORS), \
new/datum/stack_recipe("directional firelock frame", /obj/structure/firelock_frame/border_only, 2, time = 5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND | CRAFT_CHECK_DIRECTION, category = CAT_DOORS), \
new/datum/stack_recipe("turret frame", /obj/machinery/porta_turret_construct, 5, time = 2.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_STRUCTURE), \
new/datum/stack_recipe("meatspike frame", /obj/structure/kitchenspike_frame, 5, time = 2.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_STRUCTURE), \
new/datum/stack_recipe("reflector frame", /obj/structure/reflector, 5, time = 2.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_STRUCTURE), \