From 1bd062e9cfb09904e06ba4518af0faaa6ad882d3 Mon Sep 17 00:00:00 2001
From: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
Date: Fri, 26 Mar 2021 11:39:11 +0100
Subject: [PATCH] Blobbernaut HUD improvements (#57922)
---
code/_onclick/hud/_defines.dm | 3 +++
code/_onclick/hud/blobbernaut.dm | 6 ++++++
code/_onclick/hud/blobbernauthud.dm | 11 -----------
code/_onclick/hud/screen_objects.dm | 10 +++-------
code/modules/antagonists/blob/blob_mobs.dm | 11 +----------
code/modules/antagonists/blob/overmind.dm | 7 ++++---
icons/hud/blob.dmi | Bin 27514 -> 25760 bytes
tgstation.dme | 2 +-
8 files changed, 18 insertions(+), 32 deletions(-)
create mode 100644 code/_onclick/hud/blobbernaut.dm
delete mode 100644 code/_onclick/hud/blobbernauthud.dm
diff --git a/code/_onclick/hud/_defines.dm b/code/_onclick/hud/_defines.dm
index ba6879c23e6..8ad8401ea45 100644
--- a/code/_onclick/hud/_defines.dm
+++ b/code/_onclick/hud/_defines.dm
@@ -172,5 +172,8 @@
#define ui_ghost_mafia "SOUTH: 6, CENTER+2:24"
#define ui_ghost_language_menu "SOUTH: 22, CENTER+3:8"
+//Blobbernauts
+#define ui_blobbernaut_overmind_health "EAST-1:28,CENTER+0:19"
+
//Families
#define ui_wanted_lvl "NORTH,11"
diff --git a/code/_onclick/hud/blobbernaut.dm b/code/_onclick/hud/blobbernaut.dm
new file mode 100644
index 00000000000..d8531516d41
--- /dev/null
+++ b/code/_onclick/hud/blobbernaut.dm
@@ -0,0 +1,6 @@
+/datum/hud/living/blobbernaut/New(mob/living/owner)
+ . = ..()
+
+ blobpwrdisplay = new /atom/movable/screen/healths/blob/overmind()
+ blobpwrdisplay.hud = src
+ infodisplay += blobpwrdisplay
diff --git a/code/_onclick/hud/blobbernauthud.dm b/code/_onclick/hud/blobbernauthud.dm
deleted file mode 100644
index 430e8e81e7f..00000000000
--- a/code/_onclick/hud/blobbernauthud.dm
+++ /dev/null
@@ -1,11 +0,0 @@
-
-/datum/hud/blobbernaut/New(mob/owner)
- ..()
-
- blobpwrdisplay = new /atom/movable/screen/healths/blob/naut/core()
- blobpwrdisplay.hud = src
- infodisplay += blobpwrdisplay
-
- healths = new /atom/movable/screen/healths/blob/naut()
- healths.hud = src
- infodisplay += healths
diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm
index 4ab57048f84..259075915e5 100644
--- a/code/_onclick/hud/screen_objects.dm
+++ b/code/_onclick/hud/screen_objects.dm
@@ -633,15 +633,11 @@
screen_loc = ui_internal
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
-/atom/movable/screen/healths/blob/naut
- name = "health"
- icon = 'icons/hud/blob.dmi'
- icon_state = "nauthealth"
-
-/atom/movable/screen/healths/blob/naut/core
+/atom/movable/screen/healths/blob/overmind
name = "overmind health"
+ icon = 'icons/hud/blob.dmi'
icon_state = "corehealth"
- screen_loc = ui_health
+ screen_loc = ui_blobbernaut_overmind_health
/atom/movable/screen/healths/guardian
name = "summoner health"
diff --git a/code/modules/antagonists/blob/blob_mobs.dm b/code/modules/antagonists/blob/blob_mobs.dm
index bf1b3d08ec9..e6b46f58209 100644
--- a/code/modules/antagonists/blob/blob_mobs.dm
+++ b/code/modules/antagonists/blob/blob_mobs.dm
@@ -269,7 +269,7 @@
force_threshold = 10
pressure_resistance = 50
mob_size = MOB_SIZE_LARGE
- hud_type = /datum/hud/blobbernaut
+ hud_type = /datum/hud/living/blobbernaut
/mob/living/simple_animal/hostile/blob/blobbernaut/Initialize()
. = ..()
@@ -314,15 +314,6 @@
I.color = overmind.blobstrain.complementary_color
flick_overlay_view(I, src, 8)
-/mob/living/simple_animal/hostile/blob/blobbernaut/adjustHealth(amount, updating_health = TRUE, forced = FALSE)
- . = ..()
- if(updating_health)
- update_health_hud()
-
-/mob/living/simple_animal/hostile/blob/blobbernaut/update_health_hud()
- if(hud_used)
- hud_used.healths.maptext = MAPTEXT("
[round((health / maxHealth) * 100, 0.5)]%
")
-
/mob/living/simple_animal/hostile/blob/blobbernaut/AttackingTarget()
. = ..()
if(. && isliving(target) && overmind)
diff --git a/code/modules/antagonists/blob/overmind.dm b/code/modules/antagonists/blob/overmind.dm
index 6d1b5d7488e..94dd6114e04 100644
--- a/code/modules/antagonists/blob/overmind.dm
+++ b/code/modules/antagonists/blob/overmind.dm
@@ -219,14 +219,15 @@ GLOBAL_LIST_EMPTY(blob_nodes)
/mob/camera/blob/update_health_hud()
if(blob_core)
- hud_used.healths.maptext = MAPTEXT("[round(blob_core.obj_integrity)]
")
+ var/current_health = round((blob_core.obj_integrity / blob_core.max_integrity) * 100)
+ hud_used.healths.maptext = MAPTEXT("[current_health]%
")
for(var/mob/living/simple_animal/hostile/blob/blobbernaut/B in blob_mobs)
if(B.hud_used && B.hud_used.blobpwrdisplay)
- B.hud_used.blobpwrdisplay.maptext = MAPTEXT("[round(blob_core.obj_integrity)]
")
+ B.hud_used.blobpwrdisplay.maptext = MAPTEXT("[current_health]%
")
/mob/camera/blob/proc/add_points(points)
blob_points = clamp(blob_points + points, 0, max_blob_points)
- hud_used.blobpwrdisplay.maptext = MAPTEXT("[round(blob_points)]
")
+ hud_used.blobpwrdisplay.maptext = MAPTEXT("[round(blob_points)]
")
/mob/camera/blob/say(message, bubble_type, list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null)
if (!message)
diff --git a/icons/hud/blob.dmi b/icons/hud/blob.dmi
index 0fc70bff0ddf5d6cf1c2d2a2e29c34f8b3e92518..d7a1f496d6ca7c255ebfa9b30331b8dfe7fbe630 100644
GIT binary patch
delta 12706
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
delta 14474
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