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

192 lines
6.4 KiB
Plaintext

/mob/living/heavy_vehicle/premade/ripley
name = "power loader"
desc = "An ancient but well-liked cargo handling exosuit."
e_head = /obj/item/mech_component/sensors/ripley
e_body = /obj/item/mech_component/chassis/ripley/cell
e_arms = /obj/item/mech_component/manipulators/ripley
e_legs = /obj/item/mech_component/propulsion/ripley
e_color = COLOR_RIPLEY
h_l_hand = /obj/item/mecha_equipment/drill
h_r_hand = /obj/item/mecha_equipment/clamp
/mob/living/heavy_vehicle/premade/ripley/cargo
h_back = /obj/item/mecha_equipment/autolathe
/mob/living/heavy_vehicle/premade/ripley/loader
h_l_hand = /obj/item/mecha_equipment/clamp
/mob/living/heavy_vehicle/premade/ripley/loader/sol
name = "solarian powerloader"
e_color = COLOR_DARK_GREEN_GRAY
/mob/living/heavy_vehicle/premade/ripley/loader/sol/damaged
name = "damaged solarian powerloader"
h_l_hand = null
/mob/living/heavy_vehicle/premade/ripley/loader/tcaf
name = "TCAF powerloader"
e_color = COLOR_TCFL
/mob/living/heavy_vehicle/premade/ripley/janitorial
name = "janitorial power loader"
desc = "A standard cargo-handling power loader converted into a cleaning machine."
e_color = COLOR_PURPLE
h_l_hand = /obj/item/mecha_equipment/clamp
h_l_shoulder = /obj/item/mecha_equipment/mounted_system/grenadecleaner
h_r_shoulder = /obj/item/mecha_equipment/mounted_system/grenadecleaner
h_back = /obj/item/mecha_equipment/quick_enter
/obj/item/mech_component/manipulators/ripley
name = "exosuit arms"
exosuit_desc_string = "heavy-duty industrial lifters"
max_damage = 150
power_use = 1000
melee_damage = 40
desc = "The Xion Manufacturing Group Digital Interaction Manifolds allow you poke untold dangers from the relative safety of your cockpit."
punch_sound = 'sound/mecha/mech_punch_slow.ogg'
/obj/item/mech_component/propulsion/ripley
name = "exosuit legs"
exosuit_desc_string = "reinforced hydraulic legs"
desc = "Wide and stable but not particularly fast."
max_damage = 150
move_delay = 4
turn_delay = 4
power_use = 1000
trample_damage = 10
/obj/item/mech_component/sensors/ripley
name = "exosuit sensors"
gender = PLURAL
exosuit_desc_string = "simple collision detection sensors"
desc = "A primitive set of sensors designed to work in tandem with most MKI Eyeball platforms."
max_damage = 200
power_use = 0
/obj/item/mech_component/sensors/ripley/prebuild()
..()
software = new(src)
software.installed_software = list(MECH_SOFTWARE_UTILITY, MECH_SOFTWARE_ENGINEERING)
/obj/item/mech_component/chassis/ripley
name = "open exosuit chassis"
hatch_descriptor = "roll cage"
pilot_coverage = 40
exosuit_desc_string = "an industrial rollcage"
desc = "A Xion industrial brand roll cage. Technically OSHA compliant. Technically. This variant has an extra compartment for a copilot, but has no sealed atmosphere."
max_damage = 200
power_use = 500
/obj/item/mech_component/chassis/ripley/prebuild()
. = ..()
mech_armor = new /obj/item/robot_parts/robot_component/armor/mech(src)
/obj/item/mech_component/chassis/ripley/cell
cell_type = /obj/item/cell/mecha
/obj/item/mech_component/chassis/ripley/nuclear
cell_type = /obj/item/cell/mecha/nuclear
/obj/item/mech_component/chassis/ripley/Initialize()
pilot_positions = list(
list(
"[NORTH]" = list("x" = 8, "y" = 8),
"[SOUTH]" = list("x" = 8, "y" = 8),
"[EAST]" = list("x" = 8, "y" = 8),
"[WEST]" = list("x" = 8, "y" = 8)
),
list(
"[NORTH]" = list("x" = 8, "y" = 16),
"[SOUTH]" = list("x" = 8, "y" = 16),
"[EAST]" = list("x" = 0, "y" = 16),
"[WEST]" = list("x" = 16, "y" = 16)
)
)
. = ..()
/mob/living/heavy_vehicle/premade/firefighter
name = "firefighting exosuit"
desc = "A mix and match of industrial parts designed to withstand fires."
icon_state = "firefighter"
e_head = /obj/item/mech_component/sensors/ripley
e_body = /obj/item/mech_component/chassis/ripley/cell
e_arms = /obj/item/mech_component/manipulators/ripley
e_legs = /obj/item/mech_component/propulsion/ripley
e_color = "#385b3c"
h_l_hand = /obj/item/mecha_equipment/drill
h_r_hand = /obj/item/mecha_equipment/mounted_system/extinguisher
/mob/living/heavy_vehicle/premade/firefighter/Initialize()
. = ..()
material = SSmaterials.get_material_by_name(MATERIAL_PLASTEEL)
/obj/item/mech_component/sensors/firefighter/prebuild()
..()
software = new(src)
software.installed_software = list(MECH_SOFTWARE_UTILITY, MECH_SOFTWARE_ENGINEERING)
/mob/living/heavy_vehicle/premade/firefighter/sol
name = "solarian firefighting exosuit"
e_color = COLOR_DARK_GREEN_GRAY
/mob/living/heavy_vehicle/premade/combatripley
name = "combat APLU \"Ripley\""
desc = "A large APLU unit fitted with specialized composite armor and fancy, though old targeting systems."
icon_state = "combatripley"
decal = "ripley_legion"
e_head = /obj/item/mech_component/sensors/combatripley
e_body = /obj/item/mech_component/chassis/ripley/nuclear
e_arms = /obj/item/mech_component/manipulators/ripley
e_legs = /obj/item/mech_component/propulsion/ripley
e_color = COLOR_TCFL
h_l_shoulder = /obj/item/mecha_equipment/mounted_system/combat/grenadesmoke
h_r_shoulder = /obj/item/mecha_equipment/mounted_system/flarelauncher
h_l_hand = /obj/item/mecha_equipment/mounted_system/combat/blaster
h_r_hand = /obj/item/mecha_equipment/mounted_system/combat/gauss
/mob/living/heavy_vehicle/premade/combatripley/Initialize()
. = ..()
body.mech_armor = new /obj/item/robot_parts/robot_component/armor/mech/combat(body)
/obj/item/mech_component/sensors/combatripley
name = "exosuit sensors"
gender = PLURAL
power_use = 50000
vision_flags = SEE_MOBS
lighting_alpha = LIGHTING_PLANE_ALPHA_SOMEWHAT_INVISIBLE
/obj/item/mech_component/sensors/combatripley/prebuild()
..()
software = new(src)
software.installed_software = list(MECH_SOFTWARE_UTILITY, MECH_SOFTWARE_WEAPONS)
/mob/living/heavy_vehicle/premade/ripley/remote
name = "remote power loader"
dummy_colour = "#ffc44f"
remote_network = REMOTE_GENERIC_MECH
does_hardpoint_lock = FALSE
/mob/living/heavy_vehicle/premade/ripley/remote_prison
name = "penal power loader"
dummy_colour = "#302e2b"
remote_network = REMOTE_PRISON_MECH
remote_type = /obj/item/remote_mecha/penal
/mob/living/heavy_vehicle/premade/ripley/remote_ai
name = "stationbound power loader"
e_color = COLOR_GREEN_GRAY
dummy_colour = COLOR_GREEN_GRAY
dummy_type = /mob/living/simple_animal/spiderbot/ai
remote_network = REMOTE_AI_MECH
remote_type = /obj/item/remote_mecha/ai
does_hardpoint_lock = FALSE
h_l_hand = /obj/item/mecha_equipment/toolset