sanitizeMissionAfterCreation
Definition
-- @/lua/ge/extensions/gameplay/missions/missions.lua:270
local function sanitizeMissionAfterCreation(mission)
mission.official = mission.official or isOfficialContentVPath(mission.missionFolder)
mission.date = tonumber(mission.date) or 0
-- add mod information
local mod = extensions.core_modmanager.getModFromPath(mission.missionFolder .. "/info.json", true)
if mod then
mission.modID = mod.modID
mission.modName = mod.modname
if mod.modData and mod.modData.title then
mission.modTitle = mod.modData.title
end
else
mission.modID = nil
mission.modName = 'BeamNG'
mission.modTitle = 'BeamNG.drive'
end
mission.bigMapIcon = mission.bigMapIcon or {}
mission.bigMapIcon.icon = mission.bigMapIcon.icon or "mission_primary_triangle"
mission.careerSetup._activeStarCache = {}
local sortedStars, defaultKeysSorted, bonusKeysSorted, defaultStarKeysCache, bonusStarKeysCache = orderStarKeysDefaultThenBonus(mission)
mission.careerSetup._activeStarCache.sortedStars = sortedStars
mission.careerSetup._activeStarCache.defaultStarKeysByKey = defaultStarKeysCache
mission.careerSetup._activeStarCache.defaultStarKeysSorted = defaultKeysSorted
mission.careerSetup._activeStarCache.defaultStarCount = #defaultKeysSorted
mission.careerSetup._activeStarCache.defaultStarKeysToIndex = {}
for k,v in ipairs(defaultKeysSorted) do
mission.careerSetup._activeStarCache.defaultStarKeysToIndex[v] = k
end
mission.careerSetup._activeStarCache.bonusStarKeysByKey = bonusStarKeysCache
mission.careerSetup._activeStarCache.bonusStarKeysSorted = bonusKeysSorted
mission.careerSetup._activeStarCache.bonusStarCount = #bonusKeysSorted
for key, list in pairs(mission.careerSetup.starRewards) do
for _, reward in ipairs(list) do
if not reward.rewardAmount then
log("E", "", "Found nil rewardAmount in starRewards for mission " .. mission.id .. " and key " .. key .. " and reward " .. dumps(reward.attributeKey))
reward.rewardAmount = 0
end
reward._originalRewardAmount = reward.rewardAmount
end
end
--[[
--sums are done in progress.lua now
mission.careerSetup._activeStarCache.sortedStarRewardsByKey = {}
for key, list in pairs(mission.careerSetup.starRewards) do
local newList = {}
for _, reward in ipairs(list) do
local elem = {rewardAmount = reward.rewardAmount, icon = "star", attributeKey = reward.attributeKey}
table.insert(newList, elem)
end
mission.careerSetup._activeStarCache.sortedStarRewardsByKey[key] = newList
end
]]
mission.onStart = mission.onStart or nop
mission.onUpdate = mission.onUpdate or nop
mission.onStop = mission.onStop or nop
mission.stateChanged = mission.stateChanged or nop
mission.onFlowgraphStateStarted = mission.onFlowgraphStateStarted or nop
mission.onFlowgraphStateStopped = mission.onFlowgraphStateStopped or nop
mission.getCommonSettingsData = mission.getCommonSettingsData or nop
mission.getUserSettingsData = mission.getUserSettingsData or nop
mission.processCommonSettings = mission.processCommonSettings or nop
mission.processUserSettings = mission.processUserSettings or nop
mission.attemptAbandonMission = mission.attemptAbandonMission or nop
mission.setBackwardsCompatibility = mission.setBackwardsCompatibility or nop
mission.getMissionTips = mission.getMissionTips or function() return defaultMissionTips end
mission.getRandomizedAttempt = mission.getRandomizedAttempt or function() return gameplay_missions_progress.testHelper.randomAttemptType(), {} end
end
Callers
@/lua/ge/extensions/gameplay/missions/missions.lua
-- sanitize after creation
M.sanitizeMissionAfterCreation(mission)