GE Lua Documentation

Press F to search!

formatMission

Definition


-- @/lua/ge/extensions/gameplay/markerInteraction.lua:66

M.formatMission = function(m)
  local info = {
    id = m.id,
    name = m.name,
    description = m.description,
    preview = m.previewFile,
    missionTypeLabel = m.missionTypeLabel or mission.missionType,
    userSettings = m:getUserSettingsData() or {},
    defaultUserSettings = m.defaultUserSettings or {},
    additionalAttributes = {},
    progress = m.saveData.progress,
    currentProgressKey = m.currentProgressKey or m.defaultProgressKey,
    unlocks = m.unlocks,
    hasUserSettingsUnlocked = gameplay_missions_progress.missionHasUserSettingsUnlocked(m.id),
    devMission = m.devMission,
    tutorialActive = (career_modules_linearTutorial and career_modules_linearTutorial.isLinearTutorialActive()) or nil,
  }

  info.hasUserSettings = #info.userSettings > 0
  local additionalAttributes, additionalAttributesSortedKeys = gameplay_missions_missions.getAdditionalAttributes()

  for _, attKey in ipairs(additionalAttributesSortedKeys) do
    local att = additionalAttributes[attKey]
    local mAttKey = m.additionalAttributes[attKey]
    local val
    if type(mAttKey) == 'string' then
      val = att.valuesByKey[m.additionalAttributes[attKey]]
    elseif type(mAttKey) == 'table' then
      val = m.additionalAttributes[attKey]
    end
    if val then
      table.insert(info.additionalAttributes, {
        icon = att.icon or "",
        labelKey = att.translationKey,
        valueKey = val.translationKey
      })
    end
  end
  for _, customAtt in ipairs(m.customAdditionalAttributes or {}) do
    table.insert(info.additionalAttributes, customAtt)
  end
  info.formattedProgress =  gameplay_missions_progress.formatSaveDataForUi(m.id)
  info.leaderboardKey = m.defaultLeaderboardKey or 'recent'

  --info.gameContextUiButtons = {}
  info.gameContextUiButtons = m.getGameContextUiButtons and m:getGameContextUiButtons()
  return info
end

Callers

@/lua/ge/extensions/gameplay/missions/missionScreen.lua
-- formats a single mission.
local function formatMission(m)
  local previewFile = m.previewFile
    if m.missionId then
      table.insert(dataToSend, M.formatMission(gameplay_missions_missions.getMissionById(m.missionId)))
    end
  for _, m in ipairs(gameplay_missions_missions.get()) do
    --table.insert(dataToSend, M.formatMission(gameplay_missions_missions.getMissionById(m.id)))
  end
    context = 'ongoingMission',
    missions = {M.formatMission(activeMission)},
    preselectedMissionId = gameplay_missions_missionManager.getForegroundMissionId(),
      for _, id in ipairs(openMenuWithCustomMissionList) do
        table.insert(missions, M.formatMission(gameplay_missions_missions.getMissionById(id)))
      end
@/lua/ge/extensions/gameplay/markerInteraction.lua
    if m.missionId then
      table.insert(dataToSend, M.formatMission(gameplay_missions_missions.getMissionById(m.missionId)))
    end
@/lua/ge/extensions/career/modules/branches/landing.lua
            local m = gameplay_missions_missions.getMissionById(mId)
            league.missions[i] = M.formatMission(m)
            if league.isCertification then
@/lua/ge/extensions/flowgraph/modules/uiModule.lua
        local m = gameplay_missions_missions.getMissionById(mId)
        league.missions[i] = formatMission(m)
      end
      local m = gameplay_missions_missions.getMissionById(elem.id)
      elem.formatted = formatMission(m)
      if m.startCondition.type == "league" then