Clear stale side story pointer on mama's room and main-quest transitions

This commit is contained in:
Ilya Groshev
2026-05-16 19:36:07 +03:00
parent c9a1929279
commit 1dc5b8fd7c
3 changed files with 17 additions and 0 deletions
+6
View File
@@ -142,6 +142,12 @@ func (h *QuestHandler) HandleReplayFlowSceneProgress(user *store.UserState, ques
user.PortalCageStatus.IsCurrentProgress = false
user.PortalCageStatus.LatestVersion = nowMillis
if user.SideStoryActiveProgress.CurrentSideStoryQuestId != 0 {
user.SideStoryActiveProgress = store.SideStoryActiveProgress{
LatestVersion: nowMillis,
}
}
flowType := h.replayFlowType(user, questSceneId)
user.MainQuest.CurrentQuestFlowType = int32(flowType)
user.MainQuest.LatestVersion = nowMillis
+6
View File
@@ -34,6 +34,12 @@ func (s *PortalCageServiceServer) UpdatePortalCageSceneProgress(ctx context.Cont
user.MainQuest.CurrentQuestFlowType = int32(model.QuestFlowTypeMainFlow)
user.MainQuest.LatestVersion = now
}
// Returning to Mama's Room also ends any active side story.
if user.SideStoryActiveProgress.CurrentSideStoryQuestId != 0 {
user.SideStoryActiveProgress = store.SideStoryActiveProgress{
LatestVersion: now,
}
}
})
return &pb.UpdatePortalCageSceneProgressResponse{}, nil
}
+5
View File
@@ -203,6 +203,11 @@ func (s *QuestServiceServer) SetRoute(ctx context.Context, req *pb.SetRouteReque
now := gametime.NowMillis()
user.PortalCageStatus.IsCurrentProgress = false
user.PortalCageStatus.LatestVersion = now
if user.SideStoryActiveProgress.CurrentSideStoryQuestId != 0 {
user.SideStoryActiveProgress = store.SideStoryActiveProgress{
LatestVersion: now,
}
}
})
return &pb.SetRouteResponse{}, nil