From 8520b67a8b8637405fd5b3090c74e2da1146feee Mon Sep 17 00:00:00 2001 From: Ilya Groshev Date: Mon, 18 May 2026 19:52:27 +0300 Subject: [PATCH] Fix endless battle loop on background quests with battle scenes --- server/internal/questflow/quest.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/server/internal/questflow/quest.go b/server/internal/questflow/quest.go index 54e57f8..71f389c 100644 --- a/server/internal/questflow/quest.go +++ b/server/internal/questflow/quest.go @@ -24,7 +24,14 @@ func (h *QuestHandler) initQuestState(user *store.UserState, questId int32) { } func isMainQuestPlayable(quest masterdata.EntityMQuest) bool { - return !quest.IsRunInTheBackground && quest.IsCountedAsQuest + if quest.IsRunInTheBackground { + // A background quest is still actively played — and must NOT be + // auto-cleared on start — when it carries battle content (a non-zero + // recommended deck power, e.g. quests 500/515/30515). Pure cutscene + // background quests have RecommendedDeckPower == 0. + return quest.RecommendedDeckPower > 0 + } + return quest.IsCountedAsQuest } func (h *QuestHandler) clearQuestMissions(user *store.UserState, questId int32, nowMillis int64) {