chore(Core/Achievement): cleanup offline achievement (#19976)
This commit is contained in:
parent
ee6e74eb3c
commit
1df989f780
2 changed files with 9 additions and 5 deletions
|
|
@ -1,11 +1,15 @@
|
||||||
-- DB update 2024_07_05_00 -> 2024_09_03_00
|
-- DB update 2024_07_05_00 -> 2024_09_03_00
|
||||||
DROP TABLE IF EXISTS `character_achievement_offline_updates`;
|
DROP TABLE IF EXISTS `character_achievement_offline_updates`;
|
||||||
CREATE TABLE `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',
|
`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',
|
`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',
|
`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',
|
`arg3` INT UNSIGNED DEFAULT NULL COMMENT 'For type 2: miscValue2 for updating achievement criteria',
|
||||||
INDEX `idx_guid` (`guid`)
|
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
|
||||||
|
;
|
||||||
|
|
|
||||||
|
|
@ -2503,7 +2503,7 @@ void AchievementMgr::ProcessOfflineUpdate(AchievementOfflinePlayerUpdate const&
|
||||||
{
|
{
|
||||||
AchievementEntry const* achievement = sAchievementStore.LookupEntry(update.arg1);
|
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);
|
CompletedAchievement(achievement);
|
||||||
break;
|
break;
|
||||||
|
|
@ -3142,7 +3142,7 @@ void AchievementGlobalMgr::CompletedAchievementForOfflinePlayer(ObjectGuid::LowT
|
||||||
{
|
{
|
||||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHAR_ACHIEVEMENT_OFFLINE_UPDATES);
|
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHAR_ACHIEVEMENT_OFFLINE_UPDATES);
|
||||||
stmt->SetData(0, playerLowGuid);
|
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(2, entry->ID);
|
||||||
stmt->SetData(3, 0);
|
stmt->SetData(3, 0);
|
||||||
stmt->SetData(4, 0);
|
stmt->SetData(4, 0);
|
||||||
|
|
@ -3153,7 +3153,7 @@ void AchievementGlobalMgr::UpdateAchievementCriteriaForOfflinePlayer(ObjectGuid:
|
||||||
{
|
{
|
||||||
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHAR_ACHIEVEMENT_OFFLINE_UPDATES);
|
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHAR_ACHIEVEMENT_OFFLINE_UPDATES);
|
||||||
stmt->SetData(0, playerLowGuid);
|
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(2, type);
|
||||||
stmt->SetData(3, miscValue1);
|
stmt->SetData(3, miscValue1);
|
||||||
stmt->SetData(4, miscValue2);
|
stmt->SetData(4, miscValue2);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue