2026-07-23 10:11:24 +00:00
// Module ID: 6965
// Function ID: 55667
2026-07-20 16:05:17 +00:00
// Name: _createForOfIteratorHelperLoose
2026-07-23 10:11:24 +00:00
// Dependencies: [6942, 4983, 22, 664, 6940, 1327, 2]
2026-07-20 16:05:17 +00:00
// Exports: formatWatchTaskRemainingTime, getActivityApplicationId, getAllApplicationIds, getConsoleApplicationId, getDesktopApplicationIds, getInGameApplicationId, getPlayActivityApplicationId, getQuestTaskDetails, getQuestTaskTypes, getStreamingApplicationId, getThirdPartyTaskDetails, hasAchievementActivityTask, hasAchievementInGameTask, hasSomeFirstPartyTasks, hasStreamOnDesktopTask, isDesktopOnlyPlayQuest, isVideoQuestForMobilePlatformOnly
2026-07-23 10:11:24 +00:00
// Module 6965 (_createForOfIteratorHelperLoose)
import _isNativeReflectConstruct from "_isNativeReflectConstruct" ;
const require = arg1 ;
function _createForOfIteratorHelperLoose ( iterable ) {
let closure_0 = iterable ;
iterable = "undefined" !== typeof Symbol ;
if ( iterable ) {
2026-07-20 16:05:17 +00:00
const _Symbol = Symbol ;
2026-07-23 10:11:24 +00:00
iterable = iterable [ Symbol . iterator ] ;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
if ( ! iterable ) {
iterable = iterable [ Symbol . iterator ] ;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
if ( iterable ) {
const iter = iterable . call ( iterable ) ;
2026-07-20 16:05:17 +00:00
const next = iter . next ;
return next . bind ( iter ) ;
} else {
const _Array = Array ;
2026-07-23 10:11:24 +00:00
let tmp = iterable ;
if ( ! Array . isArray ( iterable ) ) {
2026-07-20 16:05:17 +00:00
let tmp2 ;
2026-07-23 10:11:24 +00:00
if ( iterable ) {
if ( "string" === typeof iterable ) {
tmp2 = _arrayLikeToArray ( iterable , undefined ) ;
2026-07-20 16:05:17 +00:00
} else {
const toString = { } . toString ;
2026-07-23 10:11:24 +00:00
const substr = toString . call ( iterable ) . slice ( 8 , - 1 ) ;
2026-07-20 16:05:17 +00:00
let name = substr ;
if ( tmp3 ) {
2026-07-23 10:11:24 +00:00
name = iterable . constructor . name ;
2026-07-20 16:05:17 +00:00
}
if ( "Map" !== name ) {
if ( "Set" !== name ) {
if ( "Arguments" === name ) {
2026-07-23 10:11:24 +00:00
let arr = _arrayLikeToArray ( iterable , undefined ) ;
2026-07-20 16:05:17 +00:00
} else {
2026-07-23 10:11:24 +00:00
let obj = /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/ ;
2026-07-20 16:05:17 +00:00
}
}
tmp2 = arr ;
}
const _Array2 = Array ;
2026-07-23 10:11:24 +00:00
arr = Array . from ( iterable ) ;
const callResult = toString . call ( iterable ) ;
tmp3 = "Object" === substr && iterable . constructor ;
2026-07-20 16:05:17 +00:00
}
}
tmp = tmp2 ;
if ( ! tmp2 ) {
const _TypeError = TypeError ;
const typeError = new TypeError ( "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ;
throw typeError ;
}
}
if ( tmp ) {
2026-07-23 10:11:24 +00:00
closure_0 = tmp ;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
let c1 = 0 ;
2026-07-20 16:05:17 +00:00
return ( ) = > {
2026-07-23 10:11:24 +00:00
if ( closure_1 >= length . length ) {
2026-07-20 16:05:17 +00:00
let obj = { done : true } ;
} else {
obj = { done : false } ;
closure_1 = tmp3 + 1 ;
2026-07-23 10:11:24 +00:00
obj . value = length [ + closure_1 ] ;
2026-07-20 16:05:17 +00:00
}
return obj ;
} ;
}
}
function _arrayLikeToArray ( arg0 , arg1 ) {
let length ;
if ( tmp ) {
length = arg0 . length ;
}
const ArrayResult = Array ( length ) ;
for ( let num = 0 ; num < length ; num = num + 1 ) {
ArrayResult [ num ] = arg0 [ num ] ;
}
return ArrayResult ;
}
function getApplicationIdsByTaskTypes ( value , items ) {
let iter6 ;
if ( null != value ) {
const _Set = Set ;
const set = new Set ( ) ;
const tmp7 = _createForOfIteratorHelperLoose ( items ) ;
const iter = tmp7 ( ) ;
let iter2 = iter ;
if ( ! iter . done ) {
do {
let tmp10 = value . config . taskConfigV2 . tasks [ iter2 . value ] ;
let tmp11 = tmp8 ;
let tmp12 = tmp9 ;
if ( null != tmp10 ) {
tmp11 = tmp8 ;
tmp12 = tmp9 ;
if ( "applications" in tmp10 ) {
let _Array = Array ;
tmp11 = tmp8 ;
tmp12 = tmp9 ;
if ( Array . isArray ( tmp10 . applications ) ) {
2026-07-23 10:11:24 +00:00
let tmp13 = _createForOfIteratorHelperLoose ;
let tmp14 = _createForOfIteratorHelperLoose ( tmp10 . applications ) ;
2026-07-20 16:05:17 +00:00
let iter3 = tmp14 ( ) ;
let iter4 = iter3 ;
tmp11 = iter3 ;
tmp12 = tmp14 ;
if ( ! iter3 . done ) {
do {
let addResult = set . add ( iter4 . value . id ) ;
let iter5 = tmp14 ( ) ;
iter4 = iter5 ;
tmp11 = iter5 ;
tmp12 = tmp14 ;
2026-07-23 10:11:24 +00:00
done = iter5 . done ;
2026-07-20 16:05:17 +00:00
} while ( ! done ) ;
}
}
}
}
iter6 = tmp7 ( ) ;
2026-07-23 10:11:24 +00:00
tmp8 = tmp11 ;
tmp9 = tmp12 ;
2026-07-20 16:05:17 +00:00
iter2 = iter6 ;
} while ( ! iter6 . done ) ;
}
let arr ;
if ( set . size > 0 ) {
const _Array2 = Array ;
arr = Array . from ( set ) ;
}
return arr ;
}
}
function hasPlayOnDesktopTask ( arg0 ) {
2026-07-23 10:11:24 +00:00
return null != arg0 . quest . config . taskConfigV2 . tasks [ require ( undefined , 4983 ) /* set */ . FirstPartyQuestTaskTypes . PLAY_ON_DESKTOP ] ;
2026-07-20 16:05:17 +00:00
}
function hasPlayActivityTask ( quest ) {
2026-07-23 10:11:24 +00:00
return null != quest . config . taskConfigV2 . tasks [ require ( undefined , 4983 ) /* set */ . FirstPartyQuestTaskTypes . PLAY_ACTIVITY ] ;
2026-07-20 16:05:17 +00:00
}
function shouldUsePlayOnDesktopTask ( quest ) {
let tmp = null != quest ;
if ( tmp ) {
const obj = { quest } ;
tmp = hasPlayOnDesktopTask ( obj ) ;
}
return tmp ;
}
function hasSomeFirstPartyTasks ( items ) {
2026-07-23 10:11:24 +00:00
let closure_0 = items ;
return ( arg0 ) = > {
const items = arg0 ;
return items . some ( ( arg0 ) = > null != config . config . taskConfigV2 . tasks [ arg0 ] ) ;
} ;
2026-07-20 16:05:17 +00:00
}
function isInGameQuest ( quest ) {
2026-07-23 10:11:24 +00:00
const _require = quest ;
return Array . from ( _require ( 4983 ) . FirstPartyQuestTaskTypesSets . IN_GAME ) . some ( ( arg0 ) = > null != quest . config . taskConfigV2 . tasks [ arg0 ] ) ;
2026-07-20 16:05:17 +00:00
}
function isConsoleQuest ( quest ) {
2026-07-23 10:11:24 +00:00
return callback ( quest ) ;
2026-07-20 16:05:17 +00:00
}
function hasUnsavedProgress ( userStatus , PLAY_ON_PLAYSTATION ) {
let expiresAt ;
if ( null != userStatus ) {
if ( null != userStatus . progress [ PLAY_ON_PLAYSTATION ] ) {
const heartbeat = tmp3 . heartbeat ;
if ( null != heartbeat ) {
expiresAt = heartbeat . expiresAt ;
}
}
}
if ( null == expiresAt ) {
return false ;
} else {
const _Date = Date ;
const date = new Date ( expiresAt ) ;
const valueOfResult = date . valueOf ( ) ;
const _isNaN = isNaN ;
let tmp10 = ! isNaN ( valueOfResult ) ;
if ( tmp10 ) {
const _Date2 = Date ;
tmp10 = valueOfResult > Date . now ( ) ;
}
return tmp10 ;
}
}
2026-07-23 10:11:24 +00:00
function isQuestProgressingOnConsole ( closure_0 ) {
let tmp = null != closure_0 . userStatus ;
2026-07-20 16:05:17 +00:00
if ( tmp ) {
2026-07-23 10:11:24 +00:00
let tmp5 = hasUnsavedProgress ( closure_0 . userStatus , require ( 4983 ) /* set */ . FirstPartyQuestTaskTypes . PLAY_ON_XBOX ) ;
2026-07-20 16:05:17 +00:00
if ( ! tmp5 ) {
2026-07-23 10:11:24 +00:00
tmp5 = hasUnsavedProgress ( closure_0 . userStatus , require ( 4983 ) /* set */ . FirstPartyQuestTaskTypes . PLAY_ON_PLAYSTATION ) ;
2026-07-20 16:05:17 +00:00
}
tmp = tmp5 ;
}
return tmp ;
}
function _isPlayOnDesktopTaskType ( type ) {
type = undefined ;
if ( null != type ) {
type = type . type ;
}
2026-07-23 10:11:24 +00:00
return type === require ( 4983 ) /* set */ . FirstPartyQuestTaskTypes . PLAY_ON_DESKTOP ;
2026-07-20 16:05:17 +00:00
}
function _computePercentComplete ( target , arg1 ) {
let num = 0 ;
if ( target > 0 ) {
const _Math = Math ;
2026-07-23 10:11:24 +00:00
num = require ( 22 ) /* apply */ . floor ( Math . min ( arg1 / target , 1 ) , 4 ) ;
const obj = require ( 22 ) /* apply */ ;
2026-07-20 16:05:17 +00:00
}
return num ;
}
function getTimeSinceLastBeatSeconds ( userStatus , target ) {
userStatus = userStatus . userStatus ;
let lastBeatAt ;
if ( null != userStatus ) {
const progress = userStatus . progress ;
if ( null != progress ) {
if ( null != progress [ target . type ] ) {
const heartbeat = tmp3 . heartbeat ;
if ( null != heartbeat ) {
lastBeatAt = heartbeat . lastBeatAt ;
}
}
}
}
if ( null != lastBeatAt ) {
let result = isQuestProgressingOnConsole ( userStatus ) ;
if ( ! result ) {
2026-07-23 10:11:24 +00:00
result = _isNativeReflectConstruct . isProgressingOnDesktop ( userStatus . id ) ;
2026-07-20 16:05:17 +00:00
}
if ( result ) {
const _Date = Date ;
const _Date2 = Date ;
const timestamp = Date . now ( ) ;
const date = new Date ( lastBeatAt ) ;
const diff = timestamp - date . valueOf ( ) ;
2026-07-23 10:11:24 +00:00
return require ( 22 ) /* apply */ . floor ( diff / importDefault ( 664 ) . Millis . SECOND , 2 ) ;
2026-07-20 16:05:17 +00:00
}
}
return 0 ;
}
function getProgressSeconds ( quest , target ) {
target = target . target ;
const userStatus = quest . userStatus ;
let completedAt ;
if ( null != userStatus ) {
completedAt = userStatus . completedAt ;
}
if ( null != completedAt ) {
return target ;
} else {
const userStatus3 = quest . userStatus ;
let tmp2 ;
if ( null != userStatus3 ) {
const progress = userStatus3 . progress ;
if ( null != progress ) {
tmp2 = progress [ target . type ] ;
}
}
let value ;
if ( null != tmp2 ) {
value = tmp2 . value ;
}
if ( null == value ) {
const userStatus2 = quest . userStatus ;
let prop ;
if ( null != userStatus2 ) {
prop = userStatus2 . streamProgressSeconds ;
}
value = prop ;
}
let num2 = 0 ;
if ( null != value ) {
num2 = value ;
}
if ( result3 ( quest ) ) {
2026-07-23 10:11:24 +00:00
let optimisticProgress = _isNativeReflectConstruct . getOptimisticProgress ( quest . id , target . type ) ;
2026-07-20 16:05:17 +00:00
if ( null == optimisticProgress ) {
optimisticProgress = num2 ;
}
let sum = optimisticProgress ;
} else {
sum = num2 + getTimeSinceLastBeatSeconds ( quest , target ) ;
}
const _Math = Math ;
const _Math2 = Math ;
const bound = Math . min ( 0.99 * target , sum ) ;
2026-07-23 10:11:24 +00:00
return Math . max ( require ( 22 ) /* apply */ . floor ( bound , 2 ) , 0 ) ;
2026-07-20 16:05:17 +00:00
}
}
function _getTaskDetailsForType ( arg0 ) {
let includeTaskTypes ;
let quest ;
let taskType ;
( { quest , taskType , includeTaskTypes } = arg0 ) ;
if ( includeTaskTypes === undefined ) {
2026-07-23 10:11:24 +00:00
includeTaskTypes = includeTaskTypes ( 4983 ) . FirstPartyQuestTaskTypesSets . ALL ;
2026-07-20 16:05:17 +00:00
}
const taskConfigV2 = quest . config . taskConfigV2 ;
let tmp3 = taskType ;
if ( null == taskType ) {
const _Object = Object ;
let values = Object . values ( taskConfigV2 . tasks ) ;
const first = values . filter ( ( type ) = > includeTaskTypes . has ( type . type ) ) [ 0 ] ;
let type ;
if ( null != first ) {
type = first . type ;
}
tmp3 = type ;
}
let tmp7 = taskConfigV2 . tasks [ tmp3 ] ;
if ( null == tmp7 ) {
2026-07-23 10:11:24 +00:00
tmp7 = taskConfigV2 . tasks [ includeTaskTypes ( undefined , 4983 ) . FirstPartyQuestTaskTypes . STREAM_ON_DESKTOP ] ;
2026-07-20 16:05:17 +00:00
}
if ( null == tmp7 ) {
2026-07-23 10:11:24 +00:00
let obj1 = includeTaskTypes ( 6940 ) ;
2026-07-20 16:05:17 +00:00
const _Error = Error ;
const _HermesInternal = HermesInternal ;
const error = new Error ( "Quest " + quest . id + " has no task matching the include filters" ) ;
let obj = { } ;
obj = { source : "_getTaskDetailsForType" } ;
obj . tags = obj ;
obj1 = { questId : quest.id , taskType } ;
if ( null == includeTaskTypes ) {
includeTaskTypes = [ ] ;
}
obj1 . includeTaskTypes = Array . from ( includeTaskTypes ) ;
obj . extra = obj1 ;
const result = obj1 . captureQuestsException ( error , obj ) ;
return null ;
} else {
const target = tmp7 . target ;
const tmp23 = getProgressSeconds ( quest , tmp7 ) ;
const _Object2 = Object ;
values = Object . values ( taskConfigV2 . tasks ) ;
const found = values . find ( _isPlayOnDesktopTaskType ) ;
let mapped ;
if ( null != found ) {
const applications = found . applications ;
if ( null != applications ) {
mapped = applications . map ( ( id ) = > id . id ) ;
}
}
obj = { progressSeconds : tmp23 , targetSeconds : target } ;
const _Math = Math ;
2026-07-23 10:11:24 +00:00
obj . targetMinutes = Math . ceil ( target / importDefault ( 664 ) . Seconds . MINUTE ) ;
2026-07-20 16:05:17 +00:00
obj . percentComplete = _computePercentComplete ( target , tmp23 ) ;
obj . taskType = tmp3 ;
obj . applications = mapped ;
return obj ;
}
}
function _parseFirstPartyTaskType ( arg0 ) {
2026-07-23 10:11:24 +00:00
const ALL = require ( 4983 ) /* set */ . FirstPartyQuestTaskTypesSets . ALL ;
2026-07-20 16:05:17 +00:00
let tmp = null ;
if ( ALL . has ( arg0 ) ) {
tmp = arg0 ;
}
return tmp ;
}
function getDefaultWatchVideoTask ( config ) {
2026-07-23 10:11:24 +00:00
let tmp = config . taskConfigV2 . tasks [ require ( undefined , 4983 ) /* set */ . FirstPartyQuestTaskTypes . WATCH_VIDEO ] ;
const tmp2 = config . taskConfigV2 . tasks [ require ( undefined , 4983 ) /* set */ . FirstPartyQuestTaskTypes . WATCH_VIDEO_ON_MOBILE ] ;
2026-07-20 16:05:17 +00:00
if ( null == tmp ) {
if ( null != tmp2 ) {
tmp = tmp2 ;
}
let tmp4 = null ;
if ( null != tmp ) {
tmp4 = tmp ;
}
let tmp3 = tmp4 ;
} else {
tmp3 = tmp2 ;
}
return tmp3 ;
}
function _getQuestTaskDetails ( quest , includeTaskTypes ) {
if ( isInGameQuest ( quest ) ) {
2026-07-23 10:11:24 +00:00
let obj = { progressSeconds : 0 , targetSeconds : 1 , targetMinutes : 1 , percentComplete : 0 , taskType : require ( 4983 ) /* set */ . FirstPartyQuestTaskTypes . STREAM_ON_DESKTOP } ;
2026-07-20 16:05:17 +00:00
let tmp6Result = obj ;
2026-07-23 10:11:24 +00:00
} else if ( callback ( quest ) ) {
2026-07-20 16:05:17 +00:00
obj = { quest } ;
if ( null != includeTaskTypes ) {
obj . includeTaskTypes = includeTaskTypes ;
2026-07-23 10:11:24 +00:00
tmp6Result = ( function _getLatestTaskDetails ( arg0 ) {
2026-07-20 16:05:17 +00:00
let includeTaskTypes ;
let quest ;
let tmp10 ;
( { quest , includeTaskTypes } = arg0 ) ;
if ( includeTaskTypes === undefined ) {
2026-07-23 10:11:24 +00:00
includeTaskTypes = outer1_0 ( outer1_2 [ 1 ] ) . FirstPartyQuestTaskTypesSets . ALL ;
2026-07-20 16:05:17 +00:00
}
const userStatus = quest . userStatus ;
let progress ;
if ( null != userStatus ) {
progress = userStatus . progress ;
}
if ( null == progress ) {
progress = { } ;
}
const values = Object . values ( progress ) ;
const sorted = values . sort ( ( heartbeat , heartbeat2 ) = > {
let lastBeatAt ;
if ( null != heartbeat ) {
heartbeat = heartbeat . heartbeat ;
if ( null != heartbeat ) {
lastBeatAt = heartbeat . lastBeatAt ;
}
}
if ( null != heartbeat2 ) {
heartbeat2 = heartbeat2 . heartbeat ;
if ( null != heartbeat2 ) {
lastBeatAt = heartbeat2 . lastBeatAt ;
}
}
if ( null != lastBeatAt ) {
if ( null != lastBeatAt ) {
const _Date3 = Date ;
const date = new Date ( lastBeatAt ) ;
const _Date4 = Date ;
let valueOfResult = date . valueOf ( ) ;
const date1 = new Date ( lastBeatAt ) ;
let num3 = 1 ;
if ( valueOfResult > date1 . valueOf ( ) ) {
num3 = - 1 ;
}
let num = num3 ;
}
return num ;
}
if ( null == lastBeatAt ) {
if ( null == lastBeatAt ) {
let updatedAt ;
if ( null != heartbeat ) {
updatedAt = heartbeat . updatedAt ;
}
if ( null != updatedAt ) {
let updatedAt1 ;
if ( null != heartbeat2 ) {
updatedAt1 = heartbeat2 . updatedAt ;
}
if ( null != updatedAt1 ) {
const _Date = Date ;
const date2 = new Date ( heartbeat . updatedAt ) ;
const _Date2 = Date ;
valueOfResult = date2 . valueOf ( ) ;
const date3 = new Date ( heartbeat2 . updatedAt ) ;
let num2 = 1 ;
if ( valueOfResult > date3 . valueOf ( ) ) {
num2 = - 1 ;
}
num = num2 ;
}
}
}
}
num = 1 ;
if ( null != lastBeatAt ) {
num = 1 ;
if ( null == lastBeatAt ) {
num = - 1 ;
}
}
} ) ;
2026-07-23 10:11:24 +00:00
const tmp3Result = outer1_8 ( sorted . filter ( outer1_0 ( outer1_2 [ 5 ] ) . isNotNullish ) ) ;
2026-07-20 16:05:17 +00:00
const iter = tmp3Result ( ) ;
let iter2 = iter ;
if ( ! iter . done ) {
while ( true ) {
2026-07-23 10:11:24 +00:00
let tmp6 = outer1_23 ;
let tmp7 = outer1_23 ( iter2 . value . eventName ) ;
2026-07-20 16:05:17 +00:00
let tmp8 = tmp5 ;
if ( null != tmp7 ) {
tmp8 = tmp5 ;
if ( null != includeTaskTypes ) {
tmp8 = tmp5 ;
if ( includeTaskTypes . has ( tmp7 ) ) {
2026-07-23 10:11:24 +00:00
let tmp9 = outer1_22 ;
2026-07-20 16:05:17 +00:00
let obj = { quest , taskType : tmp7 , includeTaskTypes } ;
2026-07-23 10:11:24 +00:00
tmp10 = outer1_22 ( obj ) ;
2026-07-20 16:05:17 +00:00
tmp8 = tmp10 ;
if ( null != tmp10 ) {
break ;
}
}
}
}
let iter3 = tmp3Result ( ) ;
2026-07-23 10:11:24 +00:00
tmp5 = tmp8 ;
2026-07-20 16:05:17 +00:00
iter2 = iter3 ;
}
return tmp10 ;
}
obj = { quest , includeTaskTypes } ;
2026-07-23 10:11:24 +00:00
return outer1_22 ( obj ) ;
} ) ( obj ) ;
2026-07-20 16:05:17 +00:00
} else {
2026-07-23 10:11:24 +00:00
const FirstPartyQuestTaskTypesSets = require ( 4983 ) /* set */ . FirstPartyQuestTaskTypesSets ;
2026-07-20 16:05:17 +00:00
const tmp20 = isQuestProgressingOnConsole ( quest ) ;
}
} else if ( result3 ( quest ) ) {
const obj1 = { quest } ;
const tmp15 = getDefaultWatchVideoTask ( quest . config ) ;
let type ;
if ( null != tmp15 ) {
type = tmp15 . type ;
}
obj1 . taskType = type ;
tmp6Result = _getTaskDetailsForType ( obj1 ) ;
const tmp13 = _getTaskDetailsForType ;
} else if ( shouldUsePlayOnDesktopTask ( quest ) ) {
2026-07-23 10:11:24 +00:00
const obj2 = { quest , taskType : require ( 4983 ) /* set */ . FirstPartyQuestTaskTypes . PLAY_ON_DESKTOP } ;
2026-07-20 16:05:17 +00:00
tmp6Result = _getTaskDetailsForType ( obj2 ) ;
} else {
obj = { quest } ;
2026-07-23 10:11:24 +00:00
const FirstPartyQuestTaskTypes = require ( 4983 ) /* set */ . FirstPartyQuestTaskTypes ;
2026-07-20 16:05:17 +00:00
if ( tmp5 ) {
obj . taskType = FirstPartyQuestTaskTypes . PLAY_ACTIVITY ;
tmp6Result = tmp6 ( obj ) ;
} else {
obj . taskType = FirstPartyQuestTaskTypes . STREAM_ON_DESKTOP ;
tmp6Result = tmp6 ( obj ) ;
}
2026-07-23 10:11:24 +00:00
tmp5 = hasPlayActivityTask ( quest ) ;
2026-07-20 16:05:17 +00:00
}
return tmp6Result ;
}
function getDefaultInGameTask ( config ) {
const tasks = config . taskConfigV2 . tasks ;
2026-07-23 10:11:24 +00:00
const tmp = tasks [ require ( undefined , 4983 ) /* set */ . FirstPartyQuestTaskTypes . ACHIEVEMENT_IN_ACTIVITY ] ;
let tmp2 = tasks [ require ( undefined , 4983 ) /* set */ . FirstPartyQuestTaskTypes . ACHIEVEMENT_IN_GAME ] ;
if ( null != tmp ) {
2026-07-20 16:05:17 +00:00
tmp2 = tmp ;
}
let tmp3 = null ;
if ( null != tmp2 ) {
tmp3 = tmp2 ;
}
return tmp3 ;
}
function getRemainingTaskTime ( targetSeconds ) {
return parseMinutesAndSecondsFromSeconds ( targetSeconds . targetSeconds - targetSeconds . progressSeconds ) ;
}
function parseMinutesAndSecondsFromSeconds ( arg0 ) {
return { minutes : Math.max ( 0 , Math . floor ( arg0 / 60 ) ) , seconds : Math.max ( 0 , Math . floor ( arg0 % 60 ) ) } ;
}
function formatWatchTaskTime ( minutes , seconds ) {
const StringResult = String ( minutes ) ;
const padStartResult = String ( minutes ) . padStart ( 2 , "0" ) ;
return "" + padStartResult + ":" + String ( seconds ) . padStart ( 2 , "0" ) ;
}
2026-07-23 10:11:24 +00:00
let items = [ require ( "set" ) . FirstPartyQuestTaskTypes . PLAY_ON_XBOX , require ( "set" ) . FirstPartyQuestTaskTypes . PLAY_ON_PLAYSTATION ] ;
let result = hasSomeFirstPartyTasks ( items ) ;
const items1 = [ require ( "set" ) . FirstPartyQuestTaskTypes . WATCH_VIDEO ] ;
2026-07-20 16:05:17 +00:00
const result1 = hasSomeFirstPartyTasks ( items1 ) ;
2026-07-23 10:11:24 +00:00
const items2 = [ require ( "set" ) . FirstPartyQuestTaskTypes . WATCH_VIDEO_ON_MOBILE ] ;
2026-07-20 16:05:17 +00:00
const result2 = hasSomeFirstPartyTasks ( items2 ) ;
2026-07-23 10:11:24 +00:00
const items3 = [ require ( "set" ) . FirstPartyQuestTaskTypes . WATCH_VIDEO , require ( "set" ) . FirstPartyQuestTaskTypes . WATCH_VIDEO_ON_MOBILE ] ;
2026-07-20 16:05:17 +00:00
const result3 = hasSomeFirstPartyTasks ( items3 ) ;
2026-07-23 10:11:24 +00:00
const items4 = [ require ( "set" ) . FirstPartyQuestTaskTypes . PLAY_ON_DESKTOP , require ( "set" ) . FirstPartyQuestTaskTypes . STREAM_ON_DESKTOP , require ( "set" ) . FirstPartyQuestTaskTypes . PLAY_ON_PLAYSTATION , require ( "set" ) . FirstPartyQuestTaskTypes . PLAY_ON_XBOX , require ( "set" ) . FirstPartyQuestTaskTypes . ACHIEVEMENT_IN_GAME ] ;
2026-07-20 16:05:17 +00:00
const result4 = hasSomeFirstPartyTasks ( items4 ) ;
2026-07-23 10:11:24 +00:00
const items5 = [ require ( "set" ) . FirstPartyQuestTaskTypes . ACHIEVEMENT_IN_ACTIVITY , require ( "set" ) . FirstPartyQuestTaskTypes . PLAY_ACTIVITY ] ;
2026-07-20 16:05:17 +00:00
const result5 = hasSomeFirstPartyTasks ( items5 ) ;
2026-07-23 10:11:24 +00:00
const result6 = require ( "apply" ) . fileFinishedImporting ( "modules/quests/utils/QuestTaskUtils.tsx" ) ;
2026-07-20 16:05:17 +00:00
export const getAllApplicationIds = function getAllApplicationIds ( quest ) {
if ( null != quest ) {
const _Object = Object ;
return getApplicationIdsByTaskTypes ( quest , Object . keys ( quest . config . taskConfigV2 . tasks ) ) ;
}
} ;
export const getDesktopApplicationIds = function getDesktopApplicationIds ( value ) {
2026-07-23 10:11:24 +00:00
const items = [ require ( 4983 ) /* set */ . FirstPartyQuestTaskTypes . PLAY_ON_DESKTOP ] ;
2026-07-20 16:05:17 +00:00
return getApplicationIdsByTaskTypes ( value , items ) ;
} ;
export const getConsoleApplicationId = function getConsoleApplicationId ( consoleApplicationId ) {
let first ;
2026-07-23 10:11:24 +00:00
const items = [ require ( 4983 ) /* set */ . FirstPartyQuestTaskTypes . PLAY_ON_XBOX , require ( 4983 ) /* set */ . FirstPartyQuestTaskTypes . PLAY_ON_PLAYSTATION ] ;
2026-07-20 16:05:17 +00:00
const tmp2 = getApplicationIdsByTaskTypes ( consoleApplicationId , items ) ;
if ( null != tmp2 ) {
first = tmp2 [ 0 ] ;
}
return first ;
} ;
export const getPlayActivityApplicationId = function getPlayActivityApplicationId ( quest ) {
let first ;
2026-07-23 10:11:24 +00:00
const items = [ require ( 4983 ) /* set */ . FirstPartyQuestTaskTypes . PLAY_ACTIVITY ] ;
2026-07-20 16:05:17 +00:00
const tmp2 = getApplicationIdsByTaskTypes ( quest , items ) ;
if ( null != tmp2 ) {
first = tmp2 [ 0 ] ;
}
return first ;
} ;
export const getInGameApplicationId = function getInGameApplicationId ( quest ) {
let first ;
2026-07-23 10:11:24 +00:00
const items = [ require ( 4983 ) /* set */ . FirstPartyQuestTaskTypes . ACHIEVEMENT_IN_GAME ] ;
2026-07-20 16:05:17 +00:00
const tmp2 = getApplicationIdsByTaskTypes ( quest , items ) ;
if ( null != tmp2 ) {
first = tmp2 [ 0 ] ;
}
return first ;
} ;
export const getActivityApplicationId = function getActivityApplicationId ( quest ) {
let first ;
2026-07-23 10:11:24 +00:00
const items = [ require ( 4983 ) /* set */ . FirstPartyQuestTaskTypes . PLAY_ACTIVITY , require ( 4983 ) /* set */ . FirstPartyQuestTaskTypes . ACHIEVEMENT_IN_ACTIVITY ] ;
2026-07-20 16:05:17 +00:00
const tmp2 = getApplicationIdsByTaskTypes ( quest , items ) ;
if ( null != tmp2 ) {
first = tmp2 [ 0 ] ;
}
return first ;
} ;
export const getStreamingApplicationId = function getStreamingApplicationId ( value ) {
let first ;
2026-07-23 10:11:24 +00:00
const items = [ require ( 4983 ) /* set */ . FirstPartyQuestTaskTypes . STREAM_ON_DESKTOP ] ;
2026-07-20 16:05:17 +00:00
const tmp2 = getApplicationIdsByTaskTypes ( value , items ) ;
if ( null != tmp2 ) {
first = tmp2 [ 0 ] ;
}
return first ;
} ;
export { hasPlayOnDesktopTask } ;
export const hasStreamOnDesktopTask = function hasStreamOnDesktopTask ( arg0 ) {
2026-07-23 10:11:24 +00:00
return null != arg0 . quest . config . taskConfigV2 . tasks [ require ( undefined , 4983 ) /* set */ . FirstPartyQuestTaskTypes . STREAM_ON_DESKTOP ] ;
2026-07-20 16:05:17 +00:00
} ;
export const hasAchievementActivityTask = function hasAchievementActivityTask ( quest ) {
2026-07-23 10:11:24 +00:00
return null != quest . config . taskConfigV2 . tasks [ require ( undefined , 4983 ) /* set */ . FirstPartyQuestTaskTypes . ACHIEVEMENT_IN_ACTIVITY ] ;
2026-07-20 16:05:17 +00:00
} ;
export const hasAchievementInGameTask = function hasAchievementInGameTask ( quest ) {
2026-07-23 10:11:24 +00:00
return null != quest . config . taskConfigV2 . tasks [ require ( undefined , 4983 ) /* set */ . FirstPartyQuestTaskTypes . ACHIEVEMENT_IN_GAME ] ;
2026-07-20 16:05:17 +00:00
} ;
export { hasPlayActivityTask } ;
export { shouldUsePlayOnDesktopTask } ;
export { hasSomeFirstPartyTasks } ;
export { isInGameQuest } ;
export const hasSomeConsoleTasks = result ;
export const hasWatchVideoOnDesktopTasks = result1 ;
export const hasWatchVideoOnMobileTasks = result2 ;
export const hasWatchVideoTasks = result3 ;
export const hasStandaloneGameplayTasks = result4 ;
export const hasActivityTasks = result5 ;
export const isVideoQuestForMobilePlatformOnly = function isVideoQuestForMobilePlatformOnly ( arg0 ) {
let tmp = result2 ( arg0 ) ;
if ( tmp ) {
tmp = ! result1 ( arg0 ) ;
}
return tmp ;
} ;
export { isConsoleQuest } ;
export const isDesktopOnlyPlayQuest = function isDesktopOnlyPlayQuest ( quest ) {
let tmp = ! isConsoleQuest ( quest ) ;
if ( tmp ) {
const obj = { quest } ;
tmp = hasPlayOnDesktopTask ( obj ) ;
}
return tmp ;
} ;
export { isQuestProgressingOnConsole } ;
export const getQuestTaskTypes = function getQuestTaskTypes ( config ) {
return new Set ( Object . keys ( config . config . taskConfigV2 . tasks ) ) ;
} ;
export { getDefaultWatchVideoTask } ;
2026-07-23 10:11:24 +00:00
export const getQuestTaskDetails = function getQuestTaskDetails ( closure_0 , DESKTOP ) {
const tmp = _getQuestTaskDetails ( closure_0 , DESKTOP ) ;
2026-07-20 16:05:17 +00:00
if ( null != tmp ) {
return tmp ;
} else {
2026-07-23 10:11:24 +00:00
let obj = { quest : closure_0 } ;
2026-07-20 16:05:17 +00:00
let tmp3 = _getTaskDetailsForType ( obj ) ;
if ( null == tmp3 ) {
2026-07-23 10:11:24 +00:00
obj = { progressSeconds : 0 , targetSeconds : 1 , targetMinutes : 1 , percentComplete : 0 , taskType : require ( 4983 ) /* set */ . FirstPartyQuestTaskTypes . STREAM_ON_DESKTOP } ;
2026-07-20 16:05:17 +00:00
tmp3 = obj ;
}
return tmp3 ;
}
} ;
export { getDefaultInGameTask } ;
2026-07-23 10:11:24 +00:00
export const getThirdPartyTaskDetails = function getThirdPartyTaskDetails ( closure_0 ) {
const tmp = getDefaultInGameTask ( closure_0 . config ) ;
2026-07-20 16:05:17 +00:00
if ( null == tmp ) {
return null ;
} else {
2026-07-23 10:11:24 +00:00
const userStatus = closure_0 . userStatus ;
2026-07-20 16:05:17 +00:00
let value ;
if ( null != userStatus ) {
const progress = userStatus . progress ;
if ( null != progress ) {
if ( null != progress [ tmp . type ] ) {
value = iter . value ;
}
}
}
let num = 0 ;
if ( null != value ) {
num = value ;
}
const obj = { title : tmp.messages.taskTitle , description : tmp.messages.taskDescription , target : tmp.target , progress : num , percentComplete : _computePercentComplete ( tmp . target , num ) } ;
return obj ;
}
} ;
export { getRemainingTaskTime } ;
export { parseMinutesAndSecondsFromSeconds } ;
export const formatWatchTaskRemainingTime = function formatWatchTaskRemainingTime ( targetSeconds ) {
const tmp = getRemainingTaskTime ( targetSeconds ) ;
return formatWatchTaskTime ( tmp . minutes , tmp . seconds ) ;
} ;
export { formatWatchTaskTime } ;