🌳
pt0/gamesapp/sharedF/getMyTurnRemainDurF.mjs
5export const taskTimeLimitsMin = {
6 InitialPrompt: 4,
7 DrawDescription: 8,
8 DescribeDrawing: 4,
9}
11export const gracePeriodSec = 15
13export const getMyTurnRemainDur = ({myTaskName, gameActiveAt, now}) => {
14 const totalMin = taskTimeLimitsMin[myTaskName]
15 assertDefined(totalMin, {myTaskName})
16 const maxTurnDur = LuxDuration.fromObject({minutes: totalMin})
17 const elapsedDur = now.diff(gameActiveAt)
18 const remainDur = maxTurnDur.minus(elapsedDur)
19 return {maxTurnDur, elapsedDur, remainDur}
22export const shouldNagPlayer = ({ activePlayerCount }) => activePlayerCount > minNoPlayers
24export const getDeadlineMs = ({ myTaskName, gameActiveAt }) => {
25 const taskLimitMin = taskTimeLimitsMin[myTaskName]
26 if (!taskLimitMin) return null
27 return gameActiveAt + (taskLimitMin * 60 * 1000) + (gracePeriodSec * 1000)