mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-15 23:20:36 +01:00
Core/PacketIO: updated and enabled SMSG_PLAY_MUSIC
This commit is contained in:
@@ -3494,12 +3494,7 @@ void Map::SendZoneDynamicInfo(Player* player)
|
||||
return;
|
||||
|
||||
if (uint32 music = itr->second.MusicId)
|
||||
{
|
||||
WorldPacket data(SMSG_PLAY_MUSIC, 4);
|
||||
data << uint32(music);
|
||||
data << player->GetGUID();
|
||||
player->SendDirectMessage(&data);
|
||||
}
|
||||
player->SendDirectMessage(WorldPackets::Misc::PlayMusic(music).Write());
|
||||
|
||||
if (WeatherState weatherId = itr->second.WeatherId)
|
||||
{
|
||||
@@ -3530,12 +3525,7 @@ void Map::SetZoneMusic(uint32 zoneId, uint32 musicId)
|
||||
for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
|
||||
if (Player* player = itr->GetSource())
|
||||
if (player->GetZoneId() == zoneId)
|
||||
{
|
||||
WorldPacket data(SMSG_PLAY_MUSIC, 4);
|
||||
data << uint32(musicId);
|
||||
data << player->GetGUID();
|
||||
player->SendDirectMessage(&data);
|
||||
}
|
||||
player->SendDirectMessage(WorldPackets::Misc::PlayMusic(musicId).Write());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -354,3 +354,10 @@ WorldPacket const* WorldPackets::Misc::LevelUpInfo::Write()
|
||||
|
||||
return &_worldPacket;
|
||||
}
|
||||
|
||||
WorldPacket const* WorldPackets::Misc::PlayMusic::Write()
|
||||
{
|
||||
_worldPacket << uint32(SoundKitID);
|
||||
|
||||
return &_worldPacket;
|
||||
}
|
||||
|
||||
@@ -493,6 +493,17 @@ namespace WorldPackets
|
||||
std::array<int32, MAX_STATS> StatDelta;
|
||||
int32 Cp = 0;
|
||||
};
|
||||
|
||||
class PlayMusic final : public ServerPacket
|
||||
{
|
||||
public:
|
||||
PlayMusic() : ServerPacket(SMSG_PLAY_MUSIC, 4) { }
|
||||
PlayMusic(uint32 soundKitID) : ServerPacket(SMSG_PLAY_MUSIC, 4), SoundKitID(soundKitID) { }
|
||||
|
||||
WorldPacket const* Write() override;
|
||||
|
||||
uint32 SoundKitID = 0;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1603,7 +1603,7 @@ void OpcodeTable::Initialize()
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAYER_SKINNED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAYER_VEHICLE_DATA, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_DANCE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_MUSIC, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_MUSIC, STATUS_NEVER, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_ONE_SHOT_ANIM_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_ORPHAN_SPELL_VISUAL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PLAY_SCENE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
|
||||
@@ -1543,7 +1543,7 @@ enum OpcodeServer : uint32
|
||||
SMSG_PLAYER_SKINNED = 0xBADD,
|
||||
SMSG_PLAYER_VEHICLE_DATA = 0xBADD,
|
||||
SMSG_PLAY_DANCE = 0xBADD,
|
||||
SMSG_PLAY_MUSIC = 0xBADD,
|
||||
SMSG_PLAY_MUSIC = 0x1BBA,
|
||||
SMSG_PLAY_OBJECT_SOUND = 0x1BB9,
|
||||
SMSG_PLAY_ONE_SHOT_ANIM_KIT = 0xBADD,
|
||||
SMSG_PLAY_ORPHAN_SPELL_VISUAL = 0xBADD,
|
||||
|
||||
@@ -5500,10 +5500,7 @@ void Spell::EffectPlayMusic(SpellEffIndex /*effIndex*/)
|
||||
return;
|
||||
}
|
||||
|
||||
WorldPacket data(SMSG_PLAY_MUSIC, 4);
|
||||
data << uint32(soundid);
|
||||
data << unitTarget->GetGUID();
|
||||
unitTarget->ToPlayer()->GetSession()->SendPacket(&data);
|
||||
unitTarget->ToPlayer()->GetSession()->SendPacket(WorldPackets::Misc::PlayMusic(soundid).Write());
|
||||
}
|
||||
|
||||
void Spell::EffectSpecCount(SpellEffIndex /*effIndex*/)
|
||||
|
||||
Reference in New Issue
Block a user