[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
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)
@@ -174,7 +177,7 @@
B.fancy_vore = 1 // CHOMPedit - Fancy Vore Sounds
B.belly_fullscreen_color = "#1b4ba3" // CHOMPedit - Belly Fullscreen
B.belly_fullscreen = "anim_belly" // CHOMPedit - Belly Fullscreen
// CHOMPEdit: Yes, these are copied + modified from the solargrub list. These are better placeholders than ~nothing~, and will give us more voremobs to work with.
B.emote_lists[DM_HOLD] = list(
"The air trapped within the grub is hot, humid, and tinged with soot, but otherwise mercifully harmless to you aside from being heavy on the lungs.",
@@ -191,7 +194,7 @@
"The grub's inner muscles are in a constant state of clenching all over you, adding an additional layer of processing to its stomach's slow, steady churning, helping break you down faster!",
"The grub chitters in irritation at your continued solidity, followed by a string of crushingly tight stomach clenches that grind its caustic stomach ooze into your body!",
"The deceptively severe heat trapped within the grub works in tandem with its inner muscles and your tingling, prickling stomach juice bath to weaken you!")
/mob/living/simple_mob/vore/oregrub/lava/init_vore() // Should inherit everything from parent, and then change our belly fullscreen color.
if(!voremob_loaded)
return

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