mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-19 17:05:44 +01:00
Core/SAI: Add distance option for SMART_ACTION_SOUND & SMART_ACTION_RANDOM_SOUND (#20717)
(cherry picked from commit 37995ade29)
This commit is contained in:
@@ -297,7 +297,11 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
||||
{
|
||||
if (IsUnit(target))
|
||||
{
|
||||
target->PlayDirectSound(e.action.sound.sound, e.action.sound.onlySelf ? target->ToPlayer() : nullptr, e.action.sound.keyBroadcastTextId);
|
||||
if (e.action.sound.distance == 1)
|
||||
target->PlayDistanceSound(e.action.sound.sound, e.action.sound.onlySelf ? target->ToPlayer() : nullptr);
|
||||
else
|
||||
target->PlayDirectSound(e.action.sound.sound, e.action.sound.onlySelf ? target->ToPlayer() : nullptr, e.action.sound.keyBroadcastTextId);
|
||||
|
||||
TC_LOG_DEBUG("scripts.ai", "SmartScript::ProcessAction:: SMART_ACTION_SOUND: target: %s (%s), sound: %u, onlyself: %u",
|
||||
target->GetName().c_str(), target->GetGUID().ToString().c_str(), e.action.sound.sound, e.action.sound.onlySelf);
|
||||
}
|
||||
@@ -2092,7 +2096,12 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
|
||||
if (IsUnit(target))
|
||||
{
|
||||
uint32 sound = Trinity::Containers::SelectRandomContainerElement(sounds);
|
||||
target->PlayDirectSound(sound, onlySelf ? target->ToPlayer() : nullptr);
|
||||
|
||||
if (e.action.randomSound.distance == 1)
|
||||
target->PlayDistanceSound(sound, onlySelf ? target->ToPlayer() : nullptr);
|
||||
else
|
||||
target->PlayDirectSound(sound, onlySelf ? target->ToPlayer() : nullptr);
|
||||
|
||||
TC_LOG_DEBUG("scripts.ai", "SmartScript::ProcessAction:: SMART_ACTION_RANDOM_SOUND: target: %s (%s), sound: %u, onlyself: %s",
|
||||
target->GetName().c_str(), target->GetGUID().ToString().c_str(), sound, onlySelf ? "true" : "false");
|
||||
}
|
||||
|
||||
@@ -625,7 +625,7 @@ struct SmartAction
|
||||
{
|
||||
uint32 sound;
|
||||
uint32 onlySelf;
|
||||
uint32 distance; // NYI: awaiting cherry-pick
|
||||
uint32 distance;
|
||||
uint32 keyBroadcastTextId;
|
||||
} sound;
|
||||
|
||||
@@ -1095,8 +1095,9 @@ struct SmartAction
|
||||
|
||||
struct
|
||||
{
|
||||
uint32 sounds[SMART_ACTION_PARAM_COUNT - 1];
|
||||
uint32 sounds[SMART_ACTION_PARAM_COUNT - 2];
|
||||
uint32 onlySelf;
|
||||
uint32 distance;
|
||||
} randomSound;
|
||||
|
||||
struct
|
||||
|
||||
Reference in New Issue
Block a user