diff --git a/zone/zonedb.cpp b/zone/zonedb.cpp index b4d35a3bb..362155016 100644 --- a/zone/zonedb.cpp +++ b/zone/zonedb.cpp @@ -3415,29 +3415,91 @@ uint32 ZoneDatabase::SaveCharacterCorpse(uint32 charid, const char* charname, ui /* Dump Basic Corpse Data */ std::string query = StringFormat( "INSERT INTO `character_corpses` " - "SET `charname` = '%s', `zone_id` = %u, `instance_id` = %u, `charid` = %d," - "`x` = %1.1f, `y` = %1.1f, `z` = %1.1f, `heading` = %1.1f," - "`time_of_death` = NOW(), `is_buried` = 0, `is_locked` = %d," - "`exp` = %u, `size` = %f, `level` = %u, `race` = %u, `gender` = %u," - "`class` = %u, `deity` = %u, `texture` = %u, `helm_texture` = %u," - "`copper` = %u, `silver` = %u,`gold` = %u,`platinum` = %u," - "`hair_color` = %u, `beard_color` = %u, `eye_color_1` = %u," - "`eye_color_2` = %u, `hair_style` = %u, `face` = %u," - "`beard` = %u, `drakkin_heritage` = %u, `drakkin_tattoo` = %u," - "`drakkin_details` = %u, `wc_1` = %u, `wc_2` = %u," - "`wc_3` = %u, `wc_4` = %u, `wc_5` = %u, `wc_6` = %u," - "`wc_7` = %u,`wc_8` = %u,`wc_9` = %u", - EscapeString(charname).c_str(), zoneid, instanceid, charid, - position.x, position.y, position.z, position.w, - dbpc->locked, dbpc->exp, dbpc->size, dbpc->level, dbpc->race, - dbpc->gender, dbpc->class_, dbpc->deity, dbpc->texture, - dbpc->helmtexture, dbpc->copper, dbpc->silver, dbpc->gold, - dbpc->plat, dbpc->haircolor, dbpc->beardcolor, dbpc->eyecolor1, - dbpc->eyecolor2, dbpc->hairstyle, dbpc->face, dbpc->beard, - dbpc->drakkin_heritage, dbpc->drakkin_tattoo, dbpc->drakkin_details, - dbpc->item_tint[0].color, dbpc->item_tint[1].color, dbpc->item_tint[2].color, - dbpc->item_tint[3].color, dbpc->item_tint[4].color, dbpc->item_tint[5].color, - dbpc->item_tint[6].color, dbpc->item_tint[7].color, dbpc->item_tint[8].color); + "SET `charname` = '%s', " + "`zone_id` = %u, " + "`instance_id` = %u, " + "`charid` = %d, " + "`x` = %1.1f, " + "`y` = %1.1f, " + "`z` = %1.1f, " + "`heading` = %1.1f, " + "`time_of_death` = NOW(), " + "`is_buried` = 0, " + "`is_locked` = %d, " + "`exp` = %u, " + "`size` = %f, " + "`level` = %u, " + "`race` = %u, " + "`gender` = %u, " + "`class` = %u, " + "`deity` = %u, " + "`texture` = %u, " + "`helm_texture` = %u, " + "`copper` = %u, " + "`silver` = %u, " + "`gold` = %u, " + "`platinum` = %u, " + "`hair_color` = %u, " + "`beard_color` = %u, " + "`eye_color_1` = %u, " + "`eye_color_2` = %u, " + "`hair_style` = %u, " + "`face` = %u, " + "`beard` = %u, " + "`drakkin_heritage` = %u, " + "`drakkin_tattoo` = %u, " + "`drakkin_details` = %u, " + "`wc_1` = %u, " + "`wc_2` = %u, " + "`wc_3` = %u, " + "`wc_4` = %u, " + "`wc_5` = %u, " + "`wc_6` = %u, " + "`wc_7` = %u, " + "`wc_8` = %u, " + "`wc_9` = %u ", + EscapeString(charname).c_str(), + zoneid, + instanceid, + charid, + position.x, + position.y, + position.z, + position.w, + dbpc->locked, + dbpc->exp, + dbpc->size, + dbpc->level, + dbpc->race, + dbpc->gender, + dbpc->class_, + dbpc->deity, + dbpc->texture, + dbpc->helmtexture, + dbpc->copper, + dbpc->silver, + dbpc->gold, + dbpc->plat, + dbpc->haircolor, + dbpc->beardcolor, + dbpc->eyecolor1, + dbpc->eyecolor2, + dbpc->hairstyle, + dbpc->face, + dbpc->beard, + dbpc->drakkin_heritage, + dbpc->drakkin_tattoo, + dbpc->drakkin_details, + dbpc->item_tint[0].color, + dbpc->item_tint[1].color, + dbpc->item_tint[2].color, + dbpc->item_tint[3].color, + dbpc->item_tint[4].color, + dbpc->item_tint[5].color, + dbpc->item_tint[6].color, + dbpc->item_tint[7].color, + dbpc->item_tint[8].color + ); auto results = QueryDatabase(query); uint32 last_insert_id = results.LastInsertedID(); @@ -3479,7 +3541,9 @@ uint32 ZoneDatabase::SaveCharacterCorpse(uint32 charid, const char* charname, ui ); } } - QueryDatabase(corpse_items_query); + if (!corpse_items_query.empty()) + QueryDatabase(corpse_items_query); + return last_insert_id; }