-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathexpenses.ts
75 lines (69 loc) · 1.22 KB
/
expenses.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import { actions } from "./actions";
import { UnlockName } from "./unlocks";
import { Action } from "./types";
export interface Expense {
requires?: UnlockName[];
unlock?: UnlockName;
// e.g. "Play dice"
label: string;
// in $
cost: number;
action?: () => Action<any>;
}
const _ = (e: Expense) => e;
export const expenses: Expense[] = [
// -------- cpu upgrades
{
label: "Buy a 4Hz CPU",
cost: 30,
unlock: "cpu4",
},
{
label: "Buy a 8Hz CPU",
cost: 50,
requires: ["cpu4"],
unlock: "cpu8",
},
{
label: "Buy a 16Hz CPU",
cost: 120,
requires: ["cpu8"],
unlock: "cpu16",
},
{
label: "Buy a 30Hz CPU",
cost: 200,
requires: ["cpu16"],
unlock: "cpu30",
},
{
label: "Buy a 60Hz CPU",
cost: 400,
requires: ["cpu30"],
unlock: "cpu60",
},
// -------- ROM upgrades
{
label: "Buy a 20-op ROM",
cost: 40,
unlock: "rom20",
},
{
label: "Buy a 40-op ROM",
cost: 80,
requires: ["rom20"],
unlock: "rom40",
},
{
label: "Buy a 100-op ROM",
cost: 130,
requires: ["rom40"],
unlock: "rom100",
},
{
label: "Buy a 250-op ROM",
cost: 299,
requires: ["rom100"],
unlock: "rom250",
},
];