From b81570c4e42e372f90982270906c9d7ec14516ff Mon Sep 17 00:00:00 2001 From: private-tristan <54422837+private-tristan@users.noreply.github.com> Date: Tue, 20 Feb 2024 16:20:09 -0500 Subject: [PATCH] Forsaken/Feral Xenos can use hive status. (#5693) # About the pull request due to #5316, the hive status UI checks for a living queen, meaning that hives without living queens (including those that specifically have allow_no_queen_actions (forsaken xenos) were unable to use hive status. while making this PR I noticed that there were two ways to get hive_status and fixed it(and also carried over the we/you). don't look at the branch name. # Explain why it's good for the game I like ~~buffing~~ fixing forsaken xenos. also being able to use hive status is intended # Testing Photographs and Procedure
Screenshots Are here! Click me! forsaken: ![image](https://github.com/cmss13-devs/cmss13/assets/54422837/63d8053e-8e88-41fd-91a3-07382c3c9f64) normal hive (I changed the we/you after this was made) ![image](https://github.com/cmss13-devs/cmss13/assets/54422837/178a7c33-dfea-4418-b341-75341fbacf29) ![image](https://github.com/cmss13-devs/cmss13/assets/54422837/54c64de5-0f73-4d80-988b-f0df8dc15b1b)
# Changelog :cl: fix: Forsaken and Feral xenos can now (correctly) use hive-status spellcheck: fixed a case where we/our wouldn't be used when attempting to access hive status with no queen /:cl: --- code/datums/keybinding/xenomorph.dm | 18 +++--------------- .../living/carbon/xenomorph/hive_status_ui.dm | 2 +- .../mob/living/carbon/xenomorph/xeno_verbs.dm | 6 +++--- 3 files changed, 7 insertions(+), 19 deletions(-) diff --git a/code/datums/keybinding/xenomorph.dm b/code/datums/keybinding/xenomorph.dm index 9fa525d50002..64acd876b49f 100644 --- a/code/datums/keybinding/xenomorph.dm +++ b/code/datums/keybinding/xenomorph.dm @@ -189,21 +189,9 @@ . = ..() if(.) return - - var/mob/living/carbon/xenomorph/current_xeno = user?.mob - - if(!current_xeno?.hive) - return - - if((!current_xeno.hive.living_xeno_queen || SSmapping.configs[GROUND_MAP].map_name == MAP_WHISKEY_OUTPOST) && !current_xeno.hive.allow_no_queen_actions) //No Hive status on WO - to_chat(current_xeno, SPAN_WARNING("There is no Queen. We are alone.")) - return - - if(current_xeno.interference) - to_chat(current_xeno, SPAN_WARNING("A headhunter temporarily cut off our psychic connection!")) - return - - current_xeno.hive.hive_ui.open_hive_status(current_xeno) + var/mob/living/carbon/xenomorph/xeno = user.mob + xeno.hive_status() + return TRUE /datum/keybinding/xenomorph/hide hotkey_keys = list("Unbound") diff --git a/code/modules/mob/living/carbon/xenomorph/hive_status_ui.dm b/code/modules/mob/living/carbon/xenomorph/hive_status_ui.dm index 17514a31e502..360b4e8bbdde 100644 --- a/code/modules/mob/living/carbon/xenomorph/hive_status_ui.dm +++ b/code/modules/mob/living/carbon/xenomorph/hive_status_ui.dm @@ -137,7 +137,7 @@ return UI_INTERACTIVE // If the Queen died or is otherwise missing. - if(!assoc_hive.living_xeno_queen) + if(!assoc_hive.living_xeno_queen && !assoc_hive.allow_no_queen_actions) return UI_CLOSE /datum/hive_status_ui/ui_data(mob/user) diff --git a/code/modules/mob/living/carbon/xenomorph/xeno_verbs.dm b/code/modules/mob/living/carbon/xenomorph/xeno_verbs.dm index dd722f62df63..271b06973a6b 100644 --- a/code/modules/mob/living/carbon/xenomorph/xeno_verbs.dm +++ b/code/modules/mob/living/carbon/xenomorph/xeno_verbs.dm @@ -1,18 +1,18 @@ //// Holds Xeno verbs that don't belong anywhere else. /mob/living/carbon/xenomorph/verb/hive_status() set name = "Hive Status" - set desc = "Check the status of your current hive." + set desc = "Check the status of our current hive." set category = "Alien" if(!hive) return if((!hive.living_xeno_queen || SSmapping.configs[GROUND_MAP].map_name == MAP_WHISKEY_OUTPOST) && !hive.allow_no_queen_actions) //No Hive status on WO - to_chat(src, SPAN_WARNING("There is no Queen. You are alone.")) + to_chat(src, SPAN_WARNING("There is no Queen. We are alone.")) return if(interference) - to_chat(src, SPAN_WARNING("A headhunter temporarily cut off your psychic connection!")) + to_chat(src, SPAN_WARNING("A headhunter temporarily cut off our psychic connection!")) return hive.hive_ui.open_hive_status(src)