File: object-priorities.txt

package info (click to toggle)
vcmi 1.1.0%2Bdfsg-1
  • links: PTS, VCS
  • area: contrib
  • in suites: bookworm
  • size: 14,672 kB
  • sloc: cpp: 181,738; sh: 220; python: 178; ansic: 69; objc: 66; xml: 59; makefile: 34
file content (219 lines) | stat: -rw-r--r-- 13,341 bytes parent folder | download
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
Engine: visit tile
description: visit tile priority
InputVariable: mainTurnDistance
  description: distance to tile in turns
  enabled: true
  range: 0.000 10.000
  lock-range: true
  term: LOWEST Ramp 0.250 0.000
  term: LOW Discrete 0.000 1.000 0.500 0.800 1.000 0.000
  term: MEDIUM Discrete 0.000 0.000 0.500 0.200 1.000 1.000 3.000 0.000
  term: LONG Discrete 1.000 0.000 1.500 0.200 3.000 0.800 10.000 1.000
InputVariable: scoutTurnDistance
  description: distance to tile in turns
  enabled: true
  range: 0.000 10.000
  lock-range: true
  term: LOWEST Ramp 0.250 0.000
  term: LOW Discrete 0.000 1.000 0.500 0.800 1.000 0.000
  term: MEDIUM Discrete 0.000 0.000 0.500 0.200 1.000 1.000 2.500 0.300 4.000 0.000
  term: LONG Discrete 1.000 0.000 1.500 0.200 3.000 0.800 10.000 1.000
InputVariable: goldReward
  description: estimated amount of gold received
  enabled: true
  range: 0.000 5000.000
  lock-range: true
  term: LOW Triangle 10.000 500.000 2000.000
  term: MEDIUM Triangle 500.000 2000.000 5000.000
  term: HIGH Ramp 2000.000 5000.000
  term: NONE Ramp 100.000 0.000
  term: LOWEST Triangle 0.000 100.000 500.000
InputVariable: armyReward
  enabled: true
  range: 0.000 10000.000
  lock-range: false
  term: NONE Ramp 100.000 0.000
  term: LOW Triangle 0.000 700.000 3000.000
  term: HIGH Ramp 3000.000 10000.000
  term: MEDIUM Triangle 700.000 3000.000 8000.000
InputVariable: armyLoss
  enabled: true
  range: 0.000 1.000
  lock-range: false
  term: LOW Ramp 0.200 0.000
  term: MEDIUM Triangle 0.000 0.200 0.500
  term: HIGH Ramp 0.200 0.500
InputVariable: heroRole
  enabled: true
  range: -0.100 1.100
  lock-range: false
  term: SCOUT Rectangle -0.500 0.500
  term: MAIN Rectangle 0.500 1.500
InputVariable: danger
  enabled: true
  range: 0.000 10000.000
  lock-range: false
  term: NONE Ramp 20.000 0.000
  term: LOW Triangle 50.000 1000.000 2000.000
  term: HIGH Ramp 2000.000 5000.000
  term: MEDIUM Triangle 1000.000 2000.000 5000.000
InputVariable: skillReward
  enabled: true
  range: 0.000 10.000
  lock-range: false
  term: NONE Ramp 1.000 0.000
  term: LOW Triangle 0.000 1.000 3.000
  term: MEDIUM Triangle 1.000 3.000 5.000
  term: HIGH Discrete 3.000 0.000 5.000 0.800 10.000 1.000
InputVariable: rewardType
  enabled: true
  range: 0.000 3.000
  lock-range: false
  term: SINGLE Rectangle 0.500 1.500
  term: MIXED Rectangle 1.500 2.500
  term: NONE Rectangle 0.000 0.500
InputVariable: closestHeroRatio
  enabled: true
  range: 0.000 1.000
  lock-range: false
  term: LOW Discrete 0.000 1.000 0.500 0.800 0.700 0.200 1.000 0.000
  term: HIGH Discrete 0.500 0.000 0.700 0.600 1.000 1.000
  term: LOWEST Discrete 0.000 1.000 0.400 0.200 0.900 0.000
InputVariable: strategicalValue
  description: Some abstract long term benefit non gold or army or skill
  enabled: true
  range: 0.000 1.000
  lock-range: false
  term: NONE Ramp 0.200 0.000
  term: LOWEST Triangle 0.000 0.010 0.250
  term: LOW Triangle 0.000 0.400 0.700
  term: MEDIUM Triangle 0.400 0.700 1.000
  term: HIGH Ramp 0.700 1.000
InputVariable: goldPreasure
  description: Ratio between weekly army cost and gold income
  enabled: true
  range: 0.000 1.000
  lock-range: false
  term: LOW Ramp 0.300 0.000
  term: HIGH Discrete 0.100 0.000 0.250 0.100 0.300 0.200 0.400 0.700 1.000 1.000
InputVariable: goldCost
  description: Action cost in gold
  enabled: true
  range: 0.000 1.000
  lock-range: false
  term: NONE Ramp 0.050 0.000
  term: MEDIUM Triangle 0.100 0.200 0.500
  term: LOW Triangle 0.000 0.100 0.200
  term: HIGH Discrete 0.200 0.000 0.300 0.600 0.500 0.900 1.000 1.000
InputVariable: turn
  description: Turn of goal completion. Discrete variable to sharpen boundaries between turns. Turn distances does not care about turn boundaries and just count total movement points
  enabled: true
  range: 0.000 5.000
  lock-range: false
  term: NOW Ramp 1.000 0.999
  term: NEXT Trapezoid 1.000 1.000 1.990 2.000
  term: FUTURE Discrete 1.990 0.000 2.000 0.500 2.999 0.500 3.000 1.000
InputVariable: fear
  description: Fear strength of enemy heroes
  enabled: true
  range: 0.000 2.000
  lock-range: false
  term: LOW Triangle 0.000 0.500 1.000
  term: MEDIUM Triangle 0.500 1.000 1.500
  term: HIGH Ramp 1.000 1.800
OutputVariable: Value
  enabled: true
  range: -0.500 1.500
  lock-range: false
  aggregation: AlgebraicSum
  defuzzifier: Centroid 100
  default: 0.500
  lock-previous: false
  term: LOWEST Discrete -0.500 0.000 -0.500 1.000 -0.200 1.000 -0.200 0.000 0.200 0.000 0.200 1.000 0.500 1.000 0.500 0.000 0.500
  term: BITLOW Rectangle -0.010 0.010 0.500
  term: LOW Discrete -0.150 0.000 -0.150 1.000 -0.050 1.000 -0.050 0.000 0.050 0.000 0.050 1.000 0.150 1.000 0.150 0.000 0.500
  term: MEDIUM Triangle 0.450 0.500 0.550 0.050
  term: HIGH Discrete 0.850 0.000 0.850 1.000 0.950 1.000 0.950 0.000 1.050 0.000 1.050 1.000 1.150 1.000 1.150 0.000 0.500
  term: HIGHEST Discrete 0.500 0.000 0.500 1.000 0.800 1.000 0.800 0.000 1.200 0.000 1.200 1.000 1.500 1.000 1.500 0.000 0.500
  term: BITHIGH Rectangle 0.990 1.010 0.500
RuleBlock: gold reward
  enabled: true
  conjunction: AlgebraicProduct
  disjunction: AlgebraicSum
  implication: AlgebraicProduct
  activation: General
  rule: if turn is NOW and mainTurnDistance is very LONG and heroRole is SCOUT then Value is LOW with 0.5
  rule: if turn is NOW and mainTurnDistance is LONG and heroRole is SCOUT then Value is LOW with 0.3
  rule: if turn is NOW and scoutTurnDistance is LONG and heroRole is SCOUT then Value is LOW with 0.3
  rule: if turn is NOW and mainTurnDistance is LONG and heroRole is MAIN then Value is LOW with 0.3
  rule: if turn is NEXT and mainTurnDistance is very LONG and heroRole is SCOUT then Value is LOW with 0.8
  rule: if turn is NEXT and scoutTurnDistance is LONG and heroRole is SCOUT then Value is BITLOW
  rule: if turn is NEXT and mainTurnDistance is LONG and heroRole is MAIN then Value is LOW with 0.3
  rule: if turn is NEXT and mainTurnDistance is LONG and heroRole is SCOUT then Value is BITLOW with 0.3
  rule: if turn is FUTURE and scoutTurnDistance is very LONG and heroRole is SCOUT then Value is LOWEST with 0.3
  rule: if turn is FUTURE and mainTurnDistance is very LONG and heroRole is SCOUT then Value is LOWEST with 0.5
  rule: if turn is FUTURE and mainTurnDistance is very LONG and heroRole is MAIN and strategicalValue is NONE then Value is LOWEST with 0.5
  rule: if turn is FUTURE and mainTurnDistance is very LONG and heroRole is MAIN and strategicalValue is LOW then Value is LOWEST with 0.3
  rule: if turn is FUTURE and mainTurnDistance is very LONG and heroRole is MAIN and strategicalValue is MEDIUM then Value is LOW with 0.5
  rule: if turn is FUTURE and mainTurnDistance is very LONG and heroRole is MAIN and strategicalValue is HIGH then Value is BITLOW
  rule: if turn is FUTURE and scoutTurnDistance is LONG and heroRole is SCOUT then Value is LOW
  rule: if turn is FUTURE and mainTurnDistance is LONG and heroRole is MAIN then Value is LOW
  rule: if turn is FUTURE and mainTurnDistance is LONG and heroRole is SCOUT then Value is LOW
  rule: if scoutTurnDistance is MEDIUM and heroRole is SCOUT then Value is BITLOW
  rule: if mainTurnDistance is MEDIUM then Value is BITLOW
  rule: if scoutTurnDistance is LOW and heroRole is SCOUT then Value is MEDIUM
  rule: if mainTurnDistance is LOW then Value is MEDIUM
  rule: if goldReward is HIGH and goldPreasure is HIGH and heroRole is SCOUT and danger is not NONE and armyLoss is LOW then Value is BITHIGH
  rule: if goldReward is HIGH and goldPreasure is HIGH and heroRole is SCOUT and danger is NONE then Value is HIGH with 0.7
  rule: if goldReward is HIGH and goldPreasure is HIGH and heroRole is MAIN and danger is not NONE and armyLoss is LOW and fear is not HIGH then Value is HIGHEST
  rule: if goldReward is HIGH and goldPreasure is HIGH and heroRole is MAIN and danger is NONE then Value is BITHIGH
  rule: if goldReward is MEDIUM and goldPreasure is HIGH and heroRole is SCOUT and danger is NONE then Value is HIGH
  rule: if goldReward is MEDIUM and goldPreasure is HIGH and armyLoss is LOW and heroRole is SCOUT and danger is not NONE then Value is MEDIUM
  rule: if goldReward is MEDIUM and heroRole is MAIN and danger is NONE and rewardType is SINGLE then Value is BITLOW
  rule: if goldReward is MEDIUM and goldPreasure is HIGH and armyLoss is LOW and heroRole is MAIN and danger is not NONE then Value is BITHIGH
  rule: if goldReward is LOW and goldPreasure is HIGH and heroRole is SCOUT and armyLoss is LOW then Value is BITHIGH
  rule: if goldReward is LOW and heroRole is MAIN and danger is not NONE and rewardType is SINGLE and armyLoss is LOW then Value is BITLOW
  rule: if goldReward is LOW and heroRole is MAIN and danger is NONE and rewardType is SINGLE then Value is LOW
  rule: if goldReward is LOWEST and heroRole is MAIN and danger is NONE and rewardType is SINGLE then Value is LOWEST
  rule: if armyReward is HIGH and heroRole is SCOUT and danger is not NONE and armyLoss is LOW then Value is HIGH with 0.5
  rule: if armyReward is HIGH and heroRole is SCOUT and danger is NONE then Value is HIGHEST
  rule: if armyReward is HIGH and heroRole is MAIN and rewardType is MIXED and armyLoss is LOW and fear is not HIGH then Value is HIGHEST
  rule: if armyReward is HIGH and heroRole is MAIN and rewardType is SINGLE and mainTurnDistance is LOWEST then Value is HIGHEST
  rule: if armyReward is HIGH and heroRole is MAIN and rewardType is SINGLE and danger is NONE and fear is not HIGH then Value is HIGH
  rule: if armyReward is HIGH and heroRole is MAIN and rewardType is SINGLE and danger is not NONE and armyLoss is LOW and fear is not HIGH then Value is HIGHEST
  rule: if armyReward is MEDIUM and heroRole is MAIN and danger is not NONE and armyLoss is LOW and fear is not HIGH then Value is HIGHEST with 0.5
  rule: if armyReward is MEDIUM and heroRole is MAIN and danger is NONE then Value is BITHIGH
  rule: if armyReward is MEDIUM and heroRole is MAIN and danger is NONE and mainTurnDistance is LOWEST then Value is HIGH with 0.2
  rule: if armyReward is MEDIUM and heroRole is SCOUT and danger is NONE then Value is HIGHEST with 0.5
  rule: if armyReward is LOW and heroRole is SCOUT and danger is NONE then Value is HIGH
  rule: if armyReward is LOW and heroRole is MAIN and danger is not NONE and armyLoss is LOW then Value is HIGH
  rule: if armyReward is LOW and heroRole is MAIN and danger is NONE then Value is BITLOW with 0.5
  rule: if armyReward is LOW and heroRole is MAIN and danger is NONE and mainTurnDistance is LOWEST then Value is HIGH
  rule: if skillReward is LOW and heroRole is MAIN and armyLoss is LOW then Value is BITHIGH with 0.5
  rule: if skillReward is MEDIUM and heroRole is MAIN and armyLoss is LOW and fear is not HIGH then Value is HIGH with 0.5
  rule: if skillReward is HIGH and heroRole is MAIN and armyLoss is LOW and fear is not HIGH then Value is HIGH
  rule: if strategicalValue is LOW and heroRole is MAIN and armyLoss is LOW then Value is BITLOW
  rule: if strategicalValue is LOWEST and heroRole is MAIN and armyLoss is LOW then Value is LOW
  rule: if strategicalValue is LOW and heroRole is SCOUT and armyLoss is LOW and fear is not HIGH then Value is HIGH with 0.5
  rule: if strategicalValue is MEDIUM and heroRole is SCOUT and danger is NONE and fear is not HIGH then Value is HIGH
  rule: if strategicalValue is HIGH and heroRole is SCOUT and danger is NONE and fear is not HIGH then Value is HIGHEST with 0.5
  rule: if strategicalValue is HIGH and heroRole is MAIN and armyLoss is LOW and fear is not HIGH then Value is HIGHEST
  rule: if strategicalValue is HIGH and heroRole is MAIN and armyLoss is MEDIUM and fear is not HIGH then Value is HIGH
  rule: if strategicalValue is MEDIUM and heroRole is MAIN and armyLoss is LOW and fear is not HIGH then Value is HIGH
  rule: if rewardType is NONE then Value is LOWEST
  rule: if armyLoss is HIGH and strategicalValue is not HIGH and heroRole is MAIN then Value is LOWEST
  rule: if armyLoss is HIGH and strategicalValue is HIGH and heroRole is MAIN then Value is LOW
  rule: if armyLoss is HIGH and heroRole is SCOUT then Value is LOWEST
  rule: if heroRole is SCOUT and closestHeroRatio is LOW then Value is LOW
  rule: if heroRole is SCOUT and closestHeroRatio is LOWEST then Value is LOWEST
  rule: if heroRole is MAIN and danger is NONE and skillReward is NONE and rewardType is SINGLE and closestHeroRatio is LOW then Value is LOW
  rule: if heroRole is MAIN and danger is NONE and skillReward is NONE and rewardType is SINGLE and closestHeroRatio is LOWEST then Value is LOWEST
  rule: if heroRole is MAIN and danger is not NONE and armyLoss is LOW then Value is BITHIGH with 0.2
  rule: if heroRole is SCOUT then Value is BITLOW
  rule: if goldCost is not NONE and goldReward is NONE and goldPreasure is HIGH then Value is LOWEST
  rule: if turn is NOW then Value is BITHIGH with 0.2
  rule: if goldPreasure is HIGH and goldReward is HIGH and armyLoss is LOW and fear is not HIGH then Value is HIGHEST
  rule: if goldPreasure is HIGH and goldReward is MEDIUM and armyLoss is LOW and fear is not HIGH then Value is HIGH
  rule: if goldPreasure is HIGH and goldReward is LOW and armyLoss is LOW then Value is BITHIGH
  rule: if fear is MEDIUM then Value is LOW
  rule: if fear is HIGH then Value is LOWEST