Simpler solution I ended up going with :
in mob.cpp
void Mob::CreateSpawnPacket(EQZonePacket* app, Mob* ForWho) {
app->SetOpcode(OP_NewSpawn);
app->size = sizeof(NewSpawn_Struct);
app->pBuffer = new uchar[app->size];
memset(app->pBuffer, 0, app->size);
NewSpawn_Struct* ns = (NewSpawn_Struct*)app->pBuffer;
FillSpawnStruct(ns, ForWho);
+if(IsClient())
+CastToClient()->SendAppearancePacket(AT_PVP,CastToClient()->GetPVP(),true,true);
}
This + the modified sendzonespawnsbulk() function will cover 100% of instances where a client is sent another client's spawn info.
|