View Single Post
  #7  
Old 03-06-2023, 03:00 PM
TercerRigo TercerRigo is offline
Orc

TercerRigo's Avatar

Join Date: Jan 2015
Posts: 34
Default

Quote:
I know it's going to be a long shot but is there anyway I can recover the lost corpse?
If eqemu is comparable, the following is why :

https://github.com/EQEmu/Server/blob...one/corpse.cpp
Code:
void Corpse::EndLoot(Client* client, const EQApplicationPacket* app) {
	auto outapp = new EQApplicationPacket;
	outapp->SetOpcode(OP_LootComplete);
	outapp->size = 0;
	client->QueuePacket(outapp);
	safe_delete(outapp);

	being_looted_by = 0xFFFFFFFF;
	if (IsEmpty())
		Delete();
	else
		Save();
}
Code:
void Corpse::Delete() {
	if (IsPlayerCorpse() && corpse_db_id != 0)
		database.DeleteCharacterCorpse(corpse_db_id);

	corpse_db_id = 0;
	player_corpse_depop = true;
}
https://github.com/EQEmu/Server/blob...one/zonedb.cpp
Code:
bool ZoneDatabase::DeleteCharacterCorpse(uint32 db_id) {
	std::string query = StringFormat("DELETE FROM `character_corpses` WHERE `id` = %d", db_id);
	auto results = QueryDatabase(query);
	if (results.Success() && results.RowsAffected() != 0)
		return true;

	return false;
}
https://dev.mysql.com/doc/refman/5.7/en/delete.html
Code:
The DELETE statement deletes rows from tbl_name and returns the number of deleted rows.
The only options would be to restore from backup, or to give you equal xp to another present corpse. I agree with everyone, it's gone for good.
Reply With Quote