Okay, FNW posted a CVS change based on what was going on, and it was right, sorta =P
grab the new cvs, fix the updateclientstruct so you can actually move around, then in attack.cpp, do this:
in client::death , after addCorpse like shown
entity_list.AddCorpse(new_corpse, GetID());
+ //become a corpse
+ EQZonePacket app(OP_BecomeCorpse, sizeof(BecomeCorpse_Struct));
+ BecomeCorpse_Struct* d = (BecomeCorpse_Struct*)app.pBuffer;
+ d->spawn_id = GetID();
+ d->x = GetX();
+ d->y = GetY();
+ d->z = GetZ();
+ entity_list.QueueClients(this, &app, true);
+ this->SetID(0);
Remove the //become a corpse through entity_list.Queueclients() from the top of the file and bring it down. You will need to change the name of the app and d variables on the second packet sent in client::death, because someone forgot to name them seperately =P
Thats it!
enjoy