mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 07:40:14 +00:00
Implement NPC greeting voice lines
Added NPC voice manager that plays greeting sounds when clicking on NPCs: Features: - Voice line library with multiple race/gender voice types (Human, Dwarf, Night Elf, etc.) - 3D positional audio - voice comes from NPC location - Cooldown system prevents spam clicking same NPC - Randomized pitch/volume for variety - Loads greeting sounds from character voice files in MPQ - Generic fallback voices for NPCs without specific voice types Voice lines trigger automatically when gossip window opens (SMSG_GOSSIP_MESSAGE). Uses same audio system as other sound effects with ma_sound_set_position.
This commit is contained in:
parent
71c4fb3ae6
commit
eb288d2064
7 changed files with 37 additions and 1 deletions
|
|
@ -4569,6 +4569,15 @@ void GameHandler::handleGossipMessage(network::Packet& packet) {
|
|||
if (questDetailsOpen) return; // Don't reopen gossip while viewing quest
|
||||
gossipWindowOpen = true;
|
||||
vendorWindowOpen = false; // Close vendor if gossip opens
|
||||
|
||||
// Play NPC greeting voice
|
||||
if (npcGreetingCallback_ && currentGossip.npcGuid != 0) {
|
||||
auto entity = entityManager.getEntity(currentGossip.npcGuid);
|
||||
if (entity) {
|
||||
glm::vec3 npcPos(entity->getX(), entity->getY(), entity->getZ());
|
||||
npcGreetingCallback_(currentGossip.npcGuid, npcPos);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameHandler::handleGossipComplete(network::Packet& packet) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue