mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-20 04:26:03 +01:00
774c07cd9b
## About The Pull Request Changes Guardian HUD to use action buttons instead of HUD elements, which means their buttons 1. Can now be moved 2. Can be binded Other Holoparasite HUD changes: 1- Moves some special buttons like explosive's explosion ability to be where the "Toggle Mode" button typically is, to be consistent with some other modes (assassin, gas) that also works like their unique ability. 2- Gives non-dextrous holoparasites the ability to move floors, since they float. 3- Fixes dextrous holoparasites having 2 health HUDs 4- Moves "Check Guardian Type" verb to a new action button meant to mimick the Antag UI Info button. Gives Soulscythes a Combat mode indicator Locks Revenant's combat mode indicator (cause it does nothing) Adds another hoverable HUD element, basic mobs can now hover over their healthdoll to see their Health % <img width="85" height="123" alt="image" src="https://github.com/user-attachments/assets/ad660ba4-296c-4699-9ec4-03a6e7b97880" /> <img width="95" height="101" alt="image" src="https://github.com/user-attachments/assets/12d4d9d3-cf2c-4c52-81aa-17ce538b9d48" /> Adds a Unit Test to ensure all basic mobs have a HUD that shows some form of health & combat mode (unless unnecessary like Revenants), to not lose any information from basic mob conversion now that they lose the stat panel. ## Why It's Good For The Game This is yet another supplement of https://github.com/tgstation/tgstation/pull/95383 - Removing stat panel entries for all basic mobs is a great move towards lessening the reliance of mobs on the stat panel. This is also just good QoL for Holoparasites, especially since their stat panel had 2 entries for "Master HP" and your "Own" HP, despite Holoparasites not even having their own HP at all. ## Changelog 🆑 qol: Holoparasites' abilities are now action buttons, so you can rebind or move them. qol: Holoparasites now have floor change buttons. fix: Holoparasites and Soulscythes now have a combat mode indicator. fix: Dextrous holoparasites now have their inventory slot again while non-dextrous had it taken away (not that they could use it). /🆑
78 lines
2.5 KiB
Plaintext
78 lines
2.5 KiB
Plaintext
/datum/action/cooldown/guardian
|
|
button_icon = 'icons/hud/guardian.dmi'
|
|
|
|
/datum/action/cooldown/guardian/IsAvailable(feedback)
|
|
. = ..()
|
|
if(!.)
|
|
return .
|
|
return !!isguardian(owner)
|
|
|
|
/datum/action/cooldown/guardian/check_type
|
|
name = "Check Type"
|
|
desc = "A reminder on what your abilities are."
|
|
//this is based off of the antag ui icon, if that changes then change this too please.
|
|
button_icon_state = /datum/action/antag_info::button_icon_state
|
|
default_button_position = SCRN_OBJ_INSERT_FIRST
|
|
|
|
/datum/action/cooldown/guardian/check_type/Activate(atom/target)
|
|
. = ..()
|
|
to_chat(owner, astype(owner, /mob/living/basic/guardian)?.playstyle_string)
|
|
|
|
/datum/action/cooldown/guardian/communicate
|
|
name = "Communicate"
|
|
desc = "Communicate telepathically with your user."
|
|
button_icon_state = "communicate"
|
|
default_button_position = ui_guardian_communication
|
|
|
|
/datum/action/cooldown/guardian/communicate/Activate()
|
|
astype(owner, /mob/living/basic/guardian)?.communicate()
|
|
|
|
/datum/action/cooldown/guardian/manifest
|
|
name = "Manifest"
|
|
desc = "Spring forth into battle!"
|
|
button_icon_state = "manifest"
|
|
default_button_position = ui_guardian_manifest
|
|
|
|
/datum/action/cooldown/guardian/manifest/Activate()
|
|
astype(owner, /mob/living/basic/guardian)?.manifest()
|
|
|
|
/datum/action/cooldown/guardian/recall
|
|
name = "Recall"
|
|
desc = "Return to your user."
|
|
button_icon_state = "recall"
|
|
default_button_position = ui_guardian_recall
|
|
|
|
/datum/action/cooldown/guardian/recall/Activate()
|
|
astype(owner, /mob/living/basic/guardian)?.recall()
|
|
|
|
/datum/action/cooldown/guardian/toggle_light
|
|
name = "Toggle Light"
|
|
desc = "Glow like star dust."
|
|
button_icon_state = "light"
|
|
|
|
/datum/action/cooldown/guardian/toggle_light/Activate()
|
|
astype(owner, /mob/living/basic/guardian)?.toggle_light()
|
|
|
|
/datum/action/cooldown/guardian/toggle_mode
|
|
name = "Toggle Mode"
|
|
desc = "Switch between ability modes."
|
|
button_icon_state = "toggle"
|
|
default_button_position = ui_guardian_special
|
|
|
|
/datum/action/cooldown/guardian/toggle_mode/Activate()
|
|
astype(owner, /mob/living/basic/guardian)?.toggle_modes()
|
|
|
|
/datum/action/cooldown/guardian/toggle_mode/assassin
|
|
name = "Toggle Stealth"
|
|
desc = "Enter or exit stealth."
|
|
button_icon_state = "stealth"
|
|
transparent_when_unavailable = TRUE
|
|
|
|
/datum/action/cooldown/guardian/toggle_mode/assassin/is_action_active(atom/movable/screen/movable/action_button/current_button)
|
|
return owner.has_status_effect(/datum/status_effect/guardian_stealth)
|
|
|
|
/datum/action/cooldown/guardian/toggle_mode/gases
|
|
name = "Toggle Gas"
|
|
desc = "Switch between possible gases."
|
|
button_icon_state = "gases"
|