forked from HaroldAngel/demonsim
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreadme.txt
314 lines (284 loc) · 12.2 KB
/
readme.txt
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
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
-----------------------
HOW TO USE THIS PROGRAM
-----------------------
To use this program, you should first open a Windows console window.
To do this, open the start menu, type "cmd" in the search box and press
return. This should open up a window with a command prompt. Use the "cd"
command to change the directory to the directory where you put the simulator.
Example:
C:\Users\username> cd desktop\sim
Now, run the simulator by typing "sim" followed by any additional command
line arguments (see below for the allowed arguments). Example:
C:\Users\username\Desktop\sim> sim -demon Deucalion -deck deck.txt
Alternatively, I have added a batch file called "openwindow.bat". If you
double click on this, it should open up a console window in the correct
directory. If double clicking doesn't work, right click and select
"Run as Administrator" instead.
---------------
MACINTOSH USERS
---------------
If you use a mac, first run the "Terminal" program. Use the cd command to
change the directory to where you put the simulator. Run ./sim_mac instead of
sim. Example:
(Run Terminal)
$ cd /Users/username/Downloads/sim_1_6
$ ./sim_mac -demon Deucalion -deck deck.txt
----------------------
COMMAND LINE ARGUMENTS
----------------------
sim [-level #] [-iter #] [-demon name] [-debug] [-verbose]
[-showdamage] [-avgconcentrate] [-printround #] [-deck filename]
[-numthreads #] [-o filename] [-a filename]
Options:
-level #
Sets player level to # (default 61). Hp will automatically be adjusted.
The maximum level is 150.
-iter #
Sets number of iterations to # (default 50000). Each simulation will
run this number of fights and then print the results.
-demon name
Selects demon to fight (default DarkTitan). Valid names are:
DarkTitan, Deucalion, Mars, Pandarus, PlagueOgryn, SeaKing
-debug
Turns on debug output, which prints the fight log. Setting this mode
sets the number of iterations to 10. You can override the number
of iterations by adding -iter # after -debug. Default is off.
-verbose
Same as debug but prints a bit more to the fight log. Default is off.
-showdamage
Use this instead of -debug if you only want to see the final damage numbers
for each fight. Setting this sets the number of iterations to 200. You
can override the number of iterations by adding -iter # after -showdamage.
Default is off.
-avgconcentrate
Makes the concentrate ability always add the average amount instead of
all or nothing. For example, instead of 50% chance to add 0 and 50%
chance to add 800, this will always 400 instead. Default is off.
-printround #
In the fight summary, it prints the percentage time it reaches a
particular round #. You can set that round # with this option (default 50).
-deck filename
Reads the deck from the given filename (default: deck.txt).
-numthreads #
Run the simulator using # threads (default 8). Each thread runs in
parallel and the work is split amongst the threads. If you have a
multicore computer, using threads will speed up the simulation by up
to N times, where N is the number of cores you have.
-o filename (or -output filname)
Outputs to the given filename (default: outputs to console). Note that
if the file exists, it will be overwritten.
-a filename (or -append filename)
Appends to the given filename (default: off). If the file exists, this
will append to the end of the file instead of overwriting it. Use only
one of -o or -a.
If you have a file named defaults.txt in the current directory, options from
the first line in that file will be prepended to your command line options.
This means you can specify default options in defaults.txt and override them
with the command line. See the sample defaults.txt file.
--------
EXAMPLES
--------
sim -level 71 -iter 20000 -deck hh7wea3.txt -demon deucalion -avgconcentrate
sim -level 71 -deck rk9.txt -demon deucalion -verbose -o dcfight.txt
sim -level 61 -iter 20000 -deck deck.txt -demon deucalion -a dcresult.txt
sim -level 71 -iter 20000 -deck deck.txt -demon deucalion -a dcresult.txt
-----
CARDS
-----
There must be a file in the current directory named cards.txt. The
program loads the card descriptions from this file. You can add cards to
the file in the same format as the other cards. However, you may only
list abilities that are supported (see below).
----
DECK
----
The deck file must be a file with one card name or rune name per line. It
doesn't matter what order the cards or runes are in, as long as there are not
more than 10 cards and 4 runes. Each card name must be in the cards.txt file.
Each rune must be one of the runes supported (see below). Card and rune
names are case insensitive.
ABILITIES SUPPORTED
-------------------
Note that some of these have a different name than in the game, such as
"Tundra Force" instead of "Northern Force". Hopefully you can figure it out.
The class of the card (e.g. "Tundra") is also considered an ability. Some
of these abilities are only supported for the demon (e.g. Trap). Ability
names are case insensitive.
Advanced strike
Backstab
Bite
Bloodsucker
Bloodthirsty
Chain attack
Concentrate
Counterattack
Craze
Curse
D_reanimate (D = Desperation)
D_reincarnate
Damnation
Destroy
Dodge
Evasion
Exile
Fire god
Forest
Forest force
Forest guard
Guard
Healing
Hot chase
Ice shield
Immunity
Lacerate
Mana corrupt
Mania
Mtn
Mtn force
Mtn guard
Obstinacy
Parry
Prayer
QS_regenerate (QS = Quick Strike)
QS_reincarnate
Reanimate
Reflection (only affects demon's mana corruption)
Regenerate
Reincarnate
Rejuvenate
Resistance
Resurrection
Retaliation (treated as counterattack)
Sacrifice
Snipe
Swamp
Swamp force
Swamp guard
Toxic clouds
Trap
Tundra
Tundra force
Tundra guard
Warpath
Vendetta
Wicked leech
RUNES
-----
These are the supported runes. It is assumed that all runes are max level.
Arctic Freeze
Clear Spring
Dirt
Fire Forge
Flying Stone
Frost Bite
Leaf
Lore
Nimble Soul
Red Valley
Revival
Spring Breeze
Stonewall
Thunder Shield
Tsunami
FEEDBACK
--------
If you find any bugs, or want a new ability or rune added, please post
your feedback at the ek.arcannis.com forums.
VERSION HISTORY
---------------
1.0: Initial Release
1.1: Added/fixed up a few cards in cards.txt.
Fixed hp and attack buffs
Fixed starting rounds to match actual demon fights
Fixed Plague Ogryn trap to be ordered from left to right
Fixed bite: no longer affects demon (because of immunity) (not sure)
Added numbering of cards in output
Added Tsunami rune
Added lowest/highest/average number of rounds per fight
1.2: Added maximum hand size (5). This affects resurrect decks.
Added sacrifice ability.
Added defaults.txt file for specifying default options.
1.3: Fixed flying stone (was 70 dmg, now 225).
1.4: Fixed flying stone AGAIN (was 225 dmg, now 270).
Added min/max damage and deck cooldown to results printout.
Removed floating point operations from percentage calculations in order
to speed up program.
Added unavoidable damage under the option -unavoidableDmg (default off).
1.5: Fixed bug with craze/tsunami/bloodthirsty where death did not remove
the attack increase.
Fixed demon curse so that if it kills the player, the simulation ends
instead of having the demon attack (which leads to a possible
extra counterattack).
Added d_reanimate (desperation:reanimate) ability.
Added retaliation ability (treated as counterattack).
Added evasion ability (only affects Plague Ogryn).
1.6: Added a "how to use this program" section to the readme file.
Added a mac executable "sim_mac" to the release.
1.7: Fixed resurrection when your hand is full. Previously resurrection would
fail and your card would go to the grave. Now it will resurrect
your card to your deck instead.
Fixed Guard to work when the demon attacks the player directly. That is,
if the demon exiles or destroys the leftmost card and then attacks
the player, that damage can now be absorbed by Guard.
Fixed a bug where healing/regeneration worked on immune cards.
Added Chain attack, Mana corrupt, Wicked leech, Hot chase, and Damnation
abilities for the new demons. Added the new demons to the
cards.txt file with names such as DarkTitan2, Deucalion2, etc.
Also added the Reflection ability to cards that have it, because
it affects the demon's Mana corrupt ability.
1.8: New demons have replaced the old demons in cards.txt. Old demons have
been renamed with an "_old" suffix, such as "Mars_old".
Sea King counterattack now only hits one card. Counterattack is now
a separate ability from retaliation (it used to be that both were
treated as retaliation).
Wicked leech (on Mars) now affects cards with immunity. If there is a
player card with wicked leech, it will not affect the demon.
Added Vendetta ability, and added Rogue Knight to cards.txt.
Increased the default max rounds to 500. Removed the -maxrounds option
from the help file (although it still exists). There really
shouldn't be a need for a maximum number of rounds, but it is
still there for debugging purposes.
Changed the way reanimation works. Previously, it would pick a random
card from the grave. If that card had immunity or reanimation,
the reanimation would fail and nothing would happen. Now, it
only picks cards that do not have immunity or reanimation from the
grave. So, reanimation can never fail if there is a reanimatable
card in the grave.
Added the abilities: QS_regenerate, QS_reincarnate, D_reincarnate. The
first one is for Ice Sprite, which is added to cards.txt. The
other two are for the upcoming card that has both.
Added the -printround option to set which round is printed in the
summary, when it prints the percentage time it reaches round X.
It used to always use round 50.
1.9: Fixed bug with demon Destroy and Mana corrupt targeting dead cards.
Added multicore support to the simulator. By default, the simulator will
split its work using 8 threads, with each thread running in parallel.
This means that if you have an N core computer, the simulator will
run N times as fast (up to 8). You can control the number of
threads to use with the new -numthreads option (max 64). When
in debug, verbose, or showdamage mode, numthreads is forced to 1
so that output is not interleaved.
Fixed cards.txt: Treant Healer (cost 14) and Sea King (chain attack 325).
Added openwindow.bat for Windows users to quickly open up a console
window to run the simulator. You may have to run this as
Administrator if you can't just run it normally. I added this
because so many people were having problems opening up the console
window.
1.10: Fixed Santa (Tundra).
Fixed Easter bunny cards (removed Forest).
Added all 1*, 2*, and 3* cards.
Fixed bug where if a card did 0 physical damage, it should not trigger
any effects such as Retaliation or Bloodthirsty.
Implemented wicked leech ability for player cards. Added wicked leech
to Soul Thief in cards.txt.
1.11: Fixed reincarnation. Testing indicates that the reincarnated card is
always the oldest card in the grave. Also, the reincarnated card
is placed on the top of the deck, meaning it will be played to the
hand next round.
Made demon snipe (devil's blade) always hit the rightmost card if
multiple cards have the same lowest hp.
Added advanced strike ability.
Added new cards.
1.12: Fixed bloodsucker to occur before demon counterattack.
Added GPL v3 license to source file and LICENSE file.
1.13: Fixed Desperation abilities to not trigger from Exile.