Implement MusicManager fade-out in stopMusic() — was a stub

stopMusic(fadeMs) previously had (void)fadeMs with no fade logic.
Added fadingOut/fadeOutTimer/fadeOutDuration/fadeOutStartVolume state
and wired update() to interpolate volume to zero then stop playback.
Also clean up DuelProposedPacket comment (removed misleading TODO label).
This commit is contained in:
Kelsi 2026-03-09 16:30:42 -07:00
parent f2eabc87ef
commit 13e3e5ea35
3 changed files with 40 additions and 11 deletions

View file

@ -2131,9 +2131,8 @@ network::Packet RequestRaidInfoPacket::build() {
// ============================================================
network::Packet DuelProposedPacket::build(uint64_t targetGuid) {
// TODO: Duels are initiated via CMSG_CAST_SPELL with spell 7266,
// not a dedicated CMSG_DUEL_PROPOSED opcode (which doesn't exist in WoW).
// For now, build a cast spell packet targeting the opponent.
// Duels are initiated via CMSG_CAST_SPELL with spell 7266 (Duel) targeted at the opponent.
// There is no separate CMSG_DUEL_PROPOSED opcode in WoW.
auto packet = CastSpellPacket::build(7266, targetGuid, 0);
LOG_DEBUG("Built duel request (spell 7266) for target: 0x", std::hex, targetGuid, std::dec);
return packet;