diff --git a/app/imports/api/engine/action/EngineActions.ts b/app/imports/api/engine/action/EngineActions.ts index 2a04350c..c6af46d5 100644 --- a/app/imports/api/engine/action/EngineActions.ts +++ b/app/imports/api/engine/action/EngineActions.ts @@ -11,7 +11,7 @@ export interface EngineAction { _decisions?: any[], creatureId: string; rootPropId?: string; - tabletopId: string; + tabletopId?: string; targetIds?: string[]; results: TaskResult[]; taskCount: number; diff --git a/app/imports/api/engine/action/functions/applyAction.ts b/app/imports/api/engine/action/functions/applyAction.ts index 19128715..39e9efbd 100644 --- a/app/imports/api/engine/action/functions/applyAction.ts +++ b/app/imports/api/engine/action/functions/applyAction.ts @@ -40,20 +40,20 @@ export default async function applyAction(action: EngineAction, userInput: Input action._isSimulation = simulate; action.taskCount = 0; let task = options?.task; - console.log('task', task, action.targetIds) if (!task) { const prop = await getSingleProperty(action.creatureId, action.rootPropId); if (!prop) throw new Meteor.Error('Not found', 'Root action property could not be found'); // If the target ids weren't already set, get them from the user - console.log(action.targetIds, prop); - if (!action.targetIds && ( - prop.target === 'singleTarget' || - prop.target === 'multipleTargets' - )) { - console.log('getting targetIds'); - action.targetIds = await (userInput.targetIds(prop.targets)); - console.log('got targetIds', action.targetIds); + if ( + !action.targetIds + && action.tabletopId + && ( + prop.target === 'singleTarget' || + prop.target === 'multipleTargets' + ) + ) { + action.targetIds = await (userInput.targetIds(prop.target)); } task = { diff --git a/app/imports/client/ui/creature/actions/ActionDialog.vue b/app/imports/client/ui/creature/actions/ActionDialog.vue index 1e90f211..b911d253 100644 --- a/app/imports/client/ui/creature/actions/ActionDialog.vue +++ b/app/imports/client/ui/creature/actions/ActionDialog.vue @@ -206,7 +206,6 @@ export default { }, // inputProvider methods async targetIds(target) { - console.log('input provider UI targetIds') this.userInput = []; this.activeInputParams = { target, diff --git a/app/imports/client/ui/creature/actions/input/TargetsInput.vue b/app/imports/client/ui/creature/actions/input/TargetsInput.vue index 98124a2c..eb30e195 100644 --- a/app/imports/client/ui/creature/actions/input/TargetsInput.vue +++ b/app/imports/client/ui/creature/actions/input/TargetsInput.vue @@ -1,13 +1,41 @@