diff --git a/data/sql/updates/db_characters/2024_09_03_00.sql b/data/sql/updates/db_characters/2024_09_03_00.sql index b61491e17..d43d20b2e 100644 --- a/data/sql/updates/db_characters/2024_09_03_00.sql +++ b/data/sql/updates/db_characters/2024_09_03_00.sql @@ -1,11 +1,15 @@ -- DB update 2024_07_05_00 -> 2024_09_03_00 DROP TABLE IF EXISTS `character_achievement_offline_updates`; CREATE TABLE `character_achievement_offline_updates` ( - `guid` BIGINT UNSIGNED NOT NULL COMMENT 'Character\'s GUID', + `guid` INT UNSIGNED NOT NULL COMMENT 'Character\'s GUID', `update_type` TINYINT UNSIGNED NOT NULL COMMENT 'Supported types: 1 - COMPLETE_ACHIEVEMENT; 2 - UPDATE_CRITERIA', `arg1` INT UNSIGNED NOT NULL COMMENT 'For type 1: achievement ID; for type 2: ACHIEVEMENT_CRITERIA_TYPE', `arg2` INT UNSIGNED DEFAULT NULL COMMENT 'For type 2: miscValue1 for updating achievement criteria', `arg3` INT UNSIGNED DEFAULT NULL COMMENT 'For type 2: miscValue2 for updating achievement criteria', INDEX `idx_guid` (`guid`) ) -COMMENT = 'Stores updates to character achievements when the character was offline'; +COMMENT = 'Stores updates to character achievements when the character was offline' +CHARSET = utf8mb4 +COLLATE = utf8mb4_unicode_ci +ENGINE = InnoDB +; diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp index 9d3626e3d..a6b2f905f 100644 --- a/src/server/game/Achievements/AchievementMgr.cpp +++ b/src/server/game/Achievements/AchievementMgr.cpp @@ -2503,7 +2503,7 @@ void AchievementMgr::ProcessOfflineUpdate(AchievementOfflinePlayerUpdate const& { AchievementEntry const* achievement = sAchievementStore.LookupEntry(update.arg1); - ASSERT(achievement != NULL, "Not found achievement to complete for offline achievements update. Wrong arg1 ({}) value?", update.arg1); + ASSERT(achievement, "Not found achievement to complete for offline achievements update. Wrong arg1 ({}) value?", update.arg1); CompletedAchievement(achievement); break; @@ -3142,7 +3142,7 @@ void AchievementGlobalMgr::CompletedAchievementForOfflinePlayer(ObjectGuid::LowT { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHAR_ACHIEVEMENT_OFFLINE_UPDATES); stmt->SetData(0, playerLowGuid); - stmt->SetData(1, uint32(ACHIEVEMENT_OFFLINE_PLAYER_UPDATE_TYPE_COMPLETE_ACHIEVEMENT)); + stmt->SetData(1, ACHIEVEMENT_OFFLINE_PLAYER_UPDATE_TYPE_COMPLETE_ACHIEVEMENT); stmt->SetData(2, entry->ID); stmt->SetData(3, 0); stmt->SetData(4, 0); @@ -3153,7 +3153,7 @@ void AchievementGlobalMgr::UpdateAchievementCriteriaForOfflinePlayer(ObjectGuid: { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHAR_ACHIEVEMENT_OFFLINE_UPDATES); stmt->SetData(0, playerLowGuid); - stmt->SetData(1, uint32(ACHIEVEMENT_OFFLINE_PLAYER_UPDATE_TYPE_UPDATE_CRITERIA)); + stmt->SetData(1, ACHIEVEMENT_OFFLINE_PLAYER_UPDATE_TYPE_UPDATE_CRITERIA); stmt->SetData(2, type); stmt->SetData(3, miscValue1); stmt->SetData(4, miscValue2);