GE Lua Documentation

Press F to search!

getScenarioDataForMission

Definition


-- @/lua/ge/extensions/scenario/scenariosLoader.lua:282

local function getScenarioDataForMission(m)
  local additionalAttributes, additionalAttributesSortedKeys = gameplay_missions_missions.getAdditionalAttributes()
  local diffString = additionalAttributes.difficulty.valuesByKey[m.additionalAttributes.difficulty] and additionalAttributes.difficulty.valuesByKey[m.additionalAttributes.difficulty].translationKey
  local scenarioData = {
    name = m.name,
    description = m.description,
    authors = m.author or "Anonymous",
    difficultyLabel = diffString or nil,
    difficulty = m.additionalAttributes.difficulty,
    date = ((m.date ~= 0 and m.date) or "") .. "",
    flowgraph = loadMissionAsScenarioFlowgraph,
    variables = {
      level = m.startTrigger.level,
      missionId = m.id,
    },
    isMissionAsScenario = true,
    scenarioName = m.id,
    levelName = m.startTrigger.level,
    previews = {m.previewFile},
    official = isOfficialContentVPath(m.missionFolder .. "/info.json") and m.author == "BeamNG",
    customOrderKey = m.missionType,
    additionalAttributes = {{
      labelKey = "bigMap.missionLabels.missionType",
      valueKey = m.missionTypeLabel,
      icon = 'bubble_chart'}
    },
  }

  -- add mod information from the mission
  if m.modID then
    scenarioData.modID = m.modID
    scenarioData.modName = m.modName
    scenarioData.modTitle = m.modTitle
  else
    scenarioData.modID = nil
    scenarioData.modName = 'BeamNG'
    scenarioData.modTitle = 'BeamNG.drive'
  end

  return processScenarioData(nil, scenarioData, nil)
end

Callers

@/lua/ge/extensions/scenario/scenariosLoader.lua
      if m.startTrigger.level and core_levels.getLevelByName(m.startTrigger.level) and m.isAvailableAsScenario then
        local scenarioData = M.getScenarioDataForMission(m)
        if scenarioData then