ah_sce_unpacked/unpacked/Bag Tarot Deck (Scripted) a...

132 lines
3.3 KiB
Plaintext

-- Bundled by luabundle {"version":"1.6.0"}
local __bundle_require, __bundle_loaded, __bundle_register, __bundle_modules = (function(superRequire)
local loadingPlaceholder = {[{}] = true}
local register
local modules = {}
local require
local loaded = {}
register = function(name, body)
if not modules[name] then
modules[name] = body
end
end
require = function(name)
local loadedModule = loaded[name]
if loadedModule then
if loadedModule == loadingPlaceholder then
return nil
end
else
if not modules[name] then
if not superRequire then
local identifier = type(name) == 'string' and '\"' .. name .. '\"' or tostring(name)
error('Tried to require ' .. identifier .. ', but no such module has been registered')
else
return superRequire(name)
end
end
loaded[name] = loadingPlaceholder
loadedModule = modules[name](require, loaded, register, modules)
loaded[name] = loadedModule
end
return loadedModule
end
return require, loaded, register, modules
end)(nil)
__bundle_register("__root", function(require, _LOADED, __bundle_register, __bundle_modules)
require("playercards/ScriptedTarot")
end)
__bundle_register("playercards/ScriptedTarot", function(require, _LOADED, __bundle_register, __bundle_modules)
CARD_OFFSET = Vector(0, 0.1, -2)
ORIENTATIONS = { {0, 270, 0}, { 0, 90, 0} }
READING = {
"Temperance",
"Justice",
"Hermit",
"Hanged Man",
"Hierophant",
"Lovers",
"Chariot",
"Wheel of Fortune"
}
function onLoad()
self.addContextMenuItem("Chaos", chaos, false)
self.addContextMenuItem("Balance", balance, false)
self.addContextMenuItem("Choice", choice, false)
self.addContextMenuItem("Destiny (Campaign)", destiny, false)
self.addContextMenuItem("Accept Your Fate", fate, false)
math.randomseed(os.time())
end
function chaos(color)
self.shuffle()
self.takeObject({
position = self.getPosition() + CARD_OFFSET,
rotation = ORIENTATIONS[math.random(2)],
smooth = true
})
end
function balance(color)
self.shuffle()
for i = 1, 2 do
self.takeObject({
position = self.getPosition() + i * CARD_OFFSET,
rotation = ORIENTATIONS[i],
smooth = true
})
end
end
function choice(color)
self.shuffle()
for i = 1, 3 do
self.takeObject({
position = self.getPosition() + i * CARD_OFFSET,
rotation = ORIENTATIONS[1],
smooth = true
})
end
broadcastToColor("Choose and reverse two of the cards.", color)
end
function destiny(color)
self.shuffle()
for i = 1, 8 do
self.takeObject({
position = self.getPosition() + i * CARD_OFFSET,
rotation = ORIENTATIONS[1],
smooth = true
})
end
broadcastToColor("Each card corresponds to one scenario, leftmost is first. Choose and reverse half of the cards (rounded up).", color)
end
function fate(color)
local i = 0
for _, card in ipairs(self.getObjects()) do
for _, reading in ipairs(READING) do
if string.match(card.name, reading) ~= nil then
i = i + 1
self.takeObject({
guid = card.guid,
position = self.getPosition() + i * CARD_OFFSET,
rotation = ORIENTATIONS[1],
smooth = true
})
end
end
end
broadcastToColor("Each card corresponds to one scenario, leftmost is first. Choose and reverse half of the cards (rounded up).", color)
end
end)
return __bundle_require("__root")