--- --- 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