mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-16 22:58:34 +00:00
The mob AT_Anim (as set in spawn2) was not correctly displaying in
various situations. First, the set function for mob _appearance optimized sending a message if the new appearance was equal to the old. This cann't be done, as the 1st time the zone runs there is no client when the set function is called. If we're combining set/send, as we are, better to always do both. This fixes several of the cases. Repop also did not work, as no code was being called reliably to set appearance and update the client based on code path and various flags. This is also fixed.
This commit is contained in:
@@ -619,6 +619,7 @@ void EntityList::AddNPC(NPC *npc, bool SendSpawnPacket, bool dontqueue)
|
||||
npc->CreateSpawnPacket(app, npc);
|
||||
QueueClients(npc, app);
|
||||
npc->SendArmorAppearance();
|
||||
npc->SetAppearance(npc->GetGuardPointAnim(),false);
|
||||
safe_delete(app);
|
||||
} else {
|
||||
NewSpawn_Struct *ns = new NewSpawn_Struct;
|
||||
@@ -737,6 +738,7 @@ void EntityList::CheckSpawnQueue()
|
||||
auto it = npc_list.find(ns->spawn.spawnId);
|
||||
NPC *pnpc = it->second;
|
||||
pnpc->SendArmorAppearance();
|
||||
pnpc->SetAppearance(pnpc->GetGuardPointAnim(),false);
|
||||
safe_delete(outapp);
|
||||
iterator.RemoveCurrent();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user