chore: don't splice quest stages when backtracking #2961
@ -104,14 +104,10 @@ export const resetQuestKeyToStage = (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    quest.Progress ??= [];
 | 
					    quest.Progress ??= [];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    quest.Progress.splice(1 + ChainStage); // remove stages past the target
 | 
					    const run = quest.Progress[0]?.c ?? 0;
 | 
				
			||||||
 | 
					 | 
				
			||||||
    const questStage = quest.Progress[ChainStage];
 | 
					 | 
				
			||||||
    // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
 | 
					 | 
				
			||||||
    if (questStage) {
 | 
					 | 
				
			||||||
        const run = quest.Progress[0].c;
 | 
					 | 
				
			||||||
    if (run >= 0) {
 | 
					    if (run >= 0) {
 | 
				
			||||||
            questStage.c = run - 1;
 | 
					        for (let i = ChainStage; i < quest.Progress.length; ++i) {
 | 
				
			||||||
 | 
					            quest.Progress[i].c = run - 1;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user