-
Notifications
You must be signed in to change notification settings - Fork 0
/
example.yml
94 lines (83 loc) · 2.21 KB
/
example.yml
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
goal:
name: first-settlement
requires:
structures:
1: mining
building:
id: settlement
schematic: settlement_1.schematic
size: 16x16
type: building.settlement
annotations:
chest:
pos: 7 7 1
---
goal:
name: unique string
priority: number priority, lower is more important, must be >0
requires:
goals:
- List of goals
actions:
- List of actions
any:
quantity: building|unit|variable
min-num: building|unit|variable
max-num: building|unit|variable
a-b: building|unit|variable
free:
...
idle:
...
triggers:
- list of goals to add once this is completed
building:
id: unique string
schematic: filename
size: nxn (n is multiple of 8)
type: building type
annotations:
unique-name:
pos: x y z
type: position usage type
metadata:
key: values
provides:
- list of variables|units this provides
next: name of building upgrade name
prev: name of building downgrade name
unit:
id: unique string
---
building types:
- building.gatherer
- building.builder
- building.wall
- building.cosmetic
- building.path
- building.settlement
actions:
- action.build - If the unit has the needed blocks, builds. If it doesn't and has no free inventory, will 1) removve 1 slot and 2) get the needed material.
- action.discover
- action.unitmove
- action.destroy
- action.mine
- action.find_settlement
- action.explore
- action.pathfind
- action.produce
- action.plant
- action.chop
- action.harvest
- action.say
- action.deliver
position types:
- position.chest
- position.crafter # Crafts things, stores output internally
- position.storage # Turtle that inteligently stores items to retrieval
- position.home # A possible home position that worker turtles can park at. Not a fixed assignment, they just need to be available. Pathing could be a problem here.
expression functions:
- turtle(type) - returns the number of free turtles of type. Type -> miner, builder, crafter, forrester, farmer
- true, 1, yes, on -> boolean True
- false, 0, no, off -> boolean False
- plot(x[,y]) - returns the number of free plots of size x, y. y will be set to x if omitted.