From 6a23b3cf0511e835b1fc48ce19dfa301bb4bdf1d Mon Sep 17 00:00:00 2001 From: Git-Nivrak <59925169+Git-Nivrak@users.noreply.github.com> Date: Wed, 10 Jul 2024 18:11:28 +0300 Subject: [PATCH] Hivelord meson vision (#6570) # About the pull request Gives hivelords meson vision # Explain why it's good for the game Makes it easier to see how what you are designing is coming together, which should be a thing for a caste that is entirely focused on building. # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: balance: Hivelords now have meson vision add: Added a toggle for meson vision for hivelord and burrower /:cl: --------- Co-authored-by: harryob <55142896+harryob@users.noreply.github.com> --- .../xenomorph/abilities/general_abilities.dm | 15 +++++++++++++++ .../living/carbon/xenomorph/castes/Burrower.dm | 5 +---- .../living/carbon/xenomorph/castes/Hivelord.dm | 1 + .../strains/castes/hivelord/resin_whisperer.dm | 4 ++++ 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm index 39b05b964648..c5988f12539d 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm @@ -566,3 +566,18 @@ var/mob/living/carbon/xenomorph/xeno = owner xeno.xeno_tacmap() return ..() + +/datum/action/xeno_action/active_toggle/toggle_meson_vision + name = "Toggle Meson Vision" + action_icon_state = "project_xeno" + plasma_cost = 0 + action_type = XENO_ACTION_CLICK + ability_primacy = XENO_PRIMARY_ACTION_5 + +/datum/action/xeno_action/active_toggle/toggle_meson_vision/enable_toggle() + . = ..() + owner.sight |= SEE_TURFS + +/datum/action/xeno_action/active_toggle/toggle_meson_vision/disable_toggle() + . = ..() + owner.sight &= ~SEE_TURFS diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Burrower.dm b/code/modules/mob/living/carbon/xenomorph/castes/Burrower.dm index 294817f5e74e..106dcdcacb62 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Burrower.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Burrower.dm @@ -66,6 +66,7 @@ /datum/action/xeno_action/onclick/place_trap, //second macro /datum/action/xeno_action/activable/burrow, //third macro /datum/action/xeno_action/onclick/tremor, //fourth macro + /datum/action/xeno_action/active_toggle/toggle_meson_vision, /datum/action/xeno_action/onclick/tacmap, ) @@ -82,10 +83,6 @@ weed_food_states = list("Burrower_1","Burrower_2","Burrower_3") weed_food_states_flipped = list("Burrower_1","Burrower_2","Burrower_3") -/mob/living/carbon/xenomorph/burrower/Initialize(mapload, mob/living/carbon/xenomorph/oldxeno, h_number) - . = ..() - sight |= SEE_TURFS - /mob/living/carbon/xenomorph/burrower/ex_act(severity) if(HAS_TRAIT(src, TRAIT_ABILITY_BURROWED)) return diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Hivelord.dm b/code/modules/mob/living/carbon/xenomorph/castes/Hivelord.dm index 43fb8b4976f2..8024ed366405 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Hivelord.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Hivelord.dm @@ -71,6 +71,7 @@ /datum/action/xeno_action/activable/secrete_resin/hivelord, //third macro /datum/action/xeno_action/activable/transfer_plasma/hivelord, // to be consistent with drone placement /datum/action/xeno_action/active_toggle/toggle_speed, //fourth macro + /datum/action/xeno_action/active_toggle/toggle_meson_vision, /datum/action/xeno_action/onclick/tacmap, ) diff --git a/code/modules/mob/living/carbon/xenomorph/strains/castes/hivelord/resin_whisperer.dm b/code/modules/mob/living/carbon/xenomorph/strains/castes/hivelord/resin_whisperer.dm index 538aacc63722..747463eb5ee5 100644 --- a/code/modules/mob/living/carbon/xenomorph/strains/castes/hivelord/resin_whisperer.dm +++ b/code/modules/mob/living/carbon/xenomorph/strains/castes/hivelord/resin_whisperer.dm @@ -70,6 +70,10 @@ var/turf/target_turf = get_turf(target_atom) if(!target_turf) return + + if(!(target_turf in view(10, owner))) + to_chat(owner, SPAN_XENONOTICE("We must have a direct line of sight!")) + return /// Check if the target is a resin door and open or close it if(istype(target_atom, /obj/structure/mineral_door/resin))