server-master/config/scripts/lib/TimeSpace.lua

71 lines
1.8 KiB
Lua

local UUID = require('UUID')
local TimeSpace = {}
function TimeSpace.Create(id)
local timespace = {
Id = UUID.Generate(),
TimeSpaceId = id,
Maps = nil,
Spawn = nil,
Lives = 0,
DurationInSeconds = 900, -- Default: 15 minutes,
InfiniteDuration = false, -- no timer shown, player can stay "infinitely" long in the time-space
Objectives = nil,
BonusPointItemDropChance = 5000,
PreFinishDialog = nil,
PreFinishDialogIsObjective = false,
ObtainablePartnerVnum = nil
}
function timespace.SetMaps(maps)
timespace.Maps = maps
return timespace
end
function timespace.SetSpawn(spawn)
timespace.Spawn = spawn
return timespace
end
function timespace.SetDurationInSeconds(duration)
timespace.DurationInSeconds = duration
return timespace
end
function timespace.SetInfiniteDuration()
timespace.InfiniteDuration = true
return timespace
end
function timespace.SetLives(lives)
timespace.Lives = lives
return timespace
end
function timespace.SetObtainablePartner(vnum)
timespace.ObtainablePartnerVnum = vnum
return timespace
end
function timespace.SetObjectives(objectives)
timespace.Objectives = objectives
return timespace
end
function timespace.SetBonusPointItemDropChance(chance)
timespace.BonusPointItemDropChance = chance
return timespace
end
function timespace.SetPreFinishDialog(dialog, isObjective)
timespace.PreFinishDialog = dialog
if (isObjective == true) then
timespace.PreFinishDialogIsObjective = true
end
return timespace
end
return timespace
end
return TimeSpace;