commit
8de05fc032
@ -59,4 +59,4 @@
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
||||
}
|
||||
}
|
||||
|
@ -59,4 +59,4 @@
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
||||
}
|
||||
}
|
||||
|
@ -59,4 +59,4 @@
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
||||
}
|
||||
}
|
||||
|
@ -58,4 +58,4 @@
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
||||
}
|
||||
}
|
||||
|
@ -59,4 +59,4 @@
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
||||
}
|
||||
}
|
||||
|
@ -59,4 +59,4 @@
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
||||
}
|
||||
}
|
||||
|
@ -58,4 +58,4 @@
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +0,0 @@
|
||||
{
|
||||
"id": "X5U25",
|
||||
"type": "Story",
|
||||
"cycle": "Standalone"
|
||||
}
|
@ -24,7 +24,7 @@
|
||||
},
|
||||
"Description": "",
|
||||
"DragSelectable": true,
|
||||
"GMNotes_path": "AllPlayerCards.15bb07/RealityAcidReference.858b0a.gmnotes",
|
||||
"GMNotes": "{\r\n \"id\": \"X5U25\",\r\n \"type\": \"Story\",\r\n \"cycle\": \"Standalone\"\r\n}\r",
|
||||
"GUID": "858b0a",
|
||||
"Grid": true,
|
||||
"GridProjection": false,
|
||||
@ -58,4 +58,4 @@
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
||||
}
|
||||
}
|
||||
|
@ -58,4 +58,4 @@
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
||||
}
|
||||
}
|
||||
|
@ -58,4 +58,4 @@
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
||||
}
|
||||
}
|
||||
|
@ -59,4 +59,4 @@
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
||||
}
|
||||
}
|
||||
|
@ -59,4 +59,4 @@
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
||||
}
|
||||
}
|
||||
|
@ -59,4 +59,4 @@
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
||||
}
|
||||
}
|
||||
|
@ -1,54 +0,0 @@
|
||||
{
|
||||
"AltLookAngle": {
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"Autoraise": true,
|
||||
"Bag": {
|
||||
"Order": 0
|
||||
},
|
||||
"ColorDiffuse": {
|
||||
"b": 1,
|
||||
"g": 1,
|
||||
"r": 1
|
||||
},
|
||||
"ContainedObjects_order": [
|
||||
"Custom_PDF.775aed"
|
||||
],
|
||||
"ContainedObjects_path": "DeckImporterReferenceGuide.cb2ce4",
|
||||
"Description": "",
|
||||
"DragSelectable": true,
|
||||
"GMNotes": "",
|
||||
"GUID": "cb2ce4",
|
||||
"Grid": true,
|
||||
"GridProjection": false,
|
||||
"Hands": false,
|
||||
"HideWhenFaceDown": false,
|
||||
"IgnoreFoW": false,
|
||||
"LayoutGroupSortIndex": 0,
|
||||
"Locked": false,
|
||||
"LuaScript": "",
|
||||
"LuaScriptState": "",
|
||||
"MaterialIndex": -1,
|
||||
"MeasureMovement": false,
|
||||
"MeshIndex": -1,
|
||||
"Name": "Bag",
|
||||
"Nickname": "Deck Importer Reference Guide",
|
||||
"Snap": true,
|
||||
"Sticky": true,
|
||||
"Tooltip": true,
|
||||
"Transform": {
|
||||
"posX": -45.498,
|
||||
"posY": 3.226,
|
||||
"posZ": -77.733,
|
||||
"rotX": 0,
|
||||
"rotY": 90,
|
||||
"rotZ": 0,
|
||||
"scaleX": 0.55,
|
||||
"scaleY": 0.55,
|
||||
"scaleZ": 0.55
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
||||
}
|
@ -1,51 +0,0 @@
|
||||
{
|
||||
"AltLookAngle": {
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"Autoraise": true,
|
||||
"ColorDiffuse": {
|
||||
"b": 1,
|
||||
"g": 1,
|
||||
"r": 1
|
||||
},
|
||||
"CustomPDF": {
|
||||
"PDFPage": 0,
|
||||
"PDFPageOffset": 0,
|
||||
"PDFPassword": "",
|
||||
"PDFUrl": "http://cloud-3.steamusercontent.com/ugc/1700659722106672329/E7690C91C2A67EE07244C7434DCCF49CCE62B51D/"
|
||||
},
|
||||
"Description": "",
|
||||
"DragSelectable": true,
|
||||
"GMNotes": "",
|
||||
"GUID": "775aed",
|
||||
"Grid": true,
|
||||
"GridProjection": false,
|
||||
"Hands": false,
|
||||
"HideWhenFaceDown": false,
|
||||
"IgnoreFoW": false,
|
||||
"LayoutGroupSortIndex": 0,
|
||||
"Locked": false,
|
||||
"LuaScript": "",
|
||||
"LuaScriptState": "",
|
||||
"MeasureMovement": false,
|
||||
"Name": "Custom_PDF",
|
||||
"Nickname": "",
|
||||
"Snap": true,
|
||||
"Sticky": true,
|
||||
"Tooltip": true,
|
||||
"Transform": {
|
||||
"posX": -51.345,
|
||||
"posY": 2.432,
|
||||
"posZ": -73.439,
|
||||
"rotX": 0,
|
||||
"rotY": 270,
|
||||
"rotZ": 0,
|
||||
"scaleX": 1.17,
|
||||
"scaleY": 1,
|
||||
"scaleZ": 1.17
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
{
|
||||
"AltLookAngle": {
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"Autoraise": true,
|
||||
"ColorDiffuse": {
|
||||
"b": 1,
|
||||
"g": 1,
|
||||
"r": 1
|
||||
},
|
||||
"Description": "Arguments:\ncount\nname\nsubtitle\nimage_uri\nzone [Optional]\nback_image_uri [Optional]",
|
||||
"DragSelectable": true,
|
||||
"GMNotes": "",
|
||||
"GUID": "f4b112",
|
||||
"Grid": true,
|
||||
"GridProjection": false,
|
||||
"Hands": false,
|
||||
"HideWhenFaceDown": false,
|
||||
"IgnoreFoW": false,
|
||||
"LayoutGroupSortIndex": 0,
|
||||
"Locked": false,
|
||||
"LuaScriptState": "",
|
||||
"LuaScript_path": "LegacyAssets.7165a9/DeckImporter-Commands.2e59f6/IncludeCommand.f4b112.ttslua",
|
||||
"MeasureMovement": false,
|
||||
"Name": "Checker_white",
|
||||
"Nickname": "Include Command",
|
||||
"Snap": true,
|
||||
"Sticky": true,
|
||||
"Tags": [
|
||||
"import_command"
|
||||
],
|
||||
"Tooltip": true,
|
||||
"Transform": {
|
||||
"posX": -48.106,
|
||||
"posY": 3.417,
|
||||
"posZ": -75.431,
|
||||
"rotX": 358,
|
||||
"rotY": 0,
|
||||
"rotZ": 178,
|
||||
"scaleX": 0.35,
|
||||
"scaleY": 0.35,
|
||||
"scaleZ": 0.35
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
||||
}
|
@ -1,105 +0,0 @@
|
||||
---
|
||||
--- Generated by EmmyLua(https://github.com/EmmyLua)
|
||||
--- Created by Whimsical.
|
||||
--- DateTime: 2021-08-30 5:05 p.m.
|
||||
---
|
||||
|
||||
command_name = "include"
|
||||
|
||||
---@type ArkhamImport_Command_RunDirectives
|
||||
runOn = {
|
||||
instructions = true,
|
||||
handlers = true
|
||||
}
|
||||
|
||||
local back_image_default = "https://images-ext-2.discordapp.net/external/QY_dmo_UnAHEi1pgWwaRr1-HSB8AtrAv0W74Mh_Z6vg/https/i.imgur.com/EcbhVuh.jpg"
|
||||
|
||||
---@param parameters ArkhamImport_Command_DescriptionInstructionArguments
|
||||
---@return ArkhamImport_Command_DescriptionInstructionResults
|
||||
function do_instruction(parameters)
|
||||
local args = parameters.arguments
|
||||
local arg_count = #args
|
||||
|
||||
if (arg_count<4 or arg_count>6) then
|
||||
return {
|
||||
is_successful = false,
|
||||
error_message = "Include Command requires between 4 and 6 arguments. " .. arg_count .. " were provided."
|
||||
}
|
||||
end
|
||||
|
||||
if not parameters.command_state["include-command"] then
|
||||
parameters.command_state["include-command"] = {
|
||||
has_run = false,
|
||||
includes = {},
|
||||
index = 1
|
||||
}
|
||||
end
|
||||
|
||||
local index = parameters.command_state["include-command"].index
|
||||
parameters.command_state["include-command"].index = index + 1
|
||||
|
||||
parameters.command_state["include-command"].includes[index] = {
|
||||
count = args[1],
|
||||
name = args[2],
|
||||
subtitle = args[3],
|
||||
image_uri = args[4],
|
||||
zone = args[5] or "default",
|
||||
back_image_uri = args[6] or back_image_default
|
||||
}
|
||||
|
||||
return { is_successful = true, command_state = parameters.command_state }
|
||||
end
|
||||
|
||||
---@param parameters ArkhamImport_Command_HandlerArguments
|
||||
---@return ArkhamImport_Command_HandlerResults
|
||||
function handle_card(parameters)
|
||||
local state = parameters.command_state["include-command"]
|
||||
|
||||
if state.has_run then return { is_successful = true } end
|
||||
|
||||
state.has_run = true
|
||||
|
||||
local source = getObjectFromGUID(parameters.source_guid)
|
||||
local offset = 0.1
|
||||
|
||||
for _, include in pairs(state.includes) do
|
||||
local zone_name = include.zone
|
||||
local zone = parameters.configuration.zones[zone_name]
|
||||
|
||||
if not zone then
|
||||
return {
|
||||
is_successful = false,
|
||||
command_state = parameters.command_state,
|
||||
error_message = "Include Card [" .. include.name .. "]: Zone \"" .. tostring(zone_name) .. "\" was not found."
|
||||
}
|
||||
end
|
||||
|
||||
local position = zone.is_absolute and zone.position or source:positionToWorld(zone.position)
|
||||
|
||||
for _=1, include.count do
|
||||
local new = spawnObject {
|
||||
type = "CardCustom",
|
||||
position = position + Vector(0, offset, 0),
|
||||
rotaiton = source:getRotation() + Vector(0, 0, zone.is_facedown and 180 or 0),
|
||||
---@param card TTSObject
|
||||
callback_function = function (card)
|
||||
card:setName(include.name)
|
||||
card:setDescription(include.subtitle)
|
||||
end
|
||||
}
|
||||
|
||||
new:setCustomObject {
|
||||
type = 0,
|
||||
face = include.image_uri,
|
||||
back = include.back_image_uri
|
||||
}
|
||||
offset = offset + 1
|
||||
end
|
||||
end
|
||||
|
||||
return {
|
||||
handled = false, -- This is adding cards without respect to the deck content. So the card we're using to fire this command still needs proper handling
|
||||
command_state = parameters.command_state,
|
||||
is_successful = true
|
||||
}
|
||||
end
|
@ -1,48 +0,0 @@
|
||||
{
|
||||
"AltLookAngle": {
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"Autoraise": true,
|
||||
"ColorDiffuse": {
|
||||
"b": 1,
|
||||
"g": 1,
|
||||
"r": 1
|
||||
},
|
||||
"Description": "",
|
||||
"DragSelectable": true,
|
||||
"GMNotes": "",
|
||||
"GUID": "0b55d8",
|
||||
"Grid": true,
|
||||
"GridProjection": false,
|
||||
"Hands": false,
|
||||
"HideWhenFaceDown": false,
|
||||
"IgnoreFoW": false,
|
||||
"LayoutGroupSortIndex": 0,
|
||||
"Locked": false,
|
||||
"LuaScriptState": "",
|
||||
"LuaScript_path": "LegacyAssets.7165a9/DeckImporter-Commands.2e59f6/MoveCommand.0b55d8.ttslua",
|
||||
"MeasureMovement": false,
|
||||
"Name": "Checker_white",
|
||||
"Nickname": "Move Command",
|
||||
"Snap": true,
|
||||
"Sticky": true,
|
||||
"Tags": [
|
||||
"import_command"
|
||||
],
|
||||
"Tooltip": true,
|
||||
"Transform": {
|
||||
"posX": -48.105,
|
||||
"posY": 3.415,
|
||||
"posZ": -73.343,
|
||||
"rotX": 0,
|
||||
"rotY": 270,
|
||||
"rotZ": 180,
|
||||
"scaleX": 0.35,
|
||||
"scaleY": 0.35,
|
||||
"scaleZ": 0.35
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
||||
}
|
@ -1,70 +0,0 @@
|
||||
---
|
||||
--- Generated by EmmyLua(https://github.com/EmmyLua)
|
||||
--- Created by Whimsical.
|
||||
--- DateTime: 2021-08-24 6:02 p.m.
|
||||
---
|
||||
|
||||
command_name = "move"
|
||||
|
||||
---@type ArkhamImport_Command_RunDirectives
|
||||
runOn = {
|
||||
instructions = true,
|
||||
handlers = true
|
||||
}
|
||||
|
||||
---@param parameters ArkhamImport_Command_DescriptionInstructionArguments
|
||||
---@return ArkhamImport_Command_DescriptionInstructionResults
|
||||
function do_instruction(parameters)
|
||||
local args = parameters.arguments
|
||||
|
||||
if (#args~=2 and #args~=3) then
|
||||
return { is_successful = false, error_message = "Move Command requires 2 or 3 arguments. " .. #args .. " were provided." }
|
||||
end
|
||||
|
||||
local card_id = args[1]
|
||||
local new_zone = args[2]
|
||||
local count = tonumber(args[3]) or 3
|
||||
|
||||
if not parameters.configuration.zones[new_zone] then
|
||||
return { is_successful = false, error_message = "Move Command: Zone \"" .. new_zone .. "\" was not found." }
|
||||
end
|
||||
|
||||
local state = parameters.command_state["move"]
|
||||
|
||||
if not state then
|
||||
state = {}
|
||||
parameters.command_state["move"] = state
|
||||
end
|
||||
|
||||
local card_data = state[card_id]
|
||||
|
||||
if not card_data then
|
||||
card_data = {
|
||||
zone = {},
|
||||
offset = 0
|
||||
}
|
||||
|
||||
state[card_id] = card_data
|
||||
end
|
||||
|
||||
local zone = card_data.zone
|
||||
local offset = card_data.offset
|
||||
|
||||
for index=offset,offset+count do
|
||||
zone[index] = new_zone
|
||||
end
|
||||
|
||||
return { command_state = parameters.command_state, is_successful = true }
|
||||
end
|
||||
|
||||
---@param parameters ArkhamImport_Command_HandlerArguments
|
||||
---@return ArkhamImport_Command_HandlerResults
|
||||
function handle_card(parameters)
|
||||
local state = parameters.command_state["move"] or {}
|
||||
|
||||
local card_data = state[parameters.card.code]
|
||||
|
||||
if not card_data then return { is_successful = true} end
|
||||
|
||||
return { zone = card_data.zone, is_successful = true }
|
||||
end
|
@ -1,48 +0,0 @@
|
||||
{
|
||||
"AltLookAngle": {
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"Autoraise": true,
|
||||
"ColorDiffuse": {
|
||||
"b": 1,
|
||||
"g": 1,
|
||||
"r": 1
|
||||
},
|
||||
"Description": "",
|
||||
"DragSelectable": true,
|
||||
"GMNotes": "",
|
||||
"GUID": "400e1a",
|
||||
"Grid": true,
|
||||
"GridProjection": false,
|
||||
"Hands": false,
|
||||
"HideWhenFaceDown": false,
|
||||
"IgnoreFoW": false,
|
||||
"LayoutGroupSortIndex": 0,
|
||||
"Locked": false,
|
||||
"LuaScriptState": "",
|
||||
"LuaScript_path": "LegacyAssets.7165a9/DeckImporter-Commands.2e59f6/ProxyCardCommand.400e1a.ttslua",
|
||||
"MeasureMovement": false,
|
||||
"Name": "Checker_white",
|
||||
"Nickname": "Proxy Card Command",
|
||||
"Snap": true,
|
||||
"Sticky": true,
|
||||
"Tags": [
|
||||
"import_command"
|
||||
],
|
||||
"Tooltip": true,
|
||||
"Transform": {
|
||||
"posX": -48.108,
|
||||
"posY": 3.415,
|
||||
"posZ": -74.085,
|
||||
"rotX": 0,
|
||||
"rotY": 270,
|
||||
"rotZ": 180,
|
||||
"scaleX": 0.35,
|
||||
"scaleY": 0.35,
|
||||
"scaleZ": 0.35
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
||||
}
|
@ -1,91 +0,0 @@
|
||||
---
|
||||
--- Generated by EmmyLua(https://github.com/EmmyLua)
|
||||
--- Created by Whimsical.
|
||||
--- DateTime: 2021-08-24 6:11 p.m.
|
||||
---
|
||||
|
||||
command_name = "proxy-card"
|
||||
|
||||
---@type ArkhamImport_Command_RunDirectives
|
||||
runOn = {
|
||||
instructions = true,
|
||||
handlers = true
|
||||
}
|
||||
|
||||
local back_image_default = "https://images-ext-2.discordapp.net/external/QY_dmo_UnAHEi1pgWwaRr1-HSB8AtrAv0W74Mh_Z6vg/https/i.imgur.com/EcbhVuh.jpg"
|
||||
|
||||
---@param parameters ArkhamImport_Command_DescriptionInstructionArguments
|
||||
---@return ArkhamImport_Command_DescriptionInstructionResults
|
||||
function do_instruction(parameters)
|
||||
local args = parameters.arguments
|
||||
if (#args<4 or #args>6) then
|
||||
return {
|
||||
is_successful = false,
|
||||
error_message = "Move Command requires between 4 or 6 arguments. " .. #args .. " were provided."
|
||||
}
|
||||
end
|
||||
|
||||
if not parameters.command_state["proxy-card"] then
|
||||
parameters.command_state["proxy-card"] = {}
|
||||
parameters.command_state["proxy-card-offset"] = 0.1
|
||||
end
|
||||
|
||||
parameters.command_state["proxy-card"][args[1]] = {
|
||||
name = args[2],
|
||||
subtitle = args[3],
|
||||
image_uri = args[4],
|
||||
zone = args[5] or "default",
|
||||
back_image_uri = args[6] or back_image_default
|
||||
}
|
||||
|
||||
return {
|
||||
command_state = parameters.command_state,
|
||||
is_successful = true
|
||||
}
|
||||
end
|
||||
|
||||
---@param parameters ArkhamImport_Command_HandlerArguments
|
||||
---@return ArkhamImport_Command_HandlerResults
|
||||
function handle_card(parameters)
|
||||
local state = parameters.command_state["proxy-card"] or {}
|
||||
|
||||
local card_data = state[parameters.card.code]
|
||||
|
||||
if not card_data then return { is_successful = true } end
|
||||
|
||||
local offset = parameters.command_state["proxy-card-offset"]
|
||||
parameters.command_state["proxy-card-offset"] = offset + 0.1
|
||||
|
||||
local zone = parameters.configuration.zones[card_data.zone]
|
||||
|
||||
if not zone then
|
||||
return {
|
||||
is_successful = false,
|
||||
error_message = "Proxy Card [" .. tostring(parameters.card.code) .. "]: Zone \"" .. tostring(card_data.zone) .. "\" was not found."
|
||||
}
|
||||
end
|
||||
|
||||
local source = getObjectFromGUID(parameters.source_guid)
|
||||
local position = zone.is_absolute and zone.position or source:positionToWorld(zone.position)
|
||||
|
||||
for _=1, parameters.card.count do
|
||||
local new = spawnObject {
|
||||
type = "CardCustom",
|
||||
position = position + Vector(0, offset, 0),
|
||||
rotation = source:getRotation() + Vector(0, 0, zone.is_facedown and 180 or 0),
|
||||
---@param card TTSObject
|
||||
callback_function = function (card)
|
||||
card:setName(card_data.name)
|
||||
card:setDescription(card_data.subtitle)
|
||||
end
|
||||
}
|
||||
|
||||
new:setCustomObject {
|
||||
type = 0,
|
||||
face = card_data.image_uri,
|
||||
back = card_data.back_image_uri
|
||||
}
|
||||
end
|
||||
|
||||
return { handled = true, is_successful = true }
|
||||
end
|
@ -1,48 +0,0 @@
|
||||
{
|
||||
"AltLookAngle": {
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"Autoraise": true,
|
||||
"ColorDiffuse": {
|
||||
"b": 1,
|
||||
"g": 1,
|
||||
"r": 1
|
||||
},
|
||||
"Description": "",
|
||||
"DragSelectable": true,
|
||||
"GMNotes": "",
|
||||
"GUID": "80eac7",
|
||||
"Grid": true,
|
||||
"GridProjection": false,
|
||||
"Hands": false,
|
||||
"HideWhenFaceDown": false,
|
||||
"IgnoreFoW": false,
|
||||
"LayoutGroupSortIndex": 0,
|
||||
"Locked": false,
|
||||
"LuaScriptState": "",
|
||||
"LuaScript_path": "LegacyAssets.7165a9/DeckImporter-Commands.2e59f6/ProxyInvestigatorCommand.80eac7.ttslua",
|
||||
"MeasureMovement": false,
|
||||
"Name": "Checker_white",
|
||||
"Nickname": "Proxy Investigator Command",
|
||||
"Snap": true,
|
||||
"Sticky": true,
|
||||
"Tags": [
|
||||
"import_command"
|
||||
],
|
||||
"Tooltip": true,
|
||||
"Transform": {
|
||||
"posX": -48.104,
|
||||
"posY": 3.415,
|
||||
"posZ": -74.743,
|
||||
"rotX": 0,
|
||||
"rotY": 270,
|
||||
"rotZ": 180,
|
||||
"scaleX": 0.35,
|
||||
"scaleY": 0.35,
|
||||
"scaleZ": 0.35
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
||||
}
|
@ -1,96 +0,0 @@
|
||||
---
|
||||
--- Generated by EmmyLua(https://github.com/EmmyLua)
|
||||
--- Created by Whimsical.
|
||||
--- DateTime: 2021-08-25 2:32 p.m.
|
||||
---
|
||||
|
||||
command_name = "proxy-investigator"
|
||||
|
||||
---@type ArkhamImport_Command_RunDirectives
|
||||
runOn = {
|
||||
instructions = true,
|
||||
handlers = true
|
||||
}
|
||||
|
||||
---@param parameters ArkhamImport_Command_DescriptionInstructionArguments
|
||||
---@return ArkhamImport_Command_DescriptionInstructionResults
|
||||
function do_instruction(parameters)
|
||||
local args = parameters.arguments
|
||||
|
||||
if (#args~=6 and #args~=7) then
|
||||
return {
|
||||
is_successful = false,
|
||||
error_message = "Proxy Investigator command requires either 7 or 8 arguments. " .. #args .. " were provided."
|
||||
}
|
||||
end
|
||||
|
||||
parameters.command_state["proxy-investigator"] = {
|
||||
name = args[1],
|
||||
subtitle = args[2],
|
||||
front_uri = args[3],
|
||||
back_uri = args[4],
|
||||
mini_front_uri = args[5],
|
||||
mini_back_uri = args[6],
|
||||
zone = args[7] or "investigator"
|
||||
}
|
||||
|
||||
return {
|
||||
command_state = parameters.command_state,
|
||||
is_successful = true
|
||||
}
|
||||
end
|
||||
|
||||
---@param source TTSObject
|
||||
---@param name string
|
||||
---@param subtitle string
|
||||
---@param offset number
|
||||
---@param zone ArkhamImportZone
|
||||
---@param front string
|
||||
---@param back string
|
||||
---@param use_minicard_scaling boolean
|
||||
local function create_card(source, name, subtitle, offset, zone, front, back, use_minicard_scaling)
|
||||
local position = zone.is_absolute and zone.position or source:positionToWorld(zone.position)
|
||||
|
||||
local card = spawnObject {
|
||||
type = "CardCustom",
|
||||
position = position + Vector(0, offset, 0),
|
||||
rotation = source:getRotation() + Vector(0, 0, zone.is_facedown and 180 or 0),
|
||||
scale = use_minicard_scaling and Vector(0.6, 1, 0.6) or Vector(1,1,1),
|
||||
callback_function = function (card) card:setName(name) card:setDescription(subtitle) end
|
||||
}
|
||||
|
||||
card:setCustomObject {
|
||||
type = 0,
|
||||
face = front,
|
||||
back = back
|
||||
}
|
||||
end
|
||||
|
||||
---@param parameters ArkhamImport_Command_HandlerArguments
|
||||
---@return ArkhamImport_Command_HandlerResults
|
||||
function handle_card(parameters)
|
||||
if parameters.card.type_code ~= "investigator" then return {is_successful = true } end
|
||||
|
||||
local card_data = parameters.command_state["proxy-investigator"] or {}
|
||||
|
||||
if not card_data then return { is_successful = true } end
|
||||
|
||||
local zone = parameters.configuration.zones[card_data.zone]
|
||||
|
||||
if not zone then
|
||||
return {
|
||||
is_successful = false,
|
||||
command_state = parameters.command_state,
|
||||
error_message = "Proxy Investigator [" .. tostring(parameters.card.code) .. "]: Zone \"" .. tostring(card_data.zone) .. "\" was not found."
|
||||
}
|
||||
end
|
||||
|
||||
local source = getObjectFromGUID(parameters.source_guid)
|
||||
|
||||
for _=1, parameters.card.count do
|
||||
create_card(source, card_data.name, card_data.subtitle, 10, zone, card_data.front_uri, card_data.back_uri, false)
|
||||
create_card(source, card_data.name, card_data.subtitle, 20, zone, card_data.mini_front_uri, card_data.mini_back_uri, true)
|
||||
end
|
||||
|
||||
return { handled = true, is_successful = true}
|
||||
end
|
@ -1,48 +0,0 @@
|
||||
{
|
||||
"AltLookAngle": {
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"z": 0
|
||||
},
|
||||
"Autoraise": true,
|
||||
"ColorDiffuse": {
|
||||
"b": 1,
|
||||
"g": 1,
|
||||
"r": 1
|
||||
},
|
||||
"Description": "",
|
||||
"DragSelectable": true,
|
||||
"GMNotes": "",
|
||||
"GUID": "ec5b5f",
|
||||
"Grid": true,
|
||||
"GridProjection": false,
|
||||
"Hands": false,
|
||||
"HideWhenFaceDown": false,
|
||||
"IgnoreFoW": false,
|
||||
"LayoutGroupSortIndex": 0,
|
||||
"Locked": false,
|
||||
"LuaScriptState": "",
|
||||
"LuaScript_path": "LegacyAssets.7165a9/DeckImporter-Commands.2e59f6/ZoneCommand.ec5b5f.ttslua",
|
||||
"MeasureMovement": false,
|
||||
"Name": "Checker_white",
|
||||
"Nickname": "Zone Command",
|
||||
"Snap": true,
|
||||
"Sticky": true,
|
||||
"Tags": [
|
||||
"import_command"
|
||||
],
|
||||
"Tooltip": true,
|
||||
"Transform": {
|
||||
"posX": -48.105,
|
||||
"posY": 3.416,
|
||||
"posZ": -72.64,
|
||||
"rotX": 0,
|
||||
"rotY": 270,
|
||||
"rotZ": 180,
|
||||
"scaleX": 0.35,
|
||||
"scaleY": 0.35,
|
||||
"scaleZ": 0.35
|
||||
},
|
||||
"Value": 0,
|
||||
"XmlUI": ""
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
---
|
||||
--- Generated by EmmyLua(https://github.com/EmmyLua)
|
||||
--- Created by Whimsical.
|
||||
--- DateTime: 2021-08-24 5:48 p.m.
|
||||
---
|
||||
|
||||
command_name = "zone"
|
||||
|
||||
runOn = {
|
||||
instructions = true,
|
||||
handlers = false
|
||||
}
|
||||
|
||||
---@param parameters ArkhamImport_Command_DescriptionInstructionArguments
|
||||
---@return ArkhamImport_Command_DescriptionInstructionResults
|
||||
function do_instruction(parameters)
|
||||
local args = parameters.arguments
|
||||
if (#args<4 or #args>6) then
|
||||
return {
|
||||
is_successful = false,
|
||||
error_message = "Zone Command requires between 4 and 6 arguments. " .. #args .. " were provided."
|
||||
}
|
||||
end
|
||||
|
||||
local name = args[1]
|
||||
local position = Vector(tonumber(args[2]), tonumber(args[3]), tonumber(args[4]))
|
||||
local is_facedown= (args[5] and args[5]:lower()=="true") or false
|
||||
local is_absolute = (args[6] and args[6]:lower() == "true") or false
|
||||
|
||||
---@type ArkhamImportZone
|
||||
local zone = {
|
||||
position = position,
|
||||
is_facedown = is_facedown,
|
||||
is_absolute = is_absolute
|
||||
}
|
||||
|
||||
parameters.configuration.zones[name] = zone
|
||||
|
||||
return {
|
||||
configuration = parameters.configuration,
|
||||
is_successful = true
|
||||
}
|
||||
end
|
@ -11,7 +11,7 @@
|
||||
"r": 0.28224
|
||||
},
|
||||
"ContainedObjects_order": [
|
||||
"Resource.4cd3f6"
|
||||
"Resource.910e09"
|
||||
],
|
||||
"ContainedObjects_path": "Resourcetokens.0168ae",
|
||||
"CustomMesh": {
|
||||
|
@ -11,7 +11,7 @@
|
||||
"r": 0.28224
|
||||
},
|
||||
"ContainedObjects_order": [
|
||||
"Resource.4cd3f6"
|
||||
"Resource.910e09"
|
||||
],
|
||||
"ContainedObjects_path": "Resourcetokens.9fadf9",
|
||||
"CustomMesh": {
|
||||
|
@ -11,7 +11,7 @@
|
||||
"r": 0.28224
|
||||
},
|
||||
"ContainedObjects_order": [
|
||||
"Resource.4cd3f6"
|
||||
"Resource.910e09"
|
||||
],
|
||||
"ContainedObjects_path": "Resourcetokens.fd617a",
|
||||
"CustomMesh": {
|
||||
|
Loading…
Reference in New Issue
Block a user