mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-22 02:04:52 +01:00
Core/Phases: fixed corpse phase deleting
This commit is contained in:
@@ -4,6 +4,7 @@ DROP TABLE IF EXISTS `corpse_phases`;
|
||||
CREATE TABLE `corpse_phases` (
|
||||
`Guid` int(10) unsigned NOT NULL,
|
||||
`PhaseId` int(10) unsigned NOT NULL,
|
||||
`OwnerGuid` int(10) unsigned NOT NULL,
|
||||
`Time` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`CorpseType` tinyint(3) unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`Guid`,`PhaseId`)
|
||||
|
||||
@@ -130,6 +130,7 @@ void Corpse::SaveToDB()
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CORPSE_PHASES);
|
||||
stmt->setUInt32(index++, GetGUIDLow()); // Guid (corpse's)
|
||||
stmt->setUInt32(index++, phaseId); // PhaseId
|
||||
stmt->setUInt32(index++, GetOwnerGUID().GetCounter()); // OwnerGuid
|
||||
stmt->setUInt32(index++, uint32(m_time)); // Time
|
||||
stmt->setUInt8(index++, GetType()); // CorpseType
|
||||
trans->Append(stmt);
|
||||
|
||||
@@ -339,9 +339,9 @@ void CharacterDatabaseConnection::DoPrepareStatements()
|
||||
PrepareStatement(CHAR_DEL_OLD_CORPSES, "DELETE FROM corpse WHERE corpseType = 0 OR time < (UNIX_TIMESTAMP(NOW()) - ?)", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_SEL_CORPSE_PHASES, "SELECT Guid, PhaseId FROM corpse_phases", CONNECTION_SYNCH);
|
||||
PrepareStatement(CHAR_DEL_CORPSE_PHASES, "DELETE FROM corpse_phases WHERE Guid = ?", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_DEL_PLAYER_CORPSES_PHASES, "DELETE FROM corpse_phases WHERE Guid = ? AND CorpseType <> 0", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_DEL_PLAYER_CORPSES_PHASES, "DELETE FROM corpse_phases WHERE OwnerGuid = ? AND CorpseType <> 0", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_DEL_OLD_CORPSE_PHASES, "DELETE FROM corpse_phases WHERE CorpseType = 0 OR Time < (UNIX_TIMESTAMP(NOW()) - ?)", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_INS_CORPSE_PHASES, "INSERT INTO corpse_phases (Guid, PhaseId, Time, CorpseType) VALUES (?, ?, ?, ?)", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_INS_CORPSE_PHASES, "INSERT INTO corpse_phases (Guid, PhaseId, OwnerGuid, Time, CorpseType) VALUES (?, ?, ?, ?, ?)", CONNECTION_ASYNC);
|
||||
|
||||
// Creature respawn
|
||||
PrepareStatement(CHAR_SEL_CREATURE_RESPAWNS, "SELECT guid, respawnTime FROM creature_respawn WHERE mapId = ? AND instanceId = ?", CONNECTION_SYNCH);
|
||||
|
||||
Reference in New Issue
Block a user