Files
Matt Atlas 94d92803b4 Replaces our lighting system with CM's. (#21465)
Depends on #21458.

Ports https://github.com/cmss13-devs/cmss13/pull/4229, with the original
authors as:

- https://github.com/tgstation/TerraGov-Marine-Corps/pull/1964 for the
lighting controller (A-lexa)
- https://github.com/tgstation/TerraGov-Marine-Corps/pull/4747 and
https://github.com/tgstation/TerraGov-Marine-Corps/pull/7263 for the
lighting (TiviPlus)
- https://github.com/tgstation/tgstation/pull/54520 for the dir lighting
component
- https://github.com/tgstation/tgstation/pull/75018 for the out of
bounds fix in lighting
- https://github.com/tgstation/TerraGov-Marine-Corps/pull/6678 for the
emissives (TiviPlus)

The main driving reason behind this is that current lighting consumes
way too much processing power, especially for things like odysseys/away
sites where a billion light sources are processing/moving at once and
the game slows down to a crawl. Hopefully this improves the situation by
a good margin, but we will need some testmerging to confirm that.
<img width="1349" height="1349" alt="image"
src="https://github.com/user-attachments/assets/1059ba2b-c0c5-495a-9c76-2d75d0c42bf2"
/>
<img width="1349" height="1349" alt="image"
src="https://github.com/user-attachments/assets/9704b0f6-4cf6-4dfd-a6cb-5702ad07d677"
/>


- [x] Resolve todos
- [x] Look into open space fuckery (border objects)

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: JohnWildkins <john.wildkins@gmail.com>
2025-11-04 21:27:42 +00:00

167 lines
6.1 KiB
Plaintext

/mob/living/heavy_vehicle/premade/light
name = "light exosuit"
desc = "A light and agile exosuit."
icon_state = "odysseus"
e_head = /obj/item/mech_component/sensors/light
e_body = /obj/item/mech_component/chassis/light/cell
e_arms = /obj/item/mech_component/manipulators/light
e_legs = /obj/item/mech_component/propulsion/light
e_color = COLOR_OFF_WHITE
h_back = /obj/item/mecha_equipment/sleeper
h_l_hand = /obj/item/mecha_equipment/catapult
/obj/item/mech_component/manipulators/light
name = "light arms"
exosuit_desc_string = "lightweight, segmented manipulators"
icon_state = "light_arms"
melee_damage = 15
action_delay = 15
max_damage = 100
power_use = 1500
desc = "As flexible as they are fragile, these Bishop Cybernetics manipulators can follow a pilot's movements in close to real time."
punch_sound = 'sound/mecha/mech_punch_fast.ogg'
/obj/item/mech_component/propulsion/light
name = "light legs"
exosuit_desc_string = "aerodynamic electromechanic legs"
icon_state = "light_legs"
move_delay = 2
turn_delay = 2
max_damage = 100
power_use = 1500
desc = "The electrical systems driving these legs are almost totally silent. Unfortunately slamming a plate of metal against the ground is not."
/obj/item/mech_component/sensors/light
name = "light sensors"
gender = PLURAL
exosuit_desc_string = "advanced sensor array"
icon_state = "light_head"
max_damage = 80
power_use = 12000
desc = "A series of high resolution optical sensors."
vision_flags = SEE_TURFS
lighting_alpha = LIGHTING_PLANE_ALPHA_SOMEWHAT_INVISIBLE
/obj/item/mech_component/sensors/light/prebuild()
..()
software = new(src)
software.installed_software = list(MECH_SOFTWARE_UTILITY, MECH_SOFTWARE_MEDICAL)
/obj/item/mech_component/chassis/light
name = "light exosuit chassis"
pilot_coverage = 100
transparent_cabin = TRUE
hatch_descriptor = "canopy"
exosuit_desc_string = "an open and light chassis"
icon_state = "light_body"
max_damage = 150
power_use = 300
desc = "The Veymed Odysseus series cockpits combine ultralight materials and clear aluminum laminates to provide an optimized cockpit experience."
/obj/item/mech_component/chassis/light/prebuild()
. = ..()
mech_armor = new /obj/item/robot_parts/robot_component/armor/mech/radproof(src)
/obj/item/mech_component/chassis/light/Initialize()
pilot_positions = list(
list(
"[NORTH]" = list("x" = 8, "y" = -2),
"[SOUTH]" = list("x" = 8, "y" = -2),
"[EAST]" = list("x" = 1, "y" = -2),
"[WEST]" = list("x" = 9, "y" = -2)
)
)
. = ..()
/obj/item/mech_component/chassis/light/nuclear
cell_type = /obj/item/cell/mecha/nuclear
/obj/item/mech_component/chassis/light/cell
cell_type = /obj/item/cell/mecha
/mob/living/heavy_vehicle/premade/light/legion
name = "legion support exosuit"
desc = "A light and agile exosuit painted in the colours of the Tau Ceti Foreign Legion."
icon_state = "odysseus"
e_color = COLOR_TCFL
e_body = /obj/item/mech_component/chassis/light/nuclear
h_head = /obj/item/mecha_equipment/light
h_back = /obj/item/mecha_equipment/sleeper
h_l_shoulder = /obj/item/mecha_equipment/crisis_drone
h_r_shoulder = /obj/item/mecha_equipment/mounted_system/flarelauncher
h_l_hand = /obj/item/mecha_equipment/mounted_system/medanalyzer
h_r_hand = /obj/item/mecha_equipment/clamp
/mob/living/heavy_vehicle/premade/light/iac
name = "medical exosuit"
desc = "A light and agile medical oriented exosuit."
icon_state = "odysseus"
e_color = COLOR_IAC
e_body = /obj/item/mech_component/chassis/light/nuclear
h_head = /obj/item/mecha_equipment/light
h_back = /obj/item/mecha_equipment/sleeper
h_l_shoulder = /obj/item/mecha_equipment/crisis_drone
h_r_shoulder = /obj/item/mecha_equipment/mounted_system/flarelauncher
h_l_hand = /obj/item/mecha_equipment/mounted_system/medanalyzer
h_r_hand = /obj/item/mecha_equipment/clamp
/mob/living/heavy_vehicle/premade/light/kataphract
name = "kataphract exosuit"
desc = "A light and nimble exosuit, bearing the colour scheme of the Unathi Kataphracts."
e_color = COLOR_CHESTNUT
e_body = /obj/item/mech_component/chassis/light/nuclear
h_back = /obj/item/mecha_equipment/quick_enter
h_l_hand = /obj/item/mecha_equipment/clamp
h_r_hand = /obj/item/mecha_equipment/catapult
h_l_shoulder = /obj/item/mecha_equipment/mounted_system/flarelauncher
/mob/living/heavy_vehicle/premade/light/recon
name = "gremlin exosuit"
desc = "A light and nimble recon exosuit, bearing the colour scheme of the Solarian Armed Forces."
e_color = COLOR_DARK_GREEN_GRAY
e_head = /obj/item/mech_component/sensors/combat
e_body = /obj/item/mech_component/chassis/light/nuclear
e_arms = /obj/item/mech_component/manipulators/combat
e_legs = /obj/item/mech_component/propulsion/hover/light
h_back = /obj/item/mecha_equipment/quick_enter
h_l_shoulder = /obj/item/mecha_equipment/mounted_system/flarelauncher
h_r_shoulder = /obj/item/mecha_equipment/mounted_system/combat/smg
/mob/living/heavy_vehicle/premade/light/coalition
name = "tomahawk recon exosuit"
desc = "A reconnaissance exosuit pioneered by dNA Defense & Aerospace in partnership with Zavodskoi Interstellar for use in Coalition of Colonies mechanized military operations. Based off of the Solarian gremlin-type exosuit design."
e_color = COLOR_COALITION
e_arms = /obj/item/mech_component/manipulators/combat
e_head = /obj/item/mech_component/sensors/combat
e_legs = /obj/item/mech_component/propulsion/combat
h_back = /obj/item/mecha_equipment/quick_enter
h_r_shoulder = /obj/item/mecha_equipment/mounted_system/flarelauncher
h_l_shoulder = /obj/item/mecha_equipment/mounted_system/combat/smg
/mob/living/heavy_vehicle/premade/light/salvage
name = "exo-stellar salvage exosuit"
desc = "An exosuit designed for zero-gravity salvage and recon."
e_color = COLOR_BROWN_ORANGE
e_arms = /obj/item/mech_component/manipulators/ripley
e_head = /obj/item/mech_component/sensors/light
e_legs = /obj/item/mech_component/propulsion/hover
h_head = /obj/item/mecha_equipment/light
h_back = /obj/item/mecha_equipment/autolathe
h_l_hand = /obj/item/mecha_equipment/mounted_system/plasmacutter
h_r_hand = /obj/item/mecha_equipment/clamp
h_r_shoulder = /obj/item/mecha_equipment/mounted_system/flarelauncher