[MIRROR] Mining headset upgrade - Callouts and volume boosters (#29099)

* Mining headset upgrade - Callouts and volume boosters (#85008)

## About The Pull Request

![dreamseeker_SOPW0zf89I](https://github.com/user-attachments/assets/0fa4921f-0b5c-41fe-bf70-56f21c28f579)

Shift + middle clicking while wearing a mining headset will open a
callout radial, after moving your mouse over one of the options a
callout emote will appear where you pointed (No need to click on the
radial button). Callouts have a 3 second cooldown to prevent spam and
glow in the dark due to how dark lavaland is (normal point emotes do
not)
There are 6 options: pointing, danger, attack, mine, defend and
reposition. Your callouts are colored in your runechat color. This is
done via a component so later if needed it could be added to other
headsets/mobs/items. Callouts also can initiate basic mob orders, being
a better way to command your minebots in combat.

Additionally, they also boost your speech back to normal levels in
low-pressure environments, ensuring that your runechat is still nice and
readable.

## Why It's Good For The Game

This would make coop mining much more enjoyable, as stopping to type
mid-fight is more often than not a death sentence on lavaland. With
arcmining's vents cooperating is actually beneficial, and I feel like we
should incentivize miners to do it more often by providing them with
tools for it.

## Changelog
🆑
add: Mining headsets now allow you to make callouts via pointing. You
can use them to communicate with fellow miners or order your army of
bots and raptors!
add: Mining headsets keep your voice loud and clear in low-pressure
environments (not vacuum!)
/🆑

* Mining headset upgrade - Callouts and volume boosters

* add N

---------

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
This commit is contained in:
SkyratBot
2024-07-29 18:01:00 +02:00
committed by GitHub
parent 90319e252b
commit 8750136628
17 changed files with 373 additions and 119 deletions

View File

@@ -41,6 +41,7 @@
radial_icon = 'icons/testing/turf_analysis.dmi'
radial_icon_state = "red_arrow"
speech_commands = list("heel", "follow")
callout_type = /datum/callout_option/move
///the behavior we use to follow
var/follow_behavior = /datum/ai_behavior/pet_follow_friend
@@ -124,6 +125,7 @@
radial_icon = 'icons/effects/effects.dmi'
radial_icon_state = "bite"
callout_type = /datum/callout_option/attack
speech_commands = list("attack", "sic", "kill")
command_feedback = "growl"
pointed_reaction = "and growls"
@@ -220,6 +222,7 @@
command_name = "Protect owner"
command_desc = "Your pet will run to your aid."
hidden = TRUE
callout_type = /datum/callout_option/guard
///the range our owner needs to be in for us to protect him
var/protect_range = 9
///the behavior we will use when he is attacked
@@ -250,6 +253,9 @@
. = ..()
set_command_target(parent, victim)
/datum/pet_command/protect_owner/valid_callout_target(mob/living/caller, datum/callout_option/callout, atom/target)
return target == caller || get_dist(caller, target) <= 1
/datum/pet_command/protect_owner/proc/set_attacking_target(atom/source, mob/living/attacker)
SIGNAL_HANDLER