travian/src/Task/ActionBundles.ts

54 lines
1.6 KiB
TypeScript

import { ActionDefinition } from './TaskController';
import { grabVillageList } from '../Page/VillageBlock';
import { GoToPageAction } from '../Action/GoToPageAction';
import { FORGE_ID, GUILD_HALL_ID, MARKET_ID } from '../Core/Buildings';
import { path } from '../Helpers/Path';
export function goToResourceViewPage(villageId: number): ActionDefinition {
return [
GoToPageAction.name,
{
path: path('/dorf1.php', { newdid: villageId }),
},
];
}
export function goToMarketSendResourcesPage(villageId: number): ActionDefinition {
return [
GoToPageAction.name,
{
path: path('/build.php', { newdid: villageId, gid: MARKET_ID, t: 5 }),
},
];
}
export function goToForgePage(villageId: number): ActionDefinition {
return [
GoToPageAction.name,
{
path: path('/build.php', { newdid: villageId, gid: FORGE_ID }),
},
];
}
export function goToGuildHallPage(villageId: number): ActionDefinition {
return [
GoToPageAction.name,
{
path: path('/build.php', { newdid: villageId, gid: GUILD_HALL_ID }),
},
];
}
export function scanAllVillagesBundle(): Array<ActionDefinition> {
const actions: Array<ActionDefinition> = [];
const villages = grabVillageList();
for (let village of villages) {
actions.push(goToResourceViewPage(village.id));
actions.push(goToMarketSendResourcesPage(village.id));
actions.push(goToForgePage(village.id));
actions.push(goToGuildHallPage(village.id));
}
return actions;
}