Core/QuestStatus:
- Separate rewarded quests from active quests, and store them in a new table to reduce database size - Drop the no longer needed `rewarded` column from character_queststatus for smaller table size - Prevent filling the database with dropped quests - Delete useless records - Implement queststatus save "queues" instead of states - Minor optimizations WARNING: Backup your database! --HG-- branch : trunk
This commit is contained in:
@@ -351,30 +351,18 @@ class Quest
|
||||
uint32 QuestCompleteScript;
|
||||
};
|
||||
|
||||
enum QuestUpdateState
|
||||
{
|
||||
QUEST_UNCHANGED = 0,
|
||||
QUEST_CHANGED = 1,
|
||||
QUEST_NEW = 2
|
||||
};
|
||||
|
||||
struct QuestStatusData
|
||||
{
|
||||
QuestStatusData()
|
||||
: m_status(QUEST_STATUS_NONE),m_rewarded(false),
|
||||
m_explored(false), m_timer(0), uState(QUEST_NEW)
|
||||
QuestStatusData(): m_status(QUEST_STATUS_NONE), m_explored(false), m_timer(0)
|
||||
{
|
||||
memset(m_itemcount, 0, QUEST_ITEM_OBJECTIVES_COUNT * sizeof(uint16));
|
||||
memset(m_creatureOrGOcount, 0, QUEST_OBJECTIVES_COUNT * sizeof(uint16));
|
||||
}
|
||||
|
||||
QuestStatus m_status;
|
||||
bool m_rewarded;
|
||||
bool m_explored;
|
||||
uint32 m_timer;
|
||||
QuestUpdateState uState;
|
||||
|
||||
uint16 m_itemcount[ QUEST_ITEM_OBJECTIVES_COUNT ];
|
||||
uint16 m_creatureOrGOcount[ QUEST_OBJECTIVES_COUNT ];
|
||||
uint16 m_itemcount[QUEST_ITEM_OBJECTIVES_COUNT];
|
||||
uint16 m_creatureOrGOcount[QUEST_OBJECTIVES_COUNT];
|
||||
QuestStatus m_status;
|
||||
bool m_explored;
|
||||
};
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user