mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-15 09:56:47 +01:00
Computer dark visibility tweaks (#1829)
changes: Holo-computers' displays now draw above the lighting layer, allowing them to be seen in the dark. APCs' displays now draw above the lighting layer, allowing them to be seen in the dark.
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
/obj/item/modular_computer/process()
|
||||
handle_power() // Handles all computer power interaction
|
||||
if(!enabled) // The computer is turned off
|
||||
last_power_usage = 0
|
||||
return 0
|
||||
@@ -30,7 +31,7 @@
|
||||
else
|
||||
idle_threads.Remove(P)
|
||||
|
||||
handle_power() // Handles all computer power interaction
|
||||
|
||||
check_update_ui_need()
|
||||
|
||||
/obj/item/modular_computer/proc/get_preset_programs(var/app_preset_name)
|
||||
@@ -75,7 +76,7 @@
|
||||
return NO_EMAG_ACT
|
||||
else
|
||||
computer_emagged = 1
|
||||
to_chat(user, "You emag \the [src]. It's screen briefly shows a \"OVERRIDE ACCEPTED: New software downloads available.\" message.")
|
||||
to_chat(user, "You emag \the [src]. Its screen briefly displays a \"OVERRIDE ACCEPTED: New software downloads available.\" message.")
|
||||
return 1
|
||||
|
||||
/obj/item/modular_computer/update_icon()
|
||||
@@ -85,7 +86,10 @@
|
||||
if(!enabled)
|
||||
var/probably_working = hard_drive && processor_unit && damage < broken_damage && (apc_power(0) || battery_power(0))
|
||||
if(icon_state_screensaver && probably_working)
|
||||
overlays.Add(icon_state_screensaver)
|
||||
if (is_holographic)
|
||||
holographic_overlay(src, src.icon, icon_state_screensaver)
|
||||
else
|
||||
overlays += image(icon_state_screensaver)
|
||||
|
||||
if (screensaver_light_range && probably_working)
|
||||
set_light(screensaver_light_range, 1, screensaver_light_color ? screensaver_light_color : "#FFFFFF")
|
||||
@@ -93,10 +97,17 @@
|
||||
set_light(0)
|
||||
return
|
||||
if(active_program)
|
||||
overlays.Add(active_program.program_icon_state ? active_program.program_icon_state : icon_state_menu)
|
||||
var/state = active_program.program_icon_state ? active_program.program_icon_state : icon_state_menu
|
||||
if (is_holographic)
|
||||
holographic_overlay(src, src.icon, state)
|
||||
else
|
||||
overlays += image(state)
|
||||
set_light(light_strength, l_color = active_program.color)
|
||||
else
|
||||
overlays.Add(icon_state_menu)
|
||||
if (is_holographic)
|
||||
holographic_overlay(src, src.icon, icon_state_menu)
|
||||
else
|
||||
overlays += image(icon_state_menu)
|
||||
set_light(light_strength, l_color = menu_light_color)
|
||||
|
||||
/obj/item/modular_computer/proc/turn_on(var/mob/user)
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
PRG.event_powerfailure(1)
|
||||
shutdown_computer(0)
|
||||
|
||||
power_has_failed = TRUE
|
||||
update_icon()
|
||||
|
||||
// Tries to use power from battery. Passing 0 as parameter results in this proc returning whether battery is functional or not.
|
||||
/obj/item/modular_computer/proc/battery_power(var/power_usage = 0)
|
||||
apc_powered = FALSE
|
||||
@@ -38,14 +41,21 @@
|
||||
// Handles power-related things, such as battery interaction, recharging, shutdown when it's discharged
|
||||
/obj/item/modular_computer/proc/handle_power()
|
||||
var/power_usage = screen_on ? base_active_power_usage : base_idle_power_usage
|
||||
for(var/obj/item/weapon/computer_hardware/H in get_all_components())
|
||||
if(H.enabled)
|
||||
power_usage += H.power_usage
|
||||
last_power_usage = power_usage
|
||||
if (enabled)
|
||||
for(var/obj/item/weapon/computer_hardware/H in get_all_components())
|
||||
if(H.enabled)
|
||||
power_usage += H.power_usage
|
||||
last_power_usage = power_usage
|
||||
|
||||
// First tries to charge from an APC, if APC is unavailable switches to battery power. If neither works the computer fails.
|
||||
if(apc_power(power_usage))
|
||||
if (power_has_failed)
|
||||
power_has_failed = FALSE
|
||||
update_icon()
|
||||
return
|
||||
if(battery_power(power_usage))
|
||||
if (power_has_failed)
|
||||
power_has_failed = FALSE
|
||||
update_icon()
|
||||
return
|
||||
power_failure()
|
||||
power_failure()
|
||||
|
||||
@@ -35,6 +35,8 @@
|
||||
var/steel_sheet_cost = 5 // Amount of steel sheets refunded when disassembling an empty frame of this computer.
|
||||
var/light_strength = 0 // Intensity of light this computer emits. Comparable to numbers light fixtures use.
|
||||
var/list/idle_threads = list() // Idle programs on background. They still receive process calls but can't be interacted with.
|
||||
var/power_has_failed = FALSE
|
||||
var/is_holographic = FALSE
|
||||
|
||||
// Damage of the chassis. If the chassis takes too much damage it will break apart.
|
||||
var/damage = 0 // Current damage level
|
||||
|
||||
Reference in New Issue
Block a user