Falcata Exoskeleton (#21077)

This PR adds a new tier 1 exoskeleton to the hardsuit designs. I've been
bothered for awhile that there exist security hardsuit modules available
at roundstart, which cannot actually be used without science first
unlocking combat hardsuits, since normal hardsuits cannot use them. So
this PR adds a new exoskeleton(notably not a hardsuit, it offers no
space protection!), which serves to provide a means of putting those
tier 1 security modules on something, without invalidating the later
combat hardsuits(which are all significant upgrades over this).

Many of these lower tier security modules were essentially invalidated
by higher tier sec modules that would get unlocked alongside actual
combat hardsuits.

The falcata exoskeleton has the same armor values as security's heavy
body armor, essentially meaning its primarily only an upgrade over said
armor in the sense that it lets the wearer use the shoulder mounted
taser module.

<img width="993" height="248" alt="image"
src="https://github.com/user-attachments/assets/68418219-b159-4a4d-92d2-5bbc8476c6ce"
/>

<img width="1274" height="316" alt="image"
src="https://github.com/user-attachments/assets/f77d7810-7b0c-4333-8ec8-5f7575fb4c61"
/>

### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| icons/obj/item/clothing/rig/falcata.dmi | noblerow (discord) |
CC-BY-SA-3.0 |

---------

Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
This commit is contained in:
VMSolidus
2025-08-06 12:55:42 +00:00
committed by GitHub
co-authored by Matt Atlas
parent 68812b8a7a
commit 6a323856a8
6 changed files with 102 additions and 0 deletions
@@ -157,6 +157,17 @@
target_board_type = /obj/item/circuitboard/rig_assembly/combat/targeting/combat
origin_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 5, TECH_MAGNET = 4, TECH_POWER = 4, TECH_COMBAT = 6)
/obj/item/rig_assembly/combat/falcata
name = "falcata exoskeleton control module"
desc = "The assembly frame for a security exoskeleton."
icon = 'icons/obj/item/clothing/rig/falcata.dmi'
icon_base = "falcata"
icon_state = "falcata1"
rig_type = /obj/item/rig/light/falcata
board_type = /obj/item/circuitboard/rig_assembly/combat/falcata
target_board_type = /obj/item/circuitboard/rig_assembly/combat/targeting/falcata
origin_tech = list(TECH_COMBAT = 1)
////////////////////////
////ILLEGAL ASSEMBLY////
////////////////////////
@@ -310,3 +310,70 @@
/obj/item/rig_module/device/door_hack,
/obj/item/rig_module/mounted/xray
)
/obj/item/rig/light/falcata
name = "falcata exoskeleton control module"
desc = "An armored security exoskeleton, known as the Falcata. It serves as a lightweight platform for bearing security hardsuit modules."
icon = 'icons/obj/item/clothing/rig/falcata.dmi'
icon_state = "falcata_rig"
icon_supported_species_tags = list("skr", "taj", "una", "vau",)
suit_type = "falcata combat exoskeleton"
body_parts_covered = UPPER_TORSO | LOWER_TORSO | LEGS | ARMS
armor = list(
MELEE = ARMOR_MELEE_MAJOR,
BULLET = ARMOR_BALLISTIC_MAJOR,
LASER = ARMOR_LASER_RIFLE,
ENERGY = ARMOR_ENERGY_SMALL,
BOMB = ARMOR_BOMB_PADDED,
)
species_restricted = list(BODYTYPE_HUMAN, BODYTYPE_UNATHI, BODYTYPE_SKRELL, BODYTYPE_VAURCA, BODYTYPE_IPC, BODYTYPE_TAJARA)
seal_delay = 3 // Its only deploying the myomers and helmet.
offline_slowdown = 2
offline_vision_restriction = TINT_BLIND // Visorless helmet sprite, the helmet's face is just a camera.
allowed = list(/obj/item/gun,/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/melee/baton)
allowed_module_types = MODULE_GENERAL | MODULE_LIGHT_COMBAT | MODULE_HEAVY_COMBAT
chest_type = /obj/item/clothing/suit/space/rig/light/falcata
helm_type = /obj/item/clothing/head/helmet/space/rig/light/falcata
glove_type = null
boot_type = null
/obj/item/rig/light/falcata/get_mob_overlay(mob/living/carbon/human/H, mob_icon, mob_state, slot)
var/image/I = ..()
if(slot == slot_back_str && !offline)
var/image/emissive_overlay = emissive_appearance(mob_icon, "falcata_rig_ba-emissive")
I.AddOverlays(emissive_overlay)
return I
/obj/item/clothing/suit/space/rig/light/falcata
name = "myomer frame"
body_parts_covered = null
breach_threshold = 45 // We aren't a real hardsuit, rather a very thick torso plate.
/obj/item/clothing/suit/space/rig/light/falcata/get_mob_overlay(mob/living/carbon/human/H, mob_icon, mob_state, slot)
var/image/I = ..()
if(slot != slot_wear_suit_str)
return I
var/obj/item/rig/rigcontroller = H.get_equipped_item(slot_wear_suit)
if(!istype(rigcontroller, /obj/item/rig) || rigcontroller.offline)
return I
var/image/emissive_overlay = emissive_appearance(mob_icon, "falcata_rig_sealed_su-emissive")
I.AddOverlays(emissive_overlay)
return I
/obj/item/clothing/head/helmet/space/rig/light/falcata
name = "helmet"
// The helmet's unusually thick, with the fun caveat that it fully blacks out your screen when unpowered.
flash_protection = FLASH_PROTECTION_MAJOR
armor = list(
MELEE = ARMOR_MELEE_MAJOR,
BULLET = ARMOR_BALLISTIC_RIFLE,
LASER = ARMOR_LASER_RIFLE,
ENERGY = ARMOR_ENERGY_SMALL,
BOMB = ARMOR_BOMB_RESISTANT,
BIO = ARMOR_BIO_SHIELDED,
)
@@ -60,3 +60,15 @@
build_path = /obj/item/rig_assembly/combat/illegal/hacker
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 2, TECH_POWER = 3, TECH_COMBAT = 3, TECH_ILLEGAL = 3)
materials = list(DEFAULT_WALL_MATERIAL = 25000, MATERIAL_GLASS = 12500, MATERIAL_GOLD = 2500, MATERIAL_SILVER = 3500, MATERIAL_URANIUM = 5550)
/datum/design/rig/falcata
name = "Falcata Exoskeleton Control Module Assembly"
desc = "An assembly for a security exoskeleton. Though offering no vacuum protection, the Falcata serves as a lightweight platform for bearing security hardsuit modules."
materials = list(
DEFAULT_WALL_MATERIAL = 12500,
MATERIAL_ALUMINIUM = 12500,
MATERIAL_PLASTEEL = 5000,
MATERIAL_URANIUM = 3500,
MATERIAL_SILVER = 1500,
MATERIAL_GOLD = 1500,
)