Reduce calls to this.timeUtil.getTimestamp()
inside getQuestReadyForProfile()
Set `startTime` property inside `resetQuestState()`
This commit is contained in:
parent
67f7eb59c5
commit
9ed5869fa6
@ -345,13 +345,14 @@ export class QuestHelper
|
|||||||
acceptedQuest: IAcceptQuestRequestData,
|
acceptedQuest: IAcceptQuestRequestData,
|
||||||
): IQuestStatus
|
): IQuestStatus
|
||||||
{
|
{
|
||||||
|
const currentTimestamp = this.timeUtil.getTimestamp();
|
||||||
const existingQuest = pmcData.Quests.find((q) => q.qid === acceptedQuest.qid);
|
const existingQuest = pmcData.Quests.find((q) => q.qid === acceptedQuest.qid);
|
||||||
if (existingQuest)
|
if (existingQuest)
|
||||||
{
|
{
|
||||||
// Quest exists, update its status
|
// Quest exists, update its status
|
||||||
existingQuest.startTime = this.timeUtil.getTimestamp();
|
existingQuest.startTime = currentTimestamp;
|
||||||
existingQuest.status = newState;
|
existingQuest.status = newState;
|
||||||
existingQuest.statusTimers[newState] = this.timeUtil.getTimestamp();
|
existingQuest.statusTimers[newState] = currentTimestamp;
|
||||||
existingQuest.completedConditions = [];
|
existingQuest.completedConditions = [];
|
||||||
|
|
||||||
if (existingQuest.availableAfter)
|
if (existingQuest.availableAfter)
|
||||||
@ -365,7 +366,7 @@ export class QuestHelper
|
|||||||
// Quest doesn't exists, add it
|
// Quest doesn't exists, add it
|
||||||
const newQuest: IQuestStatus = {
|
const newQuest: IQuestStatus = {
|
||||||
qid: acceptedQuest.qid,
|
qid: acceptedQuest.qid,
|
||||||
startTime: this.timeUtil.getTimestamp(),
|
startTime: currentTimestamp,
|
||||||
status: newState,
|
status: newState,
|
||||||
statusTimers: {},
|
statusTimers: {},
|
||||||
};
|
};
|
||||||
@ -378,11 +379,11 @@ export class QuestHelper
|
|||||||
// Quest should be put into 'pending' state
|
// Quest should be put into 'pending' state
|
||||||
newQuest.startTime = 0;
|
newQuest.startTime = 0;
|
||||||
newQuest.status = QuestStatus.AvailableAfter; // 9
|
newQuest.status = QuestStatus.AvailableAfter; // 9
|
||||||
newQuest.availableAfter = this.timeUtil.getTimestamp() + waitTime._props.availableAfter;
|
newQuest.availableAfter = currentTimestamp + waitTime._props.availableAfter;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
newQuest.statusTimers[newState.toString()] = this.timeUtil.getTimestamp();
|
newQuest.statusTimers[newState.toString()] = currentTimestamp;
|
||||||
newQuest.completedConditions = [];
|
newQuest.completedConditions = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -744,15 +745,18 @@ export class QuestHelper
|
|||||||
const questToUpdate = pmcData.Quests.find((quest) => quest.qid === questId);
|
const questToUpdate = pmcData.Quests.find((quest) => quest.qid === questId);
|
||||||
if (questToUpdate)
|
if (questToUpdate)
|
||||||
{
|
{
|
||||||
|
const currentTimestamp = this.timeUtil.getTimestamp();
|
||||||
|
|
||||||
questToUpdate.status = newQuestState;
|
questToUpdate.status = newQuestState;
|
||||||
questToUpdate.statusTimers[newQuestState] = this.timeUtil.getTimestamp();
|
questToUpdate.startTime = currentTimestamp;
|
||||||
|
questToUpdate.statusTimers[newQuestState] = currentTimestamp;
|
||||||
|
|
||||||
// Delete all status timers after applying new status
|
// Delete all status timers after applying new status
|
||||||
for (const statusKey in questToUpdate.statusTimers)
|
for (const statusKey in questToUpdate.statusTimers)
|
||||||
{
|
{
|
||||||
if (Number.parseInt(statusKey) > newQuestState)
|
if (Number.parseInt(statusKey) > newQuestState)
|
||||||
{
|
{
|
||||||
delete questToUpdate.statusTimers[statusKey]
|
delete questToUpdate.statusTimers[statusKey];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user