aboutsummaryrefslogtreecommitdiff
path: root/src/game/Player.h
diff options
context:
space:
mode:
authorn0n4m3 <none@none>2010-04-15 08:26:30 +0400
committern0n4m3 <none@none>2010-04-15 08:26:30 +0400
commit8abcca0a06d48d4c9d7039bf7a6b27c57f7eb878 (patch)
tree849deb42364506716453fd34131d4fea0af972f8 /src/game/Player.h
parent6bcb297de4d5231373a3e2bf2b40e527b91cdf46 (diff)
Another fix quest flags, Implement support weekly quests cooldowns(Original patch by GriffonHeart), also code cleanups.
--HG-- branch : trunk
Diffstat (limited to 'src/game/Player.h')
-rw-r--r--src/game/Player.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/game/Player.h b/src/game/Player.h
index bccf9030fe1..119c70ffe5a 100644
--- a/src/game/Player.h
+++ b/src/game/Player.h
@@ -851,7 +851,8 @@ enum PlayerLoginQueryIndex
PLAYER_LOGIN_QUERY_LOADTALENTS = 23,
PLAYER_LOGIN_QUERY_LOADACCOUNTDATA = 24,
PLAYER_LOGIN_QUERY_LOADSKILLS = 25,
- MAX_PLAYER_LOGIN_QUERY = 26
+ PLAYER_LOGIN_QUERY_LOADWEKLYQUESTSTATUS = 26,
+ MAX_PLAYER_LOGIN_QUERY = 27
};
enum PlayerDelayedOperations
@@ -1328,6 +1329,7 @@ class Player : public Unit, public GridObject<Player>
bool SatisfyQuestNextChain(Quest const* qInfo, bool msg);
bool SatisfyQuestPrevChain(Quest const* qInfo, bool msg);
bool SatisfyQuestDay(Quest const* qInfo, bool msg);
+ bool SatisfyQuestWeek(Quest const* qInfo, bool msg);
bool GiveQuestSourceItem(Quest const *pQuest);
bool TakeQuestSourceItem(uint32 quest_id, bool msg);
bool GetQuestRewardStatus(uint32 quest_id) const;
@@ -1335,7 +1337,9 @@ class Player : public Unit, public GridObject<Player>
void SetQuestStatus(uint32 quest_id, QuestStatus status);
void SetDailyQuestStatus(uint32 quest_id);
+ void SetWeeklyQuestStatus(uint32 quest_id);
void ResetDailyQuestStatus();
+ void ResetWeeklyQuestStatus();
uint16 FindQuestSlot(uint32 quest_id) const;
uint32 GetQuestSlotQuestId(uint16 slot) const { return GetUInt32Value(PLAYER_QUEST_LOG_1_1 + slot * MAX_QUEST_OFFSET + QUEST_ID_OFFSET); }
@@ -2363,7 +2367,9 @@ class Player : public Unit, public GridObject<Player>
/*********************************************************/
//We allow only one timed quest active at the same time. Below can then be simple value instead of set.
- std::set<uint32> m_timedquests;
+ typedef std::set<uint32> QuestSet;
+ QuestSet m_timedquests;
+ QuestSet m_weeklyquests;
uint64 m_divider;
uint32 m_ingametime;
@@ -2382,6 +2388,7 @@ class Player : public Unit, public GridObject<Player>
void _LoadMailedItems(Mail *mail);
void _LoadQuestStatus(QueryResult_AutoPtr result);
void _LoadDailyQuestStatus(QueryResult_AutoPtr result);
+ void _LoadWeeklyQuestStatus(QueryResult_AutoPtr result);
void _LoadGroup(QueryResult_AutoPtr result);
void _LoadSkills(QueryResult_AutoPtr result);
void _LoadSpells(QueryResult_AutoPtr result);
@@ -2405,6 +2412,7 @@ class Player : public Unit, public GridObject<Player>
void _SaveMail();
void _SaveQuestStatus();
void _SaveDailyQuestStatus();
+ void _SaveWeeklyQuestStatus();
void _SaveSkills();
void _SaveSpells();
void _SaveEquipmentSets();
@@ -2508,6 +2516,7 @@ class Player : public Unit, public GridObject<Player>
uint32 tradeGold;
bool m_DailyQuestChanged;
+ bool m_WeeklyQuestChanged;
time_t m_lastDailyQuestTime;
uint32 m_drunkTimer;