Game Engine - Warrior XP

Warriors can be trained by using Experience to level them up.
Each warrior has an initial need for experience  (5 to 12 for rarity 1 to 8). This need increases roughly by 1 every 10 level. The first increase is surprisingly at level 7, and there are further exceptions from this rule - the dark grey cells in the table below are placed where a need has increased (not certain for rarity 8 - maybe the 9-equal-need exception occurs at level 97-105 instead of 67-75)
When advancing with books (xp in multiples of 10), some levels are unreachable, as a book advances the warrior by two levels at once.
The table below provides the calculated total XP amount for a warrior with a rarity. Together with the Warrior Cards, this may be used to compute a "best A/D increase per XP" ratio for your current warriors - to decide which one to advance first (modified by which 5 to 10 of your warriors are your attack/defense leaders).
Warrior total XP by level and rarity
Level	Rarity	Rarity	Rarity	Rarity	Rarity	Rarity	Rarity	Rarity	Rarity
Level	1 	2 	3 	4 	5 	6 	7 	8 	9
1 	0 	0 	0 	0 	0 	0 	0 	0 	0
2 	5 	6 	7 	8 	9 	10 	11 	12 	13
3 	10 	12 	14 	16 	18 	20 	22 	24 	26
4 	15 	18 	21 	24 	27 	30 	33 	36 	39
5 	20 	24 	28 	32 	36 	40 	44 	48 	52
6 	25 	30 	35 	40 	45 	50 	55 	60 	66
7 	31 	37 	43 	49 	55 	61 	67 	73 	80
8 	37 	44 	51 	58 	65 	72 	79 	86 	94
9 	43 	51 	59 	67 	75 	83 	91 	99 	108
10 	49 	58 	67 	76 	85 	94 	103 	112 	122
11 	55 	65 	75 	85 	95 	105 	115 	125 	
12 	61 	72 	83 	94 	105 	116 	127 	138 	
13 	67 	79 	91 	103 	115 	127 	139 	151 	
14 	73 	86 	99 	112 	125 	138 	151 	164 	
15 	79 	93 	107 	121 	135 	149 	163 	177 	
16 	85 	100 	115 	130 	145 	160 	175 	190 	
17 	92 	108 	124 	140 	156 	172 	188 	204 	
18 	99 	116 	133 	150 	167 	184 	201 	218 	
19 	106 	124 	142 	160 	178 	196 	214 	232 	
20 	113 	132 	151 	170 	189 	208 	227 	246 	
21 	120 	140 	160 	180 	200 	220 	240 	260 	
22 	127 	148 	169 	190 	211 	232 	253 	274 	
23 	134 	156 	178 	200 	222 	244 	266 	288 	
24 	141 	164 	187 	210 	233 	256 	279 	302 	
25 	148 	172 	196 	220 	244 	268 	292 	316 	
26 	155 	180 	205 	230 	255 	280 	305 	330 	
27 	163 	189 	215 	241 	267 	293 	319 	345 	
28 	171 	198 	225 	252 	279 	306 	333 	360 	
29 	179 	207 	235 	263 	291 	319 	347 	375 	
30 	187 	216 	245 	274 	303 	332 	361 	390 	430
31 	195 	225 	255 	285 	315 	345 	375 	405 	
32 	203 	234 	265 	296 	327 	358 	389 	420 	
33 	211 	243 	275 	307 	339 	371 	403 	435 	
34 	219 	252 	285 	318 	351 	384 	417 	450 	
35 	227 	261 	295 	329 	363 	397 	431 	465 	
36 	235 	270 	305 	340 	375 	410 	445 	480 	
37 	244 	280 	316 	352 	388 	424 	460 	496 	
38 	253 	290 	327 	364 	401 	438 	475 	512 	
39 	262 	300 	338 	376 	414 	452 	490 	528 	
40 	271 	310 	349 	388 	427 	466 	505 	544 	
41 	280 	320 	360 	400 	440 	480 	520 	560 	
42 	289 	330 	371 	412 	453 	494 	535 	576 	
43 	298 	340 	382 	424 	466 	508 	550 	592 	
44 	307 	350 	393 	436 	479 	522 	565 	608 	
45 	316 	360 	404 	448 	492 	536 	580 	624 	
46 	325 	370 	415 	460 	505 	550 	595 	640 	
47 	335 	381 	427 	473 	519 	565 	611 	657 	
48 	345 	392 	439 	486 	533 	580 	627 	674 	
49 	355 	403 	451 	499 	547 	595 	643 	691 	771
50 	365 	414 	463 	512 	561 	610 	659 	708 	790
51 	375 	425 	475 	525 	575 	625 	675 	725 	
52 	385 	436 	487 	538 	589 	640 	691 	742 	
53 	395 	447 	499 	551 	603 	655 	707 	759 	
54 	405 	458 	511 	564 	617 	670 	723 	776 	
55 	415 	469 	523 	577 	631 	685 	739 	793 	
56 	426 	481 	536 	591 	646 	700 	755 	810 	
57 	437 	493 	549 	605 	661 	716 	772 	828 	
58 	448 	505 	562 	619 	676 	732 	789 	846 	
59 	459 	517 	575 	633 	691 	748 	806 	864 	
60 	470 	529 	588 	647 	706 	764 	823 	882 	
61 	481 	541 	601 	661 	721 	780 	840 	900 	
62 	492 	553 	614 	675 	736 	796 	857 	918 	
63 	503 	565 	627 	689 	751 	812 	874 	936 	
64 	514 	577 	640 	703 	766 	828 	891 	954 	
65 	525 	589 	653 	717 	781 	844 	908 	972 	
66 	537 	602 	667 	732 	797 	860 	925 	990 	
67 	549 	615 	681 	747 	813 	877 	943 	1009 	
68 	561 	628 	695 	762 	829 	894 	961 	1028 	
69 	573 	641 	709 	777 	845 	911 	979 	1047 	1182
70 	585 	654 	723 	792 	861 	928 	997 	1066 	1204
71 	597 	667 	737 	807 	877 	945 	1015 	1085 	
72 	609 	680 	751 	822 	893 	962 	1033 	1104 	
73 	621 	693 	765 	837 	909 	979 	1051 	1123 	
74 	633 	706 	779 	852 	925 	996 	1069 	1142 	
75 	645 	719 	793 	867 	941 	1013 	1087 	1161 	
76 	658 	733 	808 	883 	958 	1031 	1106 	1180 	
77 	671 	747 	823 	899 	975 	1049 	1125 	1200 	
78 	684 	761 	838 	915 	992 	1067 	1144 	1220 	
79 	697 	775 	853 	931 	1009 	1085 	1163 	1240 	1407
80 	710 	789 	868 	947 	1026 	1103 	1182 	1260 	1430
81 	723 	803 	883 	963 	1043 	1121 	1201 	1280 	
82 	736 	817 	898 	979 	1060 	1139 	1220 	1300 	
83 	749 	831 	913 	995 	1077 	1157 	1239 	1320 	
84 	762 	845 	928 	1011 	1094 	1175 	1258 	1340 	
85 	775 	859 	943 	1027 	1111 	1193 	1277 	1360 	
86 	789 	874 	959 	1044 	1129 	1212 	1297 	1380 	
87 	803 	889 	975 	1061 	1147 	1231 	1317 	1401 	
88 	817 	904 	991 	1078 	1165 	1250 	1337 	1422 	
89 	831 	919 	1007 	1095 	1183 	1269 	1357 	1443 	
90 	845 	934 	1023 	1112 	1201 	1288 	1377 	1464 	
91 	859 	949 	1039 	1129 	1219 	1307 	1397 	1485 	
92 	873 	964 	1055 	1146 	1237 	1326 	1417 	1506 	
93 	887 	979 	1071 	1163 	1255 	1345 	1437 	1527 	
94 	901 	994 	1087 	1180 	1273 	1364 	1457 	1548 	
95 	915 	1009 	1103 	1197 	1291 	1383 	1477 	1569 	
96 	930 	1025 	1120 	1215 	1310 	1403 	1498 	1590 	
97 	945 	1041 	1137 	1233 	1329 	1423 	1519 	1612 	
98 	960 	1057 	1154 	1251 	1348 	1443 	1540 	1634 	
99 	975 	1073 	1171 	1269 	1367 	1463 	1561 	1656 	1896
100 	990 	1089 	1188 	1287 	1386 	1483 	1582 	1678 	1922
101 	- 	- 	- 	- 	- 	1503 	1603 	1700 	
102 	- 	- 	- 	- 	- 	1523 	1624 	1722 	
103 	- 	- 	- 	- 	- 	1543 	1645 	1744 	
104 	- 	- 	- 	- 	- 	1563 	1666 	1766 	
105 	- 	- 	- 	- 	- 	1583 	1687 	1788 	
106 	- 	- 	- 	- 	- 	1604 	1709 	1811 	
107 	- 	- 	- 	- 	- 	1625 	1731 	1834 	
108 	- 	- 	- 	- 	- 	1646 	1753 	1857 	
109 	- 	- 	- 	- 	- 	1667 	1775 	1880 	2160
110 	- 	- 	- 	- 	- 	1688 	1797 	1903 	2187
111 	- 	- 	- 	- 	- 	1709 	1819 	1926 	
112 	- 	- 	- 	- 	- 	1730 	1841 	1949 	
113 	- 	- 	- 	- 	- 	1751 	1863 	1972 	
114 	- 	- 	- 	- 	- 	1772 	1885 	1995 	
115 	- 	- 	- 	- 	- 	1793 	1907 	2018 	
116 	- 	- 	- 	- 	- 	1815 	1930 	2042 	
117 	- 	- 	- 	- 	- 	1837 	1953 	2066 	
118 	- 	- 	- 	- 	- 	1859 	1976 	2090 	
119 	- 	- 	- 	- 	- 	1881 	1999 	2114 	
120 	- 	- 	- 	- 	- 	1903 	2022 	2138 	
121 	- 	- 	- 	- 	- 	1925 	2045 	2162 	
122 	- 	- 	- 	- 	- 	1947 	2068 	2186 	
123 	- 	- 	- 	- 	- 	1969 	2091 	2210 	
124 	- 	- 	- 	- 	- 	1991 	2114 	2234 	
125 	- 	- 	- 	- 	- 	2013 	2137 	2258 	
126 	- 	- 	- 	- 	- 	2036 	2161 	2283 	
127 	- 	- 	- 	- 	- 	2059 	2185 	2308 	
128 	- 	- 	- 	- 	- 	2082 	2209 	2333 	
129 	- 	- 	- 	- 	- 	2105 	2233 	2358 	
130 	- 	- 	- 	- 	- 	2128 	2257 	2383 	
131 	- 	- 	- 	- 	- 	2151 	2281 	2408 	
132 	- 	- 	- 	- 	- 	2174 	2305 	2433 	
133 	- 	- 	- 	- 	- 	2197 	2329 	2458 	
134 	- 	- 	- 	- 	- 	2220 	2353 	2483 	
135 	- 	- 	- 	- 	- 	2243 	2377 	2508 	
136 	- 	- 	- 	- 	- 	2267 	2402 	2534 	
137 	- 	- 	- 	- 	- 	2291 	2427 	2560 	
138 	- 	- 	- 	- 	- 	2315 	2452 	2586 	
139 	- 	- 	- 	- 	- 	2339 	2477 	2612 	
140 	- 	- 	- 	- 	- 	2363 	2502 	2638 	
141 	- 	- 	- 	- 	- 	2387 	2527 	2664 	
142 	- 	- 	- 	- 	- 	2411 	2552 	2690 	
143 	- 	- 	- 	- 	- 	2435 	2577 	2716 	
144 	- 	- 	- 	- 	- 	2459 	2602 	2742 	
145 	- 	- 	- 	- 	- 	2483 	2627 	2768 	
146 	- 	- 	- 	- 	- 	2508 	2653 	2795 	
147 	- 	- 	- 	- 	- 	2533 	2679 	2822 	
148 	- 	- 	- 	- 	- 	2558 	2705 	2849 	
149 	- 	- 	- 	- 	- 	2583 	2731 	2876 	3347
150 	- 	- 	- 	- 	- 	2608 	2757 	2903 	3379
151 	- 	- 	- 	- 	- 	- 	- 	2930 	
152 	- 	- 	- 	- 	- 	- 	- 	2957 	
153 	- 	- 	- 	- 	- 	- 	- 	2984 	
154 	- 	- 	- 	- 	- 	- 	- 	3011 	
155 	- 	- 	- 	- 	- 	- 	- 	3038 	
156 	- 	- 	- 	- 	- 	- 	- 	3066 	
157 	- 	- 	- 	- 	- 	- 	- 	3094 	
158 	- 	- 	- 	- 	- 	- 	- 	3122 	
159 	- 	- 	- 	- 	- 	- 	- 	3150 	
160 	- 	- 	- 	- 	- 	- 	- 	3178 	
161 	- 	- 	- 	- 	- 	- 	- 	3206 	
162 	- 	- 	- 	- 	- 	- 	- 	3234 	
163 	- 	- 	- 	- 	- 	- 	- 	3262 	
164 	- 	- 	- 	- 	- 	- 	- 	3290 	
165 	- 	- 	- 	- 	- 	- 	- 	3318 	
166 	- 	- 	- 	- 	- 	- 	- 	3347 	
167 	- 	- 	- 	- 	- 	- 	- 	3376 	
168 	- 	- 	- 	- 	- 	- 	- 	3405 	
169 	- 	- 	- 	- 	- 	- 	- 	3434 	
170 	- 	- 	- 	- 	- 	- 	- 	3463 	
171 	- 	- 	- 	- 	- 	- 	- 	3492 	
172 	- 	- 	- 	- 	- 	- 	- 	3521 	
173 	- 	- 	- 	- 	- 	- 	- 	3550 	
174 	- 	- 	- 	- 	- 	- 	- 	3579 	
175 	- 	- 	- 	- 	- 	- 	- 	3608 	
176 	- 	- 	- 	- 	- 	- 	- 	3638 	
177 	- 	- 	- 	- 	- 	- 	- 	3668 	
178 	- 	- 	- 	- 	- 	- 	- 	3698 	
179 	- 	- 	- 	- 	- 	- 	- 	3728 	
180 	- 	- 	- 	- 	- 	- 	- 	3758 	4412
181 	- 	- 	- 	- 	- 	- 	- 	3788 	
182 	- 	- 	- 	- 	- 	- 	- 	3818 	
183 	- 	- 	- 	- 	- 	- 	- 	3848 	
184 	- 	- 	- 	- 	- 	- 	- 	3878 	
185 	- 	- 	- 	- 	- 	- 	- 	3908 	
186 	- 	- 	- 	- 	- 	- 	- 	3939 	
187 	- 	- 	- 	- 	- 	- 	- 	3970 	
188 	- 	- 	- 	- 	- 	- 	- 	4001 	
189 	- 	- 	- 	- 	- 	- 	- 	4032 	
190 	- 	- 	- 	- 	- 	- 	- 	4063 	
191 	- 	- 	- 	- 	- 	- 	- 	4094 	
192 	- 	- 	- 	- 	- 	- 	- 	4125 	
193 	- 	- 	- 	- 	- 	- 	- 	4156 	
194 	- 	- 	- 	- 	- 	- 	- 	4187 	
195 	- 	- 	- 	- 	- 	- 	- 	4218 	
196 	- 	- 	- 	- 	- 	- 	- 	4250 	
197 	- 	- 	- 	- 	- 	- 	- 	4282 	
198 	- 	- 	- 	- 	- 	- 	- 	4314 	
199 	- 	- 	- 	- 	- 	- 	- 	4346 	
200 	- 	- 	- 	- 	- 	- 	- 	4378 	5166
... 	- 	- 	- 	- 	- 	- 	- 	- 	...
220 	- 	- 	- 	- 	- 	- 	- 	- 	5971
221 	- 	- 	- 	- 	- 	- 	- 	- 	6013
... 	- 	- 	- 	- 	- 	- 	- 	- 	...
250 	- 	- 	- 	- 	- 	- 	- 	- 	7277
251 	- 	- 	- 	- 	- 	- 	- 	- 	7323
... 	- 	- 	- 	- 	- 	- 	- 	- 	...
279 	- 	- 	- 	- 	- 	- 	- 	- 	8653
280 	- 	- 	- 	- 	- 	- 	- 	- 	8702
... 	- 	- 	- 	- 	- 	- 	- 	- 	...
299 	- 	- 	- 	- 	- 	- 	- 	- 	9666
300 	- 	- 	- 	- 	- 	- 	- 	- 	9718
(Wiki table source code) Calculation program:
 #!/usr/bin/env ruby
 
 def more(level, rarity)
 change =
 case
 when rarity < 6
 56
 when rarity < 8
 76
 else
 106
 end
 offset =
 if level < change
 (level + 3) / 10
 else
 (level + 4) / 10
 end
 end
 
 def max_level(rarity)
 case
 when rarity < 6
 100
 when rarity < 8
 150
 else
 200
 end
 end
 
 min_rarity = 1
 max_rarity = 8
 rarity_to_xp = 4
 last_level = max_level(max_rarity)
 
 xp = [[0] * last_level] * min_rarity
 dxp = [0] * min_rarity
 
 (min_rarity..max_rarity).each do |rarity|
 start_dxp = rarity + rarity_to_xp
 xpr = (2..last_level).inject([0]) do |memo, level|
 memo << (memo.last + start_dxp + more(level, rarity))
 end
 xp << xpr
 dxp << 0
 end
 
 xp.transpose.each_with_index do |xpsum, index|
 level = index + 1
 puts "|-\n|#{level}"
 (min_rarity..max_rarity).each do |rarity|
 if level > max_level(rarity)
 puts "| -"
 else
 m = more(level, rarity)
 cell_type =
 if dxp[rarity] < m
 dxp[rarity] = m
 "!"
 else
 "|"
 end
 puts "#{cell_type} style=\"text-align:center;\"|#{xpsum[rarity]}"
 end
 end
 end
There are some helpful rules, how you can determine even for a high level monster, which base xp class it has:
#rarity + 4 (rule of thumb at least for rarity 1 - 7)
#From the change in "to go" when you level up:
#*Level 30: to go 3
#*Level 31: to go 5
#*(you had to put in only 1x 10 XP)
#*(both levels have equal xp requirements)
#*=> the difference in to go is what is missing as required XP for the next level up
#*=> Level 31 takes 10 + 5 - 3 = 12 XP
#*=> it's a base 9 warrior
#From the combination of % and to go
#*After level up to 30: 45% (system rounds up)
#*At level 30: to go 5
#*=> 5 equals 55%
#*=> level up to 31 requires 5 * 100/ 55 = 9 XP
#*=> it's a base 6 warrior
#From the to go and a lookup into the table
#*At level 29: to go 3
#*=> the warrior has always n * 10 XP
#*=> the required XP is n * 10 + 3 XP ("ends with digit 3")
#*=> the only matching required XP for the next level(!) is 303
#*=> it's a base 9 warrior