fix: correct checks for quest replay #2798
@ -159,7 +159,7 @@ export const completeQuest = async (inventory: TInventoryDatabaseDocument, quest
|
||||
|
||||
for (let i = 0; i < chainStageTotal; i++) {
|
||||
const stage = existingQuestKey.Progress[i];
|
||||
if (stage.c < run) {
|
||||
if (stage.c <= run) {
|
||||
stage.c = run;
|
||||
await giveKeyChainStageTriggered(inventory, { KeyChain: questKey, ChainStage: i });
|
||||
await giveKeyChainMissionReward(inventory, { KeyChain: questKey, ChainStage: i });
|
||||
@ -302,7 +302,7 @@ export const giveKeyChainItem = async (
|
||||
): Promise<IInventoryChanges> => {
|
||||
let inventoryChanges: IInventoryChanges = {};
|
||||
|
||||
if (!isRerun) {
|
||||
if (isRerun) {
|
||||
|
Sainan marked this conversation as resolved
Outdated
|
||||
inventoryChanges = await addKeyChainItems(inventory, keyChainInfo);
|
||||
|
||||
if (isEmptyObject(inventoryChanges)) {
|
||||
@ -331,7 +331,7 @@ export const giveKeyChainMessage = async (
|
||||
): Promise<void> => {
|
||||
const keyChainMessage = getKeyChainMessage(keyChainInfo);
|
||||
|
||||
if (!isRerun) {
|
||||
if (isRerun) {
|
||||
keyChainMessage.att = [];
|
||||
keyChainMessage.countedAtt = [];
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user
Can't we use stage
ito track items were already given?