travian/src/Task/TrainTroopTask.ts

28 lines
972 B
TypeScript

import { ActionDefinition, TaskController } from './TaskController';
import { GoToPageAction } from '../Action/GoToPageAction';
import { CompleteTaskAction } from '../Action/CompleteTaskAction';
import { TrainTrooperAction } from '../Action/TrainTrooperAction';
import { Task } from '../Queue/TaskProvider';
import { path } from '../Helpers/Path';
import { registerTask, TaskType } from './TaskMap';
@registerTask({ type: TaskType.TrainUnit })
export class TrainTroopTask extends TaskController {
defineActions(task: Task): Array<ActionDefinition> {
const args = task.args;
const pathArgs = {
newdid: args.villageId,
gid: args.buildTypeId || undefined,
id: args.buildId || undefined,
s: args.sheetId,
};
return [
[GoToPageAction.name, { path: path('/build.php', pathArgs) }],
[TrainTrooperAction.name],
[CompleteTaskAction.name],
];
}
}