58 lines
1.8 KiB
JavaScript
58 lines
1.8 KiB
JavaScript
import { Hex } from "../Util/index.js";
|
|
import { EEnemySize } from "./index.js";
|
|
export class GdLevel {
|
|
radius = 0;
|
|
currency = 0;
|
|
walls = [];
|
|
enemySpawns = [];
|
|
enemyTargets = [];
|
|
enemyRoutes = [];
|
|
waves = [];
|
|
static addLevels(gdRoot) {
|
|
gdRoot.levels.push(createLevel0());
|
|
}
|
|
}
|
|
function createLevel0() {
|
|
return {
|
|
...new GdLevel(),
|
|
radius: 9,
|
|
currency: 1500,
|
|
walls: [
|
|
new Hex(0, 0)
|
|
],
|
|
enemySpawns: [
|
|
new Hex(-9, -1),
|
|
new Hex(-9, 0),
|
|
new Hex(-9, 1)
|
|
],
|
|
enemyTargets: [
|
|
new Hex(8, -1),
|
|
new Hex(9, 0),
|
|
new Hex(8, 1)
|
|
],
|
|
enemyRoutes: [
|
|
[0, 0],
|
|
[0, 1],
|
|
[0, 2],
|
|
[1, 0],
|
|
[1, 1],
|
|
[1, 2],
|
|
[2, 0],
|
|
[2, 1],
|
|
[2, 2],
|
|
],
|
|
waves: [
|
|
{ enemy: 0, size: EEnemySize.Normal, amount: 10, gain: 3, hitpoints: 10 },
|
|
{ enemy: 0, size: EEnemySize.Normal, amount: 10, gain: 5, hitpoints: 20 },
|
|
{ enemy: 0, size: EEnemySize.Tiny, amount: 50, gain: 7, hitpoints: 5 },
|
|
{ enemy: 0, size: EEnemySize.Normal, amount: 15, gain: 10, hitpoints: 30 },
|
|
{ enemy: 0, size: EEnemySize.Huge, amount: 3, gain: 50, hitpoints: 200 },
|
|
{ enemy: 0, size: EEnemySize.Normal, amount: 10, gain: 10, hitpoints: 60 },
|
|
{ enemy: 0, size: EEnemySize.Normal, amount: 10, gain: 15, hitpoints: 70 },
|
|
{ enemy: 0, size: EEnemySize.Normal, amount: 15, gain: 20, hitpoints: 80 },
|
|
{ enemy: 0, size: EEnemySize.Normal, amount: 15, gain: 25, hitpoints: 90 },
|
|
{ enemy: 0, size: EEnemySize.Huge, amount: 3, gain: 100, hitpoints: 500 },
|
|
]
|
|
};
|
|
}
|
|
//# sourceMappingURL=GdLevel.js.map
|