bourgade/src/buildings.ts

63 lines
1.8 KiB
TypeScript
Raw Normal View History

import type { VillageState } from "./village";
export default {
'woodcutter': {
name: 'Woodcutter',
level: 1,
cost: (level: number) => {
return {
wood: level * 10,
stone: level * 10,
iron: level * 10,
food: 0,
};
},
behavior: {
production: (V: VillageState, self: any, delta: number) => {
const outputPerMinute = 5 * (self.level * self.level);
const outputPerMilisecond = outputPerMinute / 60.0 / 1000.0;
V.resources.wood += outputPerMilisecond * delta;
}
}
},
'mine': {
name: 'Mine',
level: 1,
cost: (level: number) => {
return {
wood: level * 10,
stone: level * 10,
iron: level * 10,
food: 0,
};
},
behavior: {
production: (V: VillageState, self: any, delta: number) => {
const outputPerMinute = 5 * (self.level * self.level);
const outputPerMilisecond = outputPerMinute / 60.0 / 1000.0;
V.resources.iron += outputPerMilisecond * delta;
}
}
},
'pit': {
name: 'Pit',
level: 1,
cost: (level: number) => {
return {
wood: level * 10,
stone: level * 10,
iron: level * 10,
food: 0,
};
},
behavior: {
production: (V: VillageState, self: any, delta: number) => {
const outputPerMinute = 5 * (self.level * self.level);
const outputPerMilisecond = outputPerMinute / 60.0 / 1000.0;
V.resources.stone += outputPerMilisecond * delta;
}
}
},
};