Core/Misc: Implemented spawn tracking

Port From (https://github.com/TrinityCore/TrinityCore/commit/c9099c87567ead635811ef71b990ae7f19103509)
This commit is contained in:
Hondacrx
2025-05-25 20:13:24 -04:00
parent 84642c2ccf
commit 2043ac37f9
17 changed files with 953 additions and 44 deletions
+8
View File
@@ -621,4 +621,12 @@ namespace Framework.Constants
FirstCompletionBonus = 0x1,
RepeatCompletionBonus = 0x2
}
public enum SpawnTrackingState
{
None = 0,
Active = 1,
Complete = 2,
Max
}
}
@@ -92,6 +92,7 @@ namespace Framework.Database
PrepareStatement(CharStatements.SEL_CHARACTER_QUESTSTATUS_OBJECTIVES, "SELECT quest, objective, data FROM character_queststatus_objectives WHERE guid = ?");
PrepareStatement(CharStatements.SEL_CHARACTER_QUESTSTATUS_OBJECTIVES_CRITERIA, "SELECT questObjectiveId FROM character_queststatus_objectives_criteria WHERE guid = ?");
PrepareStatement(CharStatements.SEL_CHARACTER_QUESTSTATUS_OBJECTIVES_CRITERIA_PROGRESS, "SELECT criteriaId, counter, date FROM character_queststatus_objectives_criteria_progress WHERE guid = ?");
PrepareStatement(CharStatements.SEL_CHARACTER_QUESTSTATUS_OBJECTIVES_SPAWN_TRACKING, "SELECT quest, objective, spawnTrackingId FROM character_queststatus_objectives_spawn_tracking WHERE guid = ?");
PrepareStatement(CharStatements.SEL_CHARACTER_QUESTSTATUS_DAILY, "SELECT quest, time FROM character_queststatus_daily WHERE guid = ?");
PrepareStatement(CharStatements.SEL_CHARACTER_QUESTSTATUS_WEEKLY, "SELECT quest FROM character_queststatus_weekly WHERE guid = ?");
@@ -566,6 +567,7 @@ namespace Framework.Database
PrepareStatement(CharStatements.DEL_CHAR_QUESTSTATUS_OBJECTIVES_CRITERIA, "DELETE FROM character_queststatus_objectives_criteria WHERE guid = ?");
PrepareStatement(CharStatements.DEL_CHAR_QUESTSTATUS_OBJECTIVES_CRITERIA_PROGRESS, "DELETE FROM character_queststatus_objectives_criteria_progress WHERE guid = ?");
PrepareStatement(CharStatements.DEL_CHAR_QUESTSTATUS_OBJECTIVES_CRITERIA_PROGRESS_BY_CRITERIA, "DELETE FROM character_queststatus_objectives_criteria_progress WHERE guid = ? AND criteriaId = ?");
PrepareStatement(CharStatements.DEL_CHAR_QUESTSTATUS_OBJECTIVES_SPAWN_TRACKING, "DELETE FROM character_queststatus_objectives_spawn_tracking WHERE guid = ?");
PrepareStatement(CharStatements.DEL_CHAR_SOCIAL_BY_GUID, "DELETE FROM character_social WHERE guid = ?");
PrepareStatement(CharStatements.DEL_CHAR_SOCIAL_BY_FRIEND, "DELETE FROM character_social WHERE friend = ?");
PrepareStatement(CharStatements.DEL_CHAR_ACHIEVEMENT_BY_ACHIEVEMENT, "DELETE FROM character_achievement WHERE achievement = ? AND guid = ?");
@@ -616,6 +618,8 @@ namespace Framework.Database
PrepareStatement(CharStatements.DEL_CHAR_QUESTSTATUS_OBJECTIVES_BY_QUEST, "DELETE FROM character_queststatus_objectives WHERE guid = ? AND quest = ?");
PrepareStatement(CharStatements.INS_CHAR_QUESTSTATUS_OBJECTIVES_CRITERIA, "INSERT INTO character_queststatus_objectives_criteria (guid, questObjectiveId) VALUES (?, ?)");
PrepareStatement(CharStatements.INS_CHAR_QUESTSTATUS_OBJECTIVES_CRITERIA_PROGRESS, "INSERT INTO character_queststatus_objectives_criteria_progress (guid, criteriaId, counter, date) VALUES (?, ?, ?, ?)");
PrepareStatement(CharStatements.REP_CHAR_QUESTSTATUS_OBJECTIVES_SPAWN_TRACKING, "REPLACE INTO character_queststatus_objectives_spawn_tracking (guid, quest, objective, spawnTrackingId) VALUES (?, ?, ?, ?)");
PrepareStatement(CharStatements.DEL_CHAR_QUESTSTATUS_OBJECTIVES_SPAWN_TRACKING_BY_QUEST, "DELETE FROM character_queststatus_objectives_spawn_tracking WHERE guid = ? AND quest = ?");
PrepareStatement(CharStatements.INS_CHAR_QUESTSTATUS_REWARDED, "INSERT IGNORE INTO character_queststatus_rewarded (guid, quest, active) VALUES (?, ?, 1)");
PrepareStatement(CharStatements.DEL_CHAR_QUESTSTATUS_REWARDED_BY_QUEST, "DELETE FROM character_queststatus_rewarded WHERE guid = ? AND quest = ?");
PrepareStatement(CharStatements.UPD_CHAR_QUESTSTATUS_REWARDED_FACTION_CHANGE, "UPDATE character_queststatus_rewarded SET quest = ? WHERE quest = ? AND guid = ?");
@@ -813,6 +817,7 @@ namespace Framework.Database
SEL_CHARACTER_QUESTSTATUS_OBJECTIVES,
SEL_CHARACTER_QUESTSTATUS_OBJECTIVES_CRITERIA,
SEL_CHARACTER_QUESTSTATUS_OBJECTIVES_CRITERIA_PROGRESS,
SEL_CHARACTER_QUESTSTATUS_OBJECTIVES_SPAWN_TRACKING,
SEL_CHARACTER_QUESTSTATUS_DAILY,
SEL_CHARACTER_QUESTSTATUS_WEEKLY,
SEL_CHARACTER_QUESTSTATUS_MONTHLY,
@@ -1204,6 +1209,7 @@ namespace Framework.Database
DEL_CHAR_QUESTSTATUS_OBJECTIVES_CRITERIA,
DEL_CHAR_QUESTSTATUS_OBJECTIVES_CRITERIA_PROGRESS,
DEL_CHAR_QUESTSTATUS_OBJECTIVES_CRITERIA_PROGRESS_BY_CRITERIA,
DEL_CHAR_QUESTSTATUS_OBJECTIVES_SPAWN_TRACKING,
DEL_CHAR_SOCIAL_BY_GUID,
DEL_CHAR_SOCIAL_BY_FRIEND,
DEL_CHAR_ACHIEVEMENT_BY_ACHIEVEMENT,
@@ -1254,6 +1260,8 @@ namespace Framework.Database
DEL_CHAR_QUESTSTATUS_OBJECTIVES_BY_QUEST,
INS_CHAR_QUESTSTATUS_OBJECTIVES_CRITERIA,
INS_CHAR_QUESTSTATUS_OBJECTIVES_CRITERIA_PROGRESS,
REP_CHAR_QUESTSTATUS_OBJECTIVES_SPAWN_TRACKING,
DEL_CHAR_QUESTSTATUS_OBJECTIVES_SPAWN_TRACKING_BY_QUEST,
INS_CHAR_QUESTSTATUS_REWARDED,
DEL_CHAR_QUESTSTATUS_REWARDED_BY_QUEST,
UPD_CHAR_QUESTSTATUS_REWARDED_FACTION_CHANGE,