mirror of
https://github.com/Walter-Sparrow/lunar-tear.git
synced 2026-07-02 05:43:41 +03:00
Clear stale side story pointer on mama's room and main-quest transitions
This commit is contained in:
@@ -142,6 +142,12 @@ func (h *QuestHandler) HandleReplayFlowSceneProgress(user *store.UserState, ques
|
|||||||
user.PortalCageStatus.IsCurrentProgress = false
|
user.PortalCageStatus.IsCurrentProgress = false
|
||||||
user.PortalCageStatus.LatestVersion = nowMillis
|
user.PortalCageStatus.LatestVersion = nowMillis
|
||||||
|
|
||||||
|
if user.SideStoryActiveProgress.CurrentSideStoryQuestId != 0 {
|
||||||
|
user.SideStoryActiveProgress = store.SideStoryActiveProgress{
|
||||||
|
LatestVersion: nowMillis,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
flowType := h.replayFlowType(user, questSceneId)
|
flowType := h.replayFlowType(user, questSceneId)
|
||||||
user.MainQuest.CurrentQuestFlowType = int32(flowType)
|
user.MainQuest.CurrentQuestFlowType = int32(flowType)
|
||||||
user.MainQuest.LatestVersion = nowMillis
|
user.MainQuest.LatestVersion = nowMillis
|
||||||
|
|||||||
@@ -34,6 +34,12 @@ func (s *PortalCageServiceServer) UpdatePortalCageSceneProgress(ctx context.Cont
|
|||||||
user.MainQuest.CurrentQuestFlowType = int32(model.QuestFlowTypeMainFlow)
|
user.MainQuest.CurrentQuestFlowType = int32(model.QuestFlowTypeMainFlow)
|
||||||
user.MainQuest.LatestVersion = now
|
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
|
return &pb.UpdatePortalCageSceneProgressResponse{}, nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -203,6 +203,11 @@ func (s *QuestServiceServer) SetRoute(ctx context.Context, req *pb.SetRouteReque
|
|||||||
now := gametime.NowMillis()
|
now := gametime.NowMillis()
|
||||||
user.PortalCageStatus.IsCurrentProgress = false
|
user.PortalCageStatus.IsCurrentProgress = false
|
||||||
user.PortalCageStatus.LatestVersion = now
|
user.PortalCageStatus.LatestVersion = now
|
||||||
|
if user.SideStoryActiveProgress.CurrentSideStoryQuestId != 0 {
|
||||||
|
user.SideStoryActiveProgress = store.SideStoryActiveProgress{
|
||||||
|
LatestVersion: now,
|
||||||
|
}
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
return &pb.SetRouteResponse{}, nil
|
return &pb.SetRouteResponse{}, nil
|
||||||
|
|||||||
Reference in New Issue
Block a user