[MIRROR] borgs can walk, vtec overhaul, no more borg light and some glow flicker (#8179)

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
Co-authored-by: Kashargul <KashL@t-online.de>
This commit is contained in:
CHOMPStation2
2024-04-06 23:28:26 -07:00
committed by GitHub
parent f49be853cc
commit 58db30b265
13 changed files with 83 additions and 36 deletions

View File

@@ -58,9 +58,11 @@
#define ui_zonesel "EAST-1:28,SOUTH:5"
#define ui_acti_alt "EAST-1:28,SOUTH:5" //alternative intent switcher for when the interface is hidden (F12)
#define ui_borg_pull "EAST-3:24,SOUTH+1:7"
#define ui_borg_module "EAST-2:26,SOUTH+1:7"
#define ui_borg_panel "EAST-1:28,SOUTH+1:7"
#define ui_borg_pull "EAST-4:24,SOUTH+1:7" //borgs
#define ui_borg_radio "EAST-2:26,SOUTH+1:7" //borgs
#define ui_borg_panel "EAST-1:28,SOUTH+1:7" //borgs
#define ui_borg_module "EAST-3:24,SOUTH+1:5"//borgs
#define ui_vtec_control "EAST-3:24,SOUTH:5"//borgs
#define ui_ai_core "SOUTH:6,WEST:16"
#define ui_ai_camera_list "SOUTH:6,WEST+1:16"

View File

@@ -176,6 +176,7 @@ var/list/global_huds = list(
var/obj/screen/l_hand_hud_object
var/obj/screen/action_intent
var/obj/screen/move_intent
var/obj/screen/control_vtec
var/list/adding
/// Misc hud elements that are hidden when the hud is minimized
@@ -219,6 +220,7 @@ var/list/global_huds = list(
l_hand_hud_object = null
action_intent = null
move_intent = null
control_vtec = null
adding = null
other = null
other_important = null

View File

@@ -25,7 +25,7 @@ var/obj/screen/robot_inventory
using.color = HUD.ui_color
using.alpha = HUD.ui_alpha
using.icon_state = "radio"
using.screen_loc = ui_movi
using.screen_loc = ui_borg_radio
using.layer = HUD_LAYER
adding += using
@@ -81,6 +81,17 @@ var/obj/screen/robot_inventory
adding += using
HUD.action_intent = using
//Move intent (walk/run)
using = new /obj/screen()
using.name = "mov_intent"
using.icon = HUD.ui_style
using.icon_state = (m_intent == "run" ? "running" : "walking")
using.screen_loc = ui_movi
using.color = HUD.ui_color
using.alpha = HUD.ui_alpha
HUD.adding += using
HUD.move_intent = using
//Health
healths = new /obj/screen()
healths.icon = HUD.ui_style
@@ -206,6 +217,32 @@ var/obj/screen/robot_inventory
client.screen += HUD.adding + HUD.other
client.screen += client.void
/datum/hud/proc/toggle_vtec_control()
if(!isrobot(mymob))
return
var/mob/living/silicon/robot/R = mymob
if(!control_vtec)
var/obj/screen/using = new /obj/screen()
using.name = "control_vtec"
using.icon = ui_style
using.screen_loc = ui_vtec_control
using.color = ui_color
using.alpha = ui_alpha
control_vtec = using
if(R.vtec_active)
if(R.speed == 0)
control_vtec.icon_state = "speed_0"
else if(R.speed == -0.5)
control_vtec.icon_state = "speed_1"
else if(R.speed == -1)
control_vtec.icon_state = "speed_2"
R.m_intent = "run"
R.hud_used.move_intent.icon_state = "running"
R.client.screen += control_vtec
else
R.client.screen -= control_vtec
R.speed = 0
/datum/hud/proc/toggle_show_robot_modules()
if(!isrobot(mymob))

View File

@@ -272,6 +272,19 @@
var/mob/living/L = usr
L.resist()
if("control_vtec")
if(isrobot(usr))
var/mob/living/silicon/robot/R = usr
if(R.speed == 0 && R.vtec_active)
R.speed = -0.5
R.hud_used.control_vtec.icon_state = "speed_1"
else if(R.speed == -0.5 && R.vtec_active)
R.speed = -1
R.hud_used.control_vtec.icon_state = "speed_2"
else
R.speed = 0
R.hud_used.control_vtec.icon_state = "speed_0"
if("mov_intent")
if(isliving(usr))
if(iscarbon(usr))

View File

@@ -109,7 +109,8 @@
return 0
add_verb(R,/mob/living/silicon/robot/proc/toggle_vtec) //CHOMPEdit
R.speed = -1
R.vtec_active = TRUE
R.hud_used.toggle_vtec_control()
return 1
/obj/item/borg/upgrade/basic/sizeshift

View File

@@ -428,7 +428,8 @@
blob.rad_glow = CLAMP(radiation,0,250)
set_light(0)
blob.set_light(max(1,min(5,radiation/15)), max(1,min(10,radiation/25)), blob.color)
blob.handle_light()
else
blob.set_light(0)
if(has_hat)
blob.hat = new_hat
new_hat.forceMove(src)

View File

@@ -371,8 +371,8 @@
IgniteMob()
/mob/living/silicon/robot/handle_light()
. = ..()
if(. == FALSE) // If no other light sources are on.
if(lights_on)
set_light(integrated_light_power, 1, "#FFFFFF")
return TRUE
else
. = ..()

View File

@@ -120,6 +120,7 @@
)
var/has_recoloured = FALSE
var/vtec_active = FALSE
/mob/living/silicon/robot/New(loc, var/unfinished = 0)
spark_system = new /datum/effect/effect/system/spark_spread()
@@ -549,12 +550,9 @@
/mob/living/silicon/robot/proc/toggle_vtec()
set name = "Toggle VTEC"
set category = "Abilities"
if(speed == -1)
to_chat(src, "<span class='filter_notice'>VTEC module disabled.</span>")
speed = 0
else
to_chat(src, "<span class='filter_notice'>VTEC module enabled.</span>")
speed = -1
vtec_active = !vtec_active
hud_used.toggle_vtec_control()
to_chat(src, "<span class='filter_notice'>VTEC module [vtec_active ? "enabled" : "disabled"].</span>")
// update the status screen display
/mob/living/silicon/robot/get_status_tab_items()

View File

@@ -89,6 +89,7 @@
)
can_be_drop_prey = FALSE //CHOMP Add
glow_override = TRUE
/mob/living/simple_mob/vore/oregrub/lava
name = "mature lavagrub"
@@ -145,6 +146,8 @@
if(. == 0 && !is_dead())
set_light(2.5, 1, COLOR_ORANGE)
return 1
else if(is_dead())
glow_override = FALSE
/mob/living/simple_mob/vore/oregrub/lava/death()
set_light(0)

View File

@@ -242,20 +242,3 @@
icon_state = "scel_red"
icon_rest = "scel_red-rest"
random_skin = 0
/mob/living/simple_mob/vore/scel/handle_light()
if(glow_override)
return FALSE
if(instability >= TECHNOMANCER_INSTABILITY_MIN_GLOW)
var/distance = round(sqrt(instability / 2))
if(distance)
set_light(distance, distance * 4, l_color = "#660066")
return TRUE
else if(glow_toggle)
set_light(glow_range, glow_intensity, glow_color)
else
set_light(0)
return FALSE

View File

@@ -62,6 +62,7 @@ var/global/moth_amount = 0 // Chompstation Addition, Rykka waz here. *pawstamp*
var/tracked = FALSE
can_be_drop_prey = FALSE //CHOMP Add
glow_override = TRUE
/datum/say_list/solargrub
emote_see = list("squelches", "squishes")
@@ -171,6 +172,8 @@ var/global/moth_amount = 0 // Chompstation Addition, Rykka waz here. *pawstamp*
if(. == 0 && !is_dead())
set_light(2.5, 1, COLOR_YELLOW)
return 1
else if(is_dead())
glow_override = FALSE
/mob/living/simple_mob/vore/solargrub/init_vore()
if(!voremob_loaded)

View File

@@ -51,6 +51,8 @@ var/global/list/grub_machine_overlays = list()
ai_holder_type = /datum/ai_holder/simple_mob/solargrub_larva
glow_override = TRUE
/mob/living/simple_mob/animal/solargrub_larva/New()
..()
existing_solargrubs += src
@@ -186,6 +188,8 @@ var/global/list/grub_machine_overlays = list()
if(. == 0 && !is_dead())
set_light(1.5, 1, COLOR_YELLOW)
return 1
else if(is_dead())
glow_override = FALSE
/obj/machinery/abstract_grub_machine

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

After

Width:  |  Height:  |  Size: 130 KiB