Fix bards not playing their instruments

This is a rather naive implementation, we should really save the
PlayerState server side so we can have newly zoned in clients
after the equip happened to see the animation. But until we find
all the places the PlayerState is sent, this is fine.
This commit is contained in:
Michael Cook (mackal)
2015-05-06 23:40:01 -04:00
parent be0507c4d3
commit 8224a9e776
2 changed files with 26 additions and 0 deletions
+24
View File
@@ -381,6 +381,8 @@ void MapOpcodes()
ConnectedOpcodes[OP_VetClaimRequest] = &Client::Handle_OP_VetClaimRequest;
ConnectedOpcodes[OP_VoiceMacroIn] = &Client::Handle_OP_VoiceMacroIn;
ConnectedOpcodes[OP_WearChange] = &Client::Handle_OP_WearChange;
ConnectedOpcodes[OP_WeaponEquip2] = &Client::Handle_OP_WeaponEquip2;
ConnectedOpcodes[OP_WeaponUnequip2] = &Client::Handle_OP_WeaponUnequip2;
ConnectedOpcodes[OP_WhoAllRequest] = &Client::Handle_OP_WhoAllRequest;
ConnectedOpcodes[OP_WorldUnknown001] = &Client::Handle_OP_Ignore;
ConnectedOpcodes[OP_XTargetAutoAddHaters] = &Client::Handle_OP_XTargetAutoAddHaters;
@@ -13889,6 +13891,28 @@ void Client::Handle_OP_WearChange(const EQApplicationPacket *app)
return;
}
void Client::Handle_OP_WeaponEquip2(const EQApplicationPacket *app)
{
if (app->size != 8) {
std::cout << "Wrong size: OP_WeaponEquip2, size=" << app->size << ", expected " << 8 << std::endl;
return;
}
// We should probably save it server side, but for now this works
entity_list.QueueClients(this, app, false);
}
void Client::Handle_OP_WeaponUnequip2(const EQApplicationPacket *app)
{
if (app->size != 8) {
std::cout << "Wrong size: OP_WeaponUnequip2, size=" << app->size << ", expected " << 8 << std::endl;
return;
}
// We should probably save it server side, but for now this works
entity_list.QueueClients(this, app, false);
}
void Client::Handle_OP_WhoAllRequest(const EQApplicationPacket *app)
{
if (app->size != sizeof(Who_All_Struct)) {