label="ladder 2 jug. - Las cuevas del basil... Turno 25"
version="1.6"
completion="running"
campaign_type="multiplayer"
difficulty="NORMAL"
random_seed="3448"
random_calls="0"
next_underlying_unit_id="75"
end_text_duration="0"
[variables]
[/variables]
[replay]
	[command]
		[start]
		[/start]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="BOB4U has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[recruit]
			value="7"
			x="18"
			y="5"
		[/recruit]
		[random]
			value="4346"
		[/random]
		[random]
			value="17579"
		[/random]
		[random]
			value="25585"
		[/random]
		[random]
			value="6783"
		[/random]
		[random]
			value="12128"
		[/random]
		[random]
			value="9742"
		[/random]
		[random]
			value="17733"
		[/random]
		[random]
			value="13385"
		[/random]
		[random]
			value="15861"
		[/random]
		[random]
			value="9908"
		[/random]
		[random]
			value="32096"
		[/random]
		[random]
			value="8213"
		[/random]
		[random]
			value="30587"
		[/random]
		[random]
			value="22443"
		[/random]
		[random]
			value="21796"
			[results]
				checksum=",Ad3Y5f-GtmsAp5jHbEoRiSrOCpxE4IDyxOzzQOG.nCLyyGDmUtLNvFrwCUxRLwFwmIsr1QENmxPFHFw.RFKFnqypNLAM8mwoFomIhFlq1.CLW<<ddNv5EsLNHBNzhOI"
			[/results]
		[/random]
	[/command]
	[command]
		[recruit]
			value="7"
			x="19"
			y="5"
		[/recruit]
		[random]
			value="24385"
		[/random]
		[random]
			value="29653"
		[/random]
		[random]
			value="10220"
		[/random]
		[random]
			value="31646"
		[/random]
		[random]
			value="8272"
		[/random]
		[random]
			value="17365"
		[/random]
		[random]
			value="4522"
		[/random]
		[random]
			value="30576"
		[/random]
		[random]
			value="12029"
		[/random]
		[random]
			value="2475"
		[/random]
		[random]
			value="463"
		[/random]
		[random]
			value="7235"
		[/random]
		[random]
			value="12793"
		[/random]
		[random]
			value="14485"
		[/random]
		[random]
			value="10427"
			[results]
				checksum=",Ad3Y5f-GtmsAp5jHbEoRiSrOCpxE4IDyxOzzQOG.nCLyyGDmUtLNvFrwCUxRLwFwmIsr1QENmxPFHFw.RFKFnqypNLAM8mwoFomIhFlq1.CLW<<ddNv5EsLNHBNzhOI"
			[/results]
		[/random]
	[/command]
	[command]
		[recruit]
			value="6"
			x="20"
			y="4"
		[/recruit]
		[random]
			value="30689"
		[/random]
		[random]
			value="31310"
		[/random]
		[random]
			value="8921"
		[/random]
		[random]
			value="25013"
		[/random]
		[random]
			value="25562"
		[/random]
		[random]
			value="10411"
		[/random]
		[random]
			value="8748"
		[/random]
		[random]
			value="8382"
		[/random]
		[random]
			value="23292"
		[/random]
		[random]
			value="25813"
		[/random]
		[random]
			value="20028"
		[/random]
		[random]
			value="11039"
		[/random]
		[random]
			value="32607"
		[/random]
		[random]
			value="24406"
		[/random]
		[random]
			value="4349"
			[results]
				checksum="XBfX4cmdHYau810h3t9co8gj2UWo-1,n-62ad7l9i<dX9dX-4o9W2w2-6hZd9kbd.d07gZj2f,ep7ybXfdk5k4Nw>d595,cp6dzgA.Zj4982<j6D1<4M26i7zO.<CByI"
			[/results]
		[/random]
	[/command]
	[command]
		[recruit]
			value="4"
			x="24"
			y="5"
		[/recruit]
		[random]
			value="7775"
		[/random]
		[random]
			value="29175"
		[/random]
		[random]
			value="27357"
		[/random]
		[random]
			value="11148"
		[/random]
		[random]
			value="5125"
		[/random]
		[random]
			value="5370"
		[/random]
		[random]
			value="29998"
		[/random]
		[random]
			value="13511"
		[/random]
		[random]
			value="30990"
		[/random]
		[random]
			value="30709"
		[/random]
		[random]
			value="22837"
		[/random]
		[random]
			value="6153"
		[/random]
		[random]
			value="32389"
		[/random]
		[random]
			value="16921"
		[/random]
		[random]
			value="12911"
			[results]
				checksum="KcwfALHM1AKcptV75qVBLNNDjB+ho.t0,fnp91.7>Yl1cF7<01e5yd,9+0e3j4jcb6cifadb1-67Jf37b2ifil7.WgZ2.h<5-XxS+j>k2403-o4TA9v9PQDp80F<<110"
			[/results]
		[/random]
	[/command]
	[command]
		[recruit]
			value="5"
			x="23"
			y="5"
		[/recruit]
		[random]
			value="25904"
		[/random]
		[random]
			value="13797"
		[/random]
		[random]
			value="9379"
		[/random]
		[random]
			value="326"
		[/random]
		[random]
			value="20088"
		[/random]
		[random]
			value="25724"
		[/random]
		[random]
			value="29908"
		[/random]
		[random]
			value="11021"
		[/random]
		[random]
			value="30542"
		[/random]
		[random]
			value="6072"
		[/random]
		[random]
			value="28964"
		[/random]
		[random]
			value="5716"
		[/random]
		[random]
			value="11801"
		[/random]
		[random]
			value="15799"
		[/random]
		[random]
			value="840"
			[results]
				checksum="jup,4nc1oNO1LLyKmJLIEhoF>vyBA6mszOAMDTywuzyODCrTtRLwFwmIsr1QENmxPFHFw.RFKFnqypNLtM8mwoFomIhFlq1.CLW<<ddBfkHDONNHvHQO1I9LGCHpACmL"
			[/results]
		[/random]
	[/command]
	[command]
		[recruit]
			value="7"
			x="22"
			y="4"
		[/recruit]
		[random]
			value="12852"
		[/random]
		[random]
			value="16889"
		[/random]
		[random]
			value="617"
		[/random]
		[random]
			value="20430"
		[/random]
		[random]
			value="25012"
		[/random]
		[random]
			value="2868"
		[/random]
		[random]
			value="18637"
		[/random]
		[random]
			value="6823"
		[/random]
		[random]
			value="6749"
		[/random]
		[random]
			value="15323"
		[/random]
		[random]
			value="13361"
		[/random]
		[random]
			value="14511"
		[/random]
		[random]
			value="5864"
		[/random]
		[random]
			value="23702"
		[/random]
		[random]
			value="16430"
			[results]
				checksum=",Ad3Y5f-Gtmnsp5jHbEoRiVrOCpxE4IDyxOzzQOG.nCLyyGDmUtLNvFrwCUxRLwFwmIsr1QENmxPFHFw.RFKFnqypNQsM8mwoFomIhFlq1.CLW<<ddNv5EsLNHBNzkOI"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="21,20,19,18,18,17,17"
			y="4,4,5,5,6,7,8"
		[/move]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="4"
			x="24"
			y="19"
		[/recruit]
		[random]
			value="209409120"
		[/random]
		[random]
			value="697206997"
		[/random]
		[random]
			value="1340734078"
		[/random]
		[random]
			value="375831529"
		[/random]
		[random]
			value="402231816"
		[/random]
		[random]
			value="735714959"
		[/random]
		[random]
			value="1720223415"
		[/random]
		[random]
			value="1861041085"
		[/random]
		[random]
			value="1140987883"
		[/random]
		[random]
			value="1146292017"
		[/random]
		[random]
			value="1058906370"
		[/random]
		[random]
			value="1258119392"
		[/random]
		[random]
			value="218663099"
		[/random]
		[random]
			value="1957846605"
		[/random]
		[random]
			value="1718438084"
			[results]
				checksum="6hs5opl9mneud6314Hg106a+elObfd5dh>d-kgk5j40fd5c,laoh2>q4W68<jj1,,Bh1+4l10mji0YUg681h64jGjKk7ELbfXlO69>IPFNIDBGnBCSO3srDyLKztBBHx"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="2"
			x="23"
			y="20"
		[/recruit]
		[random]
			value="393619997"
		[/random]
		[random]
			value="248752088"
		[/random]
		[random]
			value="1673337970"
		[/random]
		[random]
			value="730060154"
		[/random]
		[random]
			value="29961625"
		[/random]
		[random]
			value="1882747090"
		[/random]
		[random]
			value="1427267151"
		[/random]
		[random]
			value="1370695703"
		[/random]
		[random]
			value="111094971"
		[/random]
		[random]
			value="1829498967"
		[/random]
		[random]
			value="2106410663"
		[/random]
		[random]
			value="1831318386"
		[/random]
		[random]
			value="1543056405"
		[/random]
		[random]
			value="1099914898"
		[/random]
		[random]
			value="830126756"
			[results]
				checksum="<3n85mndU3eF0a,..P305kg7W0d6cpzj<c3>k7>a,+alX1ah,2Wi<0o.-bnee7bo56d2incd,4Z6occi46H-f-5057b>02aa.o6Z+40CN5c8b.<X,47J.7v3b3e4xt<3"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="4"
			x="18"
			y="19"
		[/recruit]
		[random]
			value="1795277776"
		[/random]
		[random]
			value="1461122127"
		[/random]
		[random]
			value="1522594653"
		[/random]
		[random]
			value="59781365"
		[/random]
		[random]
			value="2142428704"
		[/random]
		[random]
			value="1631118140"
		[/random]
		[random]
			value="1502147254"
		[/random]
		[random]
			value="1139083177"
		[/random]
		[random]
			value="117913604"
		[/random]
		[random]
			value="1895767251"
		[/random]
		[random]
			value="1387835266"
		[/random]
		[random]
			value="1791251574"
		[/random]
		[random]
			value="478343758"
		[/random]
		[random]
			value="1417796891"
		[/random]
		[random]
			value="1526515017"
			[results]
				checksum="jfC5opl9pneud6314Hg106a+elObfd5dh>d-kgk5j40fd5c,laoh2>q4W68<jj1,,Bh1+4l10mji0.Ug681h64jGjKk7ELYl9YI95gAxGxnvPuSIVEH>yBMtLAwyHPDR"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="2"
			x="19"
			y="20"
		[/recruit]
		[random]
			value="1437678113"
		[/random]
		[random]
			value="1910401503"
		[/random]
		[random]
			value="1052877690"
		[/random]
		[random]
			value="1702520197"
		[/random]
		[random]
			value="1691906583"
		[/random]
		[random]
			value="697226314"
		[/random]
		[random]
			value="329266273"
		[/random]
		[random]
			value="1339700711"
		[/random]
		[random]
			value="10864794"
		[/random]
		[random]
			value="1851860927"
		[/random]
		[random]
			value="1399482076"
		[/random]
		[random]
			value="5809850"
		[/random]
		[random]
			value="1335495419"
		[/random]
		[random]
			value="754145682"
		[/random]
		[random]
			value="1144893028"
			[results]
				checksum="<3k85mndU3eF>a,..P305kg7W0d6cpzj<c3>k7>a,+alX1ah,2Wi<0o.-bnee7bo56d2incd,4Z6occi45H-f-5057b>02aa.o6Z+40CN5c8b.<X,47J.7v3b3e4xt<3"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="5"
			x="20"
			y="20"
		[/recruit]
		[random]
			value="2113818307"
		[/random]
		[random]
			value="179042886"
		[/random]
		[random]
			value="896502798"
		[/random]
		[random]
			value="1287779386"
		[/random]
		[random]
			value="1162241872"
		[/random]
		[random]
			value="448870011"
		[/random]
		[random]
			value="1291867221"
		[/random]
		[random]
			value="452436337"
		[/random]
		[random]
			value="211787866"
		[/random]
		[random]
			value="197261263"
		[/random]
		[random]
			value="7472887"
		[/random]
		[random]
			value="1903694449"
		[/random]
		[random]
			value="894487577"
		[/random]
		[random]
			value="336739160"
		[/random]
		[random]
			value="1095911512"
			[results]
				checksum="SU39RsRPnopbtoBBs5yPBdjCxIoyMyJsCAbPtOQpxQRNpnMsQGGGqEpPQwrEETo0BNqQDyBuEICFSQFuTGrqGVJbRBzNpHETGFOwJPvMPJFf8IBNyQOKRJUZDRgOWmID"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="5"
			x="22"
			y="20"
		[/recruit]
		[random]
			value="245940974"
		[/random]
		[random]
			value="74773512"
		[/random]
		[random]
			value="1355717497"
		[/random]
		[random]
			value="1142443772"
		[/random]
		[random]
			value="1362552898"
		[/random]
		[random]
			value="370475722"
		[/random]
		[random]
			value="1591313783"
		[/random]
		[random]
			value="506936471"
		[/random]
		[random]
			value="822912059"
		[/random]
		[random]
			value="1803101650"
		[/random]
		[random]
			value="704197734"
		[/random]
		[random]
			value="830384946"
		[/random]
		[random]
			value="1559312451"
		[/random]
		[random]
			value="1598685312"
		[/random]
		[random]
			value="1167124107"
			[results]
				checksum="SU39RsIPnopbtoBBt5yPBdjCxIoyMyJsCAbPtOQpxQRNpnMsQGGGqEpPQwrEETo0BNqQDyBuEICFSQFuTGrqGMJbRBzNpHETGFOwJPvMPJFf8IBNyQOKRJUZDRgOWmID"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="21,22,23,24,25"
			y="21,20,20,20,21"
		[/move]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[move]
			x="24,25,26,26,26,27,28,29,30,31"
			y="5,6,6,7,8,9,9,10,10,10"
		[/move]
	[/command]
	[command]
		[move]
			x="20,21,21,21,21,21,22"
			y="4,5,6,7,8,9,9"
		[/move]
	[/command]
	[command]
		[move]
			x="17,17,17,17,17,17"
			y="8,7,6,5,4,3"
		[/move]
	[/command]
	[command]
		[move]
			x="19,18,17,16,15,14,13"
			y="5,5,6,6,7,7,8"
		[/move]
	[/command]
	[command]
		[move]
			x="18,17,16,15,14,13,12"
			y="5,5,5,5,5,5,4"
		[/move]
	[/command]
	[command]
		[move]
			x="22,23,24,25,25,26"
			y="4,5,5,6,7,7"
		[/move]
	[/command]
	[command]
		[move]
			x="23,24,25,26,27,28"
			y="5,5,6,6,6,5"
		[/move]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="C-LOC has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Miki has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="24,25,26,27,28,29,30"
			y="19,20,20,21,21,21,20"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="23,24,24,25,25"
			y="20,19,18,18,17"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="22,23,24,25,26,27"
			y="20,20,19,19,18,18"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="25,24,23,22,21"
			y="21,20,20,20,21"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="18,18,18,19,19,20"
			y="19,18,17,17,16,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="20,19,18,17,16"
			y="20,20,19,19,18"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="19,18,17,16,15"
			y="20,19,19,19,20"
		[/move]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[move]
			x="13,12,12,12,11"
			y="8,8,9,10,11"
		[/move]
	[/command]
	[command]
		[move]
			x="12,12,12,12,12,12,12"
			y="4,5,6,7,8,9,10"
		[/move]
	[/command]
	[command]
		[move]
			x="17,18,19,20,21"
			y="3,3,4,4,4"
		[/move]
	[/command]
	[command]
		[move]
			x="22,22,22"
			y="9,10,11"
		[/move]
	[/command]
	[command]
		[move]
			x="22,23"
			y="11,12"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Marechal has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="23,23"
			y="12,13"
		[/move]
	[/command]
	[command]
		[move]
			x="26,26,26,26"
			y="7,8,9,10"
		[/move]
	[/command]
	[command]
		[move]
			x="28,29,30,31"
			y="5,5,5,6"
		[/move]
	[/command]
	[command]
		[move]
			x="31,31"
			y="10,11"
		[/move]
	[/command]
	[command]
		[move]
			x="31,30"
			y="11,11"
		[/move]
	[/command]
	[command]
		[move]
			x="30,31,32,33,34,35,36,37"
			y="11,11,10,10,9,9,8,9"
		[/move]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[move]
			x="15,14,13,12,11"
			y="20,19,19,19,19"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="16,16,16,16,16"
			y="18,17,16,15,14"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="27,28,29,30,31"
			y="18,17,17,16,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="30,31,31,32,32,33"
			y="20,20,19,18,17,17"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="25,25,26,27,28,29"
			y="17,18,18,18,17,17"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Shikyo has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="3"
			x="24"
			y="19"
		[/recruit]
		[random]
			value="315678520"
		[/random]
		[random]
			value="89755568"
		[/random]
		[random]
			value="2079147398"
		[/random]
		[random]
			value="898681065"
		[/random]
		[random]
			value="1037670393"
		[/random]
		[random]
			value="377734226"
		[/random]
		[random]
			value="720422008"
		[/random]
		[random]
			value="1804083443"
		[/random]
		[random]
			value="87759962"
		[/random]
		[random]
			value="401377858"
		[/random]
		[random]
			value="512247067"
		[/random]
		[random]
			value="1187253768"
		[/random]
		[random]
			value="2050791609"
		[/random]
		[random]
			value="1524828567"
		[/random]
		[random]
			value="1982526182"
			[results]
				checksum="H-Q.4kSU1kP6gOQR,wHJxusL-.Ekr06z8QM,E>N>OoNiAM-x,w+es6q9HO5BeFhCwtP2J9TQGVxvQw8SMUFUUA1FGHuc9g.x6zCvNjoC,6pf75HoLfpj9>yBpy8oYyof"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="4"
			x="18"
			y="19"
		[/recruit]
		[random]
			value="58655681"
		[/random]
		[random]
			value="2056927803"
		[/random]
		[random]
			value="599714403"
		[/random]
		[random]
			value="299834146"
		[/random]
		[random]
			value="1774926808"
		[/random]
		[random]
			value="91045565"
		[/random]
		[random]
			value="952951609"
		[/random]
		[random]
			value="1585673171"
		[/random]
		[random]
			value="406724085"
		[/random]
		[random]
			value="1042707177"
		[/random]
		[random]
			value="1517336921"
		[/random]
		[random]
			value="1305405150"
		[/random]
		[random]
			value="2080377570"
		[/random]
		[random]
			value="1895071147"
		[/random]
		[random]
			value="2025827159"
			[results]
				checksum="6hs5opl9pneud6314Hg106a+elObfd5dh>d-kgk5j40fd5c,laoh2>q4W68<jj1,,Bh1+4l10mji0WUg681h64jGjKk7ELbfXlO69>IPFNIDBGnoCSO3srDyLKztBBJx"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="21,22,22,22"
			y="21,20,19,18"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="zdz has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="22,22,22"
			y="18,17,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Jarn has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[recruit]
			value="7"
			x="24"
			y="5"
		[/recruit]
		[random]
			value="29543"
		[/random]
		[random]
			value="30031"
		[/random]
		[random]
			value="19921"
		[/random]
		[random]
			value="7880"
		[/random]
		[random]
			value="31965"
		[/random]
		[random]
			value="3685"
		[/random]
		[random]
			value="14949"
		[/random]
		[random]
			value="10447"
		[/random]
		[random]
			value="2498"
		[/random]
		[random]
			value="6148"
		[/random]
		[random]
			value="30942"
		[/random]
		[random]
			value="5793"
		[/random]
		[random]
			value="4817"
		[/random]
		[random]
			value="6793"
		[/random]
		[random]
			value="22645"
			[results]
				checksum=",Ad3Y5f-Gtmspp5jHbEoRiSrOCpxE4IDyxOzzQOG.nCLyyGDmUtLNvFrwCUxRLwFwmIsr1QENmxPFHFw.RFKFnqypNLpM8mwoFomIhFlq1.CLW<<ddNv5EsLNHBNzkOI"
			[/results]
		[/random]
	[/command]
	[command]
		[recruit]
			value="6"
			x="20"
			y="4"
		[/recruit]
		[random]
			value="30367"
		[/random]
		[random]
			value="12161"
		[/random]
		[random]
			value="19322"
		[/random]
		[random]
			value="31144"
		[/random]
		[random]
			value="9984"
		[/random]
		[random]
			value="31935"
		[/random]
		[random]
			value="4571"
		[/random]
		[random]
			value="16495"
		[/random]
		[random]
			value="6182"
		[/random]
		[random]
			value="7960"
		[/random]
		[random]
			value="30386"
		[/random]
		[random]
			value="9865"
		[/random]
		[random]
			value="16195"
		[/random]
		[random]
			value="22469"
		[/random]
		[random]
			value="5087"
			[results]
				checksum="XBfX4cmcHYau810h3t9co8gj2UWo-1,n-62ad7l9i<dX9dX-4o9W2w2-6hZd9kbd.d07gZj2f,ei>ybXfdk5k4Nw>d595,cp6dzgA.Zj4982<j3D1<4M26i7zO.<BtyI"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="jugador has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="26,27,28"
			y="10,11,11"
		[/move]
	[/command]
	[command]
		[move]
			x="28,29,30,31"
			y="11,11,10,10"
		[/move]
	[/command]
	[command]
		[move]
			x="37,38"
			y="9,8"
		[/move]
	[/command]
	[command]
		[move]
			x="31,31,31,31"
			y="6,7,8,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="dcp has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="23,23,22,22,22"
			y="13,12,11,10,9"
		[/move]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="ZenoZ has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="24,25,26,27,28,29,30"
			y="19,19,18,18,17,17,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="33,33"
			y="17,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="29,30,31,32"
			y="17,16,16,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="18,17,17,16,16,15"
			y="19,19,18,17,16,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="11,12,12"
			y="19,18,17"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="12,13"
			y="17,17"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="22,22,22,22,22,21"
			y="16,17,18,19,20,21"
		[/move]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="3"
			x="18"
			y="19"
		[/recruit]
		[random]
			value="1872122922"
		[/random]
		[random]
			value="118410521"
		[/random]
		[random]
			value="232338983"
		[/random]
		[random]
			value="989823998"
		[/random]
		[random]
			value="1432355985"
		[/random]
		[random]
			value="1876002321"
		[/random]
		[random]
			value="1421769709"
		[/random]
		[random]
			value="270926802"
		[/random]
		[random]
			value="159849500"
		[/random]
		[random]
			value="413140215"
		[/random]
		[random]
			value="1261253856"
		[/random]
		[random]
			value="12393462"
		[/random]
		[random]
			value="299782885"
		[/random]
		[random]
			value="1851051144"
		[/random]
		[random]
			value="675837956"
			[results]
				checksum="H-Q.4kSU1kP6gOQR,wHJxusL-.Ekr06z8QM,E>N>OoNiAM-x,w+es6q9HO5BeFhCwtP2J9TQGVxvPw8SMUFUUA1FGHuc9g0x6zCvNjoC,6pf72FoLfpj9>yBpy8oYBof"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[move]
			x="22,22"
			y="9,10"
		[/move]
	[/command]
	[command]
		[move]
			x="22,21"
			y="10,11"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="subLime has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="20,19,18,18,17,17"
			y="4,5,5,6,7,8"
		[/move]
	[/command]
	[command]
		[move]
			x="24,24,24,24,25,26,26"
			y="5,6,7,8,9,9,10"
		[/move]
	[/command]
	[command]
		[move]
			x="38,38"
			y="8,9"
		[/move]
	[/command]
	[command]
		[move]
			x="38,38"
			y="9,10"
		[/move]
	[/command]
	[command]
		[move]
			x="38,39"
			y="10,11"
		[/move]
	[/command]
	[command]
		[move]
			x="21,20"
			y="11,11"
		[/move]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="324000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[move]
			x="33,33"
			y="16,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="30,31,32,33,34"
			y="16,16,15,15,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="33,33"
			y="15,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="18,17,16,15,14,13,12"
			y="19,19,18,18,18,18,17"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="13,12,11,10,9"
			y="17,16,17,16,17"
		[/move]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="4"
			x="24"
			y="19"
		[/recruit]
		[random]
			value="1089912970"
		[/random]
		[random]
			value="270289236"
		[/random]
		[random]
			value="1934379929"
		[/random]
		[random]
			value="1271390920"
		[/random]
		[random]
			value="794630173"
		[/random]
		[random]
			value="2086141220"
		[/random]
		[random]
			value="1529215748"
		[/random]
		[random]
			value="1430800373"
		[/random]
		[random]
			value="85827213"
		[/random]
		[random]
			value="2011555486"
		[/random]
		[random]
			value="1352192893"
		[/random]
		[random]
			value="1478565716"
		[/random]
		[random]
			value="1639498788"
		[/random]
		[random]
			value="1005954787"
		[/random]
		[random]
			value="1757729145"
			[results]
				checksum="jfC5opl9pneud6314Hg106a+elObfd5dh>d-kgk5j40fd5c,laoh2>q4W68<jj1,,Bh1+4l10mji0.Ug681h64jGjKk7ELYl9YI95gAxGxnvPuSIVEH>yBMtLAwyHPDR"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="0"
			x="18"
			y="19"
		[/recruit]
		[random]
			value="566529503"
		[/random]
		[random]
			value="1218329560"
		[/random]
		[random]
			value="1090286706"
		[/random]
		[random]
			value="1295479285"
		[/random]
		[random]
			value="39552300"
		[/random]
		[random]
			value="32716028"
		[/random]
		[random]
			value="1565768522"
		[/random]
		[random]
			value="1973932229"
		[/random]
		[random]
			value="1304106948"
		[/random]
		[random]
			value="212915047"
		[/random]
		[random]
			value="1912589801"
		[/random]
		[random]
			value="685839048"
		[/random]
		[random]
			value="1643715420"
		[/random]
		[random]
			value="1998417014"
			[results]
				checksum="TtCMTozq7Vz-vHfNG<LtrmzARfmmFqV+ryEAuy4CQEqETFPCHGCyrKADxItsJVFvuOxEx3PuvGswNKRdEuCIrvtwzJGzixTLICN<rDI4RC8pMORdj<Pya5jb,a-<394R"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="21,22,23,24,25"
			y="21,20,20,20,21"
		[/move]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[recruit]
			value="5"
			x="24"
			y="5"
		[/recruit]
		[random]
			value="8723"
		[/random]
		[random]
			value="21849"
		[/random]
		[random]
			value="5940"
		[/random]
		[random]
			value="15628"
		[/random]
		[random]
			value="19960"
		[/random]
		[random]
			value="1483"
		[/random]
		[random]
			value="2242"
		[/random]
		[random]
			value="503"
		[/random]
		[random]
			value="19384"
		[/random]
		[random]
			value="23369"
		[/random]
		[random]
			value="32585"
		[/random]
		[random]
			value="4003"
		[/random]
		[random]
			value="19513"
		[/random]
		[random]
			value="25975"
		[/random]
		[random]
			value="9453"
			[results]
				checksum="-n8rN+-Dy+EeNPrPbGMNQXtz0Ipzwss1tysRRKOwxuoVBywHrwxEqutHtKzE>BNMxHQOHFw.RFKFnqypNLtM8mwoFomIhFlq1.CLW<<ddBfkHDONNHvHQO1I9LGCHpAC"
			[/results]
		[/random]
	[/command]
	[command]
		[recruit]
			value="2"
			x="23"
			y="5"
		[/recruit]
		[random]
			value="9652"
		[/random]
		[random]
			value="29299"
		[/random]
		[random]
			value="30385"
		[/random]
		[random]
			value="28153"
		[/random]
		[random]
			value="29132"
		[/random]
		[random]
			value="2114"
		[/random]
		[random]
			value="577"
		[/random]
		[random]
			value="12941"
		[/random]
		[random]
			value="897"
		[/random]
		[random]
			value="29962"
		[/random]
		[random]
			value="5494"
		[/random]
		[random]
			value="11914"
		[/random]
		[random]
			value="10228"
		[/random]
		[random]
			value="4793"
		[/random]
		[random]
			value="7826"
			[results]
				checksum="RUQsCRORlSP,DLsxDMMfFuzJRDJCyOyPpHMVsOIMzEOKRzPuHEfJqwNzzmyJIhVwVwSxvKsMAS8wEVRB+JCszfJzd4kC+rc<MF13amk4nil5K7b35>-yp,+>8,eyb6ac"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="39,38,38,38"
			y="11,10,9,8"
		[/move]
	[/command]
	[command]
		[move]
			x="31,30"
			y="9,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="arthur has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="20,19"
			y="11,12"
		[/move]
	[/command]
	[command]
		[move]
			x="17,18,19,20,20"
			y="8,7,8,8,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="mark_twain has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="19,20,21,22"
			y="12,11,11,11"
		[/move]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="WIF_Luigit has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="34,35"
			y="15,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="33,33"
			y="16,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="YAHG has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="24,25,26,27,28,29"
			y="19,19,18,18,17,17"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="12,12"
			y="17,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="12,13"
			y="16,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="MoraVen has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="15,14"
			y="16,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="18,17,16,15,14,13"
			y="19,19,18,18,18,18"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="25,24,23,22,21"
			y="21,20,20,20,21"
		[/move]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="0"
			x="24"
			y="19"
		[/recruit]
		[random]
			value="1202226769"
		[/random]
		[random]
			value="1383199470"
		[/random]
		[random]
			value="1450080132"
		[/random]
		[random]
			value="751192770"
		[/random]
		[random]
			value="1974995967"
		[/random]
		[random]
			value="123725252"
		[/random]
		[random]
			value="370987104"
		[/random]
		[random]
			value="1502315203"
		[/random]
		[random]
			value="239226331"
		[/random]
		[random]
			value="443405525"
		[/random]
		[random]
			value="770190805"
		[/random]
		[random]
			value="1501111401"
		[/random]
		[random]
			value="738820774"
		[/random]
		[random]
			value="1147150520"
			[results]
				checksum="TtCMTozq7Vz-vHfNG<LtrmzARfmmFqV+ryEAuy4CQEqETFPCHGCyrKADxItsJVFvuOxEx3PuvGswNKRdEuCIrvtwzJGzixTLICN<rDI4RC8pMORdj<Pya5jb,a-<394R"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="328000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[move]
			x="24,25,25,26,26,27"
			y="5,6,7,7,8,9"
		[/move]
	[/command]
	[command]
		[move]
			x="23,24,24,25,25,26,26,27"
			y="5,5,6,7,8,8,9,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="duh has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="linx has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="26,27,28"
			y="10,11,11"
		[/move]
	[/command]
	[command]
		[move]
			x="31,31,31,31"
			y="10,11,12,13"
		[/move]
	[/command]
	[command]
		[move]
			x="28,29,30"
			y="11,12,12"
		[/move]
	[/command]
	[command]
		[move]
			x="30,31"
			y="9,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="jogador has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="38,38"
			y="8,9"
		[/move]
	[/command]
	[command]
		[move]
			x="20,21,22,22,23,23"
			y="9,10,10,11,12,13"
		[/move]
	[/command]
	[command]
		[move]
			x="22,23,23,22"
			y="11,12,13,13"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="cearA has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[recruit]
			value="1"
			x="24"
			y="5"
		[/recruit]
		[random]
			value="18688"
		[/random]
		[random]
			value="16090"
		[/random]
		[random]
			value="26553"
		[/random]
		[random]
			value="11466"
		[/random]
		[random]
			value="16825"
		[/random]
		[random]
			value="11510"
		[/random]
		[random]
			value="10712"
		[/random]
		[random]
			value="339"
		[/random]
		[random]
			value="12970"
		[/random]
		[random]
			value="20669"
		[/random]
		[random]
			value="5098"
		[/random]
		[random]
			value="5927"
		[/random]
		[random]
			value="30807"
		[/random]
		[random]
			value="24702"
		[/random]
		[random]
			value="24467"
			[results]
				checksum="15,Wfc>cu2lH0olW9-5N-m<e6f60hfabkcij<4>i3h3e2.t0a1f<j870h0k565.Y0>ide2Ji80k.d8da021n<.26Z+40CN5c8b.-X,48E.7v3f3XdJFikGNTwGMoVOFH"
			[/results]
		[/random]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="292000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="capee has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="13,12,12,11"
			y="18,17,16,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="33,33"
			y="15,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="32,32"
			y="15,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="29,30"
			y="17,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="24,25,26,27,28,29"
			y="19,19,18,18,17,17"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Noitamina has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="tyler has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="4"
			x="24"
			y="19"
		[/recruit]
		[random]
			value="222877714"
		[/random]
		[random]
			value="542286297"
		[/random]
		[random]
			value="967493202"
		[/random]
		[random]
			value="1054597366"
		[/random]
		[random]
			value="1822876323"
		[/random]
		[random]
			value="2017393831"
		[/random]
		[random]
			value="1224289971"
		[/random]
		[random]
			value="1464355624"
		[/random]
		[random]
			value="242171381"
		[/random]
		[random]
			value="1607833889"
		[/random]
		[random]
			value="1271743685"
		[/random]
		[random]
			value="1414111132"
		[/random]
		[random]
			value="80988365"
		[/random]
		[random]
			value="220470521"
		[/random]
		[random]
			value="1876669546"
			[results]
				checksum="6hs5opl9mneud6314Hg106a+elObfd5dh>d-kgk5j40fd5c,laoh2>q4W68<jj1,,Bh1+4l10mji--Ug681h64jGjKk7ELbfXlO69>IPFNIDBGnoCSO3srDyLKztBCMx"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[move]
			x="22,22"
			y="13,14"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="tyler has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="23,22,21,20"
			y="13,13,14,14"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="20"
				y="14"
			[/source]
			[destination]
				x="20"
				y="15"
			[/destination]
		[/attack]
		[random]
			value="6387"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="9712"
			[results]
				chance="40"
				damage="8"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="9211"
			[results]
				chance="40"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="7485"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="18266"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="22,21"
			y="14,15"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="21"
				y="15"
			[/source]
			[destination]
				x="20"
				y="15"
			[/destination]
		[/attack]
		[random]
			value="9552"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="32145"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="18172"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="22444"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="29700"
			[results]
				chance="40"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="12,11,10"
			y="10,11,10"
		[/move]
	[/command]
	[command]
		[move]
			x="10,11,12"
			y="10,11,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Amos has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="31,31,30,30,29"
			y="13,12,11,10,10"
		[/move]
	[/command]
	[command]
		[move]
			x="30,30,31,31,32"
			y="12,11,11,10,9"
		[/move]
	[/command]
	[command]
		[recruit]
			value="0"
			x="18"
			y="5"
		[/recruit]
		[random]
			value="27227"
		[/random]
		[random]
			value="28826"
		[/random]
		[random]
			value="22101"
		[/random]
		[random]
			value="17775"
		[/random]
		[random]
			value="14893"
		[/random]
		[random]
			value="27904"
		[/random]
		[random]
			value="23508"
		[/random]
		[random]
			value="2594"
		[/random]
		[random]
			value="7369"
		[/random]
		[random]
			value="8789"
		[/random]
		[random]
			value="22174"
		[/random]
		[random]
			value="12967"
		[/random]
		[random]
			value="7373"
		[/random]
		[random]
			value="26829"
		[/random]
		[random]
			value="5609"
			[results]
				checksum="pMyPwoKvbBq0MCQtxRPyPu1PqOvyvtVtPtsuCMyPNLLqFJRxvqM3FDTGMqHwEVMDODuIOJsNEnPcOusOKDwebPsxOruODoP.K+zDJqnqswJL0PpQ,OvAQ30CF>dl1cth"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="24,25,26,27,28,29,30,31"
			y="5,6,6,6,5,5,5,6"
		[/move]
	[/command]
	[command]
		[move]
			x="31,30"
			y="10,9"
		[/move]
	[/command]
	[command]
		[move]
			x="32,31"
			y="9,10"
		[/move]
	[/command]
	[command]
		[move]
			x="27,26"
			y="10,10"
		[/move]
	[/command]
	[command]
		[move]
			x="27,28,29,30,31"
			y="9,9,9,8,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Toxic_Love has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="282000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="TRINITA has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Helmi has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="3"
			x="19"
			y="20"
		[/recruit]
		[random]
			value="810783480"
		[/random]
		[random]
			value="1840501981"
		[/random]
		[random]
			value="1513463092"
		[/random]
		[random]
			value="1392991355"
		[/random]
		[random]
			value="1277239130"
		[/random]
		[random]
			value="177835656"
		[/random]
		[random]
			value="697774177"
		[/random]
		[random]
			value="1934414303"
		[/random]
		[random]
			value="62509666"
		[/random]
		[random]
			value="1091879718"
		[/random]
		[random]
			value="281939095"
		[/random]
		[random]
			value="229296625"
		[/random]
		[random]
			value="433873854"
		[/random]
		[random]
			value="1593745335"
		[/random]
		[random]
			value="1489520436"
			[results]
				checksum="H-Q.4kSU1kP6gOQR,wHJxusL-.Ekr06z8QM,E>N>OoNiAM-x,w+es6q9HO5BeFhCwtP2J9TQGVxvPw8SMUFUUA1FGHuc9g0x6zCvNjoC,6pf72FoLfpj9>yBpy8oYBof"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="24,24,23,23,23"
			y="19,18,18,17,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[move]
			x="20,20,19,19,19,20"
			y="14,13,13,12,11,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="ZenoZ has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="21,22,22,23,23"
			y="15,14,13,13,12"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Peti5 has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="18,17,16,15,14,13,12"
			y="5,6,6,7,7,8,8"
		[/move]
	[/command]
	[command]
		[recruit]
			value="7"
			x="18"
			y="5"
		[/recruit]
		[random]
			value="32521"
		[/random]
		[random]
			value="32252"
		[/random]
		[random]
			value="6275"
		[/random]
		[random]
			value="6720"
		[/random]
		[random]
			value="6847"
		[/random]
		[random]
			value="23307"
		[/random]
		[random]
			value="7168"
		[/random]
		[random]
			value="15880"
		[/random]
		[random]
			value="10726"
		[/random]
		[random]
			value="11864"
		[/random]
		[random]
			value="20240"
		[/random]
		[random]
			value="4146"
		[/random]
		[random]
			value="6814"
		[/random]
		[random]
			value="10966"
		[/random]
		[random]
			value="24810"
			[results]
				checksum=",Ad3Y5f-Gtmsmp5jHbEoRiVrOCpxE4IDyxOzzQOG.nCLyyGDmUtLNvFrwCUxRLwFwmIsr1QENmxPFHFw.RFKFnqypNLmM8mwoFomIhFlq1.CLB<<ddNv5EsLNHBNzkOI"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="topace has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="31,31,31"
			y="9,8,7"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Janik has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="30,30"
			y="9,8"
		[/move]
	[/command]
	[command]
		[move]
			x="30,30"
			y="8,7"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="SBF has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="29,28,27,26,25"
			y="10,9,9,9,9"
		[/move]
	[/command]
	[command]
		[move]
			x="26,25"
			y="10,10"
		[/move]
	[/command]
	[command]
		[move]
			x="38,39"
			y="9,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="sigma has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="267000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="pgshadow has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="MrHanky has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="13,12,11,10,9"
			y="16,15,15,14,14"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="11,11,10,10"
			y="16,15,14,13"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="9,9,9,9,8"
			y="17,16,15,14,13"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="alpha_obs has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="14,13,13,12"
			y="15,15,14,13"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="16,15,15"
			y="14,14,13"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="GrRiiMii has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="19,20,20,21,21,22"
			y="20,19,18,18,17,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="33,33"
			y="16,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Lakhan has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="bluepierrot has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="32,32"
			y="16,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="30,30"
			y="16,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="29,30,31,31"
			y="17,16,16,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="23,23,23,24,25,26,27"
			y="16,17,18,18,18,18,18"
		[/move]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[move]
			x="18,17,16,15,14,13"
			y="5,6,6,7,7,8"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Pandemonium has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Omnikinred has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="23,23,22"
			y="12,13,13"
		[/move]
	[/command]
	[command]
		[move]
			x="22,23,23,24,24"
			y="13,13,12,11,10"
		[/move]
	[/command]
	[command]
		[move]
			x="20,20,20,19,18"
			y="10,9,8,8,7"
		[/move]
	[/command]
	[command]
		[recruit]
			value="0"
			x="18"
			y="5"
		[/recruit]
		[random]
			value="21091"
		[/random]
		[random]
			value="21971"
		[/random]
		[random]
			value="21832"
		[/random]
		[random]
			value="26890"
		[/random]
		[random]
			value="10514"
		[/random]
		[random]
			value="8705"
		[/random]
		[random]
			value="19281"
		[/random]
		[random]
			value="5496"
		[/random]
		[random]
			value="7536"
		[/random]
		[random]
			value="26673"
		[/random]
		[random]
			value="24096"
		[/random]
		[random]
			value="16172"
		[/random]
		[random]
			value="17199"
		[/random]
		[random]
			value="12961"
		[/random]
		[random]
			value="24335"
			[results]
				checksum="pMyPwoKvbBq0MCQtxRPyPu1PqOvyvtVtPtsuCMyPNLLqFJRxvqM3FDTGMqHwEVMDODuIOJsNEnPcOusOKDwebPsxOruODoP.K+zDJqnqswJL0PpQ,OvAQ30CF>dl1cth"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Codazzo has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="21,20,19,18,17,16,15"
			y="4,4,5,5,6,6,7"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Icarox has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="31,30,29,28,27,26,25,24,23"
			y="6,5,5,5,6,6,7,7,8"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="tsr has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="25,26"
			y="9,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="frodo42 has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Jean has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="rlk009 has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="12,11,10"
			y="8,9,8"
		[/move]
	[/command]
	[command]
		[move]
			x="12,11,10"
			y="10,10,9"
		[/move]
	[/command]
	[command]
		[move]
			x="11,10,9,9"
			y="11,10,10,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="OoO has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="25,25,24,23,22,21,20,19"
			y="10,9,8,9,8,8,8,8"
		[/move]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="233000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="King_Marco has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="10,11,11,11"
			y="13,13,12,11"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="9,9,9,9,9"
			y="14,13,12,11,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="1"
			weapon="1"
			[source]
				x="9"
				y="10"
			[/source]
			[destination]
				x="10"
				y="9"
			[/destination]
		[/attack]
		[random]
			value="119825342"
			[results]
				chance="60"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="575093348"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1928727318"
			[results]
				chance="60"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="974818186"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="8,8,9"
			y="13,12,12"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Offline has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="12,12,12"
			y="13,12,11"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="15,14,13,13,12"
			y="13,12,12,11,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="inge has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="karoth has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="9,10"
			y="12,11"
		[/move]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="0"
			x="24"
			y="19"
		[/recruit]
		[random]
			value="1368736008"
		[/random]
		[random]
			value="625260259"
		[/random]
		[random]
			value="311496949"
		[/random]
		[random]
			value="2136811244"
		[/random]
		[random]
			value="100139695"
		[/random]
		[random]
			value="82317427"
		[/random]
		[random]
			value="984123080"
		[/random]
		[random]
			value="1156685925"
		[/random]
		[random]
			value="1390673673"
		[/random]
		[random]
			value="2082767663"
		[/random]
		[random]
			value="1399095181"
		[/random]
		[random]
			value="900901435"
		[/random]
		[random]
			value="937665708"
		[/random]
		[random]
			value="711169255"
			[results]
				checksum="TtCMTozq7Vy-vHfNG<LtqmzARfmmFqV+ryEAuy4CQEqETFPCHGCyrKADxItsJVFvuOxEx3PuvGswNKRdEuCIrvtwzIGzixTLICN<rDI4RC8pMORdj<Pya5jb,a-,394R"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="0"
			x="23"
			y="20"
		[/recruit]
		[random]
			value="627481515"
		[/random]
		[random]
			value="315459280"
		[/random]
		[random]
			value="397878157"
		[/random]
		[random]
			value="1528382950"
		[/random]
		[random]
			value="1253124989"
		[/random]
		[random]
			value="1109047412"
		[/random]
		[random]
			value="45889620"
		[/random]
		[random]
			value="766107603"
		[/random]
		[random]
			value="1992671819"
		[/random]
		[random]
			value="1960534878"
		[/random]
		[random]
			value="1513809569"
		[/random]
		[random]
			value="1732137145"
		[/random]
		[random]
			value="1798010393"
		[/random]
		[random]
			value="1451036227"
			[results]
				checksum="TtCMTozq7Vy-vHfNG<LtqmzARfmmFqV+ryEAuy4CQEqETFPCHGCyrKADxItsJVFvuOxEx3PuvGswNKRdEuCIrvtwzIGzixTLICN<rDI4RC8pMORdj<Pya5jb,a-,394R"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="0"
			x="22"
			y="20"
		[/recruit]
		[random]
			value="1884683529"
		[/random]
		[random]
			value="2080681342"
		[/random]
		[random]
			value="1623315745"
		[/random]
		[random]
			value="1697734760"
		[/random]
		[random]
			value="1447007263"
		[/random]
		[random]
			value="1207969242"
		[/random]
		[random]
			value="1348261505"
		[/random]
		[random]
			value="750559843"
		[/random]
		[random]
			value="893548544"
		[/random]
		[random]
			value="763510708"
		[/random]
		[random]
			value="602140663"
		[/random]
		[random]
			value="1271113745"
		[/random]
		[random]
			value="745243640"
		[/random]
		[random]
			value="903294739"
			[results]
				checksum="TtCMTozq7Vy-vHfNG<LtqmzARfmmFqV+ryEAuy4CQEqETFPCHGCyrKADxItsJVFvuOxEx3PuvGswNKRdEuCIrvtwzIGzixTLICN<rDI4RC8pMORdj<Pya5jb,a-,394R"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="0"
			x="18"
			y="19"
		[/recruit]
		[random]
			value="1524460665"
		[/random]
		[random]
			value="1653658459"
		[/random]
		[random]
			value="813927047"
		[/random]
		[random]
			value="127536860"
		[/random]
		[random]
			value="399723355"
		[/random]
		[random]
			value="1577437755"
		[/random]
		[random]
			value="729677523"
		[/random]
		[random]
			value="1670837100"
		[/random]
		[random]
			value="175197747"
		[/random]
		[random]
			value="1632972262"
		[/random]
		[random]
			value="1357504627"
		[/random]
		[random]
			value="166355064"
		[/random]
		[random]
			value="1680414542"
		[/random]
		[random]
			value="1013934172"
			[results]
				checksum="TtCMTozq7Vy-vHfNG<LtqmzARfmmFqV+ryEAuy4CQEqETFPCHGCyrKADxItsJVFvuOxEx3PuvGswNKRdEuCIrvtwzIGzixTLICN<rDI4RC8pMORdj<Pya5jb,a-,394R"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="22,22"
			y="16,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="22,23,23,23,24"
			y="15,15,14,13,12"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="darkangel14 has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Electromagnum has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="24,23,23"
			y="10,11,12"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="23"
				y="12"
			[/source]
			[destination]
				x="24"
				y="12"
			[/destination]
		[/attack]
		[random]
			value="15595"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="11863"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="3703"
			[results]
				chance="40"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="17183"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="23,22,21,20,19,18,17,16,15"
			y="8,7,7,6,6,6,6,6,6"
		[/move]
	[/command]
	[command]
		[move]
			x="26,25"
			y="9,10"
		[/move]
	[/command]
	[command]
		[move]
			x="15,14,13,12"
			y="7,7,8,8"
		[/move]
	[/command]
	[command]
		[move]
			x="10,11,12"
			y="8,9,9"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="12"
				y="9"
			[/source]
			[destination]
				x="12"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="7022"
			[results]
				chance="70"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="29404"
			[results]
				chance="70"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="21033"
			[results]
				chance="70"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="12,13"
			y="8,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="DenLaden has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="18,17,17,16,15,14,13"
			y="7,8,9,9,10,10,10"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="13"
				y="10"
			[/source]
			[destination]
				x="12"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="17813"
			[results]
				chance="70"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="12812"
			[results]
				chance="40"
				damage="10"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="10799"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="26224"
			[results]
				chance="40"
				damage="10"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="26120"
			[results]
				chance="70"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Nightmare has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="10,11,11,12,12,12,12"
			y="9,9,8,7,6,5,4"
		[/move]
	[/command]
	[command]
		[move]
			x="13,12,11,10"
			y="8,8,9,9"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="10"
				y="9"
			[/source]
			[destination]
				x="9"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="12512"
			[results]
				chance="40"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="20210"
			[results]
				chance="50"
				damage="10"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="27601"
			[results]
				chance="40"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="15312"
			[results]
				chance="40"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="18,17,16,15,14,13,12"
			y="5,6,6,7,7,8,8"
		[/move]
	[/command]
	[command]
		[move]
			x="19,18,17,16,15,14,13"
			y="8,7,7,6,7,7,8"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="9"
				y="9"
			[/source]
			[destination]
				x="9"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="32508"
			[results]
				chance="40"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="22286"
			[results]
				chance="50"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="25532"
			[results]
				chance="40"
				damage="6"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="262000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Ngu has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="24,23"
			y="12,13"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="23"
				y="13"
			[/source]
			[destination]
				x="23"
				y="12"
			[/destination]
		[/attack]
		[random]
			value="1863374097"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1878897473"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="823964449"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="24,25,26,27,28"
			y="19,19,18,18,17"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="27,28,29,30,31,32,33"
			y="18,17,17,16,16,16,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="23,24,25,26,27"
			y="20,19,19,18,18"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="vaderbater has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="22,23,24,25,26"
			y="20,20,19,19,18"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="18,18,17,17,16"
			y="19,18,18,17,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="0"
			x="18"
			y="19"
		[/recruit]
		[random]
			value="2097604201"
		[/random]
		[random]
			value="327752981"
		[/random]
		[random]
			value="1962615108"
		[/random]
		[random]
			value="343985568"
		[/random]
		[random]
			value="980010189"
		[/random]
		[random]
			value="1697446339"
		[/random]
		[random]
			value="866815667"
		[/random]
		[random]
			value="1638046429"
		[/random]
		[random]
			value="239175964"
		[/random]
		[random]
			value="559238308"
		[/random]
		[random]
			value="423357509"
		[/random]
		[random]
			value="1276409828"
		[/random]
		[random]
			value="1040926078"
		[/random]
		[random]
			value="304893767"
			[results]
				checksum="TtCMTozq7Vz-vHfNG<LtrmzARfmmFqV+ryEAuy4CQEqETFPCHGCyrKADxItsJVFvuOxEx3PuvGswNKRdEuCIrvtwzJGzixTLICN<rDI4RC8pMORdj<Pya5jb,a-<394R"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="joueur has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="ryouko has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="0"
			x="19"
			y="20"
		[/recruit]
		[random]
			value="1872015665"
		[/random]
		[random]
			value="35697453"
		[/random]
		[random]
			value="1460144679"
		[/random]
		[random]
			value="1362578446"
		[/random]
		[random]
			value="274873417"
		[/random]
		[random]
			value="2019382988"
		[/random]
		[random]
			value="1785935955"
		[/random]
		[random]
			value="1551283245"
		[/random]
		[random]
			value="912825418"
		[/random]
		[random]
			value="2090829722"
		[/random]
		[random]
			value="2058344488"
		[/random]
		[random]
			value="1127478187"
		[/random]
		[random]
			value="617644806"
		[/random]
		[random]
			value="1577528327"
			[results]
				checksum="TtCMTozq7Vz-vHfNG<LtrmzARfmmFqV+ryEAuy4CQEqETFPCHGCyrKADxItsJVFvuOxEx3PuvGswNKRdEuCIrvtwzJGzixTLICN<rDI4RC8pMORdj<Pya5jb,a-<394R"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="H has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="hjartax has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="20,19,18,17,16,16"
			y="15,16,16,16,15,14"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="12,13"
			y="11,11"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="13"
				y="11"
			[/source]
			[destination]
				x="13"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="1644941197"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1188956258"
			[results]
				chance="60"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="921007696"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="244247844"
			[results]
				chance="60"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1677888954"
			[results]
				chance="60"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="12"
				y="10"
			[/source]
			[destination]
				x="13"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="746036748"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="924374979"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="3696718"
			[results]
				chance="40"
				damage="10"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="994161701"
			[results]
				chance="70"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1531465507"
			[results]
				chance="70"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="11,11"
			y="11,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="10,11"
			y="11,11"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="31,31,31"
			y="15,14,13"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="35,35,34,33,32"
			y="16,15,14,14,13"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="33,33,32,32"
			y="15,14,13,12"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="30,30,30,30"
			y="15,14,13,12"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="31,31,30,30,29"
			y="16,15,14,13,13"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="32,32,33,34,34"
			y="15,14,14,13,12"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="32,33"
			y="13,13"
		[/move]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Data has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="uipneu has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="12"
				y="9"
			[/source]
			[destination]
				x="12"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="28955"
			[results]
				chance="70"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="13281"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="17073"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="13,14,15,16,17,17"
			y="10,9,9,9,9,8"
		[/move]
	[/command]
	[command]
		[move]
			x="12,13,13"
			y="8,9,10"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="13"
				y="10"
			[/source]
			[destination]
				x="12"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="10596"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="31442"
			[results]
				chance="70"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="16684"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="10,10"
			y="9,8"
		[/move]
	[/command]
	[command]
		[move]
			x="13,12,11"
			y="9,8,8"
		[/move]
	[/command]
	[command]
		[move]
			x="10,11"
			y="8,9"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="11"
				y="9"
			[/source]
			[destination]
				x="11"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="31277"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="14126"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1438"
			[results]
				chance="60"
				damage="8"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="20307"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="15018"
			[results]
				chance="60"
				damage="8"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="14458"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="retortenbaby has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="11,10"
			y="8,8"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="H has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="13,12,11,10"
			y="8,8,9,9"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="10"
				y="9"
			[/source]
			[destination]
				x="11"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="17494"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="13281"
			[results]
				chance="30"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1304"
			[results]
				chance="60"
				damage="4"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="15,14,13,13,12,11,11"
			y="6,6,7,8,8,9,10"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="11"
				y="10"
			[/source]
			[destination]
				x="12"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="21604"
			[results]
				chance="70"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="30888"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="4840"
			[results]
				chance="70"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="31019"
			[results]
				chance="60"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="15178"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="9,10,10"
			y="9,9,10"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="10"
				y="10"
			[/source]
			[destination]
				x="11"
				y="11"
			[/destination]
		[/attack]
		[random]
			value="95"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="20235"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="16745"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="18090"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="25200"
			[results]
				chance="40"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Drawl1991 has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="amemnon has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="23,22,22,22"
			y="12,11,10,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Ownmaster has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Etherdrifter has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Dordamage1 has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Atric has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="25,26"
			y="10,10"
		[/move]
	[/command]
	[command]
		[move]
			x="31,31"
			y="7,6"
		[/move]
	[/command]
	[command]
		[move]
			x="30,30"
			y="7,6"
		[/move]
	[/command]
	[command]
		[move]
			x="31,31,31,31"
			y="10,9,8,7"
		[/move]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="262000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[move]
			x="16,15,14,13"
			y="16,16,15,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="18,17,17,16,16,15"
			y="19,19,18,17,16,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="19,18,17,16,15,14"
			y="20,19,19,18,19,18"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="13,14"
			y="11,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="14"
				y="10"
			[/source]
			[destination]
				x="13"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="881051371"
			[results]
				chance="80"
				damage="11"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1908938393"
			[results]
				chance="80"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="619316262"
			[results]
				chance="80"
				damage="11"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="949568189"
			[results]
				chance="80"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="12"
				y="10"
			[/source]
			[destination]
				x="13"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="125131302"
			[results]
				chance="80"
				damage="10"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1569466694"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="2082354359"
			[results]
				chance="80"
				damage="10"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="23,23,22,21,20"
			y="13,14,14,15,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="11"
				y="11"
			[/source]
			[destination]
				x="11"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="1167279607"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="741234718"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="198616275"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="4"
			x="18"
			y="19"
		[/recruit]
		[random]
			value="1812367366"
		[/random]
		[random]
			value="288658570"
		[/random]
		[random]
			value="1543498239"
		[/random]
		[random]
			value="1873298462"
		[/random]
		[random]
			value="1971458351"
		[/random]
		[random]
			value="597303856"
		[/random]
		[random]
			value="1232883943"
		[/random]
		[random]
			value="1748042378"
		[/random]
		[random]
			value="1759262437"
		[/random]
		[random]
			value="1333704142"
		[/random]
		[random]
			value="1262637245"
		[/random]
		[random]
			value="82038699"
		[/random]
		[random]
			value="365779293"
		[/random]
		[random]
			value="951446342"
		[/random]
		[random]
			value="1528540496"
			[results]
				checksum="6hs5opl9pneud6314Hg106a+elObfd5dh>d-kgk5j40fd5c,laoh2>q4W68<jj1,,Bh1+4l10mji0WUg681h64jGjKk7ELbfXlO69>IPFNIDBGnoCSO3srDyLKztBBJx"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Marechal has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="28,29,30,30,30"
			y="17,17,16,15,14"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="27,28,29,30,30"
			y="18,17,17,16,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="26,27,28,29,30"
			y="18,18,17,17,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="31,31,31,31"
			y="13,12,11,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="33,33,33"
			y="13,12,11"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="uipneu has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="32,33,34,35"
			y="12,12,12,12"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="H has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="34,33,32"
			y="12,12,11"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="33,33,33,32,32,31"
			y="16,15,14,13,12,12"
		[/move]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Ngu has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="11,11"
			y="9,8"
		[/move]
	[/command]
	[command]
		[move]
			x="10,11"
			y="8,9"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="12"
				y="9"
			[/source]
			[destination]
				x="12"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="11405"
			[results]
				chance="70"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="12690"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="23870"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="11"
				y="10"
			[/source]
			[destination]
				x="12"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="11102"
			[results]
				chance="70"
				damage="6"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="10,9"
			y="9,10"
		[/move]
	[/command]
	[command]
		[move]
			x="11,10"
			y="9,9"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="10"
				y="10"
			[/source]
			[destination]
				x="11"
				y="11"
			[/destination]
		[/attack]
		[random]
			value="21213"
			[results]
				chance="40"
				damage="9"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="18499"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="20865"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="25165"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="10521"
			[results]
				chance="40"
				damage="9"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="10,9,9,10"
			y="9,10,11,11"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="10"
				y="11"
			[/source]
			[destination]
				x="11"
				y="11"
			[/destination]
		[/attack]
		[random]
			value="29851"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="31617"
			[results]
				chance="60"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="22147"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="10063"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="743"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="9,9,10,11"
			y="10,11,11,12"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="11"
				y="12"
			[/source]
			[destination]
				x="11"
				y="11"
			[/destination]
		[/attack]
		[random]
			value="11473"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="5953"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="16473"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1884"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="24112"
			[results]
				chance="40"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="15654"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="12,12,12,12,12,12,12"
			y="4,5,6,7,8,9,10"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="12"
				y="10"
			[/source]
			[destination]
				x="11"
				y="11"
			[/destination]
		[/attack]
		[random]
			value="16118"
			[results]
				chance="40"
				damage="7"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Pedromir has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="11,11,11,11"
			y="8,9,10,11"
		[/move]
	[/command]
	[command]
		[move]
			x="22,23,24,25"
			y="9,9,8,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="DeathAnkjell has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Toxic_Love has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Kakamaka has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="39,38,37,36,36,35,35,34,33,32"
			y="9,8,9,8,7,7,6,5,6,5"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="n-o-s-a has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="17,18,19,20,21"
			y="8,7,8,8,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="frodo42 has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="249000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[move]
			x="14,14,13,12"
			y="10,11,12,11"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="12"
				y="11"
			[/source]
			[destination]
				x="11"
				y="11"
			[/destination]
		[/attack]
		[random]
			value="1515691555"
			[results]
				chance="60"
				damage="10"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1033040480"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1310221087"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1969215334"
			[results]
				chance="40"
				damage="9"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="18,17,16,15,14,13"
			y="19,19,18,18,18,18"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="14,13,12,11"
			y="18,19,19,19"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="15,14,13,13"
			y="16,15,16,17"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Azrael26 has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="5"
			x="18"
			y="19"
		[/recruit]
		[random]
			value="1713782066"
		[/random]
		[random]
			value="2009670206"
		[/random]
		[random]
			value="2063515695"
		[/random]
		[random]
			value="329343666"
		[/random]
		[random]
			value="910280180"
		[/random]
		[random]
			value="1916210076"
		[/random]
		[random]
			value="561812294"
		[/random]
		[random]
			value="1263007201"
		[/random]
		[random]
			value="693877193"
		[/random]
		[random]
			value="1436051707"
		[/random]
		[random]
			value="1388129537"
		[/random]
		[random]
			value="540819712"
		[/random]
		[random]
			value="607186045"
		[/random]
		[random]
			value="1893580871"
		[/random]
		[random]
			value="1424827672"
			[results]
				checksum="SU39RsJPnopbtoBBt5yPBdjCxIoyMyJsCAbPtOQpxQRNpnMsQGGGqEpPQwrEETo0BNqQDyBuEICFSQFuTGrqGNJbRBzNpHETGFOwJPvMPJFf8IBNyQOKRJUZDRgO-mID"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="4"
			x="19"
			y="20"
		[/recruit]
		[random]
			value="1357328339"
		[/random]
		[random]
			value="1449637236"
		[/random]
		[random]
			value="1343799053"
		[/random]
		[random]
			value="1219514897"
		[/random]
		[random]
			value="1365669284"
		[/random]
		[random]
			value="1673142720"
		[/random]
		[random]
			value="2129795077"
		[/random]
		[random]
			value="1134395712"
		[/random]
		[random]
			value="87471366"
		[/random]
		[random]
			value="1245318630"
		[/random]
		[random]
			value="1828272906"
		[/random]
		[random]
			value="1523523073"
		[/random]
		[random]
			value="485964519"
		[/random]
		[random]
			value="221608970"
		[/random]
		[random]
			value="2130709118"
			[results]
				checksum="6hs5opl9pneud6314Hg106a+elObfd5dh>d-kgk5j40fd5c,laoh2>q4W68<jj1,,Bh1+4l10mji0WUg681h64jGjKk7ELbfXlO69>IPFNIDBGnoCSO3srDyLKztBBJx"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="20,20,20"
			y="15,14,13"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="20,21"
			y="13,13"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Condoriano has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Aragon has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="30,30,30,29"
			y="14,13,12,12"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="30,30,30,30,30"
			y="15,14,13,12,11"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="30,31,32"
			y="12,12,12"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="30,30,30,30,30"
			y="16,15,14,13,12"
		[/move]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[move]
			x="11,11"
			y="10,11"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="11"
				y="11"
			[/source]
			[destination]
				x="12"
				y="11"
			[/destination]
		[/attack]
		[random]
			value="20498"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="9995"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="22983"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="16985"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="31770"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="11"
				y="12"
			[/source]
			[destination]
				x="12"
				y="11"
			[/destination]
		[/attack]
		[random]
			value="22568"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="9771"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="10330"
			[results]
				chance="60"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="4580"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="3782"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="6314"
			[results]
				chance="60"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="10,10,11"
			y="11,10,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Xardas has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="12"
				y="10"
			[/source]
			[destination]
				x="12"
				y="11"
			[/destination]
		[/attack]
		[random]
			value="9649"
			[results]
				chance="60"
				damage="10"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="10,11,11,11"
			y="10,11,12,13"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="n-o-s-a has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="sparkle has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="12,12,12,12"
			y="9,10,11,12"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="ced has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="11,12,12,13,14"
			y="10,9,8,8,7"
		[/move]
	[/command]
	[command]
		[move]
			x="21,22"
			y="9,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Mythological has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="25,26"
			y="9,8"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Ansengrinth__ has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="219000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="trifolio6 has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="NeoAnkor has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="PinguinSteve has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Buttercup has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="duh has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Shadrak has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="21,21,22,22"
			y="13,12,11,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="22"
				y="10"
			[/source]
			[destination]
				x="22"
				y="9"
			[/destination]
		[/attack]
		[random]
			value="515751708"
			[results]
				chance="60"
				damage="2"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="268059466"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1563370010"
			[results]
				chance="60"
				damage="2"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Corbin has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="33,32,31,30,29,28,27"
			y="11,10,10,10,10,9,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="27"
				y="9"
			[/source]
			[destination]
				x="26"
				y="8"
			[/destination]
		[/attack]
		[random]
			value="1715690454"
			[results]
				chance="60"
				damage="2"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1180443746"
			[results]
				chance="60"
				damage="2"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1748257150"
			[results]
				chance="60"
				damage="2"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="jenny has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="35,35,34,33"
			y="12,11,10,11"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="32,32"
			y="11,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="32,32"
			y="10,11"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="30,30"
			y="11,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="30,30"
			y="10,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="29,29,29"
			y="12,11,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="30,31,31,32"
			y="12,12,11,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="32,31,31,30"
			y="12,12,11,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="29,29,29"
			y="13,12,11"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="31,31"
			y="12,11"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="18,17,17,16,16,15"
			y="19,19,18,17,16,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="19,18,18,17,17,16"
			y="20,19,18,18,17,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="2"
			x="18"
			y="19"
		[/recruit]
		[random]
			value="1214614478"
		[/random]
		[random]
			value="1964534052"
		[/random]
		[random]
			value="1388152224"
		[/random]
		[random]
			value="1235705021"
		[/random]
		[random]
			value="1074208966"
		[/random]
		[random]
			value="2089313887"
		[/random]
		[random]
			value="1885997808"
		[/random]
		[random]
			value="204370139"
		[/random]
		[random]
			value="1973992443"
		[/random]
		[random]
			value="69729953"
		[/random]
		[random]
			value="1345554141"
		[/random]
		[random]
			value="1233338004"
		[/random]
		[random]
			value="441466778"
		[/random]
		[random]
			value="989521590"
		[/random]
		[random]
			value="471931795"
			[results]
				checksum="<3k85mndU3eF>a,..P305kg7W0d6cpzj<c3>k7>a,+alX1ah,2Wi<0o.-bnee7bo56d2incd,4Z6occi45H-f-5057b>02aa.o6Z+40CN5c8b.<X,47J.7v3b3e4xt<3"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="trifolio6 has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Dragonking has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="CloudStrifeX has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="295000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Omnikinred has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Shen has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="11,10,9,9"
			y="12,12,13,14"
		[/move]
	[/command]
	[command]
		[move]
			x="22,21,21"
			y="9,9,8"
		[/move]
	[/command]
	[command]
		[move]
			x="26,25,24,23,22"
			y="8,9,8,9,9"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="22"
				y="9"
			[/source]
			[destination]
				x="22"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="8181"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="3706"
			[results]
				chance="40"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="2320"
			[results]
				chance="60"
				damage="9"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="6020"
			[results]
				chance="60"
				damage="9"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="21,21,21,21,21,21"
			y="8,7,6,5,4,3"
		[/move]
	[/command]
	[command]
		[move]
			x="14,15,16,17,18"
			y="7,7,6,6,5"
		[/move]
	[/command]
	[command]
		[recruit]
			value="7"
			x="24"
			y="5"
		[/recruit]
		[random]
			value="30862"
		[/random]
		[random]
			value="26387"
		[/random]
		[random]
			value="1704"
		[/random]
		[random]
			value="21616"
		[/random]
		[random]
			value="23471"
		[/random]
		[random]
			value="20890"
		[/random]
		[random]
			value="29847"
		[/random]
		[random]
			value="18007"
		[/random]
		[random]
			value="1569"
		[/random]
		[random]
			value="14357"
		[/random]
		[random]
			value="23789"
		[/random]
		[random]
			value="21050"
		[/random]
		[random]
			value="19209"
		[/random]
		[random]
			value="2538"
		[/random]
		[random]
			value="30477"
			[results]
				checksum=",Ad3Y5f-Gtmsmp5jHbEoRiVrOCpxE4IDyxOzzQOG.nCLyyGDmUtLNvFrwCUxRLwFwmIsr1QENmxPFHFw.RFKFnqypNLmM8mwoFomIhFlq1.CLB<<ddNv5EsLNHBNzkOI"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="grzywacz has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Zuuez has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[recruit]
			value="1"
			x="23"
			y="5"
		[/recruit]
		[random]
			value="9599"
		[/random]
		[random]
			value="31420"
		[/random]
		[random]
			value="12313"
		[/random]
		[random]
			value="3891"
		[/random]
		[random]
			value="22787"
		[/random]
		[random]
			value="22575"
		[/random]
		[random]
			value="20227"
		[/random]
		[random]
			value="12011"
		[/random]
		[random]
			value="7608"
		[/random]
		[random]
			value="21167"
		[/random]
		[random]
			value="26854"
		[/random]
		[random]
			value="7009"
		[/random]
		[random]
			value="10044"
		[/random]
		[random]
			value="20917"
		[/random]
		[random]
			value="97"
			[results]
				checksum="14,Wfc>cu2lH0olW9-5N-m<e6f60hfabkcij<4>i3h3e2.t0a1f<j870h0k565.Y0>ide9Mi80k.d8da021n<.26Z+40CN5c8b.-X,48E.7v3f3XdJFikGGOwGMoVOFH"
			[/results]
		[/random]
	[/command]
	[command]
		[recruit]
			value="2"
			x="22"
			y="4"
		[/recruit]
		[random]
			value="23239"
		[/random]
		[random]
			value="11517"
		[/random]
		[random]
			value="22217"
		[/random]
		[random]
			value="18317"
		[/random]
		[random]
			value="31863"
		[/random]
		[random]
			value="4871"
		[/random]
		[random]
			value="3741"
		[/random]
		[random]
			value="122"
		[/random]
		[random]
			value="21944"
		[/random]
		[random]
			value="2927"
		[/random]
		[random]
			value="26660"
		[/random]
		[random]
			value="15845"
		[/random]
		[random]
			value="2227"
		[/random]
		[random]
			value="21770"
		[/random]
		[random]
			value="30449"
			[results]
				checksum="RVQsCRORlSP,DLsxDMMfFuzJRDJCyOyPpHMVsOIMzEOKRzPuHEfJqwNzzmyJIhVwVwSxvKtMAS8wEVRB+JCszfJzd4kC+rc<MF13amk4yil5K7b35>-yp,+<8,eyb6ac"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Lute has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="18,19,20"
			y="5,5,4"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="ito has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="11,10"
			y="13,13"
		[/move]
	[/command]
	[command]
		[move]
			x="12,11"
			y="12,13"
		[/move]
	[/command]
	[command]
		[move]
			x="32,31,30,29,28,27,26,26"
			y="5,5,5,6,6,7,7,8"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="26"
				y="8"
			[/source]
			[destination]
				x="27"
				y="9"
			[/destination]
		[/attack]
		[random]
			value="5734"
			[results]
				chance="40"
				damage="27"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="10177"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="12891"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="31,30,30,29,28"
			y="7,7,8,9,9"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="28"
				y="9"
			[/source]
			[destination]
				x="27"
				y="9"
			[/destination]
		[/attack]
		[random]
			value="3011"
			[results]
				chance="40"
				damage="10"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="30,29,28,27,26,25"
			y="6,7,6,7,7,8"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="ripfrench has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="31,30,29,28,27"
			y="6,6,7,6,7"
		[/move]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="238000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="kit has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="31,31,31,31,31"
			y="10,9,8,7,6"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Acolyte has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="nil has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="solange1 has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="32,31,30,29"
			y="10,10,9,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="29,28"
			y="10,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="30,30,30,30"
			y="9,8,7,6"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="32,31,30,29"
			y="11,11,10,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="1"
			weapon="1"
			[source]
				x="29"
				y="10"
			[/source]
			[destination]
				x="28"
				y="9"
			[/destination]
		[/attack]
		[random]
			value="1234779827"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="938563178"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="450088053"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="23955133"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="orion has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="DroppedConnection has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Kiu has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Lelomak has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="33,32,31"
			y="11,10,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="31,31,30"
			y="11,10,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="1"
			x="22"
			y="20"
		[/recruit]
		[random]
			value="396519812"
		[/random]
		[random]
			value="1541985254"
		[/random]
		[random]
			value="1426801686"
		[/random]
		[random]
			value="251435170"
		[/random]
		[random]
			value="1896340674"
		[/random]
		[random]
			value="1061357825"
		[/random]
		[random]
			value="1415403794"
		[/random]
		[random]
			value="974955704"
		[/random]
		[random]
			value="1167801051"
		[/random]
		[random]
			value="1611552615"
		[/random]
		[random]
			value="674460353"
		[/random]
		[random]
			value="1991879061"
		[/random]
		[random]
			value="1257510913"
		[/random]
		[random]
			value="1014353623"
		[/random]
		[random]
			value="2031653906"
			[results]
				checksum="uanXXm6,wl3GigaA+g95nn6hVh52<,alcaZ.01ah->ke.j8yho864c09je5dob.ld3k,h+bA1+Z...>9<ImYcB->dd8+XYVckKYca0dYfE>bqAh-anyQoXDDBuuCCOtE"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Vruchtsapht has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="22,23,24,25"
			y="10,11,11,12"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="15,14"
			y="16,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="16,16,15"
			y="16,15,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="13,12"
			y="17,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="13,12,11"
			y="18,17,17"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="11,10,9"
			y="19,18,18"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="krisu has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="18,17,16,15,14,13,12"
			y="19,19,18,18,18,18,17"
		[/move]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="297000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[move]
			x="9,9,9,9,9,8"
			y="14,13,12,11,10,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Danuis has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="11,11,12,12,13,14,15,16,17"
			y="11,10,9,8,8,7,7,6,7"
		[/move]
	[/command]
	[command]
		[move]
			x="10,11,11,11"
			y="13,13,12,11"
		[/move]
	[/command]
	[command]
		[move]
			x="11,11,11,11,10"
			y="13,12,11,10,9"
		[/move]
	[/command]
	[command]
		[move]
			x="25,26,27,28,29"
			y="8,7,7,6,6"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="1"
			weapon="1"
			[source]
				x="29"
				y="6"
			[/source]
			[destination]
				x="30"
				y="6"
			[/destination]
		[/attack]
		[random]
			value="21480"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="30991"
			[results]
				chance="50"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="29471"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="10050"
			[results]
				chance="70"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="razinger has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="24,25,26,27,28,29"
			y="5,6,6,6,6,7"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="29"
				y="7"
			[/source]
			[destination]
				x="30"
				y="6"
			[/destination]
		[/attack]
		[random]
			value="14711"
			[results]
				chance="50"
				damage="8"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="4311"
			[results]
				chance="60"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="14236"
			[results]
				chance="50"
				damage="8"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="ced has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="27,28,29,30"
			y="7,6,7,6"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="1"
			weapon="1"
			[source]
				x="30"
				y="6"
			[/source]
			[destination]
				x="31"
				y="6"
			[/destination]
		[/attack]
		[random]
			value="27135"
			[results]
				chance="70"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="14704"
			[results]
				chance="50"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="15722"
			[results]
				chance="70"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="5670"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="23,24,25,26,27,28,29,30"
			y="5,5,6,6,6,5,5,5"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="30"
				y="5"
			[/source]
			[destination]
				x="31"
				y="6"
			[/destination]
		[/attack]
		[random]
			value="32204"
			[results]
				chance="40"
				damage="6"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Jean has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="mysticX_th_unknown has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="22,23,24,24,24,24,25"
			y="4,5,5,6,7,8,9"
		[/move]
	[/command]
	[command]
		[move]
			x="28,27"
			y="9,9"
		[/move]
	[/command]
	[command]
		[move]
			x="26,27,28"
			y="8,9,9"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="28"
				y="9"
			[/source]
			[destination]
				x="29"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="569"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1965"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="22809"
			[results]
				chance="60"
				damage="18"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="25619"
			[results]
				chance="60"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="20,21,22,23,24"
			y="4,4,4,5,5"
		[/move]
	[/command]
	[command]
		[move]
			x="26,27"
			y="10,10"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="27"
				y="10"
			[/source]
			[destination]
				x="28"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="14306"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="24412"
			[results]
				chance="60"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="11568"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="29269"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="28515"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="6808"
			[results]
				chance="60"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="27,26,26"
			y="9,9,10"
		[/move]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="249000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[move]
			x="22,21,21,21,21,21,21,21"
			y="20,20,19,18,17,16,15,14"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="chinchi has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="chosen1 has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="inge has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="29,30,31,31"
			y="9,8,8,7"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="31"
				y="7"
			[/source]
			[destination]
				x="30"
				y="6"
			[/destination]
		[/attack]
		[random]
			value="571600869"
			[results]
				chance="50"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1507265030"
			[results]
				chance="50"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="409673675"
			[results]
				chance="50"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1799956614"
			[results]
				chance="50"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="29"
				y="10"
			[/source]
			[destination]
				x="28"
				y="9"
			[/destination]
		[/attack]
		[random]
			value="621654233"
			[results]
				chance="60"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1118558067"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="849517213"
			[results]
				chance="60"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="30,29"
			y="9,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="29"
				y="9"
			[/source]
			[destination]
				x="28"
				y="9"
			[/destination]
		[/attack]
		[random]
			value="1676433073"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1948710623"
			[results]
				chance="60"
				damage="9"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1342390186"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="694765787"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="31,31,31,30"
			y="10,9,8,7"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="30"
				y="7"
			[/source]
			[destination]
				x="30"
				y="6"
			[/destination]
		[/attack]
		[random]
			value="1149569608"
			[results]
				chance="50"
				damage="9"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="48489250"
			[results]
				chance="60"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="2081901186"
			[results]
				chance="50"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="ZenoZ has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="28"
				y="10"
			[/source]
			[destination]
				x="28"
				y="9"
			[/destination]
		[/attack]
		[random]
			value="1543034121"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="davidstp has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="30,30,30"
			y="10,9,8"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="25,24,24,25"
			y="12,11,10,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="25"
				y="10"
			[/source]
			[destination]
				x="25"
				y="9"
			[/destination]
		[/attack]
		[random]
			value="1294539200"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="2069652814"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="933483528"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="9,9,9,9,9"
			y="18,17,16,15,14"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="ced has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="11,11,11,10,10"
			y="17,16,15,14,13"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="12,12,12,12,11"
			y="16,15,14,13,13"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="12,12,12,12,12"
			y="17,16,15,14,13"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="13,13,13,12,12"
			y="16,15,14,13,12"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="14,14,14,13"
			y="15,14,13,13"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="15,15,14,14,14"
			y="15,14,13,12,11"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="16,15,14,14,13"
			y="14,14,13,12,12"
		[/move]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="5"
			x="24"
			y="19"
		[/recruit]
		[random]
			value="1341289196"
		[/random]
		[random]
			value="404063477"
		[/random]
		[random]
			value="1633409200"
		[/random]
		[random]
			value="227758108"
		[/random]
		[random]
			value="1205914506"
		[/random]
		[random]
			value="2058238928"
		[/random]
		[random]
			value="469082201"
		[/random]
		[random]
			value="482763386"
		[/random]
		[random]
			value="1920372693"
		[/random]
		[random]
			value="929632332"
		[/random]
		[random]
			value="2095945309"
		[/random]
		[random]
			value="822352426"
		[/random]
		[random]
			value="1167810727"
		[/random]
		[random]
			value="1634075852"
		[/random]
		[random]
			value="1546634912"
			[results]
				checksum="SU39RsGPnopbtoBBs5yPBdjCxIoyMyJsCAbPtOQpxQRNpnMsQGGGqEpPQwrEETo0BNqQDyBuEICFSQFuTGrqGKJbRBzNpHETGFOwJPvMPJFf8IBNyQOKRJUZDRgOWmID"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="4"
			x="23"
			y="20"
		[/recruit]
		[random]
			value="13503509"
		[/random]
		[random]
			value="524936059"
		[/random]
		[random]
			value="1648752190"
		[/random]
		[random]
			value="1219418016"
		[/random]
		[random]
			value="435691340"
		[/random]
		[random]
			value="2117834391"
		[/random]
		[random]
			value="1702181402"
		[/random]
		[random]
			value="208580385"
		[/random]
		[random]
			value="899983075"
		[/random]
		[random]
			value="1650643063"
		[/random]
		[random]
			value="1030932812"
		[/random]
		[random]
			value="2067793802"
		[/random]
		[random]
			value="1137235268"
		[/random]
		[random]
			value="430084076"
		[/random]
		[random]
			value="1698125076"
			[results]
				checksum="jfC5opl9mneud6314Hg106a+elObfd5dh>d-kgk5j40fd5c,laoh2>q4W68<jj1,,Bh1+4l10mji-+Ug681h64jGjKk7ELYl9YI95gAxGxnvPuSIVEH>yBMtLAwyHUER"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="ganador22 has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="12,12,12,12,12,12,12"
			y="10,9,8,7,6,5,4"
		[/move]
	[/command]
	[command]
		[move]
			x="10,11,11,12,12,12,13"
			y="9,9,8,7,6,5,5"
		[/move]
	[/command]
	[command]
		[move]
			x="8,8,8,8,9,10,11"
			y="9,8,7,6,6,5,5"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="steelassassin has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="11,11,11,11,12,12,12"
			y="11,10,9,8,7,6,5"
		[/move]
	[/command]
	[command]
		[move]
			x="17,17"
			y="7,8"
		[/move]
	[/command]
	[command]
		[move]
			x="21,21,20,19,18,17"
			y="3,4,4,4,3,3"
		[/move]
	[/command]
	[command]
		[move]
			x="24,24,25,25,26"
			y="5,6,7,8,8"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="smeeds has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="26,27"
			y="8,9"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="28"
				y="9"
			[/source]
			[destination]
				x="29"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="8673"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1456"
			[results]
				chance="60"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="10127"
			[results]
				chance="60"
				damage="18"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="2848"
			[results]
				chance="60"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="26,26"
			y="10,9"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="26"
				y="9"
			[/source]
			[destination]
				x="25"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="32720"
			[results]
				chance="30"
				damage="8"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="26552"
			[results]
				chance="60"
				damage="10"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="4312"
			[results]
				chance="30"
				damage="8"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="mnoph has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="27,26"
			y="10,10"
		[/move]
	[/command]
	[command]
		[move]
			x="27,27"
			y="9,10"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="27"
				y="10"
			[/source]
			[destination]
				x="28"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="7994"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="7658"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="15128"
			[results]
				chance="60"
				damage="6"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="26,27,28"
			y="10,11,10"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="28"
				y="10"
			[/source]
			[destination]
				x="29"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="10990"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="25737"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="31698"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="20429"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="13422"
			[results]
				chance="60"
				damage="7"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="thexo has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="25,26,27,28,29,30,31"
			y="9,8,9,9,10,10,10"
		[/move]
	[/command]
	[command]
		[move]
			x="30,31"
			y="6,6"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="1"
			weapon="1"
			[source]
				x="31"
				y="6"
			[/source]
			[destination]
				x="31"
				y="7"
			[/destination]
		[/attack]
		[random]
			value="30954"
			[results]
				chance="70"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="7051"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="3863"
			[results]
				chance="70"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="19682"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="30,31,32,33,33,32,31"
			y="5,5,5,6,7,7,8"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="31"
				y="8"
			[/source]
			[destination]
				x="31"
				y="7"
			[/destination]
		[/attack]
		[random]
			value="23"
			[results]
				chance="50"
				damage="5"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="29,30,31,31"
			y="6,5,6,7"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="31"
				y="7"
			[/source]
			[destination]
				x="30"
				y="7"
			[/destination]
		[/attack]
		[random]
			value="8418"
			[results]
				chance="70"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="8977"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="18433"
			[results]
				chance="70"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Redpisces has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="29,30"
			y="7,6"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="30"
				y="6"
			[/source]
			[destination]
				x="30"
				y="7"
			[/destination]
		[/attack]
		[random]
			value="32411"
			[results]
				chance="60"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="6715"
			[results]
				chance="50"
				damage="11"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="12849"
			[results]
				chance="60"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="3759"
			[results]
				chance="50"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="18766"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Peti has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="308000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[move]
			x="24,25,26,27,28"
			y="19,19,18,18,17"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="23,24,25,26,27,28,29"
			y="20,19,19,18,18,17,17"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="9,9,8,8,8"
			y="14,13,12,11,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="10,11,11,11,11"
			y="13,13,12,11,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="12,12,12,11"
			y="13,12,11,11"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="11,11,11,10,10"
			y="13,12,11,10,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="13,12,11,10,9,9"
			y="12,11,11,10,10,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="14,13,12,12,11"
			y="11,11,10,9,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="12,12,12,12,12"
			y="12,11,10,9,8"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="13,12,12,12,12"
			y="13,12,11,10,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="21,21,21,21,21"
			y="14,13,12,11,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="21"
				y="10"
			[/source]
			[destination]
				x="22"
				y="9"
			[/destination]
		[/attack]
		[random]
			value="1809218382"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="309838312"
			[results]
				chance="40"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="766893660"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1380443283"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1170754581"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="873698541"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1840683941"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="29"
				y="9"
			[/source]
			[destination]
				x="28"
				y="9"
			[/destination]
		[/attack]
		[random]
			value="292041631"
			[results]
				chance="60"
				damage="9"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="30,29,29"
			y="8,8,7"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="29"
				y="7"
			[/source]
			[destination]
				x="30"
				y="6"
			[/destination]
		[/attack]
		[random]
			value="1823926612"
			[results]
				chance="60"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="107843713"
			[results]
				chance="50"
				damage="12"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1725084282"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="393513643"
			[results]
				chance="50"
				damage="12"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="29,30"
			y="11,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="30"
				y="10"
			[/source]
			[destination]
				x="31"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="761587343"
			[results]
				chance="30"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1273524958"
			[results]
				chance="70"
				damage="2"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="10961954"
			[results]
				chance="30"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1136238988"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1089435859"
			[results]
				chance="70"
				damage="2"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="998689961"
			[results]
				chance="70"
				damage="2"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="30,30"
			y="7,6"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="30"
				y="6"
			[/source]
			[destination]
				x="31"
				y="6"
			[/destination]
		[/attack]
		[random]
			value="1749325957"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1168045568"
			[results]
				chance="50"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="212550521"
			[results]
				chance="40"
				damage="11"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="sauron876 has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="0"
			x="24"
			y="19"
		[/recruit]
		[random]
			value="360490722"
		[/random]
		[random]
			value="1403375633"
		[/random]
		[random]
			value="729966594"
		[/random]
		[random]
			value="779258441"
		[/random]
		[random]
			value="341449523"
		[/random]
		[random]
			value="703773839"
		[/random]
		[random]
			value="1810763284"
		[/random]
		[random]
			value="1296939932"
		[/random]
		[random]
			value="1809622102"
		[/random]
		[random]
			value="1054721708"
		[/random]
		[random]
			value="524002903"
		[/random]
		[random]
			value="1927771255"
		[/random]
		[random]
			value="1783534679"
		[/random]
		[random]
			value="974301481"
			[results]
				checksum="TtCMTozq7Vy-vHfNG<LtqmzARfmmFqV+ryEAuy4CQEqETFPCHGCyrKADxItsJVFvuOxEx3PuvGswNKRdEuCIrvtwzIGzixTLICN<rDI4RC8pMORdj<Pya5jb,a-,394R"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="0"
			x="23"
			y="20"
		[/recruit]
		[random]
			value="801253159"
		[/random]
		[random]
			value="2128518040"
		[/random]
		[random]
			value="425686681"
		[/random]
		[random]
			value="1161743882"
		[/random]
		[random]
			value="1384410026"
		[/random]
		[random]
			value="1155653275"
		[/random]
		[random]
			value="1941002323"
		[/random]
		[random]
			value="1725859549"
		[/random]
		[random]
			value="1859427114"
		[/random]
		[random]
			value="1604281959"
		[/random]
		[random]
			value="875315833"
		[/random]
		[random]
			value="1521565568"
		[/random]
		[random]
			value="511520019"
		[/random]
		[random]
			value="1399318737"
			[results]
				checksum="TtCMTozq7Vo-vHfNG<LtrmzARfmmFqV+ryEAuy4CQEqETFPCHGCyrKADxItsJVFvuOxEx3PuvGswNKRdEuCIrvtwzKGzixTLICN<rDI4RC8pJORdj<Pya5jb,a-,394R"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="nicram has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="31"
				y="6"
			[/source]
			[destination]
				x="30"
				y="6"
			[/destination]
		[/attack]
		[random]
			value="19968"
			[results]
				chance="70"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="26080"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="13424"
			[results]
				chance="70"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="31,30"
			y="8,7"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="30"
				y="7"
			[/source]
			[destination]
				x="30"
				y="6"
			[/destination]
		[/attack]
		[random]
			value="11993"
			[results]
				chance="50"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1123"
			[results]
				chance="60"
				damage="8"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="18852"
			[results]
				chance="50"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="489"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="27238"
			[results]
				chance="50"
				damage="5"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="31,30"
			y="7,6"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="30"
				y="6"
			[/source]
			[destination]
				x="29"
				y="7"
			[/destination]
		[/attack]
		[random]
			value="12698"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="25097"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="20552"
			[results]
				chance="70"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="ottavio has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="28,28"
			y="10,9"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="28"
				y="9"
			[/source]
			[destination]
				x="29"
				y="9"
			[/destination]
		[/attack]
		[random]
			value="30786"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="20165"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="4900"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="21848"
			[results]
				chance="60"
				damage="11"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="29237"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="27,28"
			y="10,10"
		[/move]
	[/command]
	[command]
		[move]
			x="26,27,28,29"
			y="9,10,10,10"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="29"
				y="10"
			[/source]
			[destination]
				x="29"
				y="9"
			[/destination]
		[/attack]
		[random]
			value="14807"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="29034"
			[results]
				chance="60"
				damage="11"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="11523"
			[results]
				chance="60"
				damage="7"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[choose]
			value="1"
		[/choose]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Abert has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="audunandresen has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="28,28,29,30"
			y="10,9,9,9"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="30"
				y="9"
			[/source]
			[destination]
				x="30"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="1462"
			[results]
				chance="70"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="10919"
			[results]
				chance="70"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="20697"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Aragon has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Dauntless has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="11,10,10"
			y="5,4,3"
		[/move]
	[/command]
	[command]
		[move]
			x="13,13"
			y="5,4"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="wallrider has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="12,11"
			y="4,4"
		[/move]
	[/command]
	[command]
		[move]
			x="12,12"
			y="5,4"
		[/move]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="313000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[move]
			x="29,30,31"
			y="17,16,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="28,29,30"
			y="17,17,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="24,25,26,27,28"
			y="19,19,18,18,17"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="23,24,25,26,27,28"
			y="20,19,19,18,19,18"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="mitchell has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="joeysnecrodude has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="29,28,28,29,30"
			y="7,6,5,5,5"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="30"
				y="5"
			[/source]
			[destination]
				x="31"
				y="6"
			[/destination]
		[/attack]
		[random]
			value="1904687769"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="819912704"
			[results]
				chance="60"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="537351201"
			[results]
				chance="40"
				damage="12"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Vercingetorix has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="30,30,29,28,27,27"
			y="10,11,12,11,11,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="27"
				y="10"
			[/source]
			[destination]
				x="28"
				y="9"
			[/destination]
		[/attack]
		[random]
			value="1078035326"
			[results]
				chance="70"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1590698991"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="140655619"
			[results]
				chance="70"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="219630854"
			[results]
				chance="60"
				damage="10"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="21,20,19,18,17"
			y="10,9,9,9,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="17"
				y="9"
			[/source]
			[destination]
				x="17"
				y="8"
			[/destination]
		[/attack]
		[random]
			value="1735483273"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1672469267"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1945814160"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="286695653"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1192926301"
			[results]
				chance="60"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="597429211"
			[results]
				chance="40"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="670154993"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Fust has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="toDIEisGAIN has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="11,11,11,11,12"
			y="9,8,7,6,5"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="12"
				y="5"
			[/source]
			[destination]
				x="12"
				y="4"
			[/destination]
		[/attack]
		[random]
			value="1987647981"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="506866930"
			[results]
				chance="40"
				damage="11"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1460268635"
			[results]
				chance="60"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1348088463"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="711171255"
			[results]
				chance="60"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Jon_Snow has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="12,12,12,12,13,13"
			y="9,8,7,6,6,5"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="13"
				y="5"
			[/source]
			[destination]
				x="12"
				y="4"
			[/destination]
		[/attack]
		[random]
			value="144002672"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="119742519"
			[results]
				chance="40"
				damage="9"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1790804265"
			[results]
				chance="70"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="2050885397"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1499025171"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="12,12,12,11,11"
			y="8,7,6,6,5"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="11"
				y="5"
			[/source]
			[destination]
				x="12"
				y="4"
			[/destination]
		[/attack]
		[random]
			value="384784142"
			[results]
				chance="60"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="938454816"
			[results]
				chance="40"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="2016800471"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="945673782"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1064459765"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="51691158"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="9,8,8,8,8,9"
			y="9,8,7,6,5,5"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="11,12,12,13,13,14"
			y="10,9,8,8,7,6"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Get has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="W4R10K has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="11,11,11,11,12,12,13"
			y="11,10,9,8,7,6,6"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="10,11,12,13,14,15"
			y="9,9,8,8,7,7"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="8,8,8,8,8,9"
			y="10,9,8,7,6,6"
		[/move]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="4"
			x="24"
			y="19"
		[/recruit]
		[random]
			value="1033757995"
		[/random]
		[random]
			value="338957644"
		[/random]
		[random]
			value="1249438479"
		[/random]
		[random]
			value="1182346294"
		[/random]
		[random]
			value="77739113"
		[/random]
		[random]
			value="1732175653"
		[/random]
		[random]
			value="2027582637"
		[/random]
		[random]
			value="33661554"
		[/random]
		[random]
			value="489581329"
		[/random]
		[random]
			value="1701866999"
		[/random]
		[random]
			value="444090667"
		[/random]
		[random]
			value="1424236350"
		[/random]
		[random]
			value="496424303"
		[/random]
		[random]
			value="1584613052"
		[/random]
		[random]
			value="1666607188"
			[results]
				checksum="jfC5opl9pneud6314Hg106a+elObfd5dh>d-kgk5j40fd5c,laoh2>q4W68<jj1,,Bh1+4l10mji-0Ug681h64jGjKk7ELYl9YI95gAxGxnvPuSVVEH>yBMtLAwyHUqR"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Gostav has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="30,29"
			y="9,9"
		[/move]
	[/command]
	[command]
		[move]
			x="29,28"
			y="10,9"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="28"
				y="9"
			[/source]
			[destination]
				x="27"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="23442"
			[results]
				chance="70"
				damage="8"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="27627"
			[results]
				chance="60"
				damage="8"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="27633"
			[results]
				chance="70"
				damage="8"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="27163"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="25548"
			[results]
				chance="70"
				damage="8"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="31,30,29,28,27,26"
			y="10,10,11,10,11,10"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="26"
				y="10"
			[/source]
			[destination]
				x="27"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="656"
			[results]
				chance="70"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="15620"
			[results]
				chance="30"
				damage="10"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="29779"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="32115"
			[results]
				chance="30"
				damage="10"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="29589"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="5540"
			[results]
				chance="70"
				damage="3"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Sercan has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="29,29,29"
			y="9,8,7"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="30"
				y="6"
			[/source]
			[destination]
				x="30"
				y="5"
			[/destination]
		[/attack]
		[random]
			value="26093"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="28555"
			[results]
				chance="70"
				damage="9"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="4825"
			[results]
				chance="70"
				damage="9"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="30,29,29"
			y="7,7,6"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="29"
				y="6"
			[/source]
			[destination]
				x="30"
				y="5"
			[/destination]
		[/attack]
		[random]
			value="4868"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="15767"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1821"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="5016"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="29174"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="TJ has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="12,12"
			y="4,3"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Icarox has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="10,11,12"
			y="3,4,4"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="12"
				y="4"
			[/source]
			[destination]
				x="11"
				y="5"
			[/destination]
		[/attack]
		[random]
			value="11668"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="19037"
			[results]
				chance="30"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="8144"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="12421"
			[results]
				chance="30"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="27857"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="9771"
			[results]
				chance="30"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="18061"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="11"
				y="4"
			[/source]
			[destination]
				x="11"
				y="5"
			[/destination]
		[/attack]
		[random]
			value="29853"
			[results]
				chance="60"
				damage="7"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="13"
				y="4"
			[/source]
			[destination]
				x="13"
				y="5"
			[/destination]
		[/attack]
		[random]
			value="14413"
			[results]
				chance="70"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="26694"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="17282"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="12,13"
			y="3,3"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="17"
				y="8"
			[/source]
			[destination]
				x="17"
				y="9"
			[/destination]
		[/attack]
		[random]
			value="26019"
			[results]
				chance="40"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="30154"
			[results]
				chance="60"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="16324"
			[results]
				chance="40"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="10629"
			[results]
				chance="60"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="2182"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="16042"
			[results]
				chance="60"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="27412"
			[results]
				chance="60"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="tnp has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="22,21"
			y="9,10"
		[/move]
	[/command]
	[command]
		[move]
			x="21,21"
			y="10,11"
		[/move]
	[/command]
	[command]
		[move]
			x="21,22,23"
			y="11,11,12"
		[/move]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[move]
			x="24,25,26,27,28,29"
			y="19,19,18,18,17,17"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="AndyDaSkitzo has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="28,29,30,30"
			y="17,17,16,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="28,29,30,31,32,33"
			y="18,18,17,17,16,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="30,31,32"
			y="16,16,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="3"
			x="24"
			y="19"
		[/recruit]
		[random]
			value="652389304"
		[/random]
		[random]
			value="599304912"
		[/random]
		[random]
			value="1658457493"
		[/random]
		[random]
			value="1647862546"
		[/random]
		[random]
			value="476900730"
		[/random]
		[random]
			value="907393339"
		[/random]
		[random]
			value="1633831375"
		[/random]
		[random]
			value="733318716"
		[/random]
		[random]
			value="18390290"
		[/random]
		[random]
			value="1357553750"
		[/random]
		[random]
			value="2090469432"
		[/random]
		[random]
			value="922285120"
		[/random]
		[random]
			value="1456101554"
		[/random]
		[random]
			value="1237967518"
		[/random]
		[random]
			value="1894706762"
			[results]
				checksum="H-Q.4kSU1kP6gOQR,wHJxusL-.Ekr06z8QM,E>N>OoNiAM-x,w+es6q9HO5BeFhCwtP2J9TQGVxvQw8SMUFUUA1FGHuc9g.x6zCvNjoC,6pf75HoLfpj9>yBpy8oYyof"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="0"
			x="23"
			y="20"
		[/recruit]
		[random]
			value="1043022425"
		[/random]
		[random]
			value="319222322"
		[/random]
		[random]
			value="879219139"
		[/random]
		[random]
			value="986008210"
		[/random]
		[random]
			value="1241507442"
		[/random]
		[random]
			value="187837045"
		[/random]
		[random]
			value="76492080"
		[/random]
		[random]
			value="988730556"
		[/random]
		[random]
			value="665562580"
		[/random]
		[random]
			value="1361086914"
		[/random]
		[random]
			value="1881146409"
		[/random]
		[random]
			value="2068404189"
		[/random]
		[random]
			value="601364987"
		[/random]
		[random]
			value="1832215413"
			[results]
				checksum="TtCMTozq7Vo-vHfNG<LtrmzARfmmFqV+ryEAuy4CQEqETFPCHGCyrKADxItsJVFvuOxEx3PuvGswNKRdEuCIrvtwzKGzixTLICN<rDI4RC8pJORdj<Pya5jb,a-,394R"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="ZanDerKan has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="21,20,20,20,20,20"
			y="21,20,19,18,17,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="30,31"
			y="5,6"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="17,16,15,14,13,12,11"
			y="9,9,10,10,10,10,11"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="12"
				y="5"
			[/source]
			[destination]
				x="12"
				y="4"
			[/destination]
		[/attack]
		[random]
			value="1475985307"
			[results]
				chance="30"
				damage="12"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1657956796"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1131402482"
			[results]
				chance="30"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="164820027"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="531258844"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1906268335"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="9,10,11"
			y="5,5,5"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="11"
				y="5"
			[/source]
			[destination]
				x="12"
				y="4"
			[/destination]
		[/attack]
		[random]
			value="1702017494"
			[results]
				chance="30"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1235518551"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1186803954"
			[results]
				chance="30"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="939517416"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="33555857"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="87545483"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Chupacabra has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="9,9,9,10"
			y="6,5,4,3"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="1"
			weapon="1"
			[source]
				x="10"
				y="3"
			[/source]
			[destination]
				x="11"
				y="4"
			[/destination]
		[/attack]
		[random]
			value="1530867135"
			[results]
				chance="50"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1148659093"
			[results]
				chance="50"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="14,15,16,17,18,18"
			y="6,6,5,5,4,3"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="18"
				y="3"
			[/source]
			[destination]
				x="17"
				y="3"
			[/destination]
		[/attack]
		[random]
			value="1130873613"
			[results]
				chance="60"
				damage="9"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="413222451"
			[results]
				chance="60"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="989606074"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="627582203"
			[results]
				chance="60"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1467665475"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="13,14,15,15,16"
			y="6,5,5,4,3"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="16"
				y="3"
			[/source]
			[destination]
				x="17"
				y="3"
			[/destination]
		[/attack]
		[random]
			value="611711010"
			[results]
				chance="60"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1495322418"
			[results]
				chance="60"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="886547406"
			[results]
				chance="60"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="15,15,16,16,17"
			y="7,6,5,4,4"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="17"
				y="4"
			[/source]
			[destination]
				x="17"
				y="3"
			[/destination]
		[/attack]
		[random]
			value="133552087"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1505882929"
			[results]
				chance="60"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="485008642"
			[results]
				chance="60"
				damage="6"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="13"
				y="5"
			[/source]
			[destination]
				x="12"
				y="4"
			[/destination]
		[/attack]
		[random]
			value="446300048"
			[results]
				chance="30"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="2015120963"
			[results]
				chance="70"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1743152461"
			[results]
				chance="30"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1906720830"
			[results]
				chance="70"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="497061285"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="728076871"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="30"
				y="6"
			[/source]
			[destination]
				x="31"
				y="6"
			[/destination]
		[/attack]
		[random]
			value="4404"
			[results]
				chance="70"
				damage="10"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="29,30,31"
			y="6,5,6"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="masterkaos has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="29,28,27,26,25,24"
			y="7,6,6,6,6,5"
		[/move]
	[/command]
	[command]
		[recruit]
			value="7"
			x="18"
			y="5"
		[/recruit]
		[random]
			value="25575"
		[/random]
		[random]
			value="19226"
		[/random]
		[random]
			value="24413"
		[/random]
		[random]
			value="22257"
		[/random]
		[random]
			value="23887"
		[/random]
		[random]
			value="9304"
		[/random]
		[random]
			value="7299"
		[/random]
		[random]
			value="31007"
		[/random]
		[random]
			value="19748"
		[/random]
		[random]
			value="10231"
		[/random]
		[random]
			value="5514"
		[/random]
		[random]
			value="2713"
		[/random]
		[random]
			value="2629"
		[/random]
		[random]
			value="26154"
		[/random]
		[random]
			value="7019"
			[results]
				checksum=",Ad3Y5f-Gtmnsp5jHbEoRiVrOCpxE4IDyxOzzQOG.nCLyyGDmUtLNvFrwCUxRLwFwmIsr1QENmxPFHFw.RFKFnqypNQsM8mwoFomIhFlq1.CLW<<ddNv5EsLNHBNzkOI"
			[/results]
		[/random]
	[/command]
	[command]
		[recruit]
			value="7"
			x="19"
			y="5"
		[/recruit]
		[random]
			value="13547"
		[/random]
		[random]
			value="2847"
		[/random]
		[random]
			value="21336"
		[/random]
		[random]
			value="30502"
		[/random]
		[random]
			value="16258"
		[/random]
		[random]
			value="3979"
		[/random]
		[random]
			value="5832"
		[/random]
		[random]
			value="756"
		[/random]
		[random]
			value="16629"
		[/random]
		[random]
			value="9943"
		[/random]
		[random]
			value="24365"
		[/random]
		[random]
			value="23335"
		[/random]
		[random]
			value="3958"
		[/random]
		[random]
			value="29766"
		[/random]
		[random]
			value="4431"
			[results]
				checksum=",Ad3Y5f-Gtmsmp5jHbEoRiVrOCpxE4IDyxOzzQOG.nCLyyGDmUtLNvFrwCUxRLwFwmIsr1QENmxPFHFw.RFKFnqypNLmM8mwoFomIhFlq1.CLB<<ddNv5EsLNHBNzkOI"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="NAT92 has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="ivanhoe has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="11,12"
			y="4,3"
		[/move]
	[/command]
	[command]
		[move]
			x="12,11,11"
			y="4,4,3"
		[/move]
	[/command]
	[command]
		[move]
			x="13,12,11"
			y="4,3,4"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="11"
				y="4"
			[/source]
			[destination]
				x="11"
				y="5"
			[/destination]
		[/attack]
		[random]
			value="8048"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="29302"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="24749"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="12,12"
			y="3,4"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="12"
				y="4"
			[/source]
			[destination]
				x="11"
				y="5"
			[/destination]
		[/attack]
		[random]
			value="25309"
			[results]
				chance="60"
				damage="9"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="19506"
			[results]
				chance="40"
				damage="8"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="9859"
			[results]
				chance="60"
				damage="9"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[choose]
			value="1"
		[/choose]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="11"
				y="3"
			[/source]
			[destination]
				x="10"
				y="3"
			[/destination]
		[/attack]
		[random]
			value="8026"
			[results]
				chance="50"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="12067"
			[results]
				chance="30"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="26092"
			[results]
				chance="50"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="14799"
			[results]
				chance="30"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="11347"
			[results]
				chance="50"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="21890"
			[results]
				chance="30"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="28625"
			[results]
				chance="50"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="13,12,11,10,9"
			y="3,3,4,4,4"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="9"
				y="4"
			[/source]
			[destination]
				x="10"
				y="3"
			[/destination]
		[/attack]
		[random]
			value="6518"
			[results]
				chance="50"
				damage="9"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="17,17,18,19,19,19"
			y="8,7,6,6,5,4"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="19"
				y="4"
			[/source]
			[destination]
				x="18"
				y="3"
			[/destination]
		[/attack]
		[random]
			value="5029"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="16483"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="16446"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="26805"
			[results]
				chance="60"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="16411"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Veliq has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="23,23,22"
			y="12,13,13"
		[/move]
	[/command]
	[command]
		[move]
			x="22,22,21,20"
			y="13,14,15,15"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="20"
				y="15"
			[/source]
			[destination]
				x="20"
				y="16"
			[/destination]
		[/attack]
		[random]
			value="24813"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="14132"
			[results]
				chance="40"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="9753"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="23704"
			[results]
				chance="40"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="14039"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="19392"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Darkfire64 has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Atlantis12345 has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="28,28"
			y="9,10"
		[/move]
	[/command]
	[command]
		[move]
			x="28,28"
			y="10,11"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Sieur has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="28,29,30,31"
			y="11,11,10,10"
		[/move]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="MrHase has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="ZanDerKan has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="20,20,20,19,18"
			y="16,17,18,19,19"
		[/move]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="4"
			x="19"
			y="20"
		[/recruit]
		[random]
			value="1596559012"
		[/random]
		[random]
			value="701428486"
		[/random]
		[random]
			value="2038465072"
		[/random]
		[random]
			value="132749108"
		[/random]
		[random]
			value="1798584240"
		[/random]
		[random]
			value="1747940438"
		[/random]
		[random]
			value="22106336"
		[/random]
		[random]
			value="714378596"
		[/random]
		[random]
			value="1749056456"
		[/random]
		[random]
			value="689714948"
		[/random]
		[random]
			value="489494859"
		[/random]
		[random]
			value="1620952883"
		[/random]
		[random]
			value="177571953"
		[/random]
		[random]
			value="1498455176"
		[/random]
		[random]
			value="1254380391"
			[results]
				checksum="jfC5opl9mneud6314Hg106a+elObfd5dh>d-kgk5j40fd5c,laoh2>q4W68<jj1,,Bh1+4l10mji-+Ug681h64jGjKk7ELYl9YI95gAxGxnvPuSIVEH>yBMtLAwyHUER"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="TJ has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="24,23,22,21,20,19,19"
			y="19,19,18,18,17,17,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="19"
				y="16"
			[/source]
			[destination]
				x="20"
				y="15"
			[/destination]
		[/attack]
		[random]
			value="2088202386"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="557398286"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1321551811"
			[results]
				chance="60"
				damage="2"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="23,24,25,26,27,28"
			y="20,19,19,18,18,17"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Nepumuk has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Runkerud has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="29,30,31,32"
			y="17,16,16,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="13,14,15,16,17,17"
			y="5,5,6,6,7,8"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="konflikt_86pl has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="12,12,12,12,12,12"
			y="5,6,7,8,9,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="17,17"
			y="4,3"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="16,17,18,19"
			y="3,3,2,3"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="19"
				y="3"
			[/source]
			[destination]
				x="19"
				y="4"
			[/destination]
		[/attack]
		[random]
			value="1492375913"
			[results]
				chance="60"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1154482001"
			[results]
				chance="60"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1722047765"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="18,17"
			y="3,4"
		[/move]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="sidedeal has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="FF has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[recruit]
			value="1"
			x="21"
			y="4"
		[/recruit]
		[random]
			value="243"
		[/random]
		[random]
			value="4129"
		[/random]
		[random]
			value="13541"
		[/random]
		[random]
			value="32035"
		[/random]
		[random]
			value="14457"
		[/random]
		[random]
			value="25395"
		[/random]
		[random]
			value="16900"
		[/random]
		[random]
			value="26889"
		[/random]
		[random]
			value="18497"
		[/random]
		[random]
			value="4530"
		[/random]
		[random]
			value="5192"
		[/random]
		[random]
			value="29494"
		[/random]
		[random]
			value="22537"
		[/random]
		[random]
			value="17327"
		[/random]
		[random]
			value="5520"
			[results]
				checksum="15,Wfc>cu2lH0olW9-5N-m<e6f60hfabkcij<4>i3h3e2.t0a1f<j870h0k565.Y0>ide2Ki80k.d8da021n<.26Z+40CN5c8b.-X,48K.7v3k3XdJFikGNQwGMoVOFH"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="19,19"
			y="5,6"
		[/move]
	[/command]
	[command]
		[move]
			x="24,23,22,21,20,19"
			y="5,5,4,4,4,5"
		[/move]
	[/command]
	[command]
		[move]
			x="19,18"
			y="4,4"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="18"
				y="4"
			[/source]
			[destination]
				x="17"
				y="4"
			[/destination]
		[/attack]
		[random]
			value="30876"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="12582"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="24265"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="17558"
			[results]
				chance="60"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="26859"
			[results]
				chance="60"
				damage="9"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="MattaDoor has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="19,18,17"
			y="6,5,5"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="17"
				y="5"
			[/source]
			[destination]
				x="17"
				y="4"
			[/destination]
		[/attack]
		[random]
			value="5205"
			[results]
				chance="60"
				damage="10"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="19,19"
			y="5,4"
		[/move]
	[/command]
	[command]
		[move]
			x="18,18,18"
			y="5,4,3"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="18"
				y="3"
			[/source]
			[destination]
				x="17"
				y="3"
			[/destination]
		[/attack]
		[random]
			value="9969"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="19928"
			[results]
				chance="60"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="15384"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="26713"
			[results]
				chance="60"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="8697"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="695"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="19"
				y="4"
			[/source]
			[destination]
				x="19"
				y="3"
			[/destination]
		[/attack]
		[random]
			value="18143"
			[results]
				chance="50"
				damage="10"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="10605"
			[results]
				chance="60"
				damage="2"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="21825"
			[results]
				chance="50"
				damage="10"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="26169"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="10807"
			[results]
				chance="50"
				damage="10"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="12,12,12,12,12,11,11"
			y="4,5,6,7,8,9,10"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="11"
				y="10"
			[/source]
			[destination]
				x="12"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="23268"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="10041"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="20689"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1272"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="25843"
			[results]
				chance="60"
				damage="12"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="cwb has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="9,10,11,12"
			y="4,4,5,4"
		[/move]
	[/command]
	[command]
		[move]
			x="11,12,12,12,12,12,12"
			y="4,4,5,6,7,8,9"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="12"
				y="9"
			[/source]
			[destination]
				x="12"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="25556"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="4516"
			[results]
				chance="60"
				damage="7"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="11,12,13,14"
			y="3,3,4,4"
		[/move]
	[/command]
	[command]
		[move]
			x="31,31"
			y="10,11"
		[/move]
	[/command]
	[command]
		[move]
			x="31,30,30,30,30"
			y="11,11,12,13,14"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="30"
				y="14"
			[/source]
			[destination]
				x="30"
				y="15"
			[/destination]
		[/attack]
		[random]
			value="18949"
			[results]
				chance="60"
				damage="12"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="5526"
			[results]
				chance="60"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="6952"
			[results]
				chance="60"
				damage="12"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="leftylink has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="26,27,28,29,30,31"
			y="10,10,10,10,10,10"
		[/move]
	[/command]
	[command]
		[move]
			x="30,30,30,29,29,29"
			y="6,7,8,9,10,11"
		[/move]
	[/command]
	[command]
		[move]
			x="31,31,30,30,29,28,27,26"
			y="6,7,7,8,9,9,10,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Spazmire has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="20,20,21"
			y="15,14,14"
		[/move]
	[/command]
	[command]
		[move]
			x="21,22"
			y="14,13"
		[/move]
	[/command]
	[command]
		[move]
			x="22,23"
			y="13,13"
		[/move]
	[/command]
	[command]
		[move]
			x="23,23"
			y="13,12"
		[/move]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="1"
			weapon="1"
			[source]
				x="17"
				y="3"
			[/source]
			[destination]
				x="18"
				y="3"
			[/destination]
		[/attack]
		[random]
			value="1930199647"
			[results]
				chance="60"
				damage="2"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="17548270"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="28,29,30,30"
			y="17,17,16,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="33,32,31"
			y="16,15,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="32,33"
			y="15,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="32,31,30"
			y="16,16,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="19,20"
			y="16,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="DerFin has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="19,18,18,18,17,17,16"
			y="20,19,18,17,17,16,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="bulba has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="18,19,20,21"
			y="19,20,20,21"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Gostav has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="4"
			x="18"
			y="19"
		[/recruit]
		[random]
			value="746230639"
		[/random]
		[random]
			value="1627414789"
		[/random]
		[random]
			value="184113961"
		[/random]
		[random]
			value="207975280"
		[/random]
		[random]
			value="1478741436"
		[/random]
		[random]
			value="1783330952"
		[/random]
		[random]
			value="1056194736"
		[/random]
		[random]
			value="543384723"
		[/random]
		[random]
			value="357013688"
		[/random]
		[random]
			value="1002708066"
		[/random]
		[random]
			value="2130307019"
		[/random]
		[random]
			value="1503674049"
		[/random]
		[random]
			value="1602674130"
		[/random]
		[random]
			value="1605229799"
		[/random]
		[random]
			value="846857780"
			[results]
				checksum="6hs5opl9pneud6314Hg106a+elObfd5dh>d-kgk5j40fd5c,laoh2>q4W68<jj1,,Bh1+4l10mji0WUg681h64jGjKk7ELbfXlO69>IPFNIDBGnoCSO3srDyLKztBBJx"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="4"
			x="19"
			y="20"
		[/recruit]
		[random]
			value="1998440584"
		[/random]
		[random]
			value="1195806603"
		[/random]
		[random]
			value="1590154678"
		[/random]
		[random]
			value="1456186735"
		[/random]
		[random]
			value="2042664383"
		[/random]
		[random]
			value="866705404"
		[/random]
		[random]
			value="76293355"
		[/random]
		[random]
			value="515941875"
		[/random]
		[random]
			value="1117387796"
		[/random]
		[random]
			value="233100896"
		[/random]
		[random]
			value="635814316"
		[/random]
		[random]
			value="2115741593"
		[/random]
		[random]
			value="1859934391"
		[/random]
		[random]
			value="1787211260"
		[/random]
		[random]
			value="644071801"
			[results]
				checksum="jfC5opl9pneud6314Hg106a+elObfd5dh>d-kgk5j40fd5c,laoh2>q4W68<jj1,,Bh1+4l10mji-0Ug681h64jGjKk7ELYl9YI95gAxGxnvPuSVVEH>yBMtLAwyHUqR"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="21,22,23"
			y="21,20,20"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="30"
				y="15"
			[/source]
			[destination]
				x="30"
				y="14"
			[/destination]
		[/attack]
		[random]
			value="2045405354"
			[results]
				chance="60"
				damage="1"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="31"
				y="15"
			[/source]
			[destination]
				x="30"
				y="14"
			[/destination]
		[/attack]
		[random]
			value="1631629438"
			[results]
				chance="60"
				damage="1"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="NeoAnkor has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="razinger has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="30"
				y="14"
			[/source]
			[destination]
				x="30"
				y="15"
			[/destination]
		[/attack]
		[random]
			value="30693"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="26832"
			[results]
				chance="60"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="22033"
			[results]
				chance="60"
				damage="10"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="2512"
			[results]
				chance="60"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="25106"
			[results]
				chance="60"
				damage="10"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="29,29,29,30,31"
			y="11,12,13,13,14"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="1"
			weapon="1"
			[source]
				x="31"
				y="14"
			[/source]
			[destination]
				x="31"
				y="15"
			[/destination]
		[/attack]
		[random]
			value="7348"
			[results]
				chance="70"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="16303"
			[results]
				chance="60"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="12255"
			[results]
				chance="70"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="9066"
			[results]
				chance="70"
				damage="7"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Sinbad has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="ciooi has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="31,31,31,31,32"
			y="10,11,12,13,13"
		[/move]
	[/command]
	[command]
		[move]
			x="26,27,28,29,30,31"
			y="10,11,11,12,12,13"
		[/move]
	[/command]
	[command]
		[move]
			x="23,22,22,22"
			y="12,11,10,9"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="18"
				y="3"
			[/source]
			[destination]
				x="17"
				y="3"
			[/destination]
		[/attack]
		[random]
			value="21122"
			[results]
				chance="40"
				damage="9"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="15854"
			[results]
				chance="60"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="3599"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="10584"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="11626"
			[results]
				chance="40"
				damage="9"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="grrr has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="19,19,18,18"
			y="4,5,5,6"
		[/move]
	[/command]
	[command]
		[move]
			x="17,18,18,18"
			y="5,5,6,7"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="18"
				y="7"
			[/source]
			[destination]
				x="17"
				y="8"
			[/destination]
		[/attack]
		[random]
			value="17711"
			[results]
				chance="60"
				damage="8"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="25281"
			[results]
				chance="50"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="12086"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="24717"
			[results]
				chance="50"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="7165"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Darkfire64 has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="12,11,10,10"
			y="9,9,9,10"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="10"
				y="10"
			[/source]
			[destination]
				x="11"
				y="11"
			[/destination]
		[/attack]
		[random]
			value="10323"
			[results]
				chance="40"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="3930"
			[results]
				chance="40"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="19891"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="11"
				y="10"
			[/source]
			[destination]
				x="11"
				y="11"
			[/destination]
		[/attack]
		[random]
			value="4125"
			[results]
				chance="40"
				damage="10"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="12427"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="3764"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="15496"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="21026"
			[results]
				chance="40"
				damage="10"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="21215"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="26411"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="12,12,12,12,12,12,12"
			y="4,5,6,7,8,9,10"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="12"
				y="10"
			[/source]
			[destination]
				x="11"
				y="11"
			[/destination]
		[/attack]
		[random]
			value="259"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="98"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="27"
			[results]
				chance="40"
				damage="7"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="21,20,19,18,17,17"
			y="4,4,5,5,6,7"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="17"
				y="7"
			[/source]
			[destination]
				x="17"
				y="8"
			[/destination]
		[/attack]
		[random]
			value="24344"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="20719"
			[results]
				chance="60"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="3936"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="6892"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="18330"
			[results]
				chance="60"
				damage="7"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="18,17,17"
			y="4,4,3"
		[/move]
	[/command]
	[command]
		[move]
			x="14,13,12"
			y="4,5,4"
		[/move]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="MrHanky has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="17,17"
			y="8,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="17,18"
			y="9,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="TJ has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="16,16"
			y="15,14"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="18,17,16,15,14,13"
			y="19,19,18,18,18,18"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="19,18,18,17,17,16"
			y="20,19,18,18,17,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="23,24"
			y="20,19"
		[/move]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="2"
			x="23"
			y="20"
		[/recruit]
		[random]
			value="1241610298"
		[/random]
		[random]
			value="286251263"
		[/random]
		[random]
			value="1163919540"
		[/random]
		[random]
			value="1062175274"
		[/random]
		[random]
			value="1099265050"
		[/random]
		[random]
			value="1620038541"
		[/random]
		[random]
			value="1046192015"
		[/random]
		[random]
			value="1375407749"
		[/random]
		[random]
			value="267651223"
		[/random]
		[random]
			value="621494291"
		[/random]
		[random]
			value="162724414"
		[/random]
		[random]
			value="408113180"
		[/random]
		[random]
			value="257007646"
		[/random]
		[random]
			value="705381697"
		[/random]
		[random]
			value="1638693607"
			[results]
				checksum="<3k85mndU3eF>a,..P305kg7W0d6cpzj<c3>k7>a,+alX1ah,2Wi<0o.-bnee7bo56d2incd,4Z6occi45H-f-5057b>02aa.o6Z+40CN5c8b.<X,47J.7v3b3e4xt<3"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="24,24,25"
			y="19,20,21"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="33,33,32"
			y="16,15,14"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="32"
				y="14"
			[/source]
			[destination]
				x="31"
				y="14"
			[/destination]
		[/attack]
		[random]
			value="1091394715"
			[results]
				chance="60"
				damage="10"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="309894351"
			[results]
				chance="60"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1205918525"
			[results]
				chance="60"
				damage="10"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="31,31"
			y="16,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="31"
				y="15"
			[/source]
			[destination]
				x="31"
				y="14"
			[/destination]
		[/attack]
		[random]
			value="1862688735"
			[results]
				chance="60"
				damage="10"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="30,31,32,33,33"
			y="16,16,15,15,14"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="33"
				y="14"
			[/source]
			[destination]
				x="32"
				y="13"
			[/destination]
		[/attack]
		[random]
			value="1329593966"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="717151892"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1500416197"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1665528974"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1770516620"
			[results]
				chance="70"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="871717983"
			[results]
				chance="70"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="maho2 has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="18,17"
			y="9,10"
		[/move]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[move]
			x="18,18,18,17,17,17"
			y="3,4,5,6,7,8"
		[/move]
	[/command]
	[command]
		[move]
			x="18,19,19,19"
			y="6,7,8,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="masterkaos has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="18,19,19,18"
			y="7,8,9,9"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="18"
				y="9"
			[/source]
			[destination]
				x="17"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="11238"
			[results]
				chance="50"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="15655"
			[results]
				chance="50"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="3298"
			[results]
				chance="50"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="2267"
			[results]
				chance="50"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="25018"
			[results]
				chance="50"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="17,17,17,17,17,17,17"
			y="3,4,5,6,7,8,9"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="17"
				y="9"
			[/source]
			[destination]
				x="17"
				y="10"
			[/destination]
		[/attack]
		[random]
			value="30813"
			[results]
				chance="50"
				damage="4"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="29594"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="19422"
			[results]
				chance="50"
				damage="4"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[choose]
			value="0"
		[/choose]
	[/command]
	[command]
		[move]
			x="12,12,12,12,12,12,12,11"
			y="4,5,6,7,8,9,10,11"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="chaosfactor has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Ardi1 has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="ripfrench has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="66 has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Shadrak has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="howdy has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="22,22,22"
			y="9,10,11"
		[/move]
	[/command]
	[command]
		[move]
			x="22,23"
			y="11,12"
		[/move]
	[/command]
	[command]
		[move]
			x="23,24"
			y="12,11"
		[/move]
	[/command]
	[command]
		[move]
			x="17,16,15,14,13,12,12"
			y="7,6,7,7,8,8,9"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="TJ has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="10,9,8,8,8"
			y="10,11,11,12,13"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="DDB_Diego has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="11,11,10"
			y="10,11,11"
		[/move]
	[/command]
	[command]
		[move]
			x="32,31,30,30,31"
			y="13,14,14,15,16"
		[/move]
	[/command]
	[command]
		[move]
			x="30,30"
			y="14,15"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="30"
				y="15"
			[/source]
			[destination]
				x="31"
				y="15"
			[/destination]
		[/attack]
		[random]
			value="23077"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="5871"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="10229"
			[results]
				chance="60"
				damage="8"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="29717"
			[results]
				chance="60"
				damage="12"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="12887"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="31,31,31,31"
			y="13,12,11,10"
		[/move]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="293000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="roger has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="23,24,25,26,27,28,29"
			y="20,19,19,18,18,17,18"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="25,25,24"
			y="21,20,19"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="DerGevater has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="3"
			x="23"
			y="20"
		[/recruit]
		[random]
			value="1475045143"
		[/random]
		[random]
			value="143477648"
		[/random]
		[random]
			value="1829875325"
		[/random]
		[random]
			value="1873005024"
		[/random]
		[random]
			value="247761170"
		[/random]
		[random]
			value="2136207070"
		[/random]
		[random]
			value="233052395"
		[/random]
		[random]
			value="358539399"
		[/random]
		[random]
			value="1967490267"
		[/random]
		[random]
			value="792876057"
		[/random]
		[random]
			value="288350328"
		[/random]
		[random]
			value="1791694584"
		[/random]
		[random]
			value="1382685712"
		[/random]
		[random]
			value="828666766"
		[/random]
		[random]
			value="1044810875"
			[results]
				checksum="H-Q.4kSU1kP6gOQR,wHJxusL-.Ekr06z8QM,E>N>OoNiAM-x,w+es6q9HO5BeFhCwtP2J9TQGVxvQw8SMUFUUA1FGHuc9g.x6zCvNjoC,6pf75HoLfpj9>yBpy8oYyof"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="0"
			x="18"
			y="19"
		[/recruit]
		[random]
			value="273643491"
		[/random]
		[random]
			value="99148810"
		[/random]
		[random]
			value="1498659081"
		[/random]
		[random]
			value="262366913"
		[/random]
		[random]
			value="332201205"
		[/random]
		[random]
			value="1857198481"
		[/random]
		[random]
			value="82373532"
		[/random]
		[random]
			value="1125077262"
		[/random]
		[random]
			value="2145548809"
		[/random]
		[random]
			value="1874068116"
		[/random]
		[random]
			value="360279326"
		[/random]
		[random]
			value="826731927"
		[/random]
		[random]
			value="771395344"
		[/random]
		[random]
			value="1605705227"
			[results]
				checksum="TtCMTozq7Vz-vHfNG<LtrmzARfmmFqV+ryEAuy4CQEqETFPCHGCyrKADxItsJVFvuOxEx3PuvGswNKRdEuCIrvtwzJGzixTLICN<rDI4RC8pMORdj<Pya5jb,a-<394R"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="24,25,26,27"
			y="19,19,18,18"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="chinchi has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="13,12,11"
			y="18,18,19"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="16,15"
			y="16,16"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="20,19,18,17,17"
			y="15,16,16,16,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="15,14"
			y="16,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="17,16"
			y="15,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="31,30"
			y="15,14"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="30"
				y="14"
			[/source]
			[destination]
				x="30"
				y="15"
			[/destination]
		[/attack]
		[random]
			value="734677065"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1062560848"
			[results]
				chance="60"
				damage="12"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1070029631"
			[results]
				chance="60"
				damage="8"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1864114239"
			[results]
				chance="60"
				damage="12"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1164564224"
			[results]
				chance="60"
				damage="8"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Atlantis96585 has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="32,32"
			y="14,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="32"
				y="15"
			[/source]
			[destination]
				x="31"
				y="16"
			[/destination]
		[/attack]
		[random]
			value="1002268196"
			[results]
				chance="30"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="866340740"
			[results]
				chance="60"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1840223679"
			[results]
				chance="30"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="2081402305"
			[results]
				chance="60"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="868527010"
			[results]
				chance="60"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1197425183"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="33,32,31"
			y="14,14,15"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="31"
				y="15"
			[/source]
			[destination]
				x="30"
				y="15"
			[/destination]
		[/attack]
		[random]
			value="2137677761"
			[results]
				chance="70"
				damage="6"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1358635518"
			[results]
				chance="60"
				damage="10"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Peti has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="31,30,29,29,30"
			y="16,15,15,14,13"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="30"
				y="13"
			[/source]
			[destination]
				x="30"
				y="14"
			[/destination]
		[/attack]
		[random]
			value="26635"
			[results]
				chance="60"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="24223"
			[results]
				chance="40"
				damage="16"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="13281"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="19927"
			[results]
				chance="40"
				damage="16"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="15858"
			[results]
				chance="60"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="32464"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
	[/command]
	[command]
		[move]
			x="31,31,30,29,29,29"
			y="10,11,11,12,13,14"
		[/move]
	[/command]
	[command]
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="29"
				y="14"
			[/source]
			[destination]
				x="30"
				y="14"
			[/destination]
		[/attack]
		[random]
			value="9403"
			[results]
				chance="60"
				damage="5"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="15377"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="14516"
			[results]
				chance="60"
				damage="5"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		[choose]
			value="0"
		[/choose]
	[/command]
	[command]
		[move]
			x="24,23,23,22,22,21,20"
			y="11,12,13,13,14,15,15"
		[/move]
	[/command]
	[command]
		[move]
			x="19,19,19,19,18"
			y="9,8,7,6,5"
		[/move]
	[/command]
	[command]
		[recruit]
			value="4"
			x="24"
			y="5"
		[/recruit]
		[random]
			value="3567"
		[/random]
		[random]
			value="2263"
		[/random]
		[random]
			value="5745"
		[/random]
		[random]
			value="13664"
		[/random]
		[random]
			value="31051"
		[/random]
		[random]
			value="9107"
		[/random]
		[random]
			value="31253"
		[/random]
		[random]
			value="4144"
		[/random]
		[random]
			value="29678"
		[/random]
		[random]
			value="15795"
		[/random]
		[random]
			value="3028"
		[/random]
		[random]
			value="16338"
		[/random]
		[random]
			value="9899"
		[/random]
		[random]
			value="4052"
		[/random]
		[random]
			value="18604"
			[results]
				checksum="rhRteuCm>Im>OtyS+7ckzAuBMm0+Z8dI9a<pk8651Wl8Z5w.cldpBX>77bllckl2Y+5>aaii6<81mkljb2ifil7.WgZ2.h<5-XxS+j>k2403-p8TA9v1-xH1iTk+k58Y"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="roger has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="12,12,12"
			y="10,11,12"
		[/move]
	[/command]
	[command]
		[move]
			x="11,11,11"
			y="11,12,13"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="roger has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="8,9,10"
			y="13,13,13"
		[/move]
	[/command]
	[command]
		[move]
			x="10,11"
			y="11,11"
		[/move]
	[/command]
	[command]
		[move]
			x="12,11,10,9,8,7,6,6,6"
			y="9,10,10,11,11,12,12,13,14"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="DerFin has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="18,19,19,19,18"
			y="9,10,11,12,12"
		[/move]
	[/command]
	[command]
		[move]
			x="17,17,17,18,19,20,21,22,23,24"
			y="9,8,7,6,7,7,8,8,8,8"
		[/move]
	[/command]
	[command]
		[move]
			x="17,17,16,15,14,13"
			y="8,7,6,7,7,8"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="achnic has logged into the lobby"
		[/speak]
	[/command]
	[command]
		[move]
			x="18,19,20"
			y="5,5,4"
		[/move]
	[/command]
	[command]
		[countdown_update]
			team="1"
			value="271000"
		[/countdown_update]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="yankjenets has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="retortenbaby has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="thexo has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="31,32,32,31"
			y="15,14,13,13"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="31"
				y="13"
			[/source]
			[destination]
				x="30"
				y="13"
			[/destination]
		[/attack]
		[random]
			value="91340291"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1865177447"
			[results]
				chance="60"
				damage="2"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1535899596"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="437090351"
			[results]
				chance="60"
				damage="2"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1328452829"
			[results]
				chance="60"
				damage="2"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="882431645"
			[results]
				chance="60"
				damage="2"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="32,31,30"
			y="15,15,14"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="0"
			weapon="0"
			[source]
				x="30"
				y="14"
			[/source]
			[destination]
				x="30"
				y="13"
			[/destination]
		[/attack]
		[random]
			value="676302646"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="744953939"
			[results]
				chance="60"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="827983395"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="718890214"
			[results]
				chance="60"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
		[random]
			value="1533822386"
			[results]
				chance="60"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="1168823023"
			[results]
				chance="60"
				damage="3"
				dies="no"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="29,29,30,31,31,31"
			y="18,17,16,16,15,14"
		[/move]
	[/command]
	[command]
		sent="yes"
		[attack]
			defender_weapon="-1"
			weapon="1"
			[source]
				x="31"
				y="14"
			[/source]
			[destination]
				x="30"
				y="13"
			[/destination]
		[/attack]
		[random]
			value="1078943786"
			[results]
				chance="40"
				damage="0"
				dies="no"
				hits="no"
			[/results]
		[/random]
		[random]
			value="163819120"
			[results]
				chance="40"
				damage="7"
				dies="yes"
				hits="yes"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[move]
			x="23,24,25,26,27,28,29"
			y="20,19,19,18,18,17,17"
		[/move]
	[/command]
	[command]
		sent="yes"
		[move]
			x="18,17,16,15,14,13"
			y="19,19,18,18,18,18"
		[/move]
	[/command]
	[command]
		sent="yes"
		undo="no"
		[speak]
			id="akkon"
			message="ok, its over"
			side="2"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[move]
			x="27,26,25,24"
			y="18,18,19,19"
		[/move]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Slitta has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="dusancic has logged into the lobby"
		[/speak]
	[/command]
	[command]
		undo="no"
		[speak]
			id="Rommel"
			message="surrender?"
			side="1"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[recruit]
			value="4"
			x="18"
			y="19"
		[/recruit]
		[random]
			value="173815482"
		[/random]
		[random]
			value="1863866705"
		[/random]
		[random]
			value="513762441"
		[/random]
		[random]
			value="280214199"
		[/random]
		[random]
			value="345725061"
		[/random]
		[random]
			value="2095254838"
		[/random]
		[random]
			value="1595489847"
		[/random]
		[random]
			value="947121107"
		[/random]
		[random]
			value="1519942085"
		[/random]
		[random]
			value="192265411"
		[/random]
		[random]
			value="398170264"
		[/random]
		[random]
			value="1869243315"
		[/random]
		[random]
			value="1290494306"
		[/random]
		[random]
			value="884813098"
		[/random]
		[random]
			value="260123356"
			[results]
				checksum="6hs5opl9mneud6314Hg106a+elObfd5dh>d-kgk5j40fd5c,laoh2>q4W68<jj1,,Bh1+4l10mji--Ug681h64jGjKk7ELbfXlO69>IPFNIDBGnoCSO3srDyLKztBCMx"
			[/results]
		[/random]
	[/command]
	[command]
		sent="yes"
		[countdown_update]
			team="2"
			value="330000"
		[/countdown_update]
	[/command]
	[command]
		sent="yes"
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		[end_turn]
		[/end_turn]
	[/command]
	[command]
		sent="yes"
		undo="no"
		[speak]
			id="akkon"
			message="sure"
			side="2"
		[/speak]
	[/command]
	[command]
		[move]
			x="20,19,18"
			y="4,5,5"
		[/move]
	[/command]
	[command]
		sent="yes"
		undo="no"
		[speak]
			id="akkon"
			message="gg"
			side="2"
		[/speak]
	[/command]
	[command]
		sent="yes"
		undo="no"
		[speak]
			id="Rommel"
			message="thanks, good game"
			side="1"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="HE-MAN has logged into the lobby"
		[/speak]
	[/command]
	[command]
		sent="yes"
		undo="no"
		[speak]
			id="akkon"
			message="thanks too"
			side="2"
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="akkon has left the game."
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Rommel takes control of side 2."
		[/speak]
	[/command]
	[command]
		sent="yes"
		[speak]
			id="server"
			message="Rommel droids side 2."
		[/speak]
	[/command]
[/replay]
[snapshot]
	campaign_type="multiplayer"
	completion="running"
	current_tod="0"
#textdomain wesnoth-multiplayer
	description=_ "These caves were once the lair of Chak'kso Ney'yks, a legendary Elder Basilisk. The petrified forms of his victims remain as monuments to his savage power."
	difficulty="NORMAL"
	end_text_duration="0"
	experience_modifier="70"
	hash="McPgEzp.LJt7h.t1Qr.c0wdN6DSMrFSDz4LpPy.MjaHg-SJ4NO6RN7,AJkIOwBZE.K6Gt>F,tbOGluI+4Fgcg7SDu,wQihAGrihF1c3lurN0vQXAvq<LoFHYPrX2RHE1"
	id="multiplayer_Basilisk"
	label="2 jug. - Las cuevas del basilisco"
	map_data="border_size=1
usage=map

_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , Mm^Xm       , Mm^Xm       , Mm^Xm       , Gs^Fp       , Mm^Xm       , Gs^Fp       , Hh          , Gs^Fms      , Ww          , Ww          , Ww          , Gs^Fp       , Gs^Fms      , Hh          , Mm^Xm       , Gs^Fp       , Mm^Xm       , Mm^Xm       , Mm          , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , Gs^Fp       , Mm          , Gg^Fet      , Mm          , Gs^Fp       , Mm^Xm       , Gs^Fms      , Gg^Ve       , Gg          , Hh          , Mm          , Ww          , Gs^Fp       , Hh          , Gg          , Mm          , Gg^Fet      , Mm^Xm       , Mm          , Mm          , Hh          , Gs^Fp       , Ggf         , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , Hh          , Ggf         , Gg          , Hh          , Gg^Ve       , Hh          , Gs^Fms      , Mm          , Mm          , Ggf         , Gg          , Gg          , Ch          , 1 Kh        , Ch          , Gg          , Hh          , Gg          , Gg          , Gs^Fp       , Gg          , Gg          , Gg          , Gg          , Gs^Fms      , Wwf         , Wwf         , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , Xu          , Wwf         , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Kh          , Ch          , Gg          , Wwf         , Gg          , Ch          , Kh          , Gs^Fp       , Mm          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Mm          , Wwf         , Xu          , Xu          , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , Xu          , Xu          , Wwf         , Wwf         , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Re          , Gg          , Re          , Gg          , Gg          , Gg          , Gg          , Wwf         , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Hh          , Gs^Fp       , Gg^Ve       , Gg          , Ggf         , Mm          , Wwf         , Xu          , Xu          , Xu          , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Xu          , Xu          , Xu          , Xu          , Wwf         , Gg          , Gg          , Gs^Fp       , Hh          , Gs^Fp       , Gg          , Gg          , Re          , Re          , Xu          , Re          , Re^Uf       , Gg          , Re          , Wwf         , Gg          , Gs^Fms      , Gg          , Re          , Re          , Re          , Xu          , Gg          , Gg          , Hh          , Gg          , Gg          , Gs^Fp       , Wwf         , Wwf         , Xu          , Uh          , Xu          , Xu          , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Xu          , Xu          , Wwf         , Wwf         , Mm          , Gg          , Gg          , Re^Uf       , Mm          , Gg          , Re          , Re          , Ww          , Xu          , Uh          , Uu^Vud      , Xu          , Re          , Wwf         , Wwf         , Re          , Gg          , Re          , Re          , Wwf         , Xu          , Xu          , Re^Uf       , Re          , Gg          , Gg          , Hh          , Ggf         , Hh          , Wwf         , Xu          , Wwf         , Uu          , Uu^Uf       , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Xu          , Wwf         , Gs^Fp       , Hh          , Hh          , Gg          , Gg          , Hh          , Gs^Fms      , Gg          , Re          , Ww          , Wo          , Ww          , Wwf         , Wwf         , Uh          , Uu^Uf       , Wwf         , Ww          , Ss^Vhs      , Re          , Xu          , Wwf         , Ur          , Ur          , Re          , Re          , Gs^Fms      , Hh          , Gg^Uf       , Gg          , Gg          , Re          , Re^Uf       , Wwf         , Wwf         , Uu          , Xu          , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Wwf         , Wwf         , Ggf         , Ggf         , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Re          , Ww          , Ww          , Ww          , Xu          , Uh          , Xu          , Ur          , Ww          , Ww          , Ww          , Xu          , Ww          , Uh          , Uu^Vu       , Re          , Gg          , Gg          , Gg          , Gg^Ve       , Gg          , Gg          , Gg          , Gg          , Re          , Gs^Fp       , Wwf         , Xu          , Xu          , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Gs^Fms      , Gs^Fp       , Re^Uf       , Re          , Gg          , Gg          , Gg          , Gg          , Gg          , Ss^Vhs      , Gg          , Re          , Wwf         , Uh          , Xu          , Ur          , Xu          , Wwf         , Ww          , Wo          , Uu          , Uh          , Ww          , Xu          , Xu          , Re          , Re          , Gg          , Gg          , Gg          , Gs^Fms      , Hh          , Hh          , Gg          , Gg          , Re          , Re          , Wwf         , Xu          , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Mm          , Hh          , Re          , Re          , Gg          , Gg          , Hh          , Gs^Fp       , Ss          , Gg          , Hh          , Re          , Wwf         , Xu          , Xu          , Ur          , Wwf         , Wwf         , Ww          , Uu^Uf       , Ww          , Ww          , Wwf         , Uu^Uf       , Xu          , Uh          , Wwf         , Re          , Hh          , Hh          , Mm          , Gs^Fp       , Hh          , Gs^Fp       , Gg          , Re          , Re          , Wwf         , Wwf         , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Wwf         , Re^Uf       , Re          , Gg          , Gg          , Gs^Fp       , Re^Uf       , Gs^Fms      , Mm          , Gs^Fp       , Hh          , Re          , Re          , Uh          , Xu          , Uu^Uf       , Ww          , Ww          , Uu          , Uu^Uf       , Ww          , Wwf         , Xu          , Ur          , Xu          , Xu          , Wwf         , Re          , Re          , Gs^Fp       , Gg          , Ss          , Gg          , Gg          , Gg          , Gg          , Gg          , Re^Uf       , Mm          , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Xu          , Wwf         , Re          , Gg          , Gg          , Gg          , Gg          , Hh          , Gg          , Hh          , Gg          , Gg          , Gg          , Re          , Uu^Vu       , Xu          , Ww          , Uh          , Ww          , Wo          , Ww          , Wwf         , Xu          , Ur          , Xu          , Uh          , Ww          , Re          , Re          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Ggf         , Hh          , Hh          , Gs^Fp       , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Xu          , Wwf         , Wwf         , Hh          , Hh          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Re          , Re          , Ur          , Uh          , Xu          , Xu          , Ss^Vhs      , Ww          , Wwf         , Ur          , Uh          , Uh          , Wwf         , Ww          , Wo          , Ww          , Re          , Re          , Gg          , Gg          , Gs^Fms      , Gg          , Gg          , Gg          , Gg          , Gs^Fp       , Wwf         , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Xu          , Xu          , Wwf         , Gs^Fp       , Re          , Gg          , Ggf         , Gg          , Gg          , Gg          , Gg          , Gs^Fp       , Xu          , Ur          , Wwf         , Wwf         , Re          , Re          , Re          , Ww          , Wwf         , Uu^Uf       , Xu          , Wwf         , Uh          , Ww          , Ww          , Ww          , Re          , Ss^Vhs      , Gg          , Hh          , Mm          , Hh          , Re^Uf       , Gg          , Gg          , Wwf         , Xu          , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Uu^Uf       , Uu          , Wwf         , Wwf         , Wwf         , Re          , Hh          , Mm          , Gs^Fp       , Gg          , Gg          , Uh          , Xu          , Xu          , Re          , Re          , Gg          , Gg          , Gg          , Wwf         , Re          , Re          , Re^Uf       , Uu^Vud      , Xu          , Xu          , Re          , Re          , Gg          , Gg          , Gg          , Gs^Fms      , Ggf         , Gs^Fp       , Gg          , Gg          , Wwf         , Wwf         , Xu          , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Xu          , Wwf         , Uh          , Xu          , Xu          , Wwf         , Re          , Re^Uf       , Ggf         , Gg^Uf       , Gs^Fp       , Gg          , Gg          , Re          , Gg          , Re          , Gg          , Gs^Fp       , Gg          , Wwf         , Gg          , Gg          , Gg          , Re          , Re          , Re          , Re          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Wwf         , Wwf         , Xu          , Xu          , Xu          , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , Xu          , Xu          , Xu          , Xu          , Wwf         , Re          , Gs^Fms      , Gg          , Gg^Ve       , Ggf         , Gg          , Gg          , Gg          , Ggf         , Gg          , Kh          , Gg          , Gg          , Wwf         , Gg          , Gg          , Kh          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Wwf         , Xu          , Xu          , Xu          , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , Xu          , Xu          , Wwf         , Wwf         , Re          , Mm          , Hh          , Gg          , Gg          , Gg          , Gg^Ve       , Gg          , Gs^Fms      , Gg          , Ch          , Ch          , Wwf         , Ch          , Ch          , Gg          , Gg          , Gg          , Gg          , Gg^Fet      , Gg          , Gg^Ve       , Gg          , Gg          , Gs^Fp       , Gg          , Wwf         , Xu          , Xu          , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , Xu          , Wwf         , Re          , Re          , Gs^Fp       , Re          , Gg          , Hh          , Hh          , Gs^Fms      , Gg          , Gg          , Hh          , Mm          , 2 Kh        , Gs^Fp       , Gg          , Gg          , Gg^Ve       , Gs^Fp       , Gg          , Hh          , Hh          , Gs^Fp       , Hh          , Gs^Fms      , Gg          , Wwf         , Wwf         , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , Wwf         , Re          , Re          , Re          , Gs^Fp       , Mm          , Mm          , Mm          , Mm          , Gs^Fms      , Gg^Fet      , Hh          , Ww          , Hh          , Hh          , Gs^Fms      , Hh          , Mm          , Hh          , Mm^Xm       , Mm          , Mm          , Hh          , Gs^Fp       , Mm          , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , Mm          , Hh          , Hh          , Mm^Xm       , Mm^Xm       , Mm^Xm       , Mm^Xm       , Mm^Xm       , Mm          , Mm^Xm       , Ww          , Ww          , Mm          , Mm^Xm       , Mm^Xm       , Mm^Xm       , Mm^Xm       , Mm          , Mm^Xm       , Mm          , Hh          , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , Mm^Xm       , _off^_usr   , Mm          , _off^_usr   , Gs^Fp       , _off^_usr   , Mm^Xm       , _off^_usr   , Ww          , _off^_usr   , Gs^Fp       , _off^_usr   , Hh          , _off^_usr   , Gs^Fp       , _off^_usr   , Mm^Xm       , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
"
	mp_countdown="yes"
	mp_countdown_action_bonus="13"
	mp_countdown_init_time="270"
	mp_countdown_reservoir_time="330"
	mp_countdown_turn_bonus="60"
	mp_fog="yes"
	mp_shroud="no"
	mp_use_map_settings="yes"
	mp_village_gold="2"
	name=_ "2p - Caves of the Basilisk"
	next_underlying_unit_id="75"
#textdomain wesnoth
	objectives=_ "Victory:
@Defeat enemy leader(s)"
	observer="yes"
	playing_team="0"
	random_calls="0"
	random_seed="3448"
	random_start_time="no"
	snapshot="yes"
	turn_at="25"
	turns="-1"
	unit_wml_ids="Armageddon Drake,Bowman,Cavalryman,Direwolf Rider,Dragoon,Elder Wose,Elvish Marksman,Fencer,Goblin Spearman,Grand Knight,Grand Marshal,Horseman,Iron Mauler,Javelineer,Lieutenant,Mage,Mermaid Siren,Merman Fighter,Naga Fighter,Naga Myrmidon,Orcish Archer,Orcish Assassin,Orcish Crossbowman,Orcish Grunt,Pikeman,Saurian Flanker,Saurian Oracle,Sea Serpent,Sky Drake,Spearman,Swordsman,Troll Whelp,era_events"
	version="1.6"
	[side]
		action_bonus_count="0"
		aggression="0.5"
		allow_player="yes"
		caution="0.25"
		colour="1"
		controller="human"
		countdown_time="239889"
		current_player="Rommel"
		disallow_observers="no"
		fog="yes"
		global_recruitment_pattern="fighter,fighter,fighter,archer,mixed fighter,scout"
		gold="20"
		hidden="no"
		id="Rommel1"
		income="0"
		leader_value="3"
		name="Rommel"
		no_leader="yes"
		number_of_possible_recruits_to_force_recruit="3.1"
		objectives=_ "Victory:
@Defeat enemy leader(s)"
		objectives_changed="no"
		recruit="Bowman,Cavalryman,Fencer,Heavy Infantryman,Horseman,Mage,Merman Fighter,Spearman"
		recruitment_pattern="fighter,fighter,fighter,archer,mixed fighter,scout"
		save_id="Rommel1"
		share_maps="no"
		share_view="yes"
		shroud="no"
		side="1"
		start_gold="100"
		team_name="north"
#textdomain wesnoth-multiplayer
		user_team_name=_ "teamname^North"
		village_gold="2"
		village_value="1"
		villages_per_scout="8"
		[ai]
			recruitment_pattern="fighter,fighter,fighter,archer,mixed fighter,scout"
			villages_per_scout="8"
			[team_formula]
				rulebase="fai 'recruitment.fai'
		# ===== Some general functions used later ==== #

def sumarize_values( input_map )
	sum(
		values(input_map)
	);

def lowest_value( input_map )
	choose( input_map, -value ).value;

def highest_value( input_map )
	choose( input_map, value ).value;

def change_numbers_to_percents( input_map )
	map( input_map, 
		(value*100) / highest_value(input_map) 
	);

def add_number_to_values( input_map, number )
	map( input_map, 
		value + number 
	);

#make sure we have only positive values in a map #

def make_positive_only( input_map )
	if( lowest_value( input_map ) < 0, 
		add_number_to_values( 
			input_map, 
			abs(lowest_value(input_map))
		), 
		input_map 
	);

def sumarize_maps_values( map_A, map_B )
	map( map_A + map_B, 
		value + map_A[key]
	);

		#===== Evaluation how good unit is on a map ===== #

# ==1==  evaluate average defense #
#gives map where key is id of terrain, and value is number of hexes of that terrain on a gamemap#

def locations_map(ai*) 
	tomap( 
		map( 
			map.terrain, 
			id 
		) 
	);

#filters terrain map, min_percent it minimal % of map that terrain has to occupy to be considered in later evaluations# 

def filtered_locations_map(ai*, min_percent)
	filter( 
		locations_map(ai) , 
		value >  (map.w * map.h) / ( 100 / min_percent ) 
	);

#returns average defense of the unit #

def unit_average_defense(ai*, unit, terrain_min_percent )
	sum( 
		values( 
			map(
				filtered_locations_map(ai,terrain_min_percent), 
				defense_on( 
					unit, 
					find(map.terrain,id=key).loc
				) *
				value
			) 
		) 
	) / 
	sum(
		values(
			filtered_locations_map(
				ai,
				terrain_min_percent
			)
		)
	);

#returns map of units from units_list and their average defense (more -> better) #

def map_units_average_defense(ai*, units_list, terrain_min_percent) 
	tomap(
		map( 
			units_list, 
			id 
		), 
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	);

def units_average_defense(ai*, units_list, terrain_min_percent)
	sum(
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	) /
	size(
		units_list
	);


# ==2== TODO: evaluate unit effectivness based on movement points and movement cost#


		#===== Evaluation of game state - how good is ai doing ===== #

# ==1== based on unit cost and current amount of gold #
# returns number between 0 and 100 where: 0 we are losing, 100 we are winning #

def units_cost_gold_eval(ai*)
	min(
		[
			(
				(
					sum(
						map(
							allies, 'team', 
							sum(
								map(
									units_of_side[team], 
									cost
								)
							) + 
							teams[team].gold 
						)
					) * 
					100
				) / 
				sum(
					map(
						enemies, 'team', 
						sum(
							map(
								units_of_side[team], 
								cost
							)
						) + 
						max(
							[teams[team].gold, 0]
						) 
					)
				)
			) / 2,
			100
		]
	);

# ==2== based on village possession #

def count_allied_villages(ai*)
	sum(
		map(
			allies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

def count_enemy_villages(ai*)
	sum(
		map(
			enemies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

# multipled by 1000 to increase precision #

def village_evaluation(ai*)
	(
		50000 + 
		(
			count_allied_villages(ai) - 
			count_enemy_villages(ai)
		) * 
		(
			50000 /
			size(
				villages
			)
		)
	) /
	1000;

# ==3== combined 2 of the above #

def eval(ai*)
	( 
		units_cost_gold_eval(ai) + 
		village_evaluation(ai)
	) / 
	2;

		#===== Evaluation how effective my units are against the enemy ===== #

#==1==  basic evaluation #

# evaluate how much damage unit can inflict - how much damage unit can get#

def evaluate_attacker_against_opponents(ai*, unit, enemy_units)
	sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( unit, enemy_unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				) 
			)
		)
	);

def evaluate_defender_against_opponents(ai*, unit, enemy_units)
	-sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( enemy_unit, unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				)
			)
		)
	);

def units_hp_map(ai*, units)
	tomap( 
		map(
			units, 
			id
		), 
		map( 
			units, 
			hitpoints
		)
	);

#in case side's gold is more than 50, add units that side can recruit to the side's unit list#

def create_side_unit_list(ai*, side)
	if( 
		teams[side].gold > 50, 
		recruits_of_side[side], 
		[]
	) + 
	units_of_side[side];

def evaluate_my_recruits_as_attackers(ai*)
	tomap( 
		map(
			my_recruits, 
			id
		), 
		map(
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_attacker_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai, 
							enemy_side
						)
					)
				)
			)
		)
	);

def evaluate_my_recruits_as_defenders(ai*)
	tomap(
		map(
			my_recruits, 
			id
		),
		map( 
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_defender_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai,
							enemy_side
						)
					)
				)
			)
		)
	);


# === 2 ===  now consider abilities and weapon specials  #

def abilities_weights()
	['skirmisher' -> 15, 'ambush' -> 10, 'nightstalk' -> 20, 'regenerates' -> 20, 'healing' -> 15, 'curing' -> 10, 'leadership' -> 20, 'illumination' -> 15, 'teleport' -> 10, 'steadfast' -> 15 ];

def weapon_specials_weights()
	[ 'backstab' -> 20 ,'slow' -> 10 ,'berserk' -> 20 ,'stones' -> 60 ,'plague' -> 10 ,'marksman' -> 30 ,'magical' -> 40 ,'charge' -> 30 ,'drains' -> 30,  'firststrike' -> 10, 'poison' -> 25 ];

def apply_abilities_weights( units_map )
	map( 
		units_map, 
		value +
		(
			value * 
			max(
				map(
					get_unit_type( key ).abilities, 'ability',
					abilities_weights()[ability]
				)
			)
		) / 100
	);

def apply_weapon_specials_weights( units_map )
	map(
		units_map, 
		value +
		(
			value *
			max(
				map(
					get_unit_type( key ).attacks, 'attack',
					vars.weapon_specials[attack.special]
				)
			)
		) / 100
	);

# since undead units don't get random traits and are balanced with that, we need to lower their evaluation a bit to match fairly the living units #

def undead_malus( units_map )
	map( 
		units_map, 
		if(
			get_unit_type(key).undead,
			( value * 90 ) / 100,
			value 
		)
	);

# === 3 ===  pit 1 and 2 together  #

def evaluate_attackers(ai*)
	change_numbers_to_percents(
		apply_abilities_weights(
			apply_weapon_specials_weights(
				undead_malus( 
					make_positive_only(
						evaluate_my_recruits_as_attackers( ai )	
					)
				)
			)
		)
	);

def evaluate_defenders(ai*)
	map(
		map(
			change_numbers_to_percents(
				apply_abilities_weights(
					apply_weapon_specials_weights(
						undead_malus( 
							make_positive_only(
								evaluate_my_recruits_as_defenders( ai )	
							)
						)
					)
				)
			),
			value / 3
		), 
		value +
		map(
			change_numbers_to_percents(
				units_hp_map(
					ai,
					my_recruits
				)
			),
		value * 2 / 3
		)[key]
	);

	#=========== we have evaluation of game state and units, time to combine them: ==========#
		#=========	recruitment_list_builder	=========#

def rlb_apply_eval(eval, attackers_map, defenders_map, offset)
	map(
		sumarize_maps_values(
			map(
				attackers_map, 
				value * (eval+offset)
			),
			map(
				defenders_map,
				value * ( (100 - eval) - offset )
			)
		),
		value / 100
	);

def rlb_remove_lowest( input_map, percent)
	filter(
		input_map, 
		value > 
		(
			(
				percent * sumarize_values(input_map)
			) / 100
		)
	);

def rlb_first_step(eval, attackers_map, defenders_map, offset)
	rlb_remove_lowest(
		rlb_apply_eval(
			eval,
			attackers_map,
			defenders_map,
			offset
		),
		10
	);

def recruitment_list_builder(eval, attackers_map, defenders_map)
	map(
		rlb_first_step(
			eval,
			attackers_map,
			defenders_map,
			40
		),
		(
			(
				value * 100
			) / 
			sumarize_values(
				rlb_first_step(
					eval,
					attackers_map,
					defenders_map,
					40
				)
			)
		)
	);

		# ========== choose the unit to recruit now ========= #

def unit_chooser(ai*,unit_map) 
	choose(
		keys(unit_map), 'unit_type',
		unit_map[unit_type] - 
		(
			(
				100 * 
				size(
					filter(
						my_units, 
						type = unit_type
					)
				)
			) / 
			size(my_units)
		)
	);

def unit_map_cost_filter(ai*, unit_map)
	filter( unit_map,
		get_unit_type(key).cost < my_side.gold
	);

		# ==========	Main formula section 	========== #

def initialize_weapon_specials_map(ai*)
	if(vars.weapon_specials_init != turn,
		[
			set_var('weapon_specials_init', turn),
			set_var('weapon_specials',
				map(
					weapon_specials_weights(),
					if( key = 'magical',
						units_average_defense(ai, enemy_units, 10),
						if( key = 'marksman',
							units_average_defense(ai, enemy_units, 10) - 10,
							value
						)
					)
				)
			)
		],
		[]
	);

def create_recruits_map(ai*)
	if(vars.recruits_map_creator != turn,
		[
			set_var('recruits_map_creator', turn ),
			set_var('recruits_map',
				debug_print('final unit evaluation: ', recruitment_list_builder(
					debug_print('current AI evaluation (0-100): ', eval(ai)),
					debug_print('attackers evaluation: ',evaluate_attackers(ai)),
					debug_print('defenders evaluation: ',evaluate_defenders(ai))
				))
			)
		],
		[]
	);

def castle_space(ai*)
	filter( map( castle_locs( my_leader.loc ), 'location', if( unit_at( location ), 1, 0 ) ), self = 0  ).size;

if(vars.turn_initialized = turn,
		if( my_leader.loc = nearest_keep( my_leader.loc ),
			if( 
				get_unit_type(
					choose(
						vars.recruits_map,
						-get_unit_type(key).cost
					).key
				).cost <
				my_side.gold,
				if( castle_space(self),
					recruit(debug_print(
						unit_chooser(
							self,
							unit_map_cost_filter(
								self,
								vars.recruits_map
							)
						)
					)),
					fallback()
				),
				fallback() 
			),
			if( my_leader.movement_left > 0,
				move( my_leader.loc, nearest_keep( my_leader.loc ) ),
				fallback()
			)
		),
	[set_var(debug_print('turn_initialized'), turn)] +
	initialize_weapon_specials_map(self) +
	create_recruits_map(self)
)

faiend
"
			[/team_formula]
		[/ai]
		[ai]
			villages_per_scout="8"
		[/ai]
		[village]
			x="11"
			y="11"
		[/village]
		[village]
			x="12"
			y="4"
		[/village]
		[village]
			x="17"
			y="3"
		[/village]
		[village]
			x="17"
			y="8"
		[/village]
		[village]
			x="20"
			y="15"
		[/village]
		[village]
			x="22"
			y="9"
		[/village]
		[village]
			x="26"
			y="10"
		[/village]
		[village]
			x="31"
			y="6"
		[/village]
		[village]
			x="31"
			y="10"
		[/village]
		[village]
			x="31"
			y="16"
		[/village]
		[unit]
			advances_to="General"
			alignment="lawful"
			allow_changes="yes"
			allow_player="yes"
			alpha="256"
			attacks_left="1"
			canrecruit="yes"
			colour="1"
			controller="human"
			cost="35"
			current_player="Rommel"
			die_sound="human-die-1.ogg,human-die-2.ogg,human-die-3.ogg"
			experience="14"
			facing="sw"
			flag_rgb="magenta"
			flying="no"
			fog="yes"
			gender="male"
			gold="100"
			goto_x="-999"
			goto_y="-999"
			hitpoints="28"
			id="Rommel1"
			image="units/human-loyalists/lieutenant.png"
			income="0"
#textdomain wesnoth-units
			language_name=_ "Lieutenant"
			leader="Lieutenant,Swordsman,Pikeman,Javelineer,Shock Trooper,Longbowman,White Mage,Red Mage"
			level="2"
			max_attacks="1"
			max_experience="56"
			max_hitpoints="40"
			max_moves="6"
			movement="6"
			movement_type="smallfoot"
			moves="4"
			mp_countdown="yes"
			mp_countdown_action_bonus="13"
			mp_countdown_init_time="270"
			mp_countdown_reservoir_time="330"
			mp_countdown_turn_bonus="60"
			name="Rommel"
			profile="portraits/humans/lieutenant.png"
			race="human"
			random_leader="Lieutenant,Swordsman,Pikeman,Javelineer,Longbowman,Red Mage"
			random_traits="no"
			recruit="Cavalryman,Horseman,Spearman,Fencer,Heavy Infantryman,Bowman,Mage,Merman Fighter"
			resting="yes"
			save_id="Rommel1"
			share_maps="no"
			share_view="yes"
			shroud="no"
			side="1"
			team_name="north"
			terrain_liked="Gg, Ww, Wo"
			type="Lieutenant"
			underlying_id="1"
			unrenamable="no"
			upkeep="full"
			usage="fighter"
			user_team_name="wesnoth-multiplayerteamname^North"
			village_gold="2"
			x="18"
			y="5"
			zoc="yes"
			[defense]
				castle="40"
				cave="60"
				deep_water="80"
				flat="60"
				forest="50"
				frozen="80"
				fungus="50"
				hills="50"
				impassable="60"
				mountains="40"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="80"
				unwalkable="80"
				village="40"
			[/defense]
			[movement_costs]
				castle="1"
				cave="2"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="3"
				fungus="2"
				hills="2"
				impassable="99"
				mountains="3"
				reef="2"
				sand="2"
				shallow_water="3"
				swamp_water="3"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="80"
				blade="100"
				cold="100"
				fire="100"
				impact="100"
				pierce="100"
			[/resistance]
			[abilities]
				[leadership]
					affect_self="no"
					cumulative="no"
#textdomain wesnoth
					description=_ "Leadership:
This unit can lead our own units that are next to it, making them fight better.

Adjacent own units of lower level will do more damage in battle. When a unit adjacent to, of a lower level than, and on the same side as a unit with Leadership engages in combat, its attacks do 25% more damage times the difference in their levels."
					female_name=_ "female^leadership"
					id="leadership"
					name=_ "leadership"
					value="50"
					[affect_adjacent]
						adjacent="n,ne,se,s,sw,nw"
						[filter]
							level="0"
						[/filter]
					[/affect_adjacent]
				[/leadership]
				[leadership]
					affect_self="no"
					cumulative="no"
					id="leadership"
					value="25"
					[affect_adjacent]
						adjacent="n,ne,se,s,sw,nw"
						[filter]
							level="1"
						[/filter]
					[/affect_adjacent]
				[/leadership]
			[/abilities]
			[portrait]
				image="portraits/humans/transparent/lieutenant.png"
				mirror="false"
				side="left"
				size="400"
			[/portrait]
			[portrait]
				image="portraits/humans/transparent/lieutenant.png"
				mirror="true"
				side="right"
				size="400"
			[/portrait]
			[variables]
			[/variables]
			[status]
				hidden="yes"
			[/status]
			[attack]
				damage="8"
#textdomain wesnoth-units
				description=_ "sword"
				icon="attacks/sword-human.png"
				name="sword"
				number="3"
				range="melee"
				type="blade"
			[/attack]
			[attack]
				damage="5"
				description=_ "crossbow"
				icon="attacks/crossbow-human.png"
				name="crossbow"
				number="3"
				range="ranged"
				type="pierce"
			[/attack]
			[modifications]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Halberdier"
			alignment="lawful"
			alpha="256"
			attacks_left="1"
			cost="25"
			die_sound="human-die-1.ogg,human-die-2.ogg,human-die-3.ogg"
			ellipse="misc/ellipse"
			experience="2"
			facing="ne"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="-999"
			goto_y="-999"
			hitpoints="47"
			id="Spearman-16"
			image="units/human-loyalists/pikeman.png"
			language_name=_ "Pikeman"
			level="2"
			max_attacks="1"
			max_experience="46"
			max_hitpoints="58"
			max_moves="6"
			movement="5"
			movement_type="smallfoot"
			moves="6"
			name="Taerraent"
			profile="portraits/humans/pikeman.png"
			race="human"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="1"
			type="Pikeman"
			underlying_id="16"
			unrenamable="no"
			upkeep="full"
			usage="fighter"
			x="11"
			y="11"
			zoc="yes"
			[portrait]
				image="portraits/humans/transparent/pikeman.png"
				mirror="false"
				side="left"
				size="400"
			[/portrait]
			[portrait]
				image="portraits/humans/transparent/pikeman.png"
				mirror="true"
				side="right"
				size="400"
			[/portrait]
			[defense]
				castle="40"
				cave="60"
				deep_water="80"
				flat="60"
				forest="50"
				frozen="80"
				fungus="50"
				hills="50"
				impassable="60"
				mountains="40"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="80"
				unwalkable="80"
				village="40"
			[/defense]
			[movement_costs]
				castle="1"
				cave="2"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="3"
				fungus="2"
				hills="2"
				impassable="99"
				mountains="3"
				reef="2"
				sand="2"
				shallow_water="3"
				swamp_water="3"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="80"
				blade="100"
				cold="100"
				fire="100"
				impact="100"
				pierce="60"
			[/resistance]
			[attack_anim]
				direction="ne,nw"
				[filter_attack]
					name="pike"
				[/filter_attack]
				[frame]
					begin="-250"
					end="-150"
					image="units/human-loyalists/pikeman.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-150"
						end="100"
						image="units/human-loyalists/pikeman-attack-ne.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-150"
						end="100"
						image="units/human-loyalists/pikeman-attack-ne.png"
						sound="spear-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="100"
					end="175"
					image="units/human-loyalists/pikeman.png"
				[/frame]
			[/attack_anim]
			[attack_anim]
				direction="se,sw"
				[filter_attack]
					name="pike"
				[/filter_attack]
				[frame]
					begin="-250"
					end="-150"
					image="units/human-loyalists/pikeman.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-150"
						end="100"
						image="units/human-loyalists/pikeman-attack-se.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-150"
						end="100"
						image="units/human-loyalists/pikeman-attack-se.png"
						sound="spear-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="100"
					end="175"
					image="units/human-loyalists/pikeman.png"
				[/frame]
			[/attack_anim]
			[attack_anim]
				direction="n"
				[filter_attack]
					name="pike"
				[/filter_attack]
				[frame]
					begin="-250"
					end="-200"
					image="units/human-loyalists/pikeman.png"
				[/frame]
				[frame]
					begin="-200"
					end="-100"
					image="units/human-loyalists/pikeman-attack-ne.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-100"
						end="100"
						image="units/human-loyalists/pikeman-attack-n.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-100"
						end="100"
						image="units/human-loyalists/pikeman-attack-n.png"
						sound="spear-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="100"
					end="175"
					image="units/human-loyalists/pikeman.png"
				[/frame]
			[/attack_anim]
			[attack_anim]
				direction="s"
				[filter_attack]
					name="pike"
				[/filter_attack]
				[frame]
					begin="-250"
					end="-200"
					image="units/human-loyalists/pikeman.png"
				[/frame]
				[frame]
					begin="-200"
					end="-100"
					image="units/human-loyalists/pikeman-attack-se.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-100"
						end="100"
						image="units/human-loyalists/pikeman-attack-s.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-100"
						end="100"
						image="units/human-loyalists/pikeman-attack-s.png"
						sound="spear-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="100"
					end="175"
					image="units/human-loyalists/pikeman.png"
				[/frame]
			[/attack_anim]
			[death]
				[frame]
					begin="0"
					end="80"
					image="units/human-loyalists/pikeman-die-1.png"
				[/frame]
				[frame]
					begin="80"
					end="160"
					image="units/human-loyalists/pikeman-die-2.png"
				[/frame]
				[frame]
					begin="160"
					end="240"
					image="units/human-loyalists/pikeman-die-3.png"
				[/frame]
				[frame]
					begin="240"
					end="320"
					image="units/human-loyalists/pikeman-die-4.png"
				[/frame]
				[frame]
					begin="320"
					end="400"
					image="units/human-loyalists/pikeman-die-5.png"
				[/frame]
			[/death]
			[defend]
				start_time="-126"
				[frame]
					duration="1"
					image="units/human-loyalists/pikeman.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/pikeman-defend.png"
				[/frame]
				[if]
					hits="hit"
					[frame]
						duration="150"
						image="units/human-loyalists/pikeman-defend.png"
						sound="human-hit-1.ogg,human-hit-2.ogg,human-hit-3.ogg,human-hit-4.ogg,human-hit-5.ogg"
					[/frame]
				[/if]
				[else]
					hits="miss,kill"
					[frame]
						duration="150"
						image="units/human-loyalists/pikeman-defend.png"
					[/frame]
				[/else]
				[frame]
					duration="1"
					image="units/human-loyalists/pikeman.png"
				[/frame]
			[/defend]
			[idle_anim]
				start_time="0"
				[filter]
					[not]
						[filter_wml]
							[status]
								poisoned="yes"
							[/status]
						[/filter_wml]
					[/not]
				[/filter]
				[filter]
					[filter_adjacent]
						count="0"
						is_enemy="yes"
					[/filter_adjacent]
				[/filter]
				[frame]
					duration="100"
					image="units/human-loyalists/pikeman-idle-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/pikeman-idle-2.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/pikeman-idle-3.png"
				[/frame]
				[frame]
					duration="1000"
					image="units/human-loyalists/pikeman-idle-4.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/pikeman-idle-3.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/pikeman-idle-2.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/pikeman-idle-1.png"
				[/frame]
			[/idle_anim]
			[variables]
			[/variables]
			[status]
				hidden="yes"
			[/status]
			[attack]
				damage="10"
				description=_ "pike"
				name="pike"
				number="3"
				range="melee"
				type="pierce"
				[specials]
					[firststrike]
#textdomain wesnoth
						description=_ "First Strike:
This unit always strikes first with this attack, even if they are defending."
						id="firststrike"
						name=_ "firststrike"
					[/firststrike]
				[/specials]
			[/attack]
			[modifications]
				[trait]
					female_name=_ "female^resilient"
					id="resilient"
					male_name=_ "resilient"
					name=_ "resilient"
					[effect]
						apply_to="hitpoints"
						increase_total="4"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="1"
						times="per level"
					[/effect]
				[/trait]
				[trait]
					female_name=_ "female^quick"
					id="quick"
					male_name=_ "quick"
					name=_ "quick"
					[effect]
						apply_to="movement"
						increase="1"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="-5%"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Swordsman,Pikeman,Javelineer"
			alignment="lawful"
			alpha="256"
			attacks_left="1"
			cost="14"
			die_sound="human-die-1.ogg,human-die-2.ogg,human-die-3.ogg"
			ellipse="misc/ellipse"
			experience="24"
			facing="s"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="-999"
			goto_y="-999"
			hitpoints="30"
			id="Spearman-17"
			image="units/human-loyalists/spearman.png"
#textdomain wesnoth-units
			language_name=_ "Spearman"
			level="1"
			max_attacks="1"
			max_experience="29"
			max_hitpoints="39"
			max_moves="6"
			movement="5"
			movement_type="smallfoot"
			moves="6"
			name="Veor"
			profile="portraits/humans/spearman.png"
			race="human"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="1"
			type="Spearman"
			underlying_id="17"
			unrenamable="no"
			upkeep="full"
			usage="fighter"
			x="12"
			y="12"
			zoc="yes"
			[attack_anim]
				[filter_attack]
					name="javelin"
				[/filter_attack]
				[missile_frame]
					begin="-150"
					end="0"
					image="projectiles/spear-n.png"
					image_diagonal="projectiles/spear-ne.png"
				[/missile_frame]
				[frame]
					begin="-250"
					end="-150"
					image="units/human-loyalists/spearman-death1.png"
					sound="throw-1.wav,throw-2.wav,throw-3.wav,throw-4.wav"
				[/frame]
				[frame]
					begin="-150"
					end="-100"
					image="units/human-loyalists/spearman-attack-ranged.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-100"
						end="-50"
						image="units/human-loyalists/spearman-attack-ranged.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-100"
						end="-50"
						image="units/human-loyalists/spearman-attack-ranged.png"
					[/frame]
				[/else]
				[frame]
					begin="-50"
					end="50"
					image="units/human-loyalists/spearman-attack-ranged2.png"
				[/frame]
			[/attack_anim]
			[attack_anim]
				direction="s"
				[filter_attack]
					name="spear"
				[/filter_attack]
				[frame]
					begin="-200"
					end="-150"
					image="units/human-loyalists/spearman.png"
				[/frame]
				[frame]
					begin="-150"
					end="-50"
					image="units/human-loyalists/spearman-attack-s-1.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-50"
						end="100"
						image="units/human-loyalists/spearman-attack-s-2.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-50"
						end="100"
						image="units/human-loyalists/spearman-attack-s-2.png"
						sound="spear-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="100"
					end="150"
					image="units/human-loyalists/spearman-attack-s-1.png"
				[/frame]
			[/attack_anim]
			[attack_anim]
				direction="n"
				[filter_attack]
					name="spear"
				[/filter_attack]
				[frame]
					begin="-200"
					end="-100"
					image="units/human-loyalists/spearman.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-100"
						end="100"
						image="units/human-loyalists/spearman-attack-n.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-100"
						end="100"
						image="units/human-loyalists/spearman-attack-n.png"
						sound="spear-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="100"
					end="150"
					image="units/human-loyalists/spearman.png"
				[/frame]
			[/attack_anim]
			[attack_anim]
				direction="ne,nw"
				[filter_attack]
					name="spear"
				[/filter_attack]
				[frame]
					begin="-200"
					end="-100"
					image="units/human-loyalists/spearman.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-100"
						end="100"
						image="units/human-loyalists/spearman-attack-ne.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-100"
						end="100"
						image="units/human-loyalists/spearman-attack-ne.png"
						sound="spear-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="100"
					end="150"
					image="units/human-loyalists/spearman.png"
				[/frame]
			[/attack_anim]
			[attack_anim]
				direction="se,sw"
				[filter_attack]
					name="spear"
				[/filter_attack]
				[frame]
					begin="-200"
					end="-100"
					image="units/human-loyalists/spearman.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-100"
						end="100"
						image="units/human-loyalists/spearman-attack.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-100"
						end="100"
						image="units/human-loyalists/spearman-attack.png"
						sound="spear-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="100"
					end="150"
					image="units/human-loyalists/spearman.png"
				[/frame]
			[/attack_anim]
			[death]
				[frame]
					begin="0"
					end="125"
					image="units/human-loyalists/spearman-death1.png"
				[/frame]
				[frame]
					begin="125"
					end="250"
					image="units/human-loyalists/spearman-death2.png"
				[/frame]
				[frame]
					begin="250"
					end="375"
					image="units/human-loyalists/spearman-death3.png"
				[/frame]
				[frame]
					begin="375"
					end="500"
					image="units/human-loyalists/spearman-death4.png"
				[/frame]
			[/death]
			[defend]
				[frame]
					begin="-100"
					end="-90"
					image="units/human-loyalists/spearman-defend-2.png"
				[/frame]
				[frame]
					begin="-90"
					end="90"
					image="units/human-loyalists/spearman-defend.png"
				[/frame]
				[frame]
					begin="90"
					end="100"
					image="units/human-loyalists/spearman-defend-2.png"
				[/frame]
			[/defend]
			[portrait]
				image="portraits/humans/transparent/spearman.png"
				mirror="false"
				side="left"
				size="400"
			[/portrait]
			[portrait]
				image="portraits/humans/transparent/spearman.png"
				mirror="true"
				side="right"
				size="400"
			[/portrait]
			[defense]
				castle="40"
				cave="60"
				deep_water="80"
				flat="60"
				forest="50"
				frozen="80"
				fungus="50"
				hills="50"
				impassable="60"
				mountains="40"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="80"
				unwalkable="80"
				village="40"
			[/defense]
			[movement_costs]
				castle="1"
				cave="2"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="3"
				fungus="2"
				hills="2"
				impassable="99"
				mountains="3"
				reef="2"
				sand="2"
				shallow_water="3"
				swamp_water="3"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="80"
				blade="100"
				cold="100"
				fire="100"
				impact="100"
				pierce="100"
			[/resistance]
			[variables]
			[/variables]
			[status]
				hidden="yes"
			[/status]
			[attack]
				damage="7"
				description=_ "spear"
				icon="attacks/spear.png"
				name="spear"
				number="3"
				range="melee"
				type="pierce"
				[specials]
					[firststrike]
#textdomain wesnoth
						description=_ "First Strike:
This unit always strikes first with this attack, even if they are defending."
						id="firststrike"
						name=_ "firststrike"
					[/firststrike]
				[/specials]
			[/attack]
			[attack]
				damage="6"
#textdomain wesnoth-units
				description=_ "javelin"
				icon="attacks/javelin-human.png"
				name="javelin"
				number="1"
				range="ranged"
				type="pierce"
			[/attack]
			[modifications]
				[trait]
#textdomain wesnoth
					female_name=_ "female^quick"
					id="quick"
					male_name=_ "quick"
					name=_ "quick"
					[effect]
						apply_to="movement"
						increase="1"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="-5%"
					[/effect]
				[/trait]
				[trait]
					female_name=_ "female^resilient"
					id="resilient"
					male_name=_ "resilient"
					name=_ "resilient"
					[effect]
						apply_to="hitpoints"
						increase_total="4"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="1"
						times="per level"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Merman Warrior"
			alignment="lawful"
			alpha="256"
			attacks_left="1"
			cost="14"
			die_sound="mermen-die.ogg"
			ellipse="misc/ellipse"
			experience="9"
			facing="sw"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="-999"
			goto_y="-999"
			hitpoints="41"
			id="Merman Fighter-18"
			image="units/merfolk/fighter.png"
#textdomain wesnoth-units
			language_name=_ "Merman Fighter"
			level="1"
			max_attacks="1"
			max_experience="20"
			max_hitpoints="41"
			max_moves="6"
			movement="6"
			movement_type="swimmer"
			moves="6"
			name="Jini"
			profile="portraits/merfolk/fighter.png"
			race="merman"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="1"
			type="Merman Fighter"
			undead_variation="swimmer"
			underlying_id="18"
			unrenamable="no"
			upkeep="full"
			usage="fighter"
			x="20"
			y="15"
			zoc="yes"
			[attack_anim]
				[filter_attack]
					name="trident"
				[/filter_attack]
				[frame]
					begin="-200"
					end="-150"
					image="units/merfolk/fighter.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-150"
						end="100"
						image="units/merfolk/fighter.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-150"
						end="100"
						image="units/merfolk/fighter.png"
						sound="spear-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="100"
					end="150"
					image="units/merfolk/fighter.png"
				[/frame]
			[/attack_anim]
			[defend]
				start_time="-126"
				[frame]
					duration="1"
					image="units/merfolk/fighter.png"
				[/frame]
				[frame]
					duration="100"
					image="units/merfolk/fighter.png"
				[/frame]
				[if]
					hits="hit"
					[frame]
						duration="150"
						image="units/merfolk/fighter.png"
						sound="mermen-hit.wav"
					[/frame]
				[/if]
				[else]
					hits="miss,kill"
					[frame]
						duration="150"
						image="units/merfolk/fighter.png"
					[/frame]
				[/else]
				[frame]
					duration="1"
					image="units/merfolk/fighter.png"
				[/frame]
			[/defend]
			[defense]
				castle="60"
				cave="80"
				deep_water="50"
				flat="70"
				forest="70"
				frozen="70"
				fungus="80"
				hills="70"
				impassable="80"
				mountains="80"
				reef="30"
				sand="70"
				shallow_water="40"
				swamp_water="40"
				unwalkable="80"
				village="60"
			[/defense]
			[movement_costs]
				castle="1"
				cave="3"
				deep_water="1"
				flat="2"
				forest="5"
				frozen="2"
				fungus="3"
				hills="5"
				impassable="99"
				mountains="99"
				reef="2"
				sand="2"
				shallow_water="1"
				swamp_water="1"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="100"
				blade="100"
				cold="80"
				fire="100"
				impact="100"
				pierce="100"
			[/resistance]
			[variables]
			[/variables]
			[status]
				hidden="yes"
			[/status]
			[attack]
				damage="6"
				description=_ "trident"
				name="trident"
				number="3"
				range="melee"
				type="pierce"
			[/attack]
			[modifications]
				[trait]
#textdomain wesnoth
					female_name=_ "female^intelligent"
					id="intelligent"
					male_name=_ "intelligent"
					name=_ "intelligent"
					[effect]
						apply_to="max_experience"
						increase="-20%"
					[/effect]
				[/trait]
				[trait]
					female_name=_ "female^resilient"
					id="resilient"
					male_name=_ "resilient"
					name=_ "resilient"
					[effect]
						apply_to="hitpoints"
						increase_total="4"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="1"
						times="per level"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Duelist"
			alignment="lawful"
			alpha="256"
			attacks_left="1"
			cost="16"
			die_sound="human-die-1.ogg,human-die-2.ogg,human-die-3.ogg"
			ellipse="misc/ellipse"
			experience="9"
			facing="s"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="-999"
			goto_y="-999"
			hitpoints="32"
			id="Fencer-36"
			image="units/human-loyalists/fencer.png"
#textdomain wesnoth-units
			language_name=_ "Fencer"
			level="1"
			max_attacks="1"
			max_experience="29"
			max_hitpoints="32"
			max_moves="7"
			movement="6"
			movement_type="elusivefoot"
			moves="7"
			name="Blunvan"
			race="human"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="1"
			type="Fencer"
			underlying_id="36"
			unrenamable="no"
			upkeep="full"
			usage="fighter"
			x="11"
			y="13"
			zoc="yes"
			[attack_anim]
				[filter_attack]
					name="saber"
				[/filter_attack]
				[frame]
					begin="-300"
					end="-250"
					image="units/human-loyalists/fencer-attack-1.png"
					offset="0.0~-0.07"
				[/frame]
				[frame]
					begin="-250"
					end="-200"
					image="units/human-loyalists/fencer-attack-2.png"
					offset="-0.07~-0.15"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-200"
						end="-150"
						image="units/human-loyalists/fencer-attack-3.png"
						offset="-0.15~-0.25"
						sound="sword-1.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-200"
						end="-150"
						image="units/human-loyalists/fencer-attack-3.png"
						offset="-0.15~-0.25"
						sound="miss-1.ogg,miss-2.ogg,miss-3.ogg"
					[/frame]
				[/else]
				[frame]
					begin="-150"
					end="-100"
					image="units/human-loyalists/fencer-attack-4.png"
					offset="-0.25~-0.2"
				[/frame]
				[frame]
					begin="-100"
					end="-50"
					image="units/human-loyalists/fencer-attack-5.png"
					offset="-0.2~-0.1"
				[/frame]
				[frame]
					begin="-50"
					end="0"
					image="units/human-loyalists/fencer-attack-6.png"
					offset="-0.1~0.25"
				[/frame]
				[frame]
					begin="0"
					end="50"
					image="units/human-loyalists/fencer-attack-7.png"
					offset="0.25~0.55"
				[/frame]
				[frame]
					begin="50"
					end="100"
					image="units/human-loyalists/fencer-attack-8.png"
					offset="0.55~0.25"
				[/frame]
				[frame]
					begin="100"
					end="150"
					image="units/human-loyalists/fencer-attack-9.png"
					offset="0.25~0.1"
				[/frame]
				[frame]
					begin="150"
					end="200"
					image="units/human-loyalists/fencer-attack-1.png"
					offset="0.1~0.0"
				[/frame]
			[/attack_anim]
			[death]
				[frame]
					begin="0"
					end="100"
					image="units/human-loyalists/fencer-die1.png"
				[/frame]
				[frame]
					begin="100"
					end="200"
					image="units/human-loyalists/fencer-die2.png"
				[/frame]
				[frame]
					begin="200"
					end="300"
					image="units/human-loyalists/fencer-die3.png"
				[/frame]
				[frame]
					begin="300"
					end="400"
					image="units/human-loyalists/fencer-die4.png"
				[/frame]
				[frame]
					begin="400"
					end="500"
					image="units/human-loyalists/fencer-die5.png"
				[/frame]
			[/death]
			[defend]
				hits="miss"
				[frame]
					begin="-126"
					end="-125"
					image="units/human-loyalists/fencer.png"
				[/frame]
				[frame]
					begin="-125"
					end="-42"
					image="units/human-loyalists/fencer-defend-1-1.png"
				[/frame]
				[frame]
					begin="-42"
					end="41"
					image="units/human-loyalists/fencer-defend-1-2.png"
				[/frame]
				[frame]
					begin="41"
					end="125"
					image="units/human-loyalists/fencer-defend-1-1.png"
				[/frame]
				[frame]
					begin="125"
					end="126"
					image="units/human-loyalists/fencer-defend-1-1.png"
				[/frame]
			[/defend]
			[defend]
				hits="hit"
				[frame]
					begin="-126"
					end="-125"
					image="units/human-loyalists/fencer.png"
				[/frame]
				[frame]
					begin="-125"
					end="-25"
					image="units/human-loyalists/fencer-defend.png"
				[/frame]
				[frame]
					begin="-25"
					end="125"
					image="units/human-loyalists/fencer-defend.png"
					sound="human-hit-1.ogg,human-hit-2.ogg,human-hit-3.ogg,human-hit-4.ogg,human-hit-5.ogg"
				[/frame]
				[frame]
					begin="125"
					end="126"
					image="units/human-loyalists/fencer.png"
				[/frame]
			[/defend]
			[defend]
				hits="kill"
				[frame]
					begin="-126"
					end="-125"
					image="units/human-loyalists/fencer.png"
				[/frame]
				[frame]
					begin="-125"
					end="125"
					image="units/human-loyalists/fencer-defend.png"
				[/frame]
				[frame]
					begin="125"
					end="126"
					image="units/human-loyalists/fencer.png"
				[/frame]
			[/defend]
			[idle_anim]
				start_time="0"
				[filter]
					[not]
						[filter_wml]
							[status]
								poisoned="yes"
							[/status]
						[/filter_wml]
					[/not]
				[/filter]
				[filter]
					[filter_adjacent]
						count="0"
						is_enemy="yes"
					[/filter_adjacent]
				[/filter]
				[frame]
					duration="100"
					image="units/human-loyalists/fencer-idle-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/fencer-idle-2.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/fencer-idle-3.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/fencer-idle-4.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/fencer-idle-5.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/fencer-idle-6.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/fencer-idle-7.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/fencer-idle-6.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/fencer-idle-5.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/fencer-idle-4.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/fencer-idle-3.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/fencer-idle-2.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/fencer-idle-1.png"
				[/frame]
			[/idle_anim]
			[defense]
				castle="30"
				cave="50"
				deep_water="70"
				flat="40"
				forest="30"
				frozen="60"
				fungus="30"
				hills="30"
				impassable="50"
				mountains="30"
				reef="50"
				sand="60"
				shallow_water="60"
				swamp_water="60"
				unwalkable="80"
				village="30"
			[/defense]
			[movement_costs]
				castle="1"
				cave="2"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="2"
				fungus="2"
				hills="2"
				impassable="99"
				mountains="3"
				reef="2"
				sand="2"
				shallow_water="2"
				swamp_water="2"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="80"
				blade="130"
				cold="90"
				fire="100"
				impact="120"
				pierce="120"
			[/resistance]
			[abilities]
				[skirmisher]
					affect_self="yes"
#textdomain wesnoth
					description=_ "Skirmisher:
This unit is skilled in moving past enemies quickly, and ignores all enemy Zones of Control."
					female_name=_ "female^skirmisher"
					id="skirmisher"
					name=_ "skirmisher"
				[/skirmisher]
			[/abilities]
			[variables]
			[/variables]
			[status]
				hidden="yes"
			[/status]
			[attack]
				damage="4"
#textdomain wesnoth-units
				description=_ "saber"
				icon="attacks/saber-human.png"
				name="saber"
				number="4"
				range="melee"
				type="blade"
			[/attack]
			[modifications]
				[trait]
#textdomain wesnoth
					female_name=_ "female^quick"
					id="quick"
					male_name=_ "quick"
					name=_ "quick"
					[effect]
						apply_to="movement"
						increase="1"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="-5%"
					[/effect]
				[/trait]
				[trait]
					female_name=_ "female^resilient"
					id="resilient"
					male_name=_ "resilient"
					name=_ "resilient"
					[effect]
						apply_to="hitpoints"
						increase_total="4"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="1"
						times="per level"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Cavalier"
			alignment="lawful"
			alpha="256"
			attacks_left="1"
			cost="34"
			die_sound="horse-die.ogg"
			ellipse="misc/ellipse"
			experience="2"
			facing="se"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="-999"
			goto_y="-999"
			hitpoints="59"
			id="Cavalryman-38"
			image="units/human-loyalists/dragoon.png"
#textdomain wesnoth-units
			language_name=_ "Dragoon"
			level="2"
			max_attacks="1"
			max_experience="53"
			max_hitpoints="59"
			max_moves="9"
			movement="9"
			movement_type="mounted"
			moves="9"
			name="Rheollymyr"
			profile="portraits/humans/cavalryman.png"
			race="human"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="1"
			type="Dragoon"
			undead_variation="mounted"
			underlying_id="38"
			unrenamable="no"
			upkeep="full"
			usage="scout"
			x="24"
			y="8"
			zoc="yes"
			[defense]
				castle="60"
				cave="80"
				deep_water="80"
				flat="60"
				forest="70"
				frozen="70"
				fungus="80"
				hills="60"
				impassable="80"
				mountains="80"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="80"
				unwalkable="80"
				village="60"
			[/defense]
			[movement_costs]
				castle="1"
				cave="4"
				deep_water="99"
				flat="1"
				forest="3"
				frozen="2"
				fungus="4"
				hills="2"
				impassable="99"
				mountains="99"
				reef="3"
				sand="2"
				shallow_water="4"
				swamp_water="4"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="80"
				blade="70"
				cold="80"
				fire="100"
				impact="60"
				pierce="120"
			[/resistance]
			[attack_anim]
				[filter_attack]
					name="crossbow"
				[/filter_attack]
				[frame]
					begin="-1100"
					end="-1000"
					image="units/human-loyalists/dragoon-ranged-1.png"
				[/frame]
				[frame]
					begin="-1000"
					end="-900"
					image="units/human-loyalists/dragoon-ranged-2.png"
				[/frame]
				[frame]
					begin="-800"
					end="-700"
					image="units/human-loyalists/dragoon-ranged-3.png"
				[/frame]
				[frame]
					begin="-700"
					end="-600"
					image="units/human-loyalists/dragoon-ranged-4.png"
				[/frame]
				[frame]
					begin="-600"
					end="-500"
					image="units/human-loyalists/dragoon-ranged-5.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-500"
						end="-300"
						image="units/human-loyalists/dragoon-ranged-6.png"
						sound="crossbow.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-500"
						end="-300"
						image="units/human-loyalists/dragoon-ranged-6.png"
						sound="crossbow-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="-300"
					end="-0"
					image="units/human-loyalists/dragoon-ranged-7.png"
				[/frame]
				[missile_frame]
					begin="-150"
					end="0"
					image="projectiles/missile-n.png"
					image_diagonal="projectiles/missile-ne.png"
				[/missile_frame]
			[/attack_anim]
			[attack_anim]
				[filter_attack]
					name="sword"
				[/filter_attack]
				[frame]
					begin="-225"
					end="-200"
					image="units/human-loyalists/dragoon.png"
				[/frame]
				[frame]
					begin="-200"
					end="-150"
					image="units/human-loyalists/dragoon-moving.png"
					sound="horse-canter.wav"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-150"
						end="150"
						image="units/human-loyalists/dragoon-attack.png"
						sound="sword-1.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-150"
						end="150"
						image="units/human-loyalists/dragoon-attack.png"
						sound="miss-1.ogg,miss-2.ogg,miss-3.ogg"
					[/frame]
				[/else]
				[frame]
					begin="150"
					end="200"
					image="units/human-loyalists/dragoon-moving.png"
				[/frame]
				[frame]
					begin="200"
					end="225"
					image="units/human-loyalists/dragoon.png"
				[/frame]
			[/attack_anim]
			[defend]
				start_time="-126"
				[frame]
					duration="1"
					image="units/human-loyalists/dragoon.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/dragoon-defend.png"
				[/frame]
				[if]
					hits="hit"
					[frame]
						duration="150"
						image="units/human-loyalists/dragoon-defend.png"
						sound="horse-hit-1.ogg,horse-hit-2.ogg,horse-hit-3.ogg"
					[/frame]
				[/if]
				[else]
					hits="miss,kill"
					[frame]
						duration="150"
						image="units/human-loyalists/dragoon-defend.png"
					[/frame]
				[/else]
				[frame]
					duration="1"
					image="units/human-loyalists/dragoon.png"
				[/frame]
			[/defend]
			[idle_anim]
				start_time="0"
				[filter]
					[not]
						[filter_wml]
							[status]
								poisoned="yes"
							[/status]
						[/filter_wml]
					[/not]
				[/filter]
				[filter]
					[filter_adjacent]
						count="0"
						is_enemy="yes"
					[/filter_adjacent]
				[/filter]
				[frame]
					duration="100"
					image="units/human-loyalists/dragoon-idle-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/dragoon-idle-2.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/dragoon-idle-3.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/dragoon-idle-4.png"
				[/frame]
				[frame]
					duration="400"
					image="units/human-loyalists/dragoon-idle-5.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/dragoon-idle-6.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/dragoon-idle-2.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/dragoon-idle-1.png"
				[/frame]
			[/idle_anim]
			[movement_anim]
				[frame]
					begin="0"
					end="150"
					image="units/human-loyalists/dragoon-moving.png"
				[/frame]
			[/movement_anim]
			[variables]
			[/variables]
			[status]
				hidden="yes"
			[/status]
			[attack]
				damage="6"
				description=_ "sword"
				icon="attacks/sword-human.png"
				name="sword"
				number="4"
				range="melee"
				type="blade"
			[/attack]
			[attack]
				damage="12"
				description=_ "crossbow"
				icon="attacks/crossbow-human.png"
				name="crossbow"
				number="1"
				range="ranged"
				type="pierce"
			[/attack]
			[modifications]
				[trait]
#textdomain wesnoth
					female_name=_ "female^intelligent"
					id="intelligent"
					male_name=_ "intelligent"
					name=_ "intelligent"
					[effect]
						apply_to="max_experience"
						increase="-20%"
					[/effect]
				[/trait]
				[trait]
					female_name=_ "female^resilient"
					id="resilient"
					male_name=_ "resilient"
					name=_ "resilient"
					[effect]
						apply_to="hitpoints"
						increase_total="4"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="1"
						times="per level"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Longbowman"
			alignment="lawful"
			alpha="256"
			attacks_left="1"
			cost="14"
			die_sound="human-die-1.ogg,human-die-2.ogg,human-die-3.ogg"
			ellipse="misc/ellipse"
			experience="14"
			facing="se"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="-999"
			goto_y="-999"
			hitpoints="36"
			id="Bowman-40"
			image="units/human-loyalists/bowman.png"
#textdomain wesnoth-units
			language_name=_ "Bowman"
			level="1"
			max_attacks="1"
			max_experience="27"
			max_hitpoints="36"
			max_moves="6"
			movement="5"
			movement_type="smallfoot"
			moves="6"
			name="Blennycyn"
			profile="portraits/humans/bowman.png"
			race="human"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="1"
			type="Bowman"
			undead_variation="archer"
			underlying_id="40"
			unrenamable="no"
			upkeep="full"
			usage="archer"
			x="10"
			y="13"
			zoc="yes"
			[attack_anim]
				start_time="-445"
				[filter_attack]
					name="bow"
				[/filter_attack]
				[missile_frame]
					begin="-150"
					end="0"
					image="projectiles/missile-n.png"
					image_diagonal="projectiles/missile-ne.png"
				[/missile_frame]
				[frame]
					duration="65"
					image="units/human-loyalists/bowman-bow.png"
				[/frame]
				[frame]
					duration="75"
					image="units/human-loyalists/bowman-bow-attack-1.png"
				[/frame]
				[frame]
					duration="75"
					image="units/human-loyalists/bowman-bow-attack-2.png"
				[/frame]
				[if]
					hits="no"
					[frame]
						duration="100"
						image="units/human-loyalists/bowman-bow-attack-3.png"
						sound="bow-miss.ogg"
					[/frame]
				[/if]
				[else]
					hits="yes"
					[frame]
						duration="100"
						image="units/human-loyalists/bowman-bow-attack-3.png"
						sound="bow.ogg"
					[/frame]
				[/else]
				[frame]
					duration="130"
					image="units/human-loyalists/bowman-bow-attack-4.png"
				[/frame]
				[frame]
					duration="65"
					image="units/human-loyalists/bowman-bow-attack-1.png"
				[/frame]
			[/attack_anim]
			[attack_anim]
				start_time="-275"
				[filter_attack]
					name="short sword"
				[/filter_attack]
				[frame]
					duration="50"
					image="units/human-loyalists/bowman-melee-defend-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/bowman-melee-attack-1.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						duration="100"
						image="units/human-loyalists/bowman-melee-attack-2.png"
						sound="sword-1.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						duration="100"
						image="units/human-loyalists/bowman-melee-attack-2.png"
						sound="miss-1.ogg,miss-2.ogg,miss-3.ogg"
					[/frame]
				[/else]
				[frame]
					duration="100"
					image="units/human-loyalists/bowman-melee-attack-3.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/bowman-melee-attack-4.png"
				[/frame]
				[frame]
					duration="50"
					image="units/human-loyalists/bowman-melee-defend-1.png"
				[/frame]
			[/attack_anim]
			[defend]
				start_time="-126"
				[filter_attack]
					range="melee"
				[/filter_attack]
				[frame]
					duration="1"
					image="units/human-loyalists/bowman-melee-defend-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/bowman-melee-defend-2.png"
				[/frame]
				[if]
					hits="hit"
					[frame]
						duration="150"
						image="units/human-loyalists/bowman-melee-defend-2.png"
						sound="human-hit-1.ogg,human-hit-2.ogg,human-hit-3.ogg,human-hit-4.ogg,human-hit-5.ogg"
					[/frame]
				[/if]
				[else]
					hits="miss,kill"
					[frame]
						duration="150"
						image="units/human-loyalists/bowman-melee-defend-2.png"
					[/frame]
				[/else]
				[frame]
					duration="1"
					image="units/human-loyalists/bowman-melee-defend-1.png"
				[/frame]
			[/defend]
			[defend]
				start_time="-126"
				[filter_attack]
					range="ranged"
				[/filter_attack]
				[frame]
					duration="1"
					image="units/human-loyalists/bowman-bow.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/bowman-bow-defend.png"
				[/frame]
				[if]
					hits="hit"
					[frame]
						duration="150"
						image="units/human-loyalists/bowman-bow-defend.png"
						sound="human-hit-1.ogg,human-hit-2.ogg,human-hit-3.ogg,human-hit-4.ogg,human-hit-5.ogg"
					[/frame]
				[/if]
				[else]
					hits="miss,kill"
					[frame]
						duration="150"
						image="units/human-loyalists/bowman-bow-defend.png"
					[/frame]
				[/else]
				[frame]
					duration="1"
					image="units/human-loyalists/bowman-bow.png"
				[/frame]
			[/defend]
			[portrait]
				image="portraits/humans/transparent/bowman.png"
				mirror="false"
				side="left"
				size="400"
			[/portrait]
			[portrait]
				image="portraits/humans/transparent/bowman.png"
				mirror="true"
				side="right"
				size="400"
			[/portrait]
			[defense]
				castle="40"
				cave="60"
				deep_water="80"
				flat="60"
				forest="50"
				frozen="80"
				fungus="50"
				hills="50"
				impassable="60"
				mountains="40"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="80"
				unwalkable="80"
				village="40"
			[/defense]
			[movement_costs]
				castle="1"
				cave="2"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="3"
				fungus="2"
				hills="2"
				impassable="99"
				mountains="3"
				reef="2"
				sand="2"
				shallow_water="3"
				swamp_water="3"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="80"
				blade="100"
				cold="100"
				fire="100"
				impact="100"
				pierce="100"
			[/resistance]
			[variables]
			[/variables]
			[status]
				hidden="yes"
			[/status]
			[attack]
				damage="4"
				description=_ "short sword"
				icon="attacks/sword-human-short.png"
				name="short sword"
				number="2"
				range="melee"
				type="blade"
			[/attack]
			[attack]
				damage="6"
				description=_ "bow"
				name="bow"
				number="3"
				range="ranged"
				type="pierce"
			[/attack]
			[modifications]
				[trait]
#textdomain wesnoth
					female_name=_ "female^quick"
					id="quick"
					male_name=_ "quick"
					name=_ "quick"
					[effect]
						apply_to="movement"
						increase="1"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="-5%"
					[/effect]
				[/trait]
				[trait]
					female_name=_ "female^resilient"
					id="resilient"
					male_name=_ "resilient"
					name=_ "resilient"
					[effect]
						apply_to="hitpoints"
						increase_total="4"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="1"
						times="per level"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Cavalier"
			alignment="lawful"
			alpha="256"
			attacks_left="1"
			cost="34"
			die_sound="horse-die.ogg"
			ellipse="misc/ellipse"
			experience="3"
			facing="se"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="-999"
			goto_y="-999"
			hitpoints="50"
			id="Cavalryman-55"
			image="units/human-loyalists/dragoon.png"
#textdomain wesnoth-units
			language_name=_ "Dragoon"
			level="2"
			max_attacks="1"
			max_experience="53"
			max_hitpoints="50"
			max_moves="10"
			movement="9"
			movement_type="mounted"
			moves="10"
			name="Rudd"
			profile="portraits/humans/cavalryman.png"
			race="human"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="1"
			type="Dragoon"
			undead_variation="mounted"
			underlying_id="55"
			unrenamable="no"
			upkeep="full"
			usage="scout"
			x="29"
			y="14"
			zoc="yes"
			[defense]
				castle="60"
				cave="80"
				deep_water="80"
				flat="60"
				forest="70"
				frozen="70"
				fungus="80"
				hills="60"
				impassable="80"
				mountains="80"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="80"
				unwalkable="80"
				village="60"
			[/defense]
			[movement_costs]
				castle="1"
				cave="4"
				deep_water="99"
				flat="1"
				forest="3"
				frozen="2"
				fungus="4"
				hills="2"
				impassable="99"
				mountains="99"
				reef="3"
				sand="2"
				shallow_water="4"
				swamp_water="4"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="80"
				blade="70"
				cold="80"
				fire="100"
				impact="60"
				pierce="120"
			[/resistance]
			[attack_anim]
				[filter_attack]
					name="crossbow"
				[/filter_attack]
				[frame]
					begin="-1100"
					end="-1000"
					image="units/human-loyalists/dragoon-ranged-1.png"
				[/frame]
				[frame]
					begin="-1000"
					end="-900"
					image="units/human-loyalists/dragoon-ranged-2.png"
				[/frame]
				[frame]
					begin="-800"
					end="-700"
					image="units/human-loyalists/dragoon-ranged-3.png"
				[/frame]
				[frame]
					begin="-700"
					end="-600"
					image="units/human-loyalists/dragoon-ranged-4.png"
				[/frame]
				[frame]
					begin="-600"
					end="-500"
					image="units/human-loyalists/dragoon-ranged-5.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-500"
						end="-300"
						image="units/human-loyalists/dragoon-ranged-6.png"
						sound="crossbow.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-500"
						end="-300"
						image="units/human-loyalists/dragoon-ranged-6.png"
						sound="crossbow-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="-300"
					end="-0"
					image="units/human-loyalists/dragoon-ranged-7.png"
				[/frame]
				[missile_frame]
					begin="-150"
					end="0"
					image="projectiles/missile-n.png"
					image_diagonal="projectiles/missile-ne.png"
				[/missile_frame]
			[/attack_anim]
			[attack_anim]
				[filter_attack]
					name="sword"
				[/filter_attack]
				[frame]
					begin="-225"
					end="-200"
					image="units/human-loyalists/dragoon.png"
				[/frame]
				[frame]
					begin="-200"
					end="-150"
					image="units/human-loyalists/dragoon-moving.png"
					sound="horse-canter.wav"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-150"
						end="150"
						image="units/human-loyalists/dragoon-attack.png"
						sound="sword-1.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-150"
						end="150"
						image="units/human-loyalists/dragoon-attack.png"
						sound="miss-1.ogg,miss-2.ogg,miss-3.ogg"
					[/frame]
				[/else]
				[frame]
					begin="150"
					end="200"
					image="units/human-loyalists/dragoon-moving.png"
				[/frame]
				[frame]
					begin="200"
					end="225"
					image="units/human-loyalists/dragoon.png"
				[/frame]
			[/attack_anim]
			[defend]
				start_time="-126"
				[frame]
					duration="1"
					image="units/human-loyalists/dragoon.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/dragoon-defend.png"
				[/frame]
				[if]
					hits="hit"
					[frame]
						duration="150"
						image="units/human-loyalists/dragoon-defend.png"
						sound="horse-hit-1.ogg,horse-hit-2.ogg,horse-hit-3.ogg"
					[/frame]
				[/if]
				[else]
					hits="miss,kill"
					[frame]
						duration="150"
						image="units/human-loyalists/dragoon-defend.png"
					[/frame]
				[/else]
				[frame]
					duration="1"
					image="units/human-loyalists/dragoon.png"
				[/frame]
			[/defend]
			[idle_anim]
				start_time="0"
				[filter]
					[not]
						[filter_wml]
							[status]
								poisoned="yes"
							[/status]
						[/filter_wml]
					[/not]
				[/filter]
				[filter]
					[filter_adjacent]
						count="0"
						is_enemy="yes"
					[/filter_adjacent]
				[/filter]
				[frame]
					duration="100"
					image="units/human-loyalists/dragoon-idle-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/dragoon-idle-2.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/dragoon-idle-3.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/dragoon-idle-4.png"
				[/frame]
				[frame]
					duration="400"
					image="units/human-loyalists/dragoon-idle-5.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/dragoon-idle-6.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/dragoon-idle-2.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/dragoon-idle-1.png"
				[/frame]
			[/idle_anim]
			[movement_anim]
				[frame]
					begin="0"
					end="150"
					image="units/human-loyalists/dragoon-moving.png"
				[/frame]
			[/movement_anim]
			[variables]
			[/variables]
			[status]
				hidden="yes"
			[/status]
			[attack]
				damage="6"
				description=_ "sword"
				icon="attacks/sword-human.png"
				name="sword"
				number="4"
				range="melee"
				type="blade"
			[/attack]
			[attack]
				damage="12"
				description=_ "crossbow"
				icon="attacks/crossbow-human.png"
				name="crossbow"
				number="1"
				range="ranged"
				type="pierce"
			[/attack]
			[modifications]
				[trait]
#textdomain wesnoth
					female_name=_ "female^quick"
					id="quick"
					male_name=_ "quick"
					name=_ "quick"
					[effect]
						apply_to="movement"
						increase="1"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="-5%"
					[/effect]
				[/trait]
				[trait]
					female_name=_ "female^intelligent"
					id="intelligent"
					male_name=_ "intelligent"
					name=_ "intelligent"
					[effect]
						apply_to="max_experience"
						increase="-20%"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Swordsman,Pikeman,Javelineer"
			alignment="lawful"
			alpha="256"
			attacks_left="1"
			cost="14"
			die_sound="human-die-1.ogg,human-die-2.ogg,human-die-3.ogg"
			ellipse="misc/ellipse"
			experience="4"
			facing="sw"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="-999"
			goto_y="-999"
			hitpoints="31"
			id="Spearman-65"
			image="units/human-loyalists/spearman.png"
#textdomain wesnoth-units
			language_name=_ "Spearman"
			level="1"
			max_attacks="1"
			max_experience="24"
			max_hitpoints="41"
			max_moves="5"
			movement="5"
			movement_type="smallfoot"
			moves="5"
			name="Gaedryn"
			profile="portraits/humans/spearman.png"
			race="human"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="1"
			type="Spearman"
			underlying_id="65"
			unrenamable="no"
			upkeep="full"
			usage="fighter"
			x="13"
			y="8"
			zoc="yes"
			[attack_anim]
				[filter_attack]
					name="javelin"
				[/filter_attack]
				[missile_frame]
					begin="-150"
					end="0"
					image="projectiles/spear-n.png"
					image_diagonal="projectiles/spear-ne.png"
				[/missile_frame]
				[frame]
					begin="-250"
					end="-150"
					image="units/human-loyalists/spearman-death1.png"
					sound="throw-1.wav,throw-2.wav,throw-3.wav,throw-4.wav"
				[/frame]
				[frame]
					begin="-150"
					end="-100"
					image="units/human-loyalists/spearman-attack-ranged.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-100"
						end="-50"
						image="units/human-loyalists/spearman-attack-ranged.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-100"
						end="-50"
						image="units/human-loyalists/spearman-attack-ranged.png"
					[/frame]
				[/else]
				[frame]
					begin="-50"
					end="50"
					image="units/human-loyalists/spearman-attack-ranged2.png"
				[/frame]
			[/attack_anim]
			[attack_anim]
				direction="s"
				[filter_attack]
					name="spear"
				[/filter_attack]
				[frame]
					begin="-200"
					end="-150"
					image="units/human-loyalists/spearman.png"
				[/frame]
				[frame]
					begin="-150"
					end="-50"
					image="units/human-loyalists/spearman-attack-s-1.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-50"
						end="100"
						image="units/human-loyalists/spearman-attack-s-2.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-50"
						end="100"
						image="units/human-loyalists/spearman-attack-s-2.png"
						sound="spear-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="100"
					end="150"
					image="units/human-loyalists/spearman-attack-s-1.png"
				[/frame]
			[/attack_anim]
			[attack_anim]
				direction="n"
				[filter_attack]
					name="spear"
				[/filter_attack]
				[frame]
					begin="-200"
					end="-100"
					image="units/human-loyalists/spearman.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-100"
						end="100"
						image="units/human-loyalists/spearman-attack-n.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-100"
						end="100"
						image="units/human-loyalists/spearman-attack-n.png"
						sound="spear-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="100"
					end="150"
					image="units/human-loyalists/spearman.png"
				[/frame]
			[/attack_anim]
			[attack_anim]
				direction="ne,nw"
				[filter_attack]
					name="spear"
				[/filter_attack]
				[frame]
					begin="-200"
					end="-100"
					image="units/human-loyalists/spearman.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-100"
						end="100"
						image="units/human-loyalists/spearman-attack-ne.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-100"
						end="100"
						image="units/human-loyalists/spearman-attack-ne.png"
						sound="spear-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="100"
					end="150"
					image="units/human-loyalists/spearman.png"
				[/frame]
			[/attack_anim]
			[attack_anim]
				direction="se,sw"
				[filter_attack]
					name="spear"
				[/filter_attack]
				[frame]
					begin="-200"
					end="-100"
					image="units/human-loyalists/spearman.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-100"
						end="100"
						image="units/human-loyalists/spearman-attack.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-100"
						end="100"
						image="units/human-loyalists/spearman-attack.png"
						sound="spear-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="100"
					end="150"
					image="units/human-loyalists/spearman.png"
				[/frame]
			[/attack_anim]
			[death]
				[frame]
					begin="0"
					end="125"
					image="units/human-loyalists/spearman-death1.png"
				[/frame]
				[frame]
					begin="125"
					end="250"
					image="units/human-loyalists/spearman-death2.png"
				[/frame]
				[frame]
					begin="250"
					end="375"
					image="units/human-loyalists/spearman-death3.png"
				[/frame]
				[frame]
					begin="375"
					end="500"
					image="units/human-loyalists/spearman-death4.png"
				[/frame]
			[/death]
			[defend]
				[frame]
					begin="-100"
					end="-90"
					image="units/human-loyalists/spearman-defend-2.png"
				[/frame]
				[frame]
					begin="-90"
					end="90"
					image="units/human-loyalists/spearman-defend.png"
				[/frame]
				[frame]
					begin="90"
					end="100"
					image="units/human-loyalists/spearman-defend-2.png"
				[/frame]
			[/defend]
			[portrait]
				image="portraits/humans/transparent/spearman.png"
				mirror="false"
				side="left"
				size="400"
			[/portrait]
			[portrait]
				image="portraits/humans/transparent/spearman.png"
				mirror="true"
				side="right"
				size="400"
			[/portrait]
			[defense]
				castle="40"
				cave="60"
				deep_water="80"
				flat="60"
				forest="50"
				frozen="80"
				fungus="50"
				hills="50"
				impassable="60"
				mountains="40"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="80"
				unwalkable="80"
				village="40"
			[/defense]
			[movement_costs]
				castle="1"
				cave="2"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="3"
				fungus="2"
				hills="2"
				impassable="99"
				mountains="3"
				reef="2"
				sand="2"
				shallow_water="3"
				swamp_water="3"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="80"
				blade="100"
				cold="100"
				fire="100"
				impact="100"
				pierce="100"
			[/resistance]
			[variables]
			[/variables]
			[status]
				hidden="yes"
			[/status]
			[attack]
				damage="7"
				description=_ "spear"
				icon="attacks/spear.png"
				name="spear"
				number="3"
				range="melee"
				type="pierce"
				[specials]
					[firststrike]
#textdomain wesnoth
						description=_ "First Strike:
This unit always strikes first with this attack, even if they are defending."
						id="firststrike"
						name=_ "firststrike"
					[/firststrike]
				[/specials]
			[/attack]
			[attack]
				damage="6"
#textdomain wesnoth-units
				description=_ "javelin"
				icon="attacks/javelin-human.png"
				name="javelin"
				number="1"
				range="ranged"
				type="pierce"
			[/attack]
			[modifications]
				[trait]
#textdomain wesnoth
					female_name=_ "female^intelligent"
					id="intelligent"
					male_name=_ "intelligent"
					name=_ "intelligent"
					[effect]
						apply_to="max_experience"
						increase="-20%"
					[/effect]
				[/trait]
				[trait]
					female_name=_ "female^resilient"
					id="resilient"
					male_name=_ "resilient"
					name=_ "resilient"
					[effect]
						apply_to="hitpoints"
						increase_total="4"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="1"
						times="per level"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Swordsman,Pikeman,Javelineer"
			alignment="lawful"
			alpha="256"
			attacks_left="1"
			cost="14"
			die_sound="human-die-1.ogg,human-die-2.ogg,human-die-3.ogg"
			ellipse="misc/ellipse"
			experience="10"
			facing="sw"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="-999"
			goto_y="-999"
			hitpoints="30"
			id="Spearman-66"
			image="units/human-loyalists/spearman.png"
#textdomain wesnoth-units
			language_name=_ "Spearman"
			level="1"
			max_attacks="1"
			max_experience="24"
			max_hitpoints="37"
			max_moves="5"
			movement="5"
			movement_type="smallfoot"
			moves="5"
			name="Blur"
			profile="portraits/humans/spearman.png"
			race="human"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="1"
			type="Spearman"
			underlying_id="66"
			unrenamable="no"
			upkeep="full"
			usage="fighter"
			x="18"
			y="12"
			zoc="yes"
			[attack_anim]
				[filter_attack]
					name="javelin"
				[/filter_attack]
				[missile_frame]
					begin="-150"
					end="0"
					image="projectiles/spear-n.png"
					image_diagonal="projectiles/spear-ne.png"
				[/missile_frame]
				[frame]
					begin="-250"
					end="-150"
					image="units/human-loyalists/spearman-death1.png"
					sound="throw-1.wav,throw-2.wav,throw-3.wav,throw-4.wav"
				[/frame]
				[frame]
					begin="-150"
					end="-100"
					image="units/human-loyalists/spearman-attack-ranged.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-100"
						end="-50"
						image="units/human-loyalists/spearman-attack-ranged.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-100"
						end="-50"
						image="units/human-loyalists/spearman-attack-ranged.png"
					[/frame]
				[/else]
				[frame]
					begin="-50"
					end="50"
					image="units/human-loyalists/spearman-attack-ranged2.png"
				[/frame]
			[/attack_anim]
			[attack_anim]
				direction="s"
				[filter_attack]
					name="spear"
				[/filter_attack]
				[frame]
					begin="-200"
					end="-150"
					image="units/human-loyalists/spearman.png"
				[/frame]
				[frame]
					begin="-150"
					end="-50"
					image="units/human-loyalists/spearman-attack-s-1.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-50"
						end="100"
						image="units/human-loyalists/spearman-attack-s-2.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-50"
						end="100"
						image="units/human-loyalists/spearman-attack-s-2.png"
						sound="spear-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="100"
					end="150"
					image="units/human-loyalists/spearman-attack-s-1.png"
				[/frame]
			[/attack_anim]
			[attack_anim]
				direction="n"
				[filter_attack]
					name="spear"
				[/filter_attack]
				[frame]
					begin="-200"
					end="-100"
					image="units/human-loyalists/spearman.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-100"
						end="100"
						image="units/human-loyalists/spearman-attack-n.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-100"
						end="100"
						image="units/human-loyalists/spearman-attack-n.png"
						sound="spear-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="100"
					end="150"
					image="units/human-loyalists/spearman.png"
				[/frame]
			[/attack_anim]
			[attack_anim]
				direction="ne,nw"
				[filter_attack]
					name="spear"
				[/filter_attack]
				[frame]
					begin="-200"
					end="-100"
					image="units/human-loyalists/spearman.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-100"
						end="100"
						image="units/human-loyalists/spearman-attack-ne.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-100"
						end="100"
						image="units/human-loyalists/spearman-attack-ne.png"
						sound="spear-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="100"
					end="150"
					image="units/human-loyalists/spearman.png"
				[/frame]
			[/attack_anim]
			[attack_anim]
				direction="se,sw"
				[filter_attack]
					name="spear"
				[/filter_attack]
				[frame]
					begin="-200"
					end="-100"
					image="units/human-loyalists/spearman.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-100"
						end="100"
						image="units/human-loyalists/spearman-attack.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-100"
						end="100"
						image="units/human-loyalists/spearman-attack.png"
						sound="spear-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="100"
					end="150"
					image="units/human-loyalists/spearman.png"
				[/frame]
			[/attack_anim]
			[death]
				[frame]
					begin="0"
					end="125"
					image="units/human-loyalists/spearman-death1.png"
				[/frame]
				[frame]
					begin="125"
					end="250"
					image="units/human-loyalists/spearman-death2.png"
				[/frame]
				[frame]
					begin="250"
					end="375"
					image="units/human-loyalists/spearman-death3.png"
				[/frame]
				[frame]
					begin="375"
					end="500"
					image="units/human-loyalists/spearman-death4.png"
				[/frame]
			[/death]
			[defend]
				[frame]
					begin="-100"
					end="-90"
					image="units/human-loyalists/spearman-defend-2.png"
				[/frame]
				[frame]
					begin="-90"
					end="90"
					image="units/human-loyalists/spearman-defend.png"
				[/frame]
				[frame]
					begin="90"
					end="100"
					image="units/human-loyalists/spearman-defend-2.png"
				[/frame]
			[/defend]
			[portrait]
				image="portraits/humans/transparent/spearman.png"
				mirror="false"
				side="left"
				size="400"
			[/portrait]
			[portrait]
				image="portraits/humans/transparent/spearman.png"
				mirror="true"
				side="right"
				size="400"
			[/portrait]
			[defense]
				castle="40"
				cave="60"
				deep_water="80"
				flat="60"
				forest="50"
				frozen="80"
				fungus="50"
				hills="50"
				impassable="60"
				mountains="40"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="80"
				unwalkable="80"
				village="40"
			[/defense]
			[movement_costs]
				castle="1"
				cave="2"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="3"
				fungus="2"
				hills="2"
				impassable="99"
				mountains="3"
				reef="2"
				sand="2"
				shallow_water="3"
				swamp_water="3"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="80"
				blade="100"
				cold="100"
				fire="100"
				impact="100"
				pierce="100"
			[/resistance]
			[variables]
			[/variables]
			[status]
				hidden="yes"
			[/status]
			[attack]
				damage="8"
				description=_ "spear"
				icon="attacks/spear.png"
				name="spear"
				number="3"
				range="melee"
				type="pierce"
				[specials]
					[firststrike]
#textdomain wesnoth
						description=_ "First Strike:
This unit always strikes first with this attack, even if they are defending."
						id="firststrike"
						name=_ "firststrike"
					[/firststrike]
				[/specials]
			[/attack]
			[attack]
				damage="6"
#textdomain wesnoth-units
				description=_ "javelin"
				icon="attacks/javelin-human.png"
				name="javelin"
				number="1"
				range="ranged"
				type="pierce"
			[/attack]
			[modifications]
				[trait]
#textdomain wesnoth
					female_name=_ "female^intelligent"
					id="intelligent"
					male_name=_ "intelligent"
					name=_ "intelligent"
					[effect]
						apply_to="max_experience"
						increase="-20%"
					[/effect]
				[/trait]
				[trait]
					female_name=_ "female^strong"
					id="strong"
					male_name=_ "strong"
					name=_ "strong"
					[effect]
						apply_to="attack"
						increase_damage="1"
						range="melee"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="1"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Dragoon"
			alignment="lawful"
			alpha="256"
			attacks_left="1"
			cost="17"
			die_sound="horse-die.ogg"
			ellipse="misc/ellipse"
			experience="1"
			facing="s"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="-999"
			goto_y="-999"
			hitpoints="40"
			id="Cavalryman-68"
			image="units/human-loyalists/cavalryman.png"
#textdomain wesnoth-units
			language_name=_ "Cavalryman"
			level="1"
			max_attacks="1"
			max_experience="28"
			max_hitpoints="44"
			max_moves="8"
			movement="8"
			movement_type="mounted"
			moves="8"
			name="Tudd"
			profile="portraits/humans/cavalryman.png"
			race="human"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="1"
			type="Cavalryman"
			undead_variation="mounted"
			underlying_id="68"
			unrenamable="no"
			upkeep="full"
			usage="scout"
			x="6"
			y="14"
			zoc="yes"
			[attack_anim]
				[filter_attack]
					name="sword"
				[/filter_attack]
				[frame]
					begin="-225"
					end="-200"
					image="units/human-loyalists/cavalryman.png"
				[/frame]
				[frame]
					begin="-200"
					end="-150"
					image="units/human-loyalists/cavalryman-moving.png"
					sound="horse-canter.wav"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-150"
						end="150"
						image="units/human-loyalists/cavalryman-attack.png"
						sound="sword-1.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-150"
						end="150"
						image="units/human-loyalists/cavalryman-attack.png"
						sound="miss-1.ogg,miss-2.ogg,miss-3.ogg"
					[/frame]
				[/else]
				[frame]
					begin="150"
					end="200"
					image="units/human-loyalists/cavalryman-moving.png"
				[/frame]
				[frame]
					begin="200"
					end="225"
					image="units/human-loyalists/cavalryman.png"
				[/frame]
			[/attack_anim]
			[death]
				[frame]
					begin="0"
					end="200"
					image="units/human-loyalists/cavalryman-die-1.png"
				[/frame]
				[frame]
					begin="200"
					end="400"
					image="units/human-loyalists/cavalryman-die-2.png"
				[/frame]
			[/death]
			[defend]
				start_time="-126"
				[frame]
					duration="1"
					image="units/human-loyalists/cavalryman.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/cavalryman-defend.png"
				[/frame]
				[if]
					hits="hit"
					[frame]
						duration="150"
						image="units/human-loyalists/cavalryman-defend.png"
						sound="horse-hit-1.ogg,horse-hit-2.ogg,horse-hit-3.ogg"
					[/frame]
				[/if]
				[else]
					hits="miss,kill"
					[frame]
						duration="150"
						image="units/human-loyalists/cavalryman-defend.png"
					[/frame]
				[/else]
				[frame]
					duration="1"
					image="units/human-loyalists/cavalryman.png"
				[/frame]
			[/defend]
			[movement_anim]
				[frame]
					begin="0"
					end="150"
					image="units/human-loyalists/cavalryman-moving.png"
				[/frame]
			[/movement_anim]
			[defense]
				castle="60"
				cave="80"
				deep_water="80"
				flat="60"
				forest="70"
				frozen="70"
				fungus="80"
				hills="60"
				impassable="80"
				mountains="80"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="80"
				unwalkable="80"
				village="60"
			[/defense]
			[movement_costs]
				castle="1"
				cave="4"
				deep_water="99"
				flat="1"
				forest="3"
				frozen="2"
				fungus="4"
				hills="2"
				impassable="99"
				mountains="99"
				reef="3"
				sand="2"
				shallow_water="4"
				swamp_water="4"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="80"
				blade="70"
				cold="80"
				fire="100"
				impact="60"
				pierce="120"
			[/resistance]
			[variables]
			[/variables]
			[status]
				hidden="yes"
			[/status]
			[attack]
				damage="7"
				description=_ "sword"
				icon="attacks/sword-human.png"
				name="sword"
				number="3"
				range="melee"
				type="blade"
			[/attack]
			[modifications]
				[trait]
#textdomain wesnoth
					female_name=_ "female^resilient"
					id="resilient"
					male_name=_ "resilient"
					name=_ "resilient"
					[effect]
						apply_to="hitpoints"
						increase_total="4"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="1"
						times="per level"
					[/effect]
				[/trait]
				[trait]
					female_name=_ "female^strong"
					id="strong"
					male_name=_ "strong"
					name=_ "strong"
					[effect]
						apply_to="attack"
						increase_damage="1"
						range="melee"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="1"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Knight,Lancer"
			alignment="lawful"
			alpha="256"
			attacks_left="1"
			cost="23"
			die_sound="horse-die.ogg"
			ellipse="misc/ellipse"
			experience="0"
			facing="n"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="-999"
			goto_y="-999"
			hitpoints="39"
			id="Horseman-74"
			image="units/human-loyalists/horseman.png"
#textdomain wesnoth-units
			language_name=_ "Horseman"
			level="1"
			max_attacks="1"
			max_experience="25"
			max_hitpoints="39"
			max_moves="8"
			movement="8"
			movement_type="mounted"
			moves="8"
			name="Taent"
			profile="portraits/humans/horseman.png"
			race="human"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="1"
			type="Horseman"
			undead_variation="mounted"
			underlying_id="74"
			unrenamable="no"
			upkeep="full"
			usage="fighter"
			x="24"
			y="5"
			zoc="yes"
			[attack_anim]
				hits="no"
				[filter_attack]
					name="spear"
				[/filter_attack]
				[frame]
					begin="-250"
					end="-225"
					image="units/human-loyalists/horseman.png"
					sound="horse-canter.wav"
				[/frame]
				[frame]
					begin="-225"
					end="-150"
					image="units/human-loyalists/horseman-moving.png"
				[/frame]
				[frame]
					begin="-150"
					end="100"
					image="units/human-loyalists/horseman-attack.png"
					sound="miss-1.ogg,miss-2.ogg,miss-3.ogg"
				[/frame]
				[frame]
					begin="100"
					end="175"
					image="units/human-loyalists/horseman-moving.png"
				[/frame]
				[frame]
					begin="175"
					end="200"
					image="units/human-loyalists/horseman.png"
				[/frame]
			[/attack_anim]
			[attack_anim]
				hits="yes"
				[filter_attack]
					name="spear"
				[/filter_attack]
				[frame]
					begin="-250"
					end="-200"
					image="units/human-loyalists/horseman.png"
					sound="horse-canter.wav"
				[/frame]
				[frame]
					begin="-200"
					end="-150"
					image="units/human-loyalists/horseman-moving.png"
				[/frame]
				[frame]
					begin="-150"
					end="100"
					image="units/human-loyalists/horseman-attack.png"
					sound="spear.ogg"
				[/frame]
				[frame]
					begin="100"
					end="150"
					image="units/human-loyalists/horseman-moving.png"
				[/frame]
				[frame]
					begin="150"
					end="200"
					image="units/human-loyalists/horseman.png"
				[/frame]
			[/attack_anim]
			[defend]
				start_time="-126"
				[frame]
					duration="1"
					image="units/human-loyalists/horseman.png"
				[/frame]
				[frame]
					duration="100"
					image="units/human-loyalists/horseman-defend.png"
				[/frame]
				[if]
					hits="hit"
					[frame]
						duration="150"
						image="units/human-loyalists/horseman-defend.png"
						sound="horse-hit-1.ogg,horse-hit-2.ogg,horse-hit-3.ogg"
					[/frame]
				[/if]
				[else]
					hits="miss,kill"
					[frame]
						duration="150"
						image="units/human-loyalists/horseman-defend.png"
					[/frame]
				[/else]
				[frame]
					duration="1"
					image="units/human-loyalists/horseman.png"
				[/frame]
			[/defend]
			[movement_anim]
				[frame]
					begin="0"
					end="150"
					image="units/human-loyalists/horseman-moving.png"
				[/frame]
			[/movement_anim]
			[defense]
				castle="60"
				cave="80"
				deep_water="80"
				flat="60"
				forest="70"
				frozen="70"
				fungus="80"
				hills="60"
				impassable="80"
				mountains="80"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="80"
				unwalkable="80"
				village="60"
			[/defense]
			[movement_costs]
				castle="1"
				cave="4"
				deep_water="99"
				flat="1"
				forest="3"
				frozen="2"
				fungus="4"
				hills="2"
				impassable="99"
				mountains="99"
				reef="3"
				sand="2"
				shallow_water="4"
				swamp_water="4"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="80"
				blade="80"
				cold="100"
				fire="100"
				impact="70"
				pierce="120"
			[/resistance]
			[variables]
			[/variables]
			[status]
				hidden="yes"
			[/status]
			[attack]
				damage="10"
				description=_ "spear"
				name="spear"
				number="2"
				range="melee"
				type="pierce"
				[specials]
					[damage]
						active_on="offense"
						apply_to="both"
#textdomain wesnoth
						description=_ "Charge:
When used offensively, this attack deals double damage to the target. It also causes this unit to take double damage from the target's counterattack."
						id="charge"
						multiply="2"
						name=_ "charge"
					[/damage]
				[/specials]
			[/attack]
			[modifications]
				[trait]
					female_name=_ "female^strong"
					id="strong"
					male_name=_ "strong"
					name=_ "strong"
					[effect]
						apply_to="attack"
						increase_damage="1"
						range="melee"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="1"
					[/effect]
				[/trait]
				[trait]
					female_name=_ "female^intelligent"
					id="intelligent"
					male_name=_ "intelligent"
					name=_ "intelligent"
					[effect]
						apply_to="max_experience"
						increase="-20%"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
	[/side]
	[side]
		action_bonus_count="16"
		aggression="0.5"
		allow_player="yes"
		caution="0.25"
		colour="2"
		controller="human_ai"
		countdown_time="330000"
		current_player="Rommel"
		disallow_observers="no"
		fog="yes"
		global_recruitment_pattern="fighter,fighter,fighter,mixed fighter,archer,scout"
		gold="0"
		hidden="no"
		id="akkon2"
		income="0"
		leader_value="3"
		name="akkon"
		no_leader="yes"
		number_of_possible_recruits_to_force_recruit="3.1"
		objectives=_ "Victory:
@Defeat enemy leader(s)"
		objectives_changed="yes"
		recruit="Goblin Spearman,Naga Fighter,Orcish Archer,Orcish Assassin,Orcish Grunt,Troll Whelp,Wolf Rider"
		recruitment_pattern="fighter,fighter,fighter,mixed fighter,archer,scout"
		save_id="akkon2"
		share_maps="no"
		share_view="yes"
		shroud="no"
		side="2"
		start_gold="100"
		team_name="south"
#textdomain wesnoth-multiplayer
		user_team_name=_ "teamname^South"
		village_gold="2"
		village_value="1"
		villages_per_scout="8"
		[ai]
			recruitment_pattern="fighter,fighter,fighter,mixed fighter,archer,scout"
			villages_per_scout="8"
			[team_formula]
				rulebase="fai 'recruitment.fai'
		# ===== Some general functions used later ==== #

def sumarize_values( input_map )
	sum(
		values(input_map)
	);

def lowest_value( input_map )
	choose( input_map, -value ).value;

def highest_value( input_map )
	choose( input_map, value ).value;

def change_numbers_to_percents( input_map )
	map( input_map, 
		(value*100) / highest_value(input_map) 
	);

def add_number_to_values( input_map, number )
	map( input_map, 
		value + number 
	);

#make sure we have only positive values in a map #

def make_positive_only( input_map )
	if( lowest_value( input_map ) < 0, 
		add_number_to_values( 
			input_map, 
			abs(lowest_value(input_map))
		), 
		input_map 
	);

def sumarize_maps_values( map_A, map_B )
	map( map_A + map_B, 
		value + map_A[key]
	);

		#===== Evaluation how good unit is on a map ===== #

# ==1==  evaluate average defense #
#gives map where key is id of terrain, and value is number of hexes of that terrain on a gamemap#

def locations_map(ai*) 
	tomap( 
		map( 
			map.terrain, 
			id 
		) 
	);

#filters terrain map, min_percent it minimal % of map that terrain has to occupy to be considered in later evaluations# 

def filtered_locations_map(ai*, min_percent)
	filter( 
		locations_map(ai) , 
		value >  (map.w * map.h) / ( 100 / min_percent ) 
	);

#returns average defense of the unit #

def unit_average_defense(ai*, unit, terrain_min_percent )
	sum( 
		values( 
			map(
				filtered_locations_map(ai,terrain_min_percent), 
				defense_on( 
					unit, 
					find(map.terrain,id=key).loc
				) *
				value
			) 
		) 
	) / 
	sum(
		values(
			filtered_locations_map(
				ai,
				terrain_min_percent
			)
		)
	);

#returns map of units from units_list and their average defense (more -> better) #

def map_units_average_defense(ai*, units_list, terrain_min_percent) 
	tomap(
		map( 
			units_list, 
			id 
		), 
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	);

def units_average_defense(ai*, units_list, terrain_min_percent)
	sum(
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	) /
	size(
		units_list
	);


# ==2== TODO: evaluate unit effectivness based on movement points and movement cost#


		#===== Evaluation of game state - how good is ai doing ===== #

# ==1== based on unit cost and current amount of gold #
# returns number between 0 and 100 where: 0 we are losing, 100 we are winning #

def units_cost_gold_eval(ai*)
	min(
		[
			(
				(
					sum(
						map(
							allies, 'team', 
							sum(
								map(
									units_of_side[team], 
									cost
								)
							) + 
							teams[team].gold 
						)
					) * 
					100
				) / 
				sum(
					map(
						enemies, 'team', 
						sum(
							map(
								units_of_side[team], 
								cost
							)
						) + 
						max(
							[teams[team].gold, 0]
						) 
					)
				)
			) / 2,
			100
		]
	);

# ==2== based on village possession #

def count_allied_villages(ai*)
	sum(
		map(
			allies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

def count_enemy_villages(ai*)
	sum(
		map(
			enemies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

# multipled by 1000 to increase precision #

def village_evaluation(ai*)
	(
		50000 + 
		(
			count_allied_villages(ai) - 
			count_enemy_villages(ai)
		) * 
		(
			50000 /
			size(
				villages
			)
		)
	) /
	1000;

# ==3== combined 2 of the above #

def eval(ai*)
	( 
		units_cost_gold_eval(ai) + 
		village_evaluation(ai)
	) / 
	2;

		#===== Evaluation how effective my units are against the enemy ===== #

#==1==  basic evaluation #

# evaluate how much damage unit can inflict - how much damage unit can get#

def evaluate_attacker_against_opponents(ai*, unit, enemy_units)
	sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( unit, enemy_unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				) 
			)
		)
	);

def evaluate_defender_against_opponents(ai*, unit, enemy_units)
	-sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( enemy_unit, unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				)
			)
		)
	);

def units_hp_map(ai*, units)
	tomap( 
		map(
			units, 
			id
		), 
		map( 
			units, 
			hitpoints
		)
	);

#in case side's gold is more than 50, add units that side can recruit to the side's unit list#

def create_side_unit_list(ai*, side)
	if( 
		teams[side].gold > 50, 
		recruits_of_side[side], 
		[]
	) + 
	units_of_side[side];

def evaluate_my_recruits_as_attackers(ai*)
	tomap( 
		map(
			my_recruits, 
			id
		), 
		map(
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_attacker_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai, 
							enemy_side
						)
					)
				)
			)
		)
	);

def evaluate_my_recruits_as_defenders(ai*)
	tomap(
		map(
			my_recruits, 
			id
		),
		map( 
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_defender_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai,
							enemy_side
						)
					)
				)
			)
		)
	);


# === 2 ===  now consider abilities and weapon specials  #

def abilities_weights()
	['skirmisher' -> 15, 'ambush' -> 10, 'nightstalk' -> 20, 'regenerates' -> 20, 'healing' -> 15, 'curing' -> 10, 'leadership' -> 20, 'illumination' -> 15, 'teleport' -> 10, 'steadfast' -> 15 ];

def weapon_specials_weights()
	[ 'backstab' -> 20 ,'slow' -> 10 ,'berserk' -> 20 ,'stones' -> 60 ,'plague' -> 10 ,'marksman' -> 30 ,'magical' -> 40 ,'charge' -> 30 ,'drains' -> 30,  'firststrike' -> 10, 'poison' -> 25 ];

def apply_abilities_weights( units_map )
	map( 
		units_map, 
		value +
		(
			value * 
			max(
				map(
					get_unit_type( key ).abilities, 'ability',
					abilities_weights()[ability]
				)
			)
		) / 100
	);

def apply_weapon_specials_weights( units_map )
	map(
		units_map, 
		value +
		(
			value *
			max(
				map(
					get_unit_type( key ).attacks, 'attack',
					vars.weapon_specials[attack.special]
				)
			)
		) / 100
	);

# since undead units don't get random traits and are balanced with that, we need to lower their evaluation a bit to match fairly the living units #

def undead_malus( units_map )
	map( 
		units_map, 
		if(
			get_unit_type(key).undead,
			( value * 90 ) / 100,
			value 
		)
	);

# === 3 ===  pit 1 and 2 together  #

def evaluate_attackers(ai*)
	change_numbers_to_percents(
		apply_abilities_weights(
			apply_weapon_specials_weights(
				undead_malus( 
					make_positive_only(
						evaluate_my_recruits_as_attackers( ai )	
					)
				)
			)
		)
	);

def evaluate_defenders(ai*)
	map(
		map(
			change_numbers_to_percents(
				apply_abilities_weights(
					apply_weapon_specials_weights(
						undead_malus( 
							make_positive_only(
								evaluate_my_recruits_as_defenders( ai )	
							)
						)
					)
				)
			),
			value / 3
		), 
		value +
		map(
			change_numbers_to_percents(
				units_hp_map(
					ai,
					my_recruits
				)
			),
		value * 2 / 3
		)[key]
	);

	#=========== we have evaluation of game state and units, time to combine them: ==========#
		#=========	recruitment_list_builder	=========#

def rlb_apply_eval(eval, attackers_map, defenders_map, offset)
	map(
		sumarize_maps_values(
			map(
				attackers_map, 
				value * (eval+offset)
			),
			map(
				defenders_map,
				value * ( (100 - eval) - offset )
			)
		),
		value / 100
	);

def rlb_remove_lowest( input_map, percent)
	filter(
		input_map, 
		value > 
		(
			(
				percent * sumarize_values(input_map)
			) / 100
		)
	);

def rlb_first_step(eval, attackers_map, defenders_map, offset)
	rlb_remove_lowest(
		rlb_apply_eval(
			eval,
			attackers_map,
			defenders_map,
			offset
		),
		10
	);

def recruitment_list_builder(eval, attackers_map, defenders_map)
	map(
		rlb_first_step(
			eval,
			attackers_map,
			defenders_map,
			40
		),
		(
			(
				value * 100
			) / 
			sumarize_values(
				rlb_first_step(
					eval,
					attackers_map,
					defenders_map,
					40
				)
			)
		)
	);

		# ========== choose the unit to recruit now ========= #

def unit_chooser(ai*,unit_map) 
	choose(
		keys(unit_map), 'unit_type',
		unit_map[unit_type] - 
		(
			(
				100 * 
				size(
					filter(
						my_units, 
						type = unit_type
					)
				)
			) / 
			size(my_units)
		)
	);

def unit_map_cost_filter(ai*, unit_map)
	filter( unit_map,
		get_unit_type(key).cost < my_side.gold
	);

		# ==========	Main formula section 	========== #

def initialize_weapon_specials_map(ai*)
	if(vars.weapon_specials_init != turn,
		[
			set_var('weapon_specials_init', turn),
			set_var('weapon_specials',
				map(
					weapon_specials_weights(),
					if( key = 'magical',
						units_average_defense(ai, enemy_units, 10),
						if( key = 'marksman',
							units_average_defense(ai, enemy_units, 10) - 10,
							value
						)
					)
				)
			)
		],
		[]
	);

def create_recruits_map(ai*)
	if(vars.recruits_map_creator != turn,
		[
			set_var('recruits_map_creator', turn ),
			set_var('recruits_map',
				debug_print('final unit evaluation: ', recruitment_list_builder(
					debug_print('current AI evaluation (0-100): ', eval(ai)),
					debug_print('attackers evaluation: ',evaluate_attackers(ai)),
					debug_print('defenders evaluation: ',evaluate_defenders(ai))
				))
			)
		],
		[]
	);

def castle_space(ai*)
	filter( map( castle_locs( my_leader.loc ), 'location', if( unit_at( location ), 1, 0 ) ), self = 0  ).size;

if(vars.turn_initialized = turn,
		if( my_leader.loc = nearest_keep( my_leader.loc ),
			if( 
				get_unit_type(
					choose(
						vars.recruits_map,
						-get_unit_type(key).cost
					).key
				).cost <
				my_side.gold,
				if( castle_space(self),
					recruit(debug_print(
						unit_chooser(
							self,
							unit_map_cost_filter(
								self,
								vars.recruits_map
							)
						)
					)),
					fallback()
				),
				fallback() 
			),
			if( my_leader.movement_left > 0,
				move( my_leader.loc, nearest_keep( my_leader.loc ) ),
				fallback()
			)
		),
	[set_var(debug_print('turn_initialized'), turn)] +
	initialize_weapon_specials_map(self) +
	create_recruits_map(self)
)

faiend
"
			[/team_formula]
		[/ai]
		[ai]
			villages_per_scout="8"
		[/ai]
		[village]
			x="11"
			y="19"
		[/village]
		[village]
			x="15"
			y="20"
		[/village]
		[village]
			x="16"
			y="14"
		[/village]
		[village]
			x="25"
			y="17"
		[/village]
		[village]
			x="25"
			y="21"
		[/village]
		[village]
			x="30"
			y="20"
		[/village]
		[unit]
			advances_to="Orcish Slurbow"
			alignment="chaotic"
			allow_changes="yes"
			allow_player="yes"
			alpha="256"
			attacks_left="1"
			canrecruit="yes"
			colour="2"
			controller="network"
			cost="26"
			current_player="akkon"
			die_sound="orc-die-1.ogg,orc-die-2.ogg,orc-die-3.ogg"
			experience="1"
			facing="sw"
			flag_rgb="magenta"
			flying="no"
			fog="yes"
			gender="male"
			gold="100"
			goto_x="-999"
			goto_y="-999"
			hitpoints="30"
			id="akkon2"
			image="units/orcs/xbowman.png"
			income="0"
#textdomain wesnoth-units
			language_name=_ "Orcish Crossbowman"
			leader="Orcish Warrior,Troll,Troll Rocklobber,Orcish Crossbowman,Orcish Slayer"
			level="2"
			max_attacks="1"
			max_experience="56"
			max_hitpoints="43"
			max_moves="5"
			movement="5"
			movement_type="orcishfoot"
			moves="2"
			mp_countdown="yes"
			mp_countdown_action_bonus="13"
			mp_countdown_init_time="270"
			mp_countdown_reservoir_time="330"
			mp_countdown_turn_bonus="60"
			name="Rommel"
			race="orc"
			random_traits="no"
			recruit="Orcish Grunt,Troll Whelp,Wolf Rider,Orcish Archer,Orcish Assassin,Naga Fighter,Goblin Spearman"
			resting="no"
			save_id="akkon2"
			share_maps="no"
			share_view="yes"
			shroud="no"
			side="2"
			team_name="south"
			terrain_liked="Hh, Ha, Mm, Ss"
			type="Orcish Crossbowman"
			undead_variation="archer"
			underlying_id="2"
			unrenamable="no"
			upkeep="full"
			usage="archer"
			user_team_name="wesnoth-multiplayerteamname^South"
			village_gold="2"
			x="24"
			y="19"
			zoc="yes"
			[defense]
				castle="40"
				cave="60"
				deep_water="80"
				flat="60"
				forest="50"
				frozen="80"
				fungus="60"
				hills="50"
				impassable="60"
				mountains="40"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="70"
				unwalkable="80"
				village="40"
			[/defense]
			[movement_costs]
				castle="1"
				cave="2"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="2"
				fungus="3"
				hills="1"
				impassable="99"
				mountains="2"
				reef="2"
				sand="2"
				shallow_water="3"
				swamp_water="3"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="100"
				blade="100"
				cold="100"
				fire="100"
				impact="100"
				pierce="100"
			[/resistance]
			[variables]
			[/variables]
			[status]
				hidden="yes"
			[/status]
			[attack]
				damage="4"
				description=_ "short sword"
				icon="attacks/sword-orcish.png"
				name="short sword"
				number="3"
				range="melee"
				type="blade"
			[/attack]
			[attack]
				damage="8"
				description=_ "crossbow"
				icon="attacks/crossbow-orcish.png"
				name="crossbow"
				number="3"
				range="ranged"
				type="pierce"
			[/attack]
			[attack]
				damage="10"
				description=_ "crossbow"
				icon="attacks/crossbow-orcish.png"
				name="crossbow"
				number="2"
				range="ranged"
				type="fire"
			[/attack]
			[modifications]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Troll,Troll Rocklobber"
			alignment="chaotic"
			alpha="256"
			attacks_left="0"
			cost="13"
			die_sound="troll-die-1.ogg,troll-die-2.ogg,troll-die-3.ogg"
			ellipse="misc/ellipse"
			experience="18"
			facing="sw"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="-999"
			goto_y="-999"
			hitpoints="35"
			id="Troll Whelp-58"
			image="units/trolls/whelp.png"
			language_name=_ "Troll Whelp"
			level="1"
			max_attacks="1"
			max_experience="25"
			max_hitpoints="43"
			max_moves="4"
			movement="4"
			movement_type="largefoot"
			moves="0"
			name="Sark"
			profile="portraits/trolls/whelp.png"
			race="troll"
			random_gender="no"
			random_traits="no"
			resting="no"
			side="2"
			type="Troll Whelp"
			undead_variation="troll"
			underlying_id="58"
			unrenamable="no"
			upkeep="full"
			usage="fighter"
			x="31"
			y="13"
			zoc="yes"
			[attack_anim]
				start_time="-250"
				[filter_attack]
					name="fist"
				[/filter_attack]
				[frame]
					duration="100"
					image="units/trolls/whelp-attack-1.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						duration="125"
						image="units/trolls/whelp-attack-2.png"
						sound="fist.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						duration="125"
						image="units/trolls/whelp-attack-2.png"
						sound="miss-1.ogg,miss-2.ogg,miss-3.ogg"
					[/frame]
				[/else]
				[frame]
					duration="100"
					image="units/trolls/whelp-attack-3.png"
				[/frame]
				[frame]
					duration="75"
					image="units/trolls/whelp-attack-1.png"
				[/frame]
				[frame]
					duration="50"
					image="units/trolls/whelp.png"
				[/frame]
			[/attack_anim]
			[defend]
				start_time="-126"
				[frame]
					duration="1"
					image="units/trolls/whelp-defend-2.png"
				[/frame]
				[frame]
					duration="100"
					image="units/trolls/whelp-defend.png"
				[/frame]
				[if]
					hits="hit"
					[frame]
						duration="150"
						image="units/trolls/whelp-defend.png"
						sound="troll-hit-1.ogg,troll-hit-2.ogg,troll-hit-3.ogg,troll-hit-4.ogg"
					[/frame]
				[/if]
				[else]
					hits="miss,kill"
					[frame]
						duration="150"
						image="units/trolls/whelp-defend.png"
					[/frame]
				[/else]
				[frame]
					duration="1"
					image="units/trolls/whelp-defend-2.png"
				[/frame]
			[/defend]
			[idle_anim]
				start_time="0"
				[filter]
					[not]
						[filter_wml]
							[status]
								poisoned="yes"
							[/status]
						[/filter_wml]
					[/not]
				[/filter]
				[filter]
					[filter_adjacent]
						count="0"
						is_enemy="yes"
					[/filter_adjacent]
				[/filter]
				[frame]
					duration="100"
					image="units/trolls/whelp-idle-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/trolls/whelp-idle-2.png"
				[/frame]
				[frame]
					duration="100"
					image="units/trolls/whelp-idle-3.png"
				[/frame]
				[frame]
					duration="100"
					image="units/trolls/whelp-idle-4.png"
				[/frame]
				[frame]
					duration="100"
					image="units/trolls/whelp-idle-5.png"
				[/frame]
				[frame]
					duration="100"
					image="units/trolls/whelp-idle-6.png"
				[/frame]
				[frame]
					duration="150"
					image="units/trolls/whelp-idle-7.png"
				[/frame]
				[frame]
					duration="175"
					image="units/trolls/whelp-idle-6.png"
				[/frame]
				[frame]
					duration="150"
					image="units/trolls/whelp-idle-7.png"
				[/frame]
				[frame]
					duration="100"
					image="units/trolls/whelp-idle-6.png"
				[/frame]
				[frame]
					duration="100"
					image="units/trolls/whelp-idle-5.png"
				[/frame]
				[frame]
					duration="100"
					image="units/trolls/whelp-idle-4.png"
				[/frame]
				[frame]
					duration="100"
					image="units/trolls/whelp-idle-3.png"
				[/frame]
				[frame]
					duration="100"
					image="units/trolls/whelp-idle-2.png"
				[/frame]
				[frame]
					duration="100"
					image="units/trolls/whelp-idle-1.png"
				[/frame]
			[/idle_anim]
			[portrait]
				image="portraits/trolls/transparent/whelp.png"
				mirror="false"
				side="left"
				size="400"
			[/portrait]
			[portrait]
				image="portraits/trolls/transparent/whelp.png"
				mirror="true"
				side="right"
				size="400"
			[/portrait]
			[defense]
				castle="60"
				cave="60"
				deep_water="80"
				flat="70"
				forest="60"
				frozen="80"
				fungus="50"
				hills="50"
				impassable="60"
				mountains="40"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="80"
				unwalkable="80"
				village="60"
			[/defense]
			[movement_costs]
				castle="1"
				cave="1"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="2"
				fungus="2"
				hills="1"
				impassable="99"
				mountains="2"
				reef="2"
				sand="2"
				shallow_water="2"
				swamp_water="2"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="110"
				blade="80"
				cold="100"
				fire="100"
				impact="100"
				pierce="80"
			[/resistance]
			[abilities]
				[regenerate]
					affect_self="yes"
#textdomain wesnoth
					description=_ "Regenerates:
The unit will heal itself 8 HP per turn. If it is poisoned, it will remove the poison instead of healing."
					female_name=_ "female^regenerates"
					id="regenerates"
					name=_ "regenerates"
					poison="cured"
					value="8"
				[/regenerate]
			[/abilities]
			[variables]
			[/variables]
			[status]
			[/status]
			[attack]
				damage="8"
#textdomain wesnoth-units
				description=_ "fist"
				icon="attacks/fist-troll.png"
				name="fist"
				number="2"
				range="melee"
				type="impact"
			[/attack]
			[modifications]
				[trait]
#textdomain wesnoth
					female_name=_ "female^strong"
					id="strong"
					male_name=_ "strong"
					name=_ "strong"
					[effect]
						apply_to="attack"
						increase_damage="1"
						range="melee"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="1"
					[/effect]
				[/trait]
				[trait]
					description=_ "Fights normally during unfavorable times of day/night"
					female_name=_ "female^fearless"
					id="fearless"
					male_name=_ "fearless"
					name=_ "fearless"
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Orcish Warrior"
			alignment="chaotic"
			alpha="256"
			attacks_left="0"
			cost="12"
			die_sound="orc-die-1.ogg,orc-die-2.ogg,orc-die-3.ogg"
			ellipse="misc/ellipse"
			experience="3"
			facing="n"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="-999"
			goto_y="-999"
			hitpoints="15"
			id="Orcish Grunt-62"
			image="units/orcs/grunt.png"
#textdomain wesnoth-units
			language_name=_ "Orcish Grunt"
			level="1"
			max_attacks="1"
			max_experience="24"
			max_hitpoints="39"
			max_moves="5"
			movement="5"
			movement_type="orcishfoot"
			moves="0"
			name="Rash"
			profile="portraits/orcs/warlord5.png"
			race="orc"
			random_gender="no"
			random_traits="no"
			resting="no"
			side="2"
			type="Orcish Grunt"
			underlying_id="62"
			unrenamable="no"
			upkeep="full"
			usage="fighter"
			x="30"
			y="14"
			zoc="yes"
			[attack_anim]
				offset="0.0~0.15:100,0.15~0.35:100,0.35~0.45:75,0.45~0.5:100,0.5:20,0.5~0.4:30,0.4~0.2:75,0.2~0.0:75"
				start_time="-300"
				[filter_attack]
					name="sword"
				[/filter_attack]
				[frame]
					duration="50"
					image="units/orcs/grunt.png"
				[/frame]
				[frame]
					duration="50"
					image="units/orcs/grunt-defend-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/grunt-attack-1.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						duration="75"
						image="units/orcs/grunt-attack-2.png"
						sound="sword-1.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						duration="75"
						image="units/orcs/grunt-attack-2.png"
						sound="miss-1.ogg,miss-2.ogg,miss-3.ogg"
					[/frame]
				[/else]
				[frame]
					duration="100"
					image="units/orcs/grunt-attack-3.png"
				[/frame]
				[frame]
					duration="20"
					image="units/orcs/grunt-attack-4.png"
				[/frame]
				[frame]
					duration="30"
					image="units/orcs/grunt-attack-4.png"
				[/frame]
				[frame]
					duration="75"
					image="units/orcs/grunt-attack-5.png"
				[/frame]
				[frame]
					duration="75"
					image="units/orcs/grunt.png"
				[/frame]
			[/attack_anim]
			[death]
				start_time="0"
				[frame]
					duration="120"
					image="units/orcs/grunt-die-1.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-2.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-3.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-4.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-5.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-6.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-7.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-8.png"
				[/frame]
			[/death]
			[defend]
				start_time="-126"
				[frame]
					duration="1"
					image="units/orcs/grunt-defend-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/grunt-defend-2.png"
				[/frame]
				[if]
					hits="hit"
					[frame]
						duration="150"
						image="units/orcs/grunt-defend-2.png"
						sound="orc-hit-1.ogg,orc-hit-2.ogg,orc-hit-3.ogg,orc-hit-4.ogg"
					[/frame]
				[/if]
				[else]
					hits="miss,kill"
					[frame]
						duration="150"
						image="units/orcs/grunt-defend-2.png"
					[/frame]
				[/else]
				[frame]
					duration="1"
					image="units/orcs/grunt-defend-1.png"
				[/frame]
			[/defend]
			[defense]
				castle="40"
				cave="60"
				deep_water="80"
				flat="60"
				forest="50"
				frozen="80"
				fungus="60"
				hills="50"
				impassable="60"
				mountains="40"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="70"
				unwalkable="80"
				village="40"
			[/defense]
			[movement_costs]
				castle="1"
				cave="2"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="2"
				fungus="3"
				hills="1"
				impassable="99"
				mountains="2"
				reef="2"
				sand="2"
				shallow_water="3"
				swamp_water="3"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="100"
				blade="100"
				cold="100"
				fire="100"
				impact="100"
				pierce="100"
			[/resistance]
			[variables]
			[/variables]
			[status]
			[/status]
			[attack]
				damage="10"
				description=_ "sword"
				icon="attacks/sword-orcish.png"
				name="sword"
				number="2"
				range="melee"
				type="blade"
			[/attack]
			[modifications]
				[trait]
#textdomain wesnoth
					female_name=_ "female^strong"
					id="strong"
					male_name=_ "strong"
					name=_ "strong"
					[effect]
						apply_to="attack"
						increase_damage="1"
						range="melee"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="1"
					[/effect]
				[/trait]
				[trait]
					female_name=_ "female^intelligent"
					id="intelligent"
					male_name=_ "intelligent"
					name=_ "intelligent"
					[effect]
						apply_to="max_experience"
						increase="-20%"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Orcish Slayer"
			alignment="chaotic"
			alpha="256"
			attacks_left="1"
			cost="17"
			die_sound="orc-small-die-1.ogg,orc-small-die-2.ogg"
			ellipse="misc/ellipse"
			experience="1"
			facing="sw"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="-999"
			goto_y="-999"
			hitpoints="31"
			id="Orcish Assassin-63"
			image="units/orcs/assassin.png"
#textdomain wesnoth-units
			language_name=_ "Orcish Assassin"
			level="1"
			max_attacks="1"
			max_experience="17"
			max_hitpoints="31"
			max_moves="6"
			movement="6"
			movement_type="elusivefoot"
			moves="6"
			name="Bogart"
			profile="portraits/orcs/assassin.png"
			race="orc"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="2"
			type="Orcish Assassin"
			underlying_id="63"
			unrenamable="no"
			upkeep="full"
			usage="mixed fighter"
			x="16"
			y="15"
			zoc="yes"
			[attack_anim]
				[filter_attack]
					name="throwing knives"
				[/filter_attack]
				[missile_frame]
					begin="-150"
					end="0"
					image="projectiles/dagger-n.png"
					image_diagonal="projectiles/dagger-ne.png"
				[/missile_frame]
				[if]
					attack_sound_start_time="-200"
					hits="yes"
					[attack_sound_frame]
						sound="throwing-knife.ogg"
					[/attack_sound_frame]
				[/if]
				[else]
					attack_sound_start_time="-200"
					hits="no"
					[attack_sound_frame]
						sound="throwing-knife-miss.ogg"
					[/attack_sound_frame]
				[/else]
				[frame]
					begin="-200"
					end="-100"
					image="units/orcs/assassin-ranged1.png"
				[/frame]
				[frame]
					begin="-100"
					end="0"
					image="units/orcs/assassin-ranged2.png"
				[/frame]
				[if]
					hits="hit"
					poisoned_sound_start_time="-100"
					[filter_second]
						[not]
							[filter_wml]
								[status]
									poisoned="yes"
								[/status]
							[/filter_wml]
						[/not]
					[/filter_second]
					[poisoned_sound_frame]
						duration="100"
						sound="poison.ogg"
					[/poisoned_sound_frame]
				[/if]
			[/attack_anim]
			[attack_anim]
				start_time="-320"
				[filter_attack]
					name="dagger"
				[/filter_attack]
				[frame]
					duration="80"
					image="units/orcs/assassin-attack-1.png"
				[/frame]
				[frame]
					duration="80"
					image="units/orcs/assassin-attack-2.png"
				[/frame]
				[if]
					attack_sound_start_time="-100"
					hits="yes"
					[attack_sound_frame]
						sound="dagger-swish.wav"
					[/attack_sound_frame]
				[/if]
				[else]
					attack_sound_start_time="-100"
					hits="no"
					[attack_sound_frame]
						sound="miss-1.ogg,miss-2.ogg,miss-3.ogg"
					[/attack_sound_frame]
				[/else]
				[frame]
					duration="80"
					image="units/orcs/assassin-attack-3.png"
				[/frame]
				[frame]
					duration="80"
					image="units/orcs/assassin-attack-4.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-attack-5.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-attack-6.png"
				[/frame]
			[/attack_anim]
			[death]
				start_time="0"
				[frame]
					duration="120"
					image="units/orcs/assassin-die-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-die-2.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-die-3.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-die-4.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-die-5.png"
				[/frame]
				[frame]
					duration="80"
					image="units/orcs/assassin-die-6.png"
				[/frame]
				[frame]
					duration="80"
					image="units/orcs/assassin-die-7.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-die-8.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-die-9.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-die-10.png"
				[/frame]
			[/death]
			[defend]
				start_time="-126"
				[filter_attack]
					range="melee"
				[/filter_attack]
				[frame]
					duration="1"
					image="units/orcs/assassin-defend-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-defend-2.png"
				[/frame]
				[if]
					hits="hit"
					[frame]
						duration="150"
						image="units/orcs/assassin-defend-2.png"
						sound="orc-small-hit-1.ogg,orc-small-hit-2.ogg,orc-small-hit-3.ogg,orc-small-hit-4.ogg"
					[/frame]
				[/if]
				[else]
					hits="miss,kill"
					[frame]
						duration="150"
						image="units/orcs/assassin-defend-2.png"
					[/frame]
				[/else]
				[frame]
					duration="1"
					image="units/orcs/assassin-defend-1.png"
				[/frame]
			[/defend]
			[defend]
				start_time="-126"
				[filter_attack]
					range="ranged"
				[/filter_attack]
				[frame]
					duration="1"
					image="units/orcs/assassin.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-defend.png"
				[/frame]
				[if]
					hits="hit"
					[frame]
						duration="150"
						image="units/orcs/assassin-defend.png"
						sound="orc-small-hit-1.ogg,orc-small-hit-2.ogg,orc-small-hit-3.ogg,orc-small-hit-4.ogg"
					[/frame]
				[/if]
				[else]
					hits="miss,kill"
					[frame]
						duration="150"
						image="units/orcs/assassin-defend.png"
					[/frame]
				[/else]
				[frame]
					duration="1"
					image="units/orcs/assassin.png"
				[/frame]
			[/defend]
			[idle_anim]
				start_time="0"
				[filter]
					[not]
						[filter_wml]
							[status]
								poisoned="yes"
							[/status]
						[/filter_wml]
					[/not]
				[/filter]
				[filter]
					[filter_adjacent]
						count="0"
						is_enemy="yes"
					[/filter_adjacent]
				[/filter]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-2.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-3.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-4.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-5.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-6.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-7.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-8.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-7.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-8.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-3.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-2.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-9.png"
				[/frame]
			[/idle_anim]
			[defense]
				castle="30"
				cave="50"
				deep_water="70"
				flat="40"
				forest="30"
				frozen="60"
				fungus="30"
				hills="30"
				impassable="50"
				mountains="30"
				reef="50"
				sand="60"
				shallow_water="60"
				swamp_water="60"
				unwalkable="80"
				village="30"
			[/defense]
			[movement_costs]
				castle="1"
				cave="2"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="2"
				fungus="2"
				hills="2"
				impassable="99"
				mountains="3"
				reef="2"
				sand="2"
				shallow_water="2"
				swamp_water="2"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="100"
				blade="130"
				cold="100"
				fire="100"
				impact="120"
				pierce="120"
			[/resistance]
			[variables]
			[/variables]
			[status]
				hidden="yes"
			[/status]
			[attack]
				damage="7"
				description=_ "dagger"
				icon="attacks/dagger-orcish.png"
				name="dagger"
				number="1"
				range="melee"
				type="blade"
			[/attack]
			[attack]
				damage="3"
				description=_ "throwing knives"
				icon="attacks/dagger-thrown-poison-orcish.png"
				name="throwing knives"
				number="3"
				range="ranged"
				type="blade"
				[specials]
					[chance_to_hit]
						active_on="offense"
						cumulative="yes"
#textdomain wesnoth
						description=_ "Marksman:
When used offensively, this attack always has at least a 60% chance to hit."
						id="marksman"
						name=_ "marksman"
						value="60"
					[/chance_to_hit]
					[poison]
						description=_ "Poison:
This attack poisons living targets. Poisoned units lose 8 HP every turn until they are cured or are reduced to 1 HP. Poison can not, of itself, kill a unit."
						id="poison"
						name=_ "poison"
					[/poison]
				[/specials]
			[/attack]
			[modifications]
				[trait]
					female_name=_ "female^intelligent"
					id="intelligent"
					male_name=_ "intelligent"
					name=_ "intelligent"
					[effect]
						apply_to="max_experience"
						increase="-20%"
					[/effect]
				[/trait]
				[trait]
					female_name=_ "female^resilient"
					id="resilient"
					male_name=_ "resilient"
					name=_ "resilient"
					[effect]
						apply_to="hitpoints"
						increase_total="4"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="1"
						times="per level"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Orcish Warrior"
			alignment="chaotic"
			alpha="256"
			attacks_left="1"
			cost="12"
			die_sound="orc-die-1.ogg,orc-die-2.ogg,orc-die-3.ogg"
			ellipse="misc/ellipse"
			experience="0"
			facing="n"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="-999"
			goto_y="-999"
			hitpoints="37"
			id="Orcish Grunt-67"
			image="units/orcs/grunt.png"
#textdomain wesnoth-units
			language_name=_ "Orcish Grunt"
			level="1"
			max_attacks="1"
			max_experience="29"
			max_hitpoints="37"
			max_moves="6"
			movement="5"
			movement_type="orcishfoot"
			moves="6"
			name="Pralo"
			profile="portraits/orcs/warlord5.png"
			race="orc"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="2"
			type="Orcish Grunt"
			underlying_id="67"
			unrenamable="no"
			upkeep="full"
			usage="fighter"
			x="16"
			y="14"
			zoc="yes"
			[attack_anim]
				offset="0.0~0.15:100,0.15~0.35:100,0.35~0.45:75,0.45~0.5:100,0.5:20,0.5~0.4:30,0.4~0.2:75,0.2~0.0:75"
				start_time="-300"
				[filter_attack]
					name="sword"
				[/filter_attack]
				[frame]
					duration="50"
					image="units/orcs/grunt.png"
				[/frame]
				[frame]
					duration="50"
					image="units/orcs/grunt-defend-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/grunt-attack-1.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						duration="75"
						image="units/orcs/grunt-attack-2.png"
						sound="sword-1.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						duration="75"
						image="units/orcs/grunt-attack-2.png"
						sound="miss-1.ogg,miss-2.ogg,miss-3.ogg"
					[/frame]
				[/else]
				[frame]
					duration="100"
					image="units/orcs/grunt-attack-3.png"
				[/frame]
				[frame]
					duration="20"
					image="units/orcs/grunt-attack-4.png"
				[/frame]
				[frame]
					duration="30"
					image="units/orcs/grunt-attack-4.png"
				[/frame]
				[frame]
					duration="75"
					image="units/orcs/grunt-attack-5.png"
				[/frame]
				[frame]
					duration="75"
					image="units/orcs/grunt.png"
				[/frame]
			[/attack_anim]
			[death]
				start_time="0"
				[frame]
					duration="120"
					image="units/orcs/grunt-die-1.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-2.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-3.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-4.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-5.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-6.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-7.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-8.png"
				[/frame]
			[/death]
			[defend]
				start_time="-126"
				[frame]
					duration="1"
					image="units/orcs/grunt-defend-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/grunt-defend-2.png"
				[/frame]
				[if]
					hits="hit"
					[frame]
						duration="150"
						image="units/orcs/grunt-defend-2.png"
						sound="orc-hit-1.ogg,orc-hit-2.ogg,orc-hit-3.ogg,orc-hit-4.ogg"
					[/frame]
				[/if]
				[else]
					hits="miss,kill"
					[frame]
						duration="150"
						image="units/orcs/grunt-defend-2.png"
					[/frame]
				[/else]
				[frame]
					duration="1"
					image="units/orcs/grunt-defend-1.png"
				[/frame]
			[/defend]
			[defense]
				castle="40"
				cave="60"
				deep_water="80"
				flat="60"
				forest="50"
				frozen="80"
				fungus="60"
				hills="50"
				impassable="60"
				mountains="40"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="70"
				unwalkable="80"
				village="40"
			[/defense]
			[movement_costs]
				castle="1"
				cave="2"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="2"
				fungus="3"
				hills="1"
				impassable="99"
				mountains="2"
				reef="2"
				sand="2"
				shallow_water="3"
				swamp_water="3"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="100"
				blade="100"
				cold="100"
				fire="100"
				impact="100"
				pierce="100"
			[/resistance]
			[variables]
			[/variables]
			[status]
				hidden="yes"
			[/status]
			[attack]
				damage="10"
				description=_ "sword"
				icon="attacks/sword-orcish.png"
				name="sword"
				number="2"
				range="melee"
				type="blade"
			[/attack]
			[modifications]
				[trait]
#textdomain wesnoth
					female_name=_ "female^strong"
					id="strong"
					male_name=_ "strong"
					name=_ "strong"
					[effect]
						apply_to="attack"
						increase_damage="1"
						range="melee"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="1"
					[/effect]
				[/trait]
				[trait]
					female_name=_ "female^quick"
					id="quick"
					male_name=_ "quick"
					name=_ "quick"
					[effect]
						apply_to="movement"
						increase="1"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="-5%"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Orcish Warrior"
			alignment="chaotic"
			alpha="256"
			attacks_left="1"
			cost="12"
			die_sound="orc-die-1.ogg,orc-die-2.ogg,orc-die-3.ogg"
			ellipse="misc/ellipse"
			experience="0"
			facing="sw"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="-999"
			goto_y="-999"
			hitpoints="43"
			id="Orcish Grunt-69"
			image="units/orcs/grunt.png"
#textdomain wesnoth-units
			language_name=_ "Orcish Grunt"
			level="1"
			max_attacks="1"
			max_experience="24"
			max_hitpoints="43"
			max_moves="5"
			movement="5"
			movement_type="orcishfoot"
			moves="5"
			name="Grugdush"
			profile="portraits/orcs/warlord5.png"
			race="orc"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="2"
			type="Orcish Grunt"
			underlying_id="69"
			unrenamable="no"
			upkeep="full"
			usage="fighter"
			x="11"
			y="19"
			zoc="yes"
			[attack_anim]
				offset="0.0~0.15:100,0.15~0.35:100,0.35~0.45:75,0.45~0.5:100,0.5:20,0.5~0.4:30,0.4~0.2:75,0.2~0.0:75"
				start_time="-300"
				[filter_attack]
					name="sword"
				[/filter_attack]
				[frame]
					duration="50"
					image="units/orcs/grunt.png"
				[/frame]
				[frame]
					duration="50"
					image="units/orcs/grunt-defend-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/grunt-attack-1.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						duration="75"
						image="units/orcs/grunt-attack-2.png"
						sound="sword-1.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						duration="75"
						image="units/orcs/grunt-attack-2.png"
						sound="miss-1.ogg,miss-2.ogg,miss-3.ogg"
					[/frame]
				[/else]
				[frame]
					duration="100"
					image="units/orcs/grunt-attack-3.png"
				[/frame]
				[frame]
					duration="20"
					image="units/orcs/grunt-attack-4.png"
				[/frame]
				[frame]
					duration="30"
					image="units/orcs/grunt-attack-4.png"
				[/frame]
				[frame]
					duration="75"
					image="units/orcs/grunt-attack-5.png"
				[/frame]
				[frame]
					duration="75"
					image="units/orcs/grunt.png"
				[/frame]
			[/attack_anim]
			[death]
				start_time="0"
				[frame]
					duration="120"
					image="units/orcs/grunt-die-1.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-2.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-3.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-4.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-5.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-6.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-7.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-8.png"
				[/frame]
			[/death]
			[defend]
				start_time="-126"
				[frame]
					duration="1"
					image="units/orcs/grunt-defend-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/grunt-defend-2.png"
				[/frame]
				[if]
					hits="hit"
					[frame]
						duration="150"
						image="units/orcs/grunt-defend-2.png"
						sound="orc-hit-1.ogg,orc-hit-2.ogg,orc-hit-3.ogg,orc-hit-4.ogg"
					[/frame]
				[/if]
				[else]
					hits="miss,kill"
					[frame]
						duration="150"
						image="units/orcs/grunt-defend-2.png"
					[/frame]
				[/else]
				[frame]
					duration="1"
					image="units/orcs/grunt-defend-1.png"
				[/frame]
			[/defend]
			[defense]
				castle="40"
				cave="60"
				deep_water="80"
				flat="60"
				forest="50"
				frozen="80"
				fungus="60"
				hills="50"
				impassable="60"
				mountains="40"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="70"
				unwalkable="80"
				village="40"
			[/defense]
			[movement_costs]
				castle="1"
				cave="2"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="2"
				fungus="3"
				hills="1"
				impassable="99"
				mountains="2"
				reef="2"
				sand="2"
				shallow_water="3"
				swamp_water="3"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="100"
				blade="100"
				cold="100"
				fire="100"
				impact="100"
				pierce="100"
			[/resistance]
			[variables]
			[/variables]
			[status]
				hidden="yes"
			[/status]
			[attack]
				damage="9"
				description=_ "sword"
				icon="attacks/sword-orcish.png"
				name="sword"
				number="2"
				range="melee"
				type="blade"
			[/attack]
			[modifications]
				[trait]
#textdomain wesnoth
					female_name=_ "female^resilient"
					id="resilient"
					male_name=_ "resilient"
					name=_ "resilient"
					[effect]
						apply_to="hitpoints"
						increase_total="4"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="1"
						times="per level"
					[/effect]
				[/trait]
				[trait]
					female_name=_ "female^intelligent"
					id="intelligent"
					male_name=_ "intelligent"
					name=_ "intelligent"
					[effect]
						apply_to="max_experience"
						increase="-20%"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Orcish Warrior"
			alignment="chaotic"
			alpha="256"
			attacks_left="1"
			cost="12"
			die_sound="orc-die-1.ogg,orc-die-2.ogg,orc-die-3.ogg"
			ellipse="misc/ellipse"
			experience="0"
			facing="nw"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="-999"
			goto_y="-999"
			hitpoints="39"
			id="Orcish Grunt-70"
			image="units/orcs/grunt.png"
#textdomain wesnoth-units
			language_name=_ "Orcish Grunt"
			level="1"
			max_attacks="1"
			max_experience="24"
			max_hitpoints="39"
			max_moves="5"
			movement="5"
			movement_type="orcishfoot"
			moves="5"
			name="Rink"
			profile="portraits/orcs/warlord5.png"
			race="orc"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="2"
			type="Orcish Grunt"
			underlying_id="70"
			unrenamable="no"
			upkeep="full"
			usage="fighter"
			x="14"
			y="15"
			zoc="yes"
			[attack_anim]
				offset="0.0~0.15:100,0.15~0.35:100,0.35~0.45:75,0.45~0.5:100,0.5:20,0.5~0.4:30,0.4~0.2:75,0.2~0.0:75"
				start_time="-300"
				[filter_attack]
					name="sword"
				[/filter_attack]
				[frame]
					duration="50"
					image="units/orcs/grunt.png"
				[/frame]
				[frame]
					duration="50"
					image="units/orcs/grunt-defend-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/grunt-attack-1.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						duration="75"
						image="units/orcs/grunt-attack-2.png"
						sound="sword-1.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						duration="75"
						image="units/orcs/grunt-attack-2.png"
						sound="miss-1.ogg,miss-2.ogg,miss-3.ogg"
					[/frame]
				[/else]
				[frame]
					duration="100"
					image="units/orcs/grunt-attack-3.png"
				[/frame]
				[frame]
					duration="20"
					image="units/orcs/grunt-attack-4.png"
				[/frame]
				[frame]
					duration="30"
					image="units/orcs/grunt-attack-4.png"
				[/frame]
				[frame]
					duration="75"
					image="units/orcs/grunt-attack-5.png"
				[/frame]
				[frame]
					duration="75"
					image="units/orcs/grunt.png"
				[/frame]
			[/attack_anim]
			[death]
				start_time="0"
				[frame]
					duration="120"
					image="units/orcs/grunt-die-1.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-2.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-3.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-4.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-5.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-6.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-7.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-8.png"
				[/frame]
			[/death]
			[defend]
				start_time="-126"
				[frame]
					duration="1"
					image="units/orcs/grunt-defend-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/grunt-defend-2.png"
				[/frame]
				[if]
					hits="hit"
					[frame]
						duration="150"
						image="units/orcs/grunt-defend-2.png"
						sound="orc-hit-1.ogg,orc-hit-2.ogg,orc-hit-3.ogg,orc-hit-4.ogg"
					[/frame]
				[/if]
				[else]
					hits="miss,kill"
					[frame]
						duration="150"
						image="units/orcs/grunt-defend-2.png"
					[/frame]
				[/else]
				[frame]
					duration="1"
					image="units/orcs/grunt-defend-1.png"
				[/frame]
			[/defend]
			[defense]
				castle="40"
				cave="60"
				deep_water="80"
				flat="60"
				forest="50"
				frozen="80"
				fungus="60"
				hills="50"
				impassable="60"
				mountains="40"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="70"
				unwalkable="80"
				village="40"
			[/defense]
			[movement_costs]
				castle="1"
				cave="2"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="2"
				fungus="3"
				hills="1"
				impassable="99"
				mountains="2"
				reef="2"
				sand="2"
				shallow_water="3"
				swamp_water="3"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="100"
				blade="100"
				cold="100"
				fire="100"
				impact="100"
				pierce="100"
			[/resistance]
			[variables]
			[/variables]
			[status]
				hidden="yes"
			[/status]
			[attack]
				damage="10"
				description=_ "sword"
				icon="attacks/sword-orcish.png"
				name="sword"
				number="2"
				range="melee"
				type="blade"
			[/attack]
			[modifications]
				[trait]
#textdomain wesnoth
					female_name=_ "female^strong"
					id="strong"
					male_name=_ "strong"
					name=_ "strong"
					[effect]
						apply_to="attack"
						increase_damage="1"
						range="melee"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="1"
					[/effect]
				[/trait]
				[trait]
					female_name=_ "female^intelligent"
					id="intelligent"
					male_name=_ "intelligent"
					name=_ "intelligent"
					[effect]
						apply_to="max_experience"
						increase="-20%"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Orcish Crossbowman"
			alignment="chaotic"
			alpha="256"
			attacks_left="0"
			cost="14"
			die_sound="orc-small-die-1.ogg,orc-small-die-2.ogg"
			ellipse="misc/ellipse"
			experience="8"
			facing="nw"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="-999"
			goto_y="-999"
			hitpoints="30"
			id="Orcish Archer-71"
			image="units/orcs/archer.png"
#textdomain wesnoth-units
			language_name=_ "Orcish Archer"
			level="1"
			max_attacks="1"
			max_experience="17"
			max_hitpoints="30"
			max_moves="6"
			movement="5"
			movement_type="orcishfoot"
			moves="0"
			name="Bung"
			race="orc"
			random_gender="no"
			random_traits="no"
			resting="no"
			side="2"
			type="Orcish Archer"
			undead_variation="archer"
			underlying_id="71"
			unrenamable="no"
			upkeep="full"
			usage="archer"
			x="31"
			y="14"
			zoc="yes"
			[attack_anim]
				[filter_attack]
					name="bow"
					type="fire"
				[/filter_attack]
				[if]
					hits="yes"
					[missile_frame]
						begin="-150"
						end="0"
						image="projectiles/missile-fire-n.png"
						image_diagonal="projectiles/missile-fire-ne.png"
						offset="0~0.8"
					[/missile_frame]
					[missile_frame]
						begin="0"
						end="75"
						image="projectiles/fire-burst-small-1.png"
						image_diagonal="projectiles/fire-burst-small-1.png"
						offset="0.8"
					[/missile_frame]
					[missile_frame]
						begin="75"
						end="150"
						image="projectiles/fire-burst-small-2.png"
						image_diagonal="projectiles/fire-burst-small-2.png"
						offset="0.83"
					[/missile_frame]
					[missile_frame]
						begin="150"
						end="225"
						image="projectiles/fire-burst-small-3.png"
						image_diagonal="projectiles/fire-burst-small-3.png"
						offset="0.86"
					[/missile_frame]
					[missile_frame]
						begin="225"
						end="300"
						image="projectiles/fire-burst-small-4.png"
						image_diagonal="projectiles/fire-burst-small-4.png"
						offset="0.89"
					[/missile_frame]
					[missile_frame]
						begin="300"
						end="375"
						image="projectiles/fire-burst-small-5.png"
						image_diagonal="projectiles/fire-burst-small-5.png"
						offset="0.92"
					[/missile_frame]
					[missile_frame]
						begin="375"
						end="450"
						image="projectiles/fire-burst-small-6.png"
						image_diagonal="projectiles/fire-burst-small-6.png"
						offset="0.95"
					[/missile_frame]
					[missile_frame]
						begin="450"
						end="525"
						image="projectiles/fire-burst-small-7.png"
						image_diagonal="projectiles/fire-burst-small-7.png"
						offset="0.98"
					[/missile_frame]
					[missile_frame]
						begin="525"
						end="600"
						image="projectiles/fire-burst-small-8.png"
						image_diagonal="projectiles/fire-burst-small-8.png"
						offset="1.0"
					[/missile_frame]
					[frame]
						begin="-400"
						end="-350"
						image="units/orcs/archer-ranged-1.png"
						sound="bow-puny-fire.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[missile_frame]
						begin="-150"
						end="0"
						image="projectiles/missile-fire-n.png"
						image_diagonal="projectiles/missile-fire-ne.png"
					[/missile_frame]
					[frame]
						begin="-400"
						end="-350"
						image="units/orcs/archer-ranged-1.png"
						sound="bow-puny-fire-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="-350"
					end="-300"
					image="units/orcs/archer-ranged-2.png"
				[/frame]
				[frame]
					begin="-300"
					end="-250"
					image="units/orcs/archer-ranged-3.png"
				[/frame]
				[frame]
					begin="-250"
					end="-100"
					image="units/orcs/archer-ranged-4.png"
				[/frame]
				[frame]
					begin="-100"
					end="-50"
					image="units/orcs/archer-ranged-5.png"
				[/frame]
				[frame]
					begin="-50"
					end="100"
					image="units/orcs/archer-ranged-6.png"
				[/frame]
			[/attack_anim]
			[attack_anim]
				[filter_attack]
					name="bow"
					type="pierce"
				[/filter_attack]
				[missile_frame]
					begin="-150"
					end="0"
					image="projectiles/missile-n.png"
					image_diagonal="projectiles/missile-ne.png"
				[/missile_frame]
				[if]
					hits="yes"
					[frame]
						begin="-400"
						end="-350"
						image="units/orcs/archer-ranged-1.png"
						sound="bow-puny.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-400"
						end="-350"
						image="units/orcs/archer-ranged-1.png"
						sound="bow-puny-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="-350"
					end="-300"
					image="units/orcs/archer-ranged-2.png"
				[/frame]
				[frame]
					begin="-300"
					end="-250"
					image="units/orcs/archer-ranged-3.png"
				[/frame]
				[frame]
					begin="-250"
					end="-100"
					image="units/orcs/archer-ranged-4.png"
				[/frame]
				[frame]
					begin="-100"
					end="-50"
					image="units/orcs/archer-ranged-5.png"
				[/frame]
				[frame]
					begin="-50"
					end="100"
					image="units/orcs/archer-ranged-6.png"
				[/frame]
			[/attack_anim]
			[attack_anim]
				[filter_attack]
					name="dagger"
				[/filter_attack]
				[frame]
					begin="-200"
					end="-175"
					image="units/orcs/archer-melee-01.png"
				[/frame]
				[frame]
					begin="-175"
					end="-150"
					image="units/orcs/archer-melee-02.png"
				[/frame]
				[frame]
					begin="-150"
					end="-125"
					image="units/orcs/archer-melee-03.png"
				[/frame]
				[frame]
					begin="-125"
					end="-100"
					image="units/orcs/archer-melee-04.png"
				[/frame]
				[frame]
					begin="-100"
					end="-75"
					image="units/orcs/archer-melee-05.png"
				[/frame]
				[if]
					hits="no"
					[frame]
						begin="-75"
						end="-50"
						image="units/orcs/archer-melee-06.png"
						sound="miss-1.ogg,miss-2.ogg,miss-3.ogg"
					[/frame]
				[/if]
				[else]
					hits="yes"
					[frame]
						begin="-75"
						end="-50"
						image="units/orcs/archer-melee-06.png"
						sound="dagger-swish.wav"
					[/frame]
				[/else]
				[frame]
					begin="-50"
					end="-25"
					image="units/orcs/archer-melee-07.png"
				[/frame]
				[frame]
					begin="-25"
					end="0"
					image="units/orcs/archer-melee-08.png"
				[/frame]
				[frame]
					begin="0"
					end="25"
					image="units/orcs/archer-melee-09.png"
				[/frame]
				[frame]
					begin="25"
					end="50"
					image="units/orcs/archer-melee-10.png"
				[/frame]
				[frame]
					begin="50"
					end="75"
					image="units/orcs/archer-melee-11.png"
				[/frame]
				[frame]
					begin="75"
					end="100"
					image="units/orcs/archer-melee-12.png"
				[/frame]
				[frame]
					begin="100"
					end="125"
					image="units/orcs/archer-melee-13.png"
				[/frame]
				[frame]
					begin="125"
					end="150"
					image="units/orcs/archer-melee-14.png"
				[/frame]
				[frame]
					begin="150"
					end="175"
					image="units/orcs/archer-melee-15.png"
				[/frame]
				[frame]
					begin="175"
					end="200"
					image="units/orcs/archer-melee-16.png"
				[/frame]
				[frame]
					begin="200"
					end="225"
					image="units/orcs/archer-melee-17.png"
				[/frame]
			[/attack_anim]
			[death]
				[frame]
					begin="0"
					end="55"
					image="units/orcs/archer-death-1.png"
				[/frame]
				[frame]
					begin="55"
					end="110"
					image="units/orcs/archer-death-2.png"
				[/frame]
				[frame]
					begin="110"
					end="165"
					image="units/orcs/archer-death-3.png"
				[/frame]
				[frame]
					begin="165"
					end="220"
					image="units/orcs/archer-death-4.png"
				[/frame]
				[frame]
					begin="220"
					end="275"
					image="units/orcs/archer-death-5.png"
				[/frame]
				[frame]
					begin="275"
					end="330"
					image="units/orcs/archer-death-6.png"
				[/frame]
				[frame]
					begin="330"
					end="385"
					image="units/orcs/archer-death-7.png"
				[/frame]
				[frame]
					begin="385"
					end="440"
					image="units/orcs/archer-death-8.png"
				[/frame]
				[frame]
					begin="440"
					end="500"
					image="units/orcs/archer-death-9.png"
				[/frame]
			[/death]
			[defend]
				start_time="-126"
				[frame]
					duration="1"
					image="units/orcs/archer.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/archer-defend.png"
				[/frame]
				[if]
					hits="hit"
					[frame]
						duration="150"
						image="units/orcs/archer-defend.png"
						sound="orc-small-hit-1.ogg,orc-small-hit-2.ogg,orc-small-hit-3.ogg,orc-small-hit-4.ogg"
					[/frame]
				[/if]
				[else]
					hits="miss,kill"
					[frame]
						duration="150"
						image="units/orcs/archer-defend.png"
					[/frame]
				[/else]
				[frame]
					duration="1"
					image="units/orcs/archer.png"
				[/frame]
			[/defend]
			[idle_anim]
				[filter]
					[not]
						[filter_wml]
							[status]
								poisoned="yes"
							[/status]
						[/filter_wml]
					[/not]
				[/filter]
				[filter]
					[filter_adjacent]
						count="0"
						is_enemy="yes"
					[/filter_adjacent]
				[/filter]
				[frame]
					begin="0"
					end="100"
					image="units/orcs/archer-idle-1.png"
				[/frame]
				[frame]
					begin="100"
					end="200"
					image="units/orcs/archer-idle-2.png"
				[/frame]
				[frame]
					begin="200"
					end="300"
					image="units/orcs/archer-idle-3.png"
				[/frame]
				[frame]
					begin="300"
					end="500"
					image="units/orcs/archer-idle-6.png"
				[/frame]
				[frame]
					begin="500"
					end="600"
					image="units/orcs/archer-idle-4.png"
				[/frame]
				[frame]
					begin="600"
					end="700"
					image="units/orcs/archer-idle-3.png"
				[/frame]
				[frame]
					begin="700"
					end="900"
					image="units/orcs/archer-idle-6.png"
				[/frame]
				[frame]
					begin="900"
					end="1000"
					image="units/orcs/archer-idle-4.png"
				[/frame]
				[frame]
					begin="1000"
					end="1100"
					image="units/orcs/archer-idle-5.png"
				[/frame]
				[frame]
					begin="1100"
					end="1300"
					image="units/orcs/archer-idle-6.png"
				[/frame]
				[frame]
					begin="1300"
					end="1400"
					image="units/orcs/archer-idle-2.png"
				[/frame]
				[frame]
					begin="1400"
					end="1500"
					image="units/orcs/archer-idle-1.png"
				[/frame]
			[/idle_anim]
			[defense]
				castle="40"
				cave="60"
				deep_water="80"
				flat="60"
				forest="50"
				frozen="80"
				fungus="60"
				hills="50"
				impassable="60"
				mountains="40"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="70"
				unwalkable="80"
				village="40"
			[/defense]
			[movement_costs]
				castle="1"
				cave="2"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="2"
				fungus="3"
				hills="1"
				impassable="99"
				mountains="2"
				reef="2"
				sand="2"
				shallow_water="3"
				swamp_water="3"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="100"
				blade="100"
				cold="100"
				fire="100"
				impact="100"
				pierce="100"
			[/resistance]
			[variables]
			[/variables]
			[status]
			[/status]
			[attack]
				damage="3"
				description=_ "dagger"
				icon="attacks/dagger-orcish.png"
				name="dagger"
				number="2"
				range="melee"
				type="blade"
			[/attack]
			[attack]
				damage="5"
				description=_ "bow"
				icon="attacks/bow-orcish.png"
				name="bow"
				number="3"
				range="ranged"
				type="pierce"
			[/attack]
			[attack]
				damage="7"
				description=_ "bow"
				icon="attacks/bow-orcish.png"
				name="bow"
				number="2"
				range="ranged"
				type="fire"
			[/attack]
			[modifications]
				[trait]
#textdomain wesnoth
					female_name=_ "female^quick"
					id="quick"
					male_name=_ "quick"
					name=_ "quick"
					[effect]
						apply_to="movement"
						increase="1"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="-5%"
					[/effect]
				[/trait]
				[trait]
					female_name=_ "female^intelligent"
					id="intelligent"
					male_name=_ "intelligent"
					name=_ "intelligent"
					[effect]
						apply_to="max_experience"
						increase="-20%"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Orcish Slayer"
			alignment="chaotic"
			alpha="256"
			attacks_left="1"
			cost="17"
			die_sound="orc-small-die-1.ogg,orc-small-die-2.ogg"
			ellipse="misc/ellipse"
			experience="0"
			facing="ne"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="-999"
			goto_y="-999"
			hitpoints="31"
			id="Orcish Assassin-72"
			image="units/orcs/assassin.png"
#textdomain wesnoth-units
			language_name=_ "Orcish Assassin"
			level="1"
			max_attacks="1"
			max_experience="17"
			max_hitpoints="31"
			max_moves="6"
			movement="6"
			movement_type="elusivefoot"
			moves="0"
			name="Hag"
			profile="portraits/orcs/assassin.png"
			race="orc"
			random_gender="no"
			random_traits="no"
			resting="no"
			side="2"
			type="Orcish Assassin"
			underlying_id="72"
			unrenamable="no"
			upkeep="full"
			usage="mixed fighter"
			x="29"
			y="17"
			zoc="yes"
			[attack_anim]
				[filter_attack]
					name="throwing knives"
				[/filter_attack]
				[missile_frame]
					begin="-150"
					end="0"
					image="projectiles/dagger-n.png"
					image_diagonal="projectiles/dagger-ne.png"
				[/missile_frame]
				[if]
					attack_sound_start_time="-200"
					hits="yes"
					[attack_sound_frame]
						sound="throwing-knife.ogg"
					[/attack_sound_frame]
				[/if]
				[else]
					attack_sound_start_time="-200"
					hits="no"
					[attack_sound_frame]
						sound="throwing-knife-miss.ogg"
					[/attack_sound_frame]
				[/else]
				[frame]
					begin="-200"
					end="-100"
					image="units/orcs/assassin-ranged1.png"
				[/frame]
				[frame]
					begin="-100"
					end="0"
					image="units/orcs/assassin-ranged2.png"
				[/frame]
				[if]
					hits="hit"
					poisoned_sound_start_time="-100"
					[filter_second]
						[not]
							[filter_wml]
								[status]
									poisoned="yes"
								[/status]
							[/filter_wml]
						[/not]
					[/filter_second]
					[poisoned_sound_frame]
						duration="100"
						sound="poison.ogg"
					[/poisoned_sound_frame]
				[/if]
			[/attack_anim]
			[attack_anim]
				start_time="-320"
				[filter_attack]
					name="dagger"
				[/filter_attack]
				[frame]
					duration="80"
					image="units/orcs/assassin-attack-1.png"
				[/frame]
				[frame]
					duration="80"
					image="units/orcs/assassin-attack-2.png"
				[/frame]
				[if]
					attack_sound_start_time="-100"
					hits="yes"
					[attack_sound_frame]
						sound="dagger-swish.wav"
					[/attack_sound_frame]
				[/if]
				[else]
					attack_sound_start_time="-100"
					hits="no"
					[attack_sound_frame]
						sound="miss-1.ogg,miss-2.ogg,miss-3.ogg"
					[/attack_sound_frame]
				[/else]
				[frame]
					duration="80"
					image="units/orcs/assassin-attack-3.png"
				[/frame]
				[frame]
					duration="80"
					image="units/orcs/assassin-attack-4.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-attack-5.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-attack-6.png"
				[/frame]
			[/attack_anim]
			[death]
				start_time="0"
				[frame]
					duration="120"
					image="units/orcs/assassin-die-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-die-2.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-die-3.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-die-4.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-die-5.png"
				[/frame]
				[frame]
					duration="80"
					image="units/orcs/assassin-die-6.png"
				[/frame]
				[frame]
					duration="80"
					image="units/orcs/assassin-die-7.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-die-8.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-die-9.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-die-10.png"
				[/frame]
			[/death]
			[defend]
				start_time="-126"
				[filter_attack]
					range="melee"
				[/filter_attack]
				[frame]
					duration="1"
					image="units/orcs/assassin-defend-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-defend-2.png"
				[/frame]
				[if]
					hits="hit"
					[frame]
						duration="150"
						image="units/orcs/assassin-defend-2.png"
						sound="orc-small-hit-1.ogg,orc-small-hit-2.ogg,orc-small-hit-3.ogg,orc-small-hit-4.ogg"
					[/frame]
				[/if]
				[else]
					hits="miss,kill"
					[frame]
						duration="150"
						image="units/orcs/assassin-defend-2.png"
					[/frame]
				[/else]
				[frame]
					duration="1"
					image="units/orcs/assassin-defend-1.png"
				[/frame]
			[/defend]
			[defend]
				start_time="-126"
				[filter_attack]
					range="ranged"
				[/filter_attack]
				[frame]
					duration="1"
					image="units/orcs/assassin.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-defend.png"
				[/frame]
				[if]
					hits="hit"
					[frame]
						duration="150"
						image="units/orcs/assassin-defend.png"
						sound="orc-small-hit-1.ogg,orc-small-hit-2.ogg,orc-small-hit-3.ogg,orc-small-hit-4.ogg"
					[/frame]
				[/if]
				[else]
					hits="miss,kill"
					[frame]
						duration="150"
						image="units/orcs/assassin-defend.png"
					[/frame]
				[/else]
				[frame]
					duration="1"
					image="units/orcs/assassin.png"
				[/frame]
			[/defend]
			[idle_anim]
				start_time="0"
				[filter]
					[not]
						[filter_wml]
							[status]
								poisoned="yes"
							[/status]
						[/filter_wml]
					[/not]
				[/filter]
				[filter]
					[filter_adjacent]
						count="0"
						is_enemy="yes"
					[/filter_adjacent]
				[/filter]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-2.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-3.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-4.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-5.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-6.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-7.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-8.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-7.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-8.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-3.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-2.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/assassin-idle-9.png"
				[/frame]
			[/idle_anim]
			[defense]
				castle="30"
				cave="50"
				deep_water="70"
				flat="40"
				forest="30"
				frozen="60"
				fungus="30"
				hills="30"
				impassable="50"
				mountains="30"
				reef="50"
				sand="60"
				shallow_water="60"
				swamp_water="60"
				unwalkable="80"
				village="30"
			[/defense]
			[movement_costs]
				castle="1"
				cave="2"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="2"
				fungus="2"
				hills="2"
				impassable="99"
				mountains="3"
				reef="2"
				sand="2"
				shallow_water="2"
				swamp_water="2"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="100"
				blade="130"
				cold="100"
				fire="100"
				impact="120"
				pierce="120"
			[/resistance]
			[variables]
			[/variables]
			[status]
				hidden="yes"
			[/status]
			[attack]
				damage="7"
				description=_ "dagger"
				icon="attacks/dagger-orcish.png"
				name="dagger"
				number="1"
				range="melee"
				type="blade"
			[/attack]
			[attack]
				damage="3"
				description=_ "throwing knives"
				icon="attacks/dagger-thrown-poison-orcish.png"
				name="throwing knives"
				number="3"
				range="ranged"
				type="blade"
				[specials]
					[chance_to_hit]
						active_on="offense"
						cumulative="yes"
#textdomain wesnoth
						description=_ "Marksman:
When used offensively, this attack always has at least a 60% chance to hit."
						id="marksman"
						name=_ "marksman"
						value="60"
					[/chance_to_hit]
					[poison]
						description=_ "Poison:
This attack poisons living targets. Poisoned units lose 8 HP every turn until they are cured or are reduced to 1 HP. Poison can not, of itself, kill a unit."
						id="poison"
						name=_ "poison"
					[/poison]
				[/specials]
			[/attack]
			[modifications]
				[trait]
					female_name=_ "female^intelligent"
					id="intelligent"
					male_name=_ "intelligent"
					name=_ "intelligent"
					[effect]
						apply_to="max_experience"
						increase="-20%"
					[/effect]
				[/trait]
				[trait]
					female_name=_ "female^resilient"
					id="resilient"
					male_name=_ "resilient"
					name=_ "resilient"
					[effect]
						apply_to="hitpoints"
						increase_total="4"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="1"
						times="per level"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Goblin Impaler,Goblin Rouser"
			alignment="chaotic"
			alpha="256"
			attacks_left="1"
			cost="9"
			die_sound="goblin-die-1.ogg,goblin-die-2.ogg"
			ellipse="misc/ellipse-nozoc"
			experience="0"
			facing="nw"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="-999"
			goto_y="-999"
			hitpoints="18"
			id="Goblin Spearman-73"
			image="units/goblins/spearman.png"
#textdomain wesnoth-units
			language_name=_ "Goblin Spearman"
			level="0"
			max_attacks="1"
			max_experience="15"
			max_hitpoints="18"
			max_moves="5"
			movement="5"
			movement_type="orcishfoot"
			moves="0"
			name="Rink"
			race="goblin"
			random_gender="no"
			random_traits="no"
			resting="no"
			side="2"
			type="Goblin Spearman"
			underlying_id="73"
			unrenamable="no"
			upkeep="full"
			usage="fighter"
			x="13"
			y="18"
			zoc="no"
			[attack_anim]
				direction="se,sw"
				[filter_attack]
					name="spear"
					range="ranged"
				[/filter_attack]
				[missile_frame]
					begin="-150"
					end="0"
					image="projectiles/spear-n.png"
					image_diagonal="projectiles/spear-ne.png"
				[/missile_frame]
				[frame]
					begin="-200"
					end="-100"
					image="units/goblins/spearman.png"
					sound="throw-1.wav,throw-2.wav,throw-3.wav,throw-4.wav"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-100"
						end="50"
						image="units/goblins/spearman-attack-se1.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-100"
						end="50"
						image="units/goblins/spearman-attack-se1.png"
					[/frame]
				[/else]
			[/attack_anim]
			[attack_anim]
				direction="s"
				[filter_attack]
					name="spear"
					range="ranged"
				[/filter_attack]
				[missile_frame]
					begin="-150"
					end="0"
					image="projectiles/spear-n.png"
					image_diagonal="projectiles/spear-ne.png"
				[/missile_frame]
				[frame]
					begin="-200"
					end="-100"
					image="units/goblins/spearman.png"
					sound="throw-1.wav,throw-2.wav,throw-3.wav,throw-4.wav"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-100"
						end="50"
						image="units/goblins/spearman-attack-s1.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-100"
						end="50"
						image="units/goblins/spearman-attack-s1.png"
					[/frame]
				[/else]
			[/attack_anim]
			[attack_anim]
				direction="ne,nw"
				[filter_attack]
					name="spear"
					range="ranged"
				[/filter_attack]
				[missile_frame]
					begin="-150"
					end="0"
					image="projectiles/spear-n.png"
					image_diagonal="projectiles/spear-ne.png"
				[/missile_frame]
				[frame]
					begin="-200"
					end="-100"
					image="units/goblins/spearman.png"
					sound="throw-1.wav,throw-2.wav,throw-3.wav,throw-4.wav"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-100"
						end="50"
						image="units/goblins/spearman-attack-ne1.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-100"
						end="50"
						image="units/goblins/spearman-attack-ne1.png"
					[/frame]
				[/else]
			[/attack_anim]
			[attack_anim]
				direction="n"
				[filter_attack]
					name="spear"
					range="ranged"
				[/filter_attack]
				[missile_frame]
					begin="-150"
					end="0"
					image="projectiles/spear-n.png"
					image_diagonal="projectiles/spear-ne.png"
				[/missile_frame]
				[frame]
					begin="-200"
					end="-100"
					image="units/goblins/spearman.png"
					sound="throw-1.wav,throw-2.wav,throw-3.wav,throw-4.wav"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-100"
						end="50"
						image="units/goblins/spearman-attack-n1.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-100"
						end="50"
						image="units/goblins/spearman-attack-n1.png"
					[/frame]
				[/else]
			[/attack_anim]
			[attack_anim]
				direction="se,sw"
				[filter_attack]
					name="spear"
					range="melee"
				[/filter_attack]
				[frame]
					begin="-200"
					end="-100"
					image="units/goblins/spearman-attack-se1.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-100"
						end="100"
						image="units/goblins/spearman-attack-se2.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-100"
						end="100"
						image="units/goblins/spearman-attack-se2.png"
						sound="spear-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="100"
					end="200"
					image="units/goblins/spearman-attack-se1.png"
				[/frame]
			[/attack_anim]
			[attack_anim]
				direction="ne,nw"
				[filter_attack]
					name="spear"
					range="melee"
				[/filter_attack]
				[frame]
					begin="-200"
					end="-100"
					image="units/goblins/spearman-attack-ne1.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-100"
						end="100"
						image="units/goblins/spearman-attack-ne2.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-100"
						end="100"
						image="units/goblins/spearman-attack-ne2.png"
						sound="spear-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="100"
					end="200"
					image="units/goblins/spearman-attack-ne1.png"
				[/frame]
			[/attack_anim]
			[attack_anim]
				direction="s"
				[filter_attack]
					name="spear"
					range="melee"
				[/filter_attack]
				[frame]
					begin="-200"
					end="-100"
					image="units/goblins/spearman-attack-s1.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-100"
						end="100"
						image="units/goblins/spearman-attack-s2.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-100"
						end="100"
						image="units/goblins/spearman-attack-s2.png"
						sound="spear-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="100"
					end="200"
					image="units/goblins/spearman-attack-s1.png"
				[/frame]
			[/attack_anim]
			[attack_anim]
				direction="n"
				[filter_attack]
					name="spear"
					range="melee"
				[/filter_attack]
				[frame]
					begin="-200"
					end="-100"
					image="units/goblins/spearman-attack-n1.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						begin="-100"
						end="100"
						image="units/goblins/spearman-attack-n2.png"
						sound="spear.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						begin="-100"
						end="100"
						image="units/goblins/spearman-attack-n2.png"
						sound="spear-miss.ogg"
					[/frame]
				[/else]
				[frame]
					begin="100"
					end="200"
					image="units/goblins/spearman-attack-n1.png"
				[/frame]
			[/attack_anim]
			[defend]
				direction="sw,s,se"
				start_time="-126"
				[frame]
					duration="1"
					image="units/goblins/spearman.png"
				[/frame]
				[frame]
					duration="100"
					image="units/goblins/spearman-defend.png"
				[/frame]
				[if]
					hits="hit"
					[frame]
						duration="150"
						image="units/goblins/spearman-defend.png"
						sound="goblin-hit-1.ogg,goblin-hit-2.ogg,goblin-hit-3.ogg"
					[/frame]
				[/if]
				[else]
					hits="miss,kill"
					[frame]
						duration="150"
						image="units/goblins/spearman-defend.png"
					[/frame]
				[/else]
				[frame]
					duration="1"
					image="units/goblins/spearman.png"
				[/frame]
			[/defend]
			[defend]
				direction="nw,n,ne"
				start_time="-126"
				[frame]
					duration="1"
					image="units/goblins/spearman-ne.png"
				[/frame]
				[frame]
					duration="100"
					image="units/goblins/spearman-ne-defend.png"
				[/frame]
				[if]
					hits="hit"
					[frame]
						duration="150"
						image="units/goblins/spearman-ne-defend.png"
						sound="goblin-hit-1.ogg,goblin-hit-2.ogg,goblin-hit-3.ogg"
					[/frame]
				[/if]
				[else]
					hits="miss,kill"
					[frame]
						duration="150"
						image="units/goblins/spearman-ne-defend.png"
					[/frame]
				[/else]
				[frame]
					duration="1"
					image="units/goblins/spearman-ne.png"
				[/frame]
			[/defend]
			[idle_anim]
				start_time="0"
				[filter]
					[not]
						[filter_wml]
							[status]
								poisoned="yes"
							[/status]
						[/filter_wml]
					[/not]
				[/filter]
				[filter]
					[filter_adjacent]
						count="0"
						is_enemy="yes"
					[/filter_adjacent]
				[/filter]
				[frame]
					duration="150"
					image="units/goblins/spearman-idle-1.png"
				[/frame]
				[frame]
					duration="150"
					image="units/goblins/spearman-idle-2.png"
				[/frame]
				[frame]
					duration="150"
					image="units/goblins/spearman-idle-3.png"
				[/frame]
				[frame]
					duration="300"
					image="units/goblins/spearman-idle-4.png"
				[/frame]
				[frame]
					duration="150"
					image="units/goblins/spearman-idle-5.png"
				[/frame]
				[frame]
					duration="150"
					image="units/goblins/spearman-idle-6.png"
				[/frame]
				[frame]
					duration="150"
					image="units/goblins/spearman-idle-7.png"
				[/frame]
				[frame]
					duration="150"
					image="units/goblins/spearman-idle-8.png"
				[/frame]
				[frame]
					duration="150"
					image="units/goblins/spearman-idle-9.png"
				[/frame]
				[frame]
					duration="150"
					image="units/goblins/spearman-idle-10.png"
				[/frame]
				[frame]
					duration="150"
					image="units/goblins/spearman-idle-11.png"
				[/frame]
				[frame]
					duration="150"
					image="units/goblins/spearman-idle-12.png"
				[/frame]
			[/idle_anim]
			[standing_anim]
				[if]
					direction="s,se,sw"
					start_time="0"
					[frame]
						duration="150"
						image="units/goblins/spearman.png"
					[/frame]
				[/if]
				[else]
					direction="n,ne,nw"
					start_time="0"
					[frame]
						duration="150"
						image="units/goblins/spearman-ne.png"
					[/frame]
				[/else]
			[/standing_anim]
			[defense]
				castle="40"
				cave="60"
				deep_water="80"
				flat="60"
				forest="50"
				frozen="80"
				fungus="60"
				hills="50"
				impassable="60"
				mountains="40"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="70"
				unwalkable="80"
				village="40"
			[/defense]
			[movement_costs]
				castle="1"
				cave="2"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="2"
				fungus="3"
				hills="1"
				impassable="99"
				mountains="2"
				reef="2"
				sand="2"
				shallow_water="3"
				swamp_water="3"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="100"
				blade="100"
				cold="100"
				fire="100"
				impact="100"
				pierce="100"
			[/resistance]
			[variables]
			[/variables]
			[status]
				hidden="yes"
			[/status]
			[attack]
				damage="6"
				description=_ "spear"
				icon="attacks/spear-orcish.png"
				name="spear"
				number="3"
				range="melee"
				type="pierce"
			[/attack]
			[attack]
				damage="3"
				description=_ "spear"
				icon="attacks/javelin-orcish.png"
				name="spear"
				number="1"
				range="ranged"
				type="pierce"
			[/attack]
			[modifications]
				[trait]
#textdomain wesnoth
					female_name=_ "female^dim"
					id="dim"
					male_name=_ "dim"
					name=_ "dim"
					[effect]
						apply_to="max_experience"
						increase="20%"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Orcish Warrior"
			alignment="chaotic"
			alpha="256"
			attacks_left="0"
			cost="12"
			die_sound="orc-die-1.ogg,orc-die-2.ogg,orc-die-3.ogg"
			ellipse="misc/ellipse"
			experience="0"
			facing="se"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="-999"
			goto_y="-999"
			hitpoints="36"
			id="Orcish Grunt-75"
			image="units/orcs/grunt.png"
#textdomain wesnoth-units
			language_name=_ "Orcish Grunt"
			level="1"
			max_attacks="1"
			max_experience="24"
			max_hitpoints="36"
			max_moves="6"
			movement="5"
			movement_type="orcishfoot"
			moves="0"
			name="Pash"
			profile="portraits/orcs/warlord5.png"
			race="orc"
			random_gender="no"
			random_traits="no"
			resting="no"
			side="2"
			type="Orcish Grunt"
			underlying_id="75"
			unrenamable="no"
			upkeep="full"
			usage="fighter"
			x="18"
			y="19"
			zoc="yes"
			[attack_anim]
				offset="0.0~0.15:100,0.15~0.35:100,0.35~0.45:75,0.45~0.5:100,0.5:20,0.5~0.4:30,0.4~0.2:75,0.2~0.0:75"
				start_time="-300"
				[filter_attack]
					name="sword"
				[/filter_attack]
				[frame]
					duration="50"
					image="units/orcs/grunt.png"
				[/frame]
				[frame]
					duration="50"
					image="units/orcs/grunt-defend-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/grunt-attack-1.png"
				[/frame]
				[if]
					hits="yes"
					[frame]
						duration="75"
						image="units/orcs/grunt-attack-2.png"
						sound="sword-1.ogg"
					[/frame]
				[/if]
				[else]
					hits="no"
					[frame]
						duration="75"
						image="units/orcs/grunt-attack-2.png"
						sound="miss-1.ogg,miss-2.ogg,miss-3.ogg"
					[/frame]
				[/else]
				[frame]
					duration="100"
					image="units/orcs/grunt-attack-3.png"
				[/frame]
				[frame]
					duration="20"
					image="units/orcs/grunt-attack-4.png"
				[/frame]
				[frame]
					duration="30"
					image="units/orcs/grunt-attack-4.png"
				[/frame]
				[frame]
					duration="75"
					image="units/orcs/grunt-attack-5.png"
				[/frame]
				[frame]
					duration="75"
					image="units/orcs/grunt.png"
				[/frame]
			[/attack_anim]
			[death]
				start_time="0"
				[frame]
					duration="120"
					image="units/orcs/grunt-die-1.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-2.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-3.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-4.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-5.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-6.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-7.png"
				[/frame]
				[frame]
					duration="120"
					image="units/orcs/grunt-die-8.png"
				[/frame]
			[/death]
			[defend]
				start_time="-126"
				[frame]
					duration="1"
					image="units/orcs/grunt-defend-1.png"
				[/frame]
				[frame]
					duration="100"
					image="units/orcs/grunt-defend-2.png"
				[/frame]
				[if]
					hits="hit"
					[frame]
						duration="150"
						image="units/orcs/grunt-defend-2.png"
						sound="orc-hit-1.ogg,orc-hit-2.ogg,orc-hit-3.ogg,orc-hit-4.ogg"
					[/frame]
				[/if]
				[else]
					hits="miss,kill"
					[frame]
						duration="150"
						image="units/orcs/grunt-defend-2.png"
					[/frame]
				[/else]
				[frame]
					duration="1"
					image="units/orcs/grunt-defend-1.png"
				[/frame]
			[/defend]
			[defense]
				castle="40"
				cave="60"
				deep_water="80"
				flat="60"
				forest="50"
				frozen="80"
				fungus="60"
				hills="50"
				impassable="60"
				mountains="40"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="70"
				unwalkable="80"
				village="40"
			[/defense]
			[movement_costs]
				castle="1"
				cave="2"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="2"
				fungus="3"
				hills="1"
				impassable="99"
				mountains="2"
				reef="2"
				sand="2"
				shallow_water="3"
				swamp_water="3"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="100"
				blade="100"
				cold="100"
				fire="100"
				impact="100"
				pierce="100"
			[/resistance]
			[variables]
			[/variables]
			[status]
			[/status]
			[attack]
				damage="9"
				description=_ "sword"
				icon="attacks/sword-orcish.png"
				name="sword"
				number="2"
				range="melee"
				type="blade"
			[/attack]
			[modifications]
				[trait]
#textdomain wesnoth
					female_name=_ "female^intelligent"
					id="intelligent"
					male_name=_ "intelligent"
					name=_ "intelligent"
					[effect]
						apply_to="max_experience"
						increase="-20%"
					[/effect]
				[/trait]
				[trait]
					female_name=_ "female^quick"
					id="quick"
					male_name=_ "quick"
					name=_ "quick"
					[effect]
						apply_to="movement"
						increase="1"
					[/effect]
					[effect]
						apply_to="hitpoints"
						increase_total="-5%"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
	[/side]
	[side]
		action_bonus_count="0"
		aggression="0.5"
		allow_player="no"
		caution="0.25"
		colour="5"
		controller="ai"
		countdown_time="270000"
		current_player="ai3"
		disallow_observers="no"
		fog="yes"
		global_recruitment_pattern="fighter,fighter,archer,healer,scout,scout"
		gold="-705"
		hidden="yes"
		id="ai3"
		income="0"
		leader_value="3"
		name="Ordenador"
		no_leader="yes"
		number_of_possible_recruits_to_force_recruit="3.1"
		objectives=_ "Victory:
@Defeat enemy leader(s)"
		objectives_changed="yes"
		recruit="Drake Burner,Drake Clasher,Drake Fighter,Drake Glider,Saurian Augur,Saurian Skirmisher"
		recruitment_pattern="fighter,fighter,archer,healer,scout,scout"
		save_id="ai3"
		share_maps="no"
		share_view="yes"
		shroud="no"
		side="3"
		start_gold="100"
		team_name="statues"
		user_team_name="statues"
		village_gold="2"
		village_value="1"
		villages_per_scout="4"
		[ai]
			recruitment_pattern="fighter,fighter,archer,healer,scout,scout"
			[team_formula]
				rulebase="fai 'recruitment.fai'
		# ===== Some general functions used later ==== #

def sumarize_values( input_map )
	sum(
		values(input_map)
	);

def lowest_value( input_map )
	choose( input_map, -value ).value;

def highest_value( input_map )
	choose( input_map, value ).value;

def change_numbers_to_percents( input_map )
	map( input_map, 
		(value*100) / highest_value(input_map) 
	);

def add_number_to_values( input_map, number )
	map( input_map, 
		value + number 
	);

#make sure we have only positive values in a map #

def make_positive_only( input_map )
	if( lowest_value( input_map ) < 0, 
		add_number_to_values( 
			input_map, 
			abs(lowest_value(input_map))
		), 
		input_map 
	);

def sumarize_maps_values( map_A, map_B )
	map( map_A + map_B, 
		value + map_A[key]
	);

		#===== Evaluation how good unit is on a map ===== #

# ==1==  evaluate average defense #
#gives map where key is id of terrain, and value is number of hexes of that terrain on a gamemap#

def locations_map(ai*) 
	tomap( 
		map( 
			map.terrain, 
			id 
		) 
	);

#filters terrain map, min_percent it minimal % of map that terrain has to occupy to be considered in later evaluations# 

def filtered_locations_map(ai*, min_percent)
	filter( 
		locations_map(ai) , 
		value >  (map.w * map.h) / ( 100 / min_percent ) 
	);

#returns average defense of the unit #

def unit_average_defense(ai*, unit, terrain_min_percent )
	sum( 
		values( 
			map(
				filtered_locations_map(ai,terrain_min_percent), 
				defense_on( 
					unit, 
					find(map.terrain,id=key).loc
				) *
				value
			) 
		) 
	) / 
	sum(
		values(
			filtered_locations_map(
				ai,
				terrain_min_percent
			)
		)
	);

#returns map of units from units_list and their average defense (more -> better) #

def map_units_average_defense(ai*, units_list, terrain_min_percent) 
	tomap(
		map( 
			units_list, 
			id 
		), 
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	);

def units_average_defense(ai*, units_list, terrain_min_percent)
	sum(
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	) /
	size(
		units_list
	);


# ==2== TODO: evaluate unit effectivness based on movement points and movement cost#


		#===== Evaluation of game state - how good is ai doing ===== #

# ==1== based on unit cost and current amount of gold #
# returns number between 0 and 100 where: 0 we are losing, 100 we are winning #

def units_cost_gold_eval(ai*)
	min(
		[
			(
				(
					sum(
						map(
							allies, 'team', 
							sum(
								map(
									units_of_side[team], 
									cost
								)
							) + 
							teams[team].gold 
						)
					) * 
					100
				) / 
				sum(
					map(
						enemies, 'team', 
						sum(
							map(
								units_of_side[team], 
								cost
							)
						) + 
						max(
							[teams[team].gold, 0]
						) 
					)
				)
			) / 2,
			100
		]
	);

# ==2== based on village possession #

def count_allied_villages(ai*)
	sum(
		map(
			allies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

def count_enemy_villages(ai*)
	sum(
		map(
			enemies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

# multipled by 1000 to increase precision #

def village_evaluation(ai*)
	(
		50000 + 
		(
			count_allied_villages(ai) - 
			count_enemy_villages(ai)
		) * 
		(
			50000 /
			size(
				villages
			)
		)
	) /
	1000;

# ==3== combined 2 of the above #

def eval(ai*)
	( 
		units_cost_gold_eval(ai) + 
		village_evaluation(ai)
	) / 
	2;

		#===== Evaluation how effective my units are against the enemy ===== #

#==1==  basic evaluation #

# evaluate how much damage unit can inflict - how much damage unit can get#

def evaluate_attacker_against_opponents(ai*, unit, enemy_units)
	sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( unit, enemy_unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				) 
			)
		)
	);

def evaluate_defender_against_opponents(ai*, unit, enemy_units)
	-sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( enemy_unit, unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				)
			)
		)
	);

def units_hp_map(ai*, units)
	tomap( 
		map(
			units, 
			id
		), 
		map( 
			units, 
			hitpoints
		)
	);

#in case side's gold is more than 50, add units that side can recruit to the side's unit list#

def create_side_unit_list(ai*, side)
	if( 
		teams[side].gold > 50, 
		recruits_of_side[side], 
		[]
	) + 
	units_of_side[side];

def evaluate_my_recruits_as_attackers(ai*)
	tomap( 
		map(
			my_recruits, 
			id
		), 
		map(
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_attacker_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai, 
							enemy_side
						)
					)
				)
			)
		)
	);

def evaluate_my_recruits_as_defenders(ai*)
	tomap(
		map(
			my_recruits, 
			id
		),
		map( 
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_defender_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai,
							enemy_side
						)
					)
				)
			)
		)
	);


# === 2 ===  now consider abilities and weapon specials  #

def abilities_weights()
	['skirmisher' -> 15, 'ambush' -> 10, 'nightstalk' -> 20, 'regenerates' -> 20, 'healing' -> 15, 'curing' -> 10, 'leadership' -> 20, 'illumination' -> 15, 'teleport' -> 10, 'steadfast' -> 15 ];

def weapon_specials_weights()
	[ 'backstab' -> 20 ,'slow' -> 10 ,'berserk' -> 20 ,'stones' -> 60 ,'plague' -> 10 ,'marksman' -> 30 ,'magical' -> 40 ,'charge' -> 30 ,'drains' -> 30,  'firststrike' -> 10, 'poison' -> 25 ];

def apply_abilities_weights( units_map )
	map( 
		units_map, 
		value +
		(
			value * 
			max(
				map(
					get_unit_type( key ).abilities, 'ability',
					abilities_weights()[ability]
				)
			)
		) / 100
	);

def apply_weapon_specials_weights( units_map )
	map(
		units_map, 
		value +
		(
			value *
			max(
				map(
					get_unit_type( key ).attacks, 'attack',
					vars.weapon_specials[attack.special]
				)
			)
		) / 100
	);

# since undead units don't get random traits and are balanced with that, we need to lower their evaluation a bit to match fairly the living units #

def undead_malus( units_map )
	map( 
		units_map, 
		if(
			get_unit_type(key).undead,
			( value * 90 ) / 100,
			value 
		)
	);

# === 3 ===  pit 1 and 2 together  #

def evaluate_attackers(ai*)
	change_numbers_to_percents(
		apply_abilities_weights(
			apply_weapon_specials_weights(
				undead_malus( 
					make_positive_only(
						evaluate_my_recruits_as_attackers( ai )	
					)
				)
			)
		)
	);

def evaluate_defenders(ai*)
	map(
		map(
			change_numbers_to_percents(
				apply_abilities_weights(
					apply_weapon_specials_weights(
						undead_malus( 
							make_positive_only(
								evaluate_my_recruits_as_defenders( ai )	
							)
						)
					)
				)
			),
			value / 3
		), 
		value +
		map(
			change_numbers_to_percents(
				units_hp_map(
					ai,
					my_recruits
				)
			),
		value * 2 / 3
		)[key]
	);

	#=========== we have evaluation of game state and units, time to combine them: ==========#
		#=========	recruitment_list_builder	=========#

def rlb_apply_eval(eval, attackers_map, defenders_map, offset)
	map(
		sumarize_maps_values(
			map(
				attackers_map, 
				value * (eval+offset)
			),
			map(
				defenders_map,
				value * ( (100 - eval) - offset )
			)
		),
		value / 100
	);

def rlb_remove_lowest( input_map, percent)
	filter(
		input_map, 
		value > 
		(
			(
				percent * sumarize_values(input_map)
			) / 100
		)
	);

def rlb_first_step(eval, attackers_map, defenders_map, offset)
	rlb_remove_lowest(
		rlb_apply_eval(
			eval,
			attackers_map,
			defenders_map,
			offset
		),
		10
	);

def recruitment_list_builder(eval, attackers_map, defenders_map)
	map(
		rlb_first_step(
			eval,
			attackers_map,
			defenders_map,
			40
		),
		(
			(
				value * 100
			) / 
			sumarize_values(
				rlb_first_step(
					eval,
					attackers_map,
					defenders_map,
					40
				)
			)
		)
	);

		# ========== choose the unit to recruit now ========= #

def unit_chooser(ai*,unit_map) 
	choose(
		keys(unit_map), 'unit_type',
		unit_map[unit_type] - 
		(
			(
				100 * 
				size(
					filter(
						my_units, 
						type = unit_type
					)
				)
			) / 
			size(my_units)
		)
	);

def unit_map_cost_filter(ai*, unit_map)
	filter( unit_map,
		get_unit_type(key).cost < my_side.gold
	);

		# ==========	Main formula section 	========== #

def initialize_weapon_specials_map(ai*)
	if(vars.weapon_specials_init != turn,
		[
			set_var('weapon_specials_init', turn),
			set_var('weapon_specials',
				map(
					weapon_specials_weights(),
					if( key = 'magical',
						units_average_defense(ai, enemy_units, 10),
						if( key = 'marksman',
							units_average_defense(ai, enemy_units, 10) - 10,
							value
						)
					)
				)
			)
		],
		[]
	);

def create_recruits_map(ai*)
	if(vars.recruits_map_creator != turn,
		[
			set_var('recruits_map_creator', turn ),
			set_var('recruits_map',
				debug_print('final unit evaluation: ', recruitment_list_builder(
					debug_print('current AI evaluation (0-100): ', eval(ai)),
					debug_print('attackers evaluation: ',evaluate_attackers(ai)),
					debug_print('defenders evaluation: ',evaluate_defenders(ai))
				))
			)
		],
		[]
	);

def castle_space(ai*)
	filter( map( castle_locs( my_leader.loc ), 'location', if( unit_at( location ), 1, 0 ) ), self = 0  ).size;

if(vars.turn_initialized = turn,
		if( my_leader.loc = nearest_keep( my_leader.loc ),
			if( 
				get_unit_type(
					choose(
						vars.recruits_map,
						-get_unit_type(key).cost
					).key
				).cost <
				my_side.gold,
				if( castle_space(self),
					recruit(debug_print(
						unit_chooser(
							self,
							unit_map_cost_filter(
								self,
								vars.recruits_map
							)
						)
					)),
					fallback()
				),
				fallback() 
			),
			if( my_leader.movement_left > 0,
				move( my_leader.loc, nearest_keep( my_leader.loc ) ),
				fallback()
			)
		),
	[set_var(debug_print('turn_initialized'), turn)] +
	initialize_weapon_specials_map(self) +
	create_recruits_map(self)
)

faiend
"
			[/team_formula]
		[/ai]
		[unit]
			advances_to="Hurricane Drake"
			alignment="lawful"
			alpha="256"
			attacks_left="1"
			cost="30"
			description="En la oscura noche soplaba el frío ventisco
La luna estaba alta, la noche envejecía
Un draco abandonaba con gran valentía
Su hogar para robar el oro del Basilisco

En aquella oscura noche de cielo arisco
Él olvidó lo que había aprendido
Ingenuo pero bravo, al hogar del Basilisco
el voló, su fuego interior prendido

Mas hoy el arder de la llama cesó
Pues el basilisco con su ataque inclemente
Al draco en piedra transformó
Y así permanecerá eternamente

En la noche sopla tan frío el ventisco
Los años pasaron, y por siempre permanecería
El draco que abandonó con gran valentía
Su hogar para robar el oro del Basilisco
(inscrito por Flametrooper)"
			die_sound="drake-die.ogg"
			experience="0"
			facing="se"
			flies="false"
			flying="no"
			gender="male"
			goto_x="0"
			goto_y="0"
			hitpoints="1"
			id="Sky Drake-3"
			image="units/drakes/sky.png"
#textdomain wesnoth-units
			language_name=_ "Sky Drake"
			level="2"
			max_attacks="1"
			max_experience="56"
			max_hitpoints="1"
			max_moves="0"
			movement="9"
			movement_type="fly"
			moves="0"
			profile="portraits/drakes/glider.png"
			race="drake"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="3"
			type="Sky Drake"
			undead_variation="drake"
			underlying_id="3"
			unrenamable="yes"
			upkeep="full"
			usage="scout"
			x="27"
			y="14"
			zoc="yes"
			[defense]
				castle="50"
				cave="70"
				deep_water="50"
				flat="50"
				forest="50"
				frozen="50"
				fungus="60"
				hills="50"
				impassable="80"
				mountains="50"
				reef="50"
				sand="50"
				shallow_water="50"
				swamp_water="50"
				unwalkable="50"
				village="50"
			[/defense]
			[movement_costs]
				castle="1"
				cave="3"
				deep_water="1"
				flat="1"
				forest="1"
				frozen="1"
				fungus="2"
				hills="1"
				impassable="99"
				mountains="1"
				reef="1"
				sand="1"
				shallow_water="1"
				swamp_water="1"
				unwalkable="1"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="130"
				blade="90"
				cold="150"
				fire="50"
				impact="80"
				pierce="110"
			[/resistance]
			[variables]
			[/variables]
			[status]
				hidden="yes"
				stoned="on"
			[/status]
			[attack]
				damage="6"
				description=_ "slam"
				icon="attacks/slam-drake.png"
				name="slam"
				number="3"
				range="melee"
				type="impact"
			[/attack]
			[attack]
				damage="5"
				description=_ "fire breath"
				icon="attacks/fire-breath-drake.png"
				name="fire breath"
				number="3"
				range="ranged"
				type="fire"
				[specials]
					[chance_to_hit]
						active_on="offense"
						cumulative="yes"
#textdomain wesnoth
						description=_ "Marksman:
When used offensively, this attack always has at least a 60% chance to hit."
						id="marksman"
						name=_ "marksman"
						value="60"
					[/chance_to_hit]
				[/specials]
			[/attack]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			alignment="chaotic"
			alpha="256"
			attacks_left="1"
			cost="46"
			description="Xikkrisx de Syrsszk era un poderoso guerrero Saurio, enviado a esta región por los ancianos del Clan Rysssrylosszkk (traducción:''Los Enemigos-Cazadores-de-los-Ríos-que-Hierven""). Los ancianos se estaban preparando para la guerra en un puesto de avanzada humano, y estaban muy necesitados de la poderosa magia de  Oxsrrsk, un Saurio Místico que fue visto por última vez yendo hacia el lago Ruaskkolin. Xikkrisx encontró el cuerpo petrificado de Oxsrrsk, junto con un pergamino atado cuidadosamente que se había sido aparentemente depositado en una pequeña grieta en el suelo de la cueva. Abrió el pergamino y leyó un breve pasaje de la mitad del texto:''Después de estar atado y emitido desde el Mundo Superior, El espíritu enfurecido de Chak'kso buscó la liberación, y fue capaz de ejercer una influencia corruptora sobre determinadas regiones del Mundo Superior, canalizada a través de ""senderos de piedra"" que se extienden desde la superficie a las profundidades de los Destinos Profundos. Esta rabia alteró los huevos de los grandes lagartos, dando forma a los cuerpos y espíritus hacia lass necesidades del odio de Chak'kso. Confundido, Xikkrisx fijó su atención en la tarea a realizar. Pensando que tal vez los ancianos podrían encontrar alguna forma de restaurar a Oxsrrsk, comenzó la larga y ardua tarea de transportar la estatua de nuevo a los dominios del Clan de Rysssrylosszkk. Agotado y sin haber llegado muy lejos desde el lago, Xikkrisk puso la estatua en el interior de una pequeña cueva, y se tumbó a descansar. Fue despertado por un escalofriante rugido."
			die_sound="hiss-die.wav"
			experience="0"
			facing="sw"
			flag_rgb="magenta"
			flies="false"
			flying="no"
			gender="male"
			goto_x="0"
			goto_y="0"
			hitpoints="1"
			id="Saurian Flanker-4"
			image="units/saurians/flanker.png"
#textdomain wesnoth-units
			language_name=_ "Saurian Flanker"
			level="3"
			max_attacks="1"
			max_experience="105"
			max_hitpoints="1"
			max_moves="0"
			movement="7"
			movement_type="lizard"
			moves="0"
			name="Xikkrisx"
			profile="portraits/saurians/skirmisher.png"
			race="lizard"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="3"
			type="Saurian Flanker"
			undead_variation="saurian"
			underlying_id="4"
			unrenamable="yes"
			upkeep="full"
			usage="scout"
			x="40"
			y="8"
			zoc="yes"
			[defense]
				castle="40"
				cave="40"
				deep_water="80"
				flat="60"
				forest="40"
				frozen="70"
				fungus="40"
				hills="40"
				impassable="40"
				mountains="40"
				reef="60"
				sand="40"
				shallow_water="60"
				swamp_water="40"
				unwalkable="80"
				village="50"
			[/defense]
			[movement_costs]
				castle="1"
				cave="1"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="4"
				fungus="1"
				hills="1"
				impassable="99"
				mountains="2"
				reef="2"
				sand="1"
				shallow_water="3"
				swamp_water="1"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="80"
				blade="110"
				cold="120"
				fire="120"
				impact="110"
				pierce="80"
			[/resistance]
			[abilities]
				[skirmisher]
					affect_self="yes"
#textdomain wesnoth
					description=_ "Skirmisher:
This unit is skilled in moving past enemies quickly, and ignores all enemy Zones of Control."
					female_name=_ "female^skirmisher"
					id="skirmisher"
					name=_ "skirmisher"
				[/skirmisher]
			[/abilities]
			[advancement]
				description=_ "Max HP bonus +3, Max XP +20%"
				id="amla_default"
				image="misc/icon-amla-tough.png"
				max_times="100"
				strict_amla="yes"
				[effect]
					apply_to="hitpoints"
					heal_full="yes"
					increase_total="3"
				[/effect]
				[effect]
					apply_to="max_experience"
					increase="20%"
				[/effect]
				[effect]
					apply_to="status"
					remove="poisoned"
				[/effect]
				[effect]
					apply_to="status"
					remove="slowed"
				[/effect]
			[/advancement]
			[portrait]
				image="portraits/saurians/transparent/skirmisher.png"
				mirror="false"
				side="left"
				size="400"
			[/portrait]
			[portrait]
				image="portraits/saurians/transparent/skirmisher.png"
				mirror="true"
				side="right"
				size="400"
			[/portrait]
			[variables]
			[/variables]
			[status]
				hidden="yes"
				stoned="on"
			[/status]
			[attack]
				damage="8"
#textdomain wesnoth-units
				description=_ "spear"
				icon="attacks/spear.png"
				name="spear"
				number="4"
				range="melee"
				type="pierce"
			[/attack]
			[attack]
				damage="7"
				description=_ "spear"
				icon="attacks/spear.png"
				name="spear"
				number="2"
				range="ranged"
				type="pierce"
			[/attack]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			alignment="chaotic"
			alpha="256"
			attacks_left="1"
			cost="27"
			description="Oxsrrsk es un poderoso Oráculo Saurio, que en una incursión contra el clan rival Xraxss, había adquirido (de la cámara acorazada del ahora muerto Oráculo Hesx-Rzzak) el más fascinante de los pergaminos. El pergamino se titulaba ''Ney'yks el de la Mirada de Granito,'' y trataba de una criatura conocida como ''Chak'kso Ney'yks'', un nombre que, en una antigua lengua sauria, significaba '' El niño más mayor de Chak'kso.'' Chak'kso se creía que había sido un poderoso semidiós de los Destinos Profundos, descrito como un''gran demonio de la tierra'' en las Historias Élficas. De acuerdo con estas historias, Chak'kso una vez había tratado de transformar toda la vida del planeta en piedra; tan grande fue su odio por las criaturas de carne y hueso. Fue finalmente derrotado y sometido por poderosa magia, pero en los siglos posteriores a su destierro (hacia un reino muy por debajo de la superficie del mundo), una nueva raza de criaturas comenzó a aparecer en las Historias, una raza con la capacidad de convertir cualquier ser de carne y hueso en piedra. Hubo un período en que estos Basiliscos (como fueron conocidos) provocaron estragos en el mundo de los vivos, convirtiendo a miles de ellos en piedra. Uno por uno, y con grandes sacrificios, los Basiliscos fueron derrotados. Todos, al parecer, excepto uno; el Basilisco conocido como ''Ney'yks,'' o ''El Niño más mayor,'' en la lengua moderna. Sumamente convencido de su capacidad para localizar y someter a esta poderosa criatura para su servicio, Oxsrrsk se puso en camino en su viaje ..."
			die_sound="hiss-die.wav"
			experience="0"
			facing="sw"
			flag_rgb="magenta"
			flies="false"
			flying="no"
			gender="male"
			goto_x="0"
			goto_y="0"
			hitpoints="1"
			id="Saurian Oracle-5"
			image="units/saurians/oracle.png"
			language_name=_ "Saurian Oracle"
			level="2"
			max_attacks="1"
			max_experience="105"
			max_hitpoints="1"
			max_moves="0"
			movement="6"
			movement_type="lizard"
			moves="0"
			name="Oxsrrsk"
			profile="portraits/saurians/augur.png"
			race="lizard"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="3"
			type="Saurian Oracle"
			undead_variation="saurian"
			underlying_id="5"
			unrenamable="yes"
			upkeep="full"
			usage="archer"
			x="39"
			y="8"
			zoc="yes"
			[defense]
				castle="40"
				cave="40"
				deep_water="80"
				flat="60"
				forest="40"
				frozen="70"
				fungus="40"
				hills="40"
				impassable="40"
				mountains="40"
				reef="60"
				sand="40"
				shallow_water="60"
				swamp_water="40"
				unwalkable="80"
				village="50"
			[/defense]
			[movement_costs]
				castle="1"
				cave="1"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="4"
				fungus="1"
				hills="1"
				impassable="99"
				mountains="2"
				reef="2"
				sand="1"
				shallow_water="3"
				swamp_water="1"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="80"
				blade="110"
				cold="120"
				fire="120"
				impact="110"
				pierce="80"
			[/resistance]
			[abilities]
				[heals]
					affect_allies="yes"
					affect_self="no"
#textdomain wesnoth
					description=_ "Heals +4:
Allows the unit to heal adjacent allied units at the beginning of our turn.

A unit cared for by this healer may heal up to 4 HP per turn, or stop poison from taking effect for that turn.
A poisoned unit cannot be cured of its poison by a healer, and must seek the care of a village or a unit that can cure."
					female_name=_ "female^heals +4"
					id="healing"
					name=_ "heals +4"
					poison="slowed"
					value="4"
					[affect_adjacent]
						adjacent="n,ne,se,s,sw,nw"
					[/affect_adjacent]
				[/heals]
			[/abilities]
			[advancement]
				description=_ "Max HP bonus +3, Max XP +20%"
				id="amla_default"
				image="misc/icon-amla-tough.png"
				max_times="100"
				strict_amla="yes"
				[effect]
					apply_to="hitpoints"
					heal_full="yes"
					increase_total="3"
				[/effect]
				[effect]
					apply_to="max_experience"
					increase="20%"
				[/effect]
				[effect]
					apply_to="status"
					remove="poisoned"
				[/effect]
				[effect]
					apply_to="status"
					remove="slowed"
				[/effect]
			[/advancement]
			[portrait]
				image="portraits/saurians/transparent/augur.png"
				mirror="false"
				side="left"
				size="400"
			[/portrait]
			[portrait]
				image="portraits/saurians/transparent/augur.png"
				mirror="true"
				side="right"
				size="400"
			[/portrait]
			[variables]
			[/variables]
			[status]
				hidden="yes"
				stoned="on"
			[/status]
			[attack]
				damage="4"
#textdomain wesnoth-units
				description=_ "staff"
				icon="attacks/staff-magic.png"
				name="staff"
				number="3"
				range="melee"
				type="impact"
			[/attack]
			[attack]
				damage="8"
				description=_ "curse"
				icon="attacks/curse.png"
				name="curse"
				number="3"
				range="ranged"
				type="cold"
				[specials]
					[chance_to_hit]
						cumulative="no"
#textdomain wesnoth
						description=_ "Magical:
This attack always has a 70% chance to hit regardless of the defensive ability of the unit being attacked."
						id="magical"
						name=_ "magical"
						value="70"
					[/chance_to_hit]
				[/specials]
			[/attack]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Elvish Sharpshooter"
			alignment="neutral"
			alpha="256"
			attacks_left="1"
			cost="41"
			description="De cuerpo alto, delgado y de gran habilidad
- - Siete Piedras y Once
Dejo a sus enemigos poca oportunidad
- - Siete Piedras y Once
Arquero, Dragonbane era llamado
- - Siete Piedras - y los Elfos
Entre las estatuas fue asesinado
(inscrito por Gauteamus)"
			die_sound="human-hit-1.ogg,human-hit-2.ogg,human-hit-3.ogg,human-hit-4.ogg,elf-hit-1.ogg,elf-hit-2.ogg"
			experience="0"
			facing="se"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="0"
			goto_y="0"
			hitpoints="1"
			id="Elvish Marksman-6"
			image="units/elves-wood/marksman.png"
#textdomain wesnoth-units
			language_name=_ "Elvish Marksman"
			level="2"
			max_attacks="1"
			max_experience="56"
			max_hitpoints="1"
			max_moves="0"
			movement="6"
			movement_type="woodland"
			moves="0"
			profile="portraits/elves/marksman.png"
			race="elf"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="3"
			type="Elvish Marksman"
			undead_variation="archer"
			underlying_id="6"
			unrenamable="yes"
			upkeep="full"
			usage="archer"
			x="2"
			y="11"
			zoc="yes"
			[defense]
				castle="40"
				cave="70"
				deep_water="80"
				flat="60"
				forest="30"
				frozen="70"
				fungus="50"
				hills="50"
				impassable="70"
				mountains="40"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="70"
				unwalkable="80"
				village="40"
			[/defense]
			[movement_costs]
				castle="1"
				cave="3"
				deep_water="99"
				flat="1"
				forest="1"
				frozen="2"
				fungus="2"
				hills="2"
				impassable="99"
				mountains="3"
				reef="2"
				sand="2"
				shallow_water="3"
				swamp_water="2"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="110"
				blade="100"
				cold="100"
				fire="100"
				impact="100"
				pierce="100"
			[/resistance]
			[portrait]
				image="portraits/elves/transparent/marksman.png"
				mirror="true"
				side="left"
				size="400"
			[/portrait]
			[portrait]
				image="portraits/elves/transparent/marksman.png"
				mirror="false"
				side="right"
				size="400"
			[/portrait]
			[variables]
			[/variables]
			[status]
				hidden="yes"
				stoned="on"
			[/status]
			[attack]
				damage="6"
				description=_ "sword"
				icon="attacks/sword-elven.png"
				name="sword"
				number="2"
				range="melee"
				type="blade"
			[/attack]
			[attack]
				damage="9"
				description=_ "longbow"
				icon="attacks/bow-elven-magic.png"
				name="longbow"
				number="4"
				range="ranged"
				type="pierce"
				[specials]
					[chance_to_hit]
						active_on="offense"
						cumulative="yes"
#textdomain wesnoth
						description=_ "Marksman:
When used offensively, this attack always has at least a 60% chance to hit."
						id="marksman"
						name=_ "marksman"
						value="60"
					[/chance_to_hit]
				[/specials]
			[/attack]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			alignment="chaotic"
			alpha="256"
			attacks_left="1"
			cost="41"
			description="Blum Duk fue célebre entre su clan goblin por haber domesticado a uno de los grandes lobos de las montañas y él tenía el valor de hacerlo. Su liderazgo y habilidades fueron por sí mismas las que mantuvieron vivos a los goblins de la zona, a pesar de la amenaza humana y élfica. Se rumoreaba que su lobo había matado a cincuenta hombres y a cien elfos.
Así, cuando oyó hablar del terrible monstruo que habitaba la zona, era natural que decidiese cabalgar en solitario para enfrentarse a él. Todos los otros goblins esperaban que matara con facilidad a la criatura y trajera a rastras su cadáver para hacer un festín.
Una gran sorpresa le esperaba. En cuanto vio al basilisco, Blum Duk se encogió de miedo. Intentó hacer que su lobo se diera la vuelta para huir, pero el lobo no se movía. En el momento en que la criatura se aproximaba a ambos, el gritaba sus últimas palabras: Buen Gog, mi perro, ¿¡¿están hechas de piedra tus patas?!?
(inscrito por Saqueador Elfo)"
			die_sound="wolf-die.wav"
			experience="0"
			facing="se"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="0"
			goto_y="0"
			hitpoints="1"
			id="Direwolf Rider-7"
			image="units/goblins/direwolver.png"
#textdomain wesnoth-units
			language_name=_ "Direwolf Rider"
			level="3"
			max_attacks="1"
			max_experience="105"
			max_hitpoints="1"
			max_moves="0"
			movement="10"
			movement_type="orcishfoot"
			moves="0"
			name="Blum Duk"
			race="wolf"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="3"
			type="Direwolf Rider"
			undead_variation="mounted"
			underlying_id="7"
			unrenamable="yes"
			upkeep="full"
			usage="scout"
			x="10"
			y="17"
			zoc="yes"
			[defense]
				castle="40"
				cave="60"
				deep_water="80"
				flat="60"
				forest="50"
				frozen="80"
				fungus="60"
				hills="50"
				impassable="60"
				mountains="40"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="70"
				unwalkable="80"
				village="40"
			[/defense]
			[movement_costs]
				castle="1"
				cave="2"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="2"
				fungus="3"
				hills="1"
				impassable="99"
				mountains="2"
				reef="2"
				sand="2"
				shallow_water="3"
				swamp_water="3"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="100"
				blade="100"
				cold="100"
				fire="100"
				impact="100"
				pierce="100"
			[/resistance]
			[advancement]
#textdomain wesnoth
				description=_ "Max HP bonus +3, Max XP +20%"
				id="amla_default"
				image="misc/icon-amla-tough.png"
				max_times="100"
				strict_amla="yes"
				[effect]
					apply_to="hitpoints"
					heal_full="yes"
					increase_total="3"
				[/effect]
				[effect]
					apply_to="max_experience"
					increase="20%"
				[/effect]
				[effect]
					apply_to="status"
					remove="poisoned"
				[/effect]
				[effect]
					apply_to="status"
					remove="slowed"
				[/effect]
			[/advancement]
			[variables]
			[/variables]
			[status]
				hidden="yes"
				stoned="on"
			[/status]
			[attack]
				damage="9"
#textdomain wesnoth-units
				description=_ "fangs"
				icon="attacks/fangs-animal.png"
				name="fangs"
				number="4"
				range="melee"
				type="blade"
			[/attack]
			[attack]
				damage="4"
				description=_ "claws"
				icon="attacks/claws-animal.png"
				name="claws"
				number="4"
				range="melee"
				type="blade"
				[specials]
					[poison]
#textdomain wesnoth
						description=_ "Poison:
This attack poisons living targets. Poisoned units lose 8 HP every turn until they are cured or are reduced to 1 HP. Poison can not, of itself, kill a unit."
						id="poison"
						name=_ "poison"
					[/poison]
				[/specials]
			[/attack]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			alignment="lawful"
			alpha="256"
			attacks_left="1"
			cost="100"
			description="Rah Ihn Mar, Campeón de las Colinas Ardientes, viajó hasta la región del lago Ruaskkolin en persecución del Héroe Elfo Terowydlithrol, conocido entre los elfos como ''el Terror del Dragón.'' Se había dicho que Terowydlithrol había matado a un dragón de fuego que amenazaba una aldea élfica, e inició un ''contraataque'' en el que unos 37 dracos, acampados en un barranco cercano de los que se creía que eran aliados del Dragon, fueron masacrados. Sabiendo que estos Dracos eran inocentes, Rah Ihn Mar llegó al lago Ruaskkolin a atrapar y asesinar a Terowydlithrol, que se le había visto entrando en la región sólo un día antes. Ardiente de venganza, Rah Ihn Mar comenzó la cacería....."
			die_sound="drake-die.ogg"
			ellipse="misc/ellipse"
			experience="0"
			facing="se"
			flying="no"
			gender="male"
			goto_x="0"
			goto_y="0"
			hitpoints="1"
			id="Armageddon Drake-8"
			image="units/drakes/armageddon.png"
#textdomain wesnoth-units
			language_name=_ "Armageddon Drake"
			level="4"
			max_attacks="1"
			max_experience="105"
			max_hitpoints="1"
			max_moves="0"
			movement="5"
			movement_type="drakefly"
			moves="0"
			name="Rah Ihn Mar"
			profile="portraits/drakes/burner.png"
			race="drake"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="3"
			type="Armageddon Drake"
			undead_variation="drake"
			underlying_id="8"
			unrenamable="yes"
			upkeep="full"
			usage="archer"
			x="11"
			y="14"
			zoc="yes"
			[defense]
				castle="60"
				cave="70"
				deep_water="80"
				flat="70"
				forest="60"
				frozen="80"
				fungus="60"
				hills="60"
				impassable="70"
				mountains="60"
				reef="70"
				sand="60"
				shallow_water="80"
				swamp_water="70"
				unwalkable="60"
				village="60"
			[/defense]
			[movement_costs]
				castle="1"
				cave="3"
				deep_water="2"
				flat="1"
				forest="1"
				frozen="2"
				fungus="2"
				hills="1"
				impassable="99"
				mountains="1"
				reef="1"
				sand="1"
				shallow_water="1"
				swamp_water="1"
				unwalkable="1"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="130"
				blade="90"
				cold="150"
				fire="0"
				impact="80"
				pierce="110"
			[/resistance]
			[advancement]
#textdomain wesnoth
				description=_ "Max HP bonus +3, Max XP +20%"
				id="amla_default"
				image="misc/icon-amla-tough.png"
				max_times="100"
				strict_amla="yes"
				[effect]
					apply_to="hitpoints"
					heal_full="yes"
					increase_total="3"
				[/effect]
				[effect]
					apply_to="max_experience"
					increase="20%"
				[/effect]
				[effect]
					apply_to="status"
					remove="poisoned"
				[/effect]
				[effect]
					apply_to="status"
					remove="slowed"
				[/effect]
			[/advancement]
			[variables]
			[/variables]
			[status]
				hidden="yes"
				stoned="on"
			[/status]
			[attack]
				damage="15"
#textdomain wesnoth-units
				description=_ "claws"
				icon="attacks/claws-drake.png"
				name="claws"
				number="2"
				range="melee"
				type="blade"
			[/attack]
			[attack]
				damage="12"
				description=_ "fire breath"
				icon="attacks/fire-breath-drake.png"
				name="fire breath"
				number="6"
				range="ranged"
				type="fire"
			[/attack]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			alignment="chaotic"
			alpha="256"
			attacks_left="1"
			cost="40"
			description="Había vivido ahí por los siglos de los siglos, en las profundidades, alimentándose de los múltiples peces, ranas y sirénidos que entraban en sus dominios. Era su lago, de nadie más y, aunque no era grande, él era el amo. Entonces, el basilisco llegó y miró a los ojos de la Serpiente. Y la Serpiente no murió, pero ya no estaba viva. Así, el nuevo señor del lago había llegado.
(inscrito por Turin)"
			die_sound="water-blast.wav"
			experience="0"
			facing="sw"
			flying="no"
			gender="male"
			goto_x="0"
			goto_y="0"
			hitpoints="1"
			id="Sea Serpent-9"
			image="units/monsters/seaserpent.png"
			language_name=_ "Sea Serpent"
			level="3"
			max_attacks="1"
			max_experience="105"
			max_hitpoints="1"
			max_moves="0"
			movement="8"
			movement_type="deepsea"
			moves="0"
			profile="portraits/monsters/sea-serpent.png"
			race="monster"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="3"
			type="Sea Serpent"
			undead_variation="swimmer"
			underlying_id="9"
			unrenamable="yes"
			upkeep="full"
			usage="fighter"
			x="22"
			y="12"
			zoc="yes"
			[defense]
				castle="70"
				cave="80"
				deep_water="40"
				flat="70"
				forest="70"
				frozen="70"
				fungus="80"
				hills="70"
				impassable="80"
				mountains="80"
				reef="50"
				sand="70"
				shallow_water="50"
				swamp_water="40"
				unwalkable="80"
				village="70"
			[/defense]
			[movement_costs]
				castle="1"
				cave="3"
				deep_water="1"
				flat="4"
				forest="5"
				frozen="2"
				fungus="3"
				hills="5"
				impassable="99"
				mountains="99"
				reef="2"
				sand="4"
				shallow_water="2"
				swamp_water="2"
				unwalkable="99"
				village="2"
			[/movement_costs]
			[resistance]
				arcane="100"
				blade="80"
				cold="40"
				fire="100"
				impact="70"
				pierce="100"
			[/resistance]
			[advancement]
#textdomain wesnoth
				description=_ "Max HP bonus +3, Max XP +20%"
				id="amla_default"
				image="misc/icon-amla-tough.png"
				max_times="100"
				strict_amla="yes"
				[effect]
					apply_to="hitpoints"
					heal_full="yes"
					increase_total="3"
				[/effect]
				[effect]
					apply_to="max_experience"
					increase="20%"
				[/effect]
				[effect]
					apply_to="status"
					remove="poisoned"
				[/effect]
				[effect]
					apply_to="status"
					remove="slowed"
				[/effect]
			[/advancement]
			[variables]
			[/variables]
			[status]
				hidden="yes"
				stoned="on"
			[/status]
			[attack]
				damage="18"
#textdomain wesnoth-units
				description=_ "fangs"
				icon="attacks/fangs-animal.png"
				name="fangs"
				number="2"
				range="melee"
				type="pierce"
			[/attack]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			alignment="lawful"
			alpha="256"
			attacks_left="1"
			cost="58"
			description="Un valiente héroe de la era dorada de Wesnoth, este gran jinete y comandante de hombres llegó a este lugar diabólico durante un asalto contra los orcos. Tomados por sorpresa por las apestosas criaturas, muchos de sus compañeros fueron muertos, mas él luchó valientemente, derrotando a muchos enemigos. Pero ¡ay! El nauseabundo Basilisco lo volvió piedra en el mismo momento en el que mataba al último orco. Ahora, todo lo que de él queda es un crudo recordatorio de su en otro tiempo magnífico porte y fortaleza.
(inscrito por Fynmiir)"
			die_sound="horse-die.ogg"
			experience="0"
			facing="sw"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="0"
			goto_y="0"
			hitpoints="1"
			id="Grand Knight-10"
			image="units/human-loyalists/grand-knight.png"
			language_name=_ "Grand Knight"
			level="3"
			max_attacks="1"
			max_experience="105"
			max_hitpoints="1"
			max_moves="0"
			movement="7"
			movement_type="mounted"
			moves="0"
			profile="portraits/humans/grand-knight.png"
			race="human"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="3"
			type="Grand Knight"
			undead_variation="mounted"
			underlying_id="10"
			unrenamable="yes"
			upkeep="full"
			usage="fighter"
			x="25"
			y="14"
			zoc="yes"
			[defense]
				castle="60"
				cave="80"
				deep_water="80"
				flat="60"
				forest="70"
				frozen="70"
				fungus="80"
				hills="60"
				impassable="80"
				mountains="80"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="80"
				unwalkable="80"
				village="60"
			[/defense]
			[movement_costs]
				castle="1"
				cave="4"
				deep_water="99"
				flat="1"
				forest="3"
				frozen="2"
				fungus="4"
				hills="2"
				impassable="99"
				mountains="99"
				reef="3"
				sand="2"
				shallow_water="4"
				swamp_water="4"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="80"
				blade="80"
				cold="100"
				fire="100"
				impact="70"
				pierce="120"
			[/resistance]
			[advancement]
#textdomain wesnoth
				description=_ "Max HP bonus +3, Max XP +20%"
				id="amla_default"
				image="misc/icon-amla-tough.png"
				max_times="100"
				strict_amla="yes"
				[effect]
					apply_to="hitpoints"
					heal_full="yes"
					increase_total="3"
				[/effect]
				[effect]
					apply_to="max_experience"
					increase="20%"
				[/effect]
				[effect]
					apply_to="status"
					remove="poisoned"
				[/effect]
				[effect]
					apply_to="status"
					remove="slowed"
				[/effect]
			[/advancement]
			[variables]
			[/variables]
			[status]
				hidden="yes"
				stoned="on"
			[/status]
			[attack]
				damage="12"
#textdomain wesnoth-units
				description=_ "sword"
				icon="attacks/greatsword-human.png"
				name="sword"
				number="4"
				range="melee"
				type="blade"
			[/attack]
			[attack]
				damage="17"
				description=_ "lance"
				name="lance"
				number="2"
				range="melee"
				type="pierce"
				[specials]
					[damage]
						active_on="offense"
						apply_to="both"
#textdomain wesnoth
						description=_ "Charge:
When used offensively, this attack deals double damage to the target. It also causes this unit to take double damage from the target's counterattack."
						id="charge"
						multiply="2"
						name=_ "charge"
					[/damage]
				[/specials]
			[/attack]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			advances_to="Ancient Wose"
			alignment="lawful"
			alpha="256"
			attacks_left="1"
			cost="31"
			description="Bramwythl el wose fue considerado siempre un compañero lento y taciturno, incluso para los otros woses. Mucho más que cualquier otro wose, disfrutaba simplemente quedándose ante el sol, con los brazos en alto, admirando la belleza del cielo limpio. De hecho, una vez, confesó a un compañero que su gran deseo era disfrutar para siempre de la gloria del sol.
Sin embargo, no mucho más tarde, la comunidad local de woses oyó del acercamiento de un horrible monstruo, tan poderoso como para destruir con facilidad a los pocos woses que vivían en la zona. Se alejaron rápidamente (rápido para los woses, de todos modos), pero  a Bramwythl le dejaron atrás. En su precipitación, nadie se acordó de buscarle y avisarle del peligro.
Fue pillado por sorpresa por el Basilisco, y convertido en piedra antes de que siquiera reconociera a la bestia. Su forma petrificada aún permanece aquí hoy, calentada por los rayos del sol, bajo el cielo abierto. Su gran deseo le fue finalmente concedido.
(inscrito por Saqueador Elfo)"
			die_sound="wose-die.ogg"
			experience="0"
			facing="se"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="0"
			goto_y="0"
			hitpoints="1"
			id="Elder Wose-11"
			image="units/woses/wose-elder.png"
#textdomain wesnoth-units
			language_name=_ "Elder Wose"
			level="2"
			max_attacks="1"
			max_experience="70"
			max_hitpoints="1"
			max_moves="0"
			movement="4"
			movement_type="treefolk"
			moves="0"
			name="Bramwythl"
			race="wose"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="3"
			type="Elder Wose"
			undead_variation="wose"
			underlying_id="11"
			unrenamable="yes"
			upkeep="full"
			usage="fighter"
			x="32"
			y="6"
			zoc="yes"
			[defense]
				castle="80"
				cave="80"
				deep_water="90"
				flat="80"
				forest="60"
				frozen="80"
				fungus="70"
				hills="70"
				impassable="80"
				mountains="70"
				reef="80"
				sand="80"
				shallow_water="80"
				swamp_water="70"
				unwalkable="80"
				village="80"
			[/defense]
			[movement_costs]
				castle="1"
				cave="3"
				deep_water="99"
				flat="1"
				forest="1"
				frozen="2"
				fungus="2"
				hills="2"
				impassable="99"
				mountains="3"
				reef="2"
				sand="2"
				shallow_water="2"
				swamp_water="2"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="130"
				blade="100"
				cold="90"
				fire="150"
				impact="60"
				pierce="40"
			[/resistance]
			[abilities]
				[hides]
					affect_self="yes"
#textdomain wesnoth
					description=_ "Ambush:
This unit can hide in forest, and remain undetected by its enemies.

Enemy units cannot see this unit while it is in forest, except if they have units next to it. Any enemy unit that first discovers this unit immediately loses all its remaining movement."
					description_inactive=_ "Ambush:
This unit can hide in forest, and remain undetected by its enemies.

Enemy units cannot see this unit while it is in forest, except if they have units next to it. Any enemy unit that first discovers this unit immediately loses all its remaining movement."
					female_name=_ "female^ambush"
					female_name_inactive=_ "female^ambush"
					id="ambush"
					name=_ "ambush"
					name_inactive=_ "ambush"
					[filter_self]
						[filter_location]
							terrain="*^Fp,*^Fet,*^Ft,*^Fpa,*^Fd*,*^Fm*"
						[/filter_location]
					[/filter_self]
				[/hides]
				[regenerate]
					affect_self="yes"
					description=_ "Regenerates:
The unit will heal itself 8 HP per turn. If it is poisoned, it will remove the poison instead of healing."
					female_name=_ "female^regenerates"
					id="regenerates"
					name=_ "regenerates"
					poison="cured"
					value="8"
				[/regenerate]
			[/abilities]
			[variables]
			[/variables]
			[status]
				hidden="yes"
				stoned="on"
			[/status]
			[attack]
				damage="19"
#textdomain wesnoth-units
				description=_ "crush"
				icon="attacks/crush-wose.png"
				name="crush"
				number="2"
				range="melee"
				type="impact"
			[/attack]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			alignment="lawful"
			alpha="256"
			attacks_left="1"
			cost="50"
			description="El general Talael Ryndoc vino a este lugar para luchar en un duelo contra el Gran Mariscal Aethec Corryn, pero los dos hombres nunca se encontraron cara a cara."
			die_sound="human-die-1.ogg,human-die-2.ogg,human-die-3.ogg"
			experience="0"
			facing="sw"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="0"
			goto_y="0"
			hitpoints="1"
			id="Iron Mauler-12"
			image="units/human-loyalists/siegetrooper.png"
			language_name=_ "Iron Mauler"
			level="3"
			max_attacks="1"
			max_experience="105"
			max_hitpoints="1"
			max_moves="0"
			movement="4"
			movement_type="armoredfoot"
			moves="0"
			name="Talael Ryndoc"
			profile="portraits/humans/iron-mauler.png~RIGHT()"
			race="human"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="3"
			type="Iron Mauler"
			underlying_id="12"
			unrenamable="yes"
			upkeep="full"
			usage="fighter"
			x="34"
			y="11"
			zoc="yes"
			[defense]
				castle="50"
				cave="60"
				deep_water="80"
				flat="70"
				forest="60"
				frozen="80"
				fungus="60"
				hills="60"
				impassable="60"
				mountains="80"
				reef="80"
				sand="80"
				shallow_water="90"
				swamp_water="90"
				unwalkable="80"
				village="60"
			[/defense]
			[movement_costs]
				castle="1"
				cave="2"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="4"
				fungus="2"
				hills="3"
				impassable="99"
				mountains="99"
				reef="3"
				sand="2"
				shallow_water="4"
				swamp_water="4"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="80"
				blade="50"
				cold="110"
				fire="110"
				impact="90"
				pierce="60"
			[/resistance]
			[advancement]
#textdomain wesnoth
				description=_ "Max HP bonus +3, Max XP +20%"
				id="amla_default"
				image="misc/icon-amla-tough.png"
				max_times="100"
				strict_amla="yes"
				[effect]
					apply_to="hitpoints"
					heal_full="yes"
					increase_total="3"
				[/effect]
				[effect]
					apply_to="max_experience"
					increase="20%"
				[/effect]
				[effect]
					apply_to="status"
					remove="poisoned"
				[/effect]
				[effect]
					apply_to="status"
					remove="slowed"
				[/effect]
			[/advancement]
			[portrait]
				image="portraits/humans/transparent/iron-mauler.png"
				mirror="false"
				side="right"
				size="400"
			[/portrait]
			[trait]
				description=_ "Fights normally during unfavorable times of day/night"
				female_name=_ "female^fearless"
				id="fearless"
				male_name=_ "fearless"
			[/trait]
			[variables]
			[/variables]
			[status]
				hidden="yes"
				stoned="on"
			[/status]
			[attack]
				damage="25"
#textdomain wesnoth-units
				description=_ "mace"
				name="mace"
				number="2"
				range="melee"
				type="impact"
			[/attack]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			alignment="lawful"
			alpha="256"
			attacks_left="1"
			cost="66"
			description="Las últimas palabras pronunciadas por el Gran Mariscal Aethec Corryn:''¡Talael Ryndoc! Estoy buscándote! ¡Voy a hacer mi camino de regreso hasta la mansión de Haldric, y a informar al tribunal de que fuiste demasiado cobarde para asistir a nuestro duelo! Tu desgracia será más angustiosa que la muerte que yo te habría dado!''
 
 Quizás no debería haber gritado tan fuerte...."
			die_sound="human-die-1.ogg,human-die-2.ogg,human-die-3.ogg"
			experience="0"
			facing="sw"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="0"
			goto_y="0"
			hitpoints="1"
			id="Grand Marshal-13"
			image="units/human-loyalists/marshal.png"
			language_name=_ "Grand Marshal"
			level="4"
			max_attacks="1"
			max_experience="105"
			max_hitpoints="1"
			max_moves="0"
			movement="6"
			movement_type="smallfoot"
			moves="0"
			name="Aethec Corryn"
			profile="portraits/humans/marshal.png"
			race="human"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="3"
			type="Grand Marshal"
			underlying_id="13"
			unrenamable="yes"
			upkeep="full"
			usage="fighter"
			x="15"
			y="11"
			zoc="yes"
			[defense]
				castle="40"
				cave="60"
				deep_water="80"
				flat="60"
				forest="50"
				frozen="80"
				fungus="50"
				hills="50"
				impassable="60"
				mountains="40"
				reef="70"
				sand="70"
				shallow_water="80"
				swamp_water="80"
				unwalkable="80"
				village="40"
			[/defense]
			[movement_costs]
				castle="1"
				cave="2"
				deep_water="99"
				flat="1"
				forest="2"
				frozen="3"
				fungus="2"
				hills="2"
				impassable="99"
				mountains="3"
				reef="2"
				sand="2"
				shallow_water="3"
				swamp_water="3"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="80"
				blade="80"
				cold="100"
				fire="100"
				impact="80"
				pierce="80"
			[/resistance]
			[abilities]
				[leadership]
					affect_self="no"
					cumulative="no"
#textdomain wesnoth
					description=_ "Leadership:
This unit can lead our own units that are next to it, making them fight better.

Adjacent own units of lower level will do more damage in battle. When a unit adjacent to, of a lower level than, and on the same side as a unit with Leadership engages in combat, its attacks do 25% more damage times the difference in their levels."
					female_name=_ "female^leadership"
					id="leadership"
					name=_ "leadership"
					value="100"
					[affect_adjacent]
						adjacent="n,ne,se,s,sw,nw"
						[filter]
							level="0"
						[/filter]
					[/affect_adjacent]
				[/leadership]
				[leadership]
					affect_self="no"
					cumulative="no"
					id="leadership"
					value="75"
					[affect_adjacent]
						adjacent="n,ne,se,s,sw,nw"
						[filter]
							level="1"
						[/filter]
					[/affect_adjacent]
				[/leadership]
				[leadership]
					affect_self="no"
					cumulative="no"
					id="leadership"
					value="50"
					[affect_adjacent]
						adjacent="n,ne,se,s,sw,nw"
						[filter]
							level="2"
						[/filter]
					[/affect_adjacent]
				[/leadership]
				[leadership]
					affect_self="no"
					cumulative="no"
					id="leadership"
					value="25"
					[affect_adjacent]
						adjacent="n,ne,se,s,sw,nw"
						[filter]
							level="3"
						[/filter]
					[/affect_adjacent]
				[/leadership]
			[/abilities]
			[advancement]
				description=_ "Max HP bonus +3, Max XP +20%"
				id="amla_default"
				image="misc/icon-amla-tough.png"
				max_times="100"
				strict_amla="yes"
				[effect]
					apply_to="hitpoints"
					heal_full="yes"
					increase_total="3"
				[/effect]
				[effect]
					apply_to="max_experience"
					increase="20%"
				[/effect]
				[effect]
					apply_to="status"
					remove="poisoned"
				[/effect]
				[effect]
					apply_to="status"
					remove="slowed"
				[/effect]
			[/advancement]
			[portrait]
				image="portraits/humans/transparent/marshal.png"
				mirror="false"
				side="left"
				size="400"
			[/portrait]
			[portrait]
				image="portraits/humans/transparent/marshal.png"
				mirror="true"
				side="right"
				size="400"
			[/portrait]
			[variables]
			[/variables]
			[status]
				hidden="yes"
				stoned="on"
			[/status]
			[attack]
				damage="10"
#textdomain wesnoth-units
				description=_ "sword"
				icon="attacks/greatsword-human.png"
				name="sword"
				number="4"
				range="melee"
				type="blade"
			[/attack]
			[attack]
				damage="8"
				description=_ "crossbow"
				icon="attacks/crossbow-human.png"
				name="crossbow"
				number="3"
				range="ranged"
				type="pierce"
			[/attack]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			alignment="neutral"
			alpha="256"
			attacks_left="1"
			cost="48"
			description="Este valiente guerrero, conocido como Rilhon entre los Naga, oyó hablar de un fabuloso tesoro, que se había perdido en esas húmedas cuevas; una lanza cuya punta se decía había sido hecha a partir del diente de Chak'kso Ney'yks, un antiguo basilisco, muerto hacía mucho por el héroe elfo Eloralduil. Según la leyenda, el arma fue depositada en algún lugar en el fondo de este mismo lago (el lago Ruaskkolin, llamado así debido a una serpiente de mar muy conocida, que hizo de él su hogar). Habiéndose preparado a si mismo para luchar contra la serpiente, Rilhon se encontró con dos grandes sorpresas. La primera fue la petrificada forma de Ruaskkolin, la serpiente. La segunda fue un Chak'kso Ney'yks bien vivo que estaba, desafortunadamente, en posesión de todos sus dientes.
(inscrito por Paterson)"
			die_sound="naga-die.ogg"
			experience="0"
			facing="se"
			flag_rgb="magenta"
			flying="no"
			gender="male"
			goto_x="0"
			goto_y="0"
			hitpoints="1"
			id="Naga Myrmidon-14"
			image="units/nagas/myrmidon.png"
			language_name=_ "Naga Myrmidon"
			level="3"
			max_attacks="1"
			max_experience="105"
			max_hitpoints="1"
			max_moves="0"
			movement="7"
			movement_type="naga"
			moves="0"
			name="Rilhon"
			profile="portraits/nagas/fighter.png"
			race="naga"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="3"
			type="Naga Myrmidon"
			undead_variation="swimmer"
			underlying_id="14"
			unrenamable="yes"
			upkeep="full"
			usage="fighter"
			x="20"
			y="12"
			zoc="yes"
			[defense]
				castle="50"
				cave="60"
				deep_water="50"
				flat="50"
				forest="60"
				frozen="80"
				fungus="60"
				hills="60"
				impassable="60"
				mountains="60"
				reef="30"
				sand="40"
				shallow_water="40"
				swamp_water="40"
				unwalkable="80"
				village="60"
			[/defense]
			[movement_costs]
				castle="2"
				cave="2"
				deep_water="1"
				flat="2"
				forest="3"
				frozen="2"
				fungus="2"
				hills="3"
				impassable="99"
				mountains="5"
				reef="2"
				sand="1"
				shallow_water="1"
				swamp_water="1"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="100"
				blade="100"
				cold="120"
				fire="100"
				impact="100"
				pierce="100"
			[/resistance]
			[advancement]
#textdomain wesnoth
				description=_ "Max HP bonus +3, Max XP +20%"
				id="amla_default"
				image="misc/icon-amla-tough.png"
				max_times="100"
				strict_amla="yes"
				[effect]
					apply_to="hitpoints"
					heal_full="yes"
					increase_total="3"
				[/effect]
				[effect]
					apply_to="max_experience"
					increase="20%"
				[/effect]
				[effect]
					apply_to="status"
					remove="poisoned"
				[/effect]
				[effect]
					apply_to="status"
					remove="slowed"
				[/effect]
			[/advancement]
			[variables]
			[/variables]
			[status]
				hidden="yes"
				stoned="on"
			[/status]
			[attack]
				damage="9"
#textdomain wesnoth-units
				description=_ "sword"
				icon="attacks/sword-orcish.png"
				name="sword"
				number="5"
				range="melee"
				type="blade"
			[/attack]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			alignment="lawful"
			alpha="256"
			attacks_left="1"
			cost="52"
			description="A través de canales rocosos y olas
azul y blanco
de las mareas ella empujó y tiró
y a los peces la lengua de los planetas mostró
plata y verde
con magia
manando de su espíritu llenó algas y caracolas
su cola y sus manos ella giró
y sus canciones a correr por la arena con patitas envió
y ahora
y ahora la pausa más extraña ha sucedido
por siglos
sus ojos no ha movido

(inscrito por MJQ)"
			die_sound="mermaid-die.ogg"
			experience="0"
			facing="sw"
			flag_rgb="magenta"
			flying="no"
			gender="female"
			goto_x="0"
			goto_y="0"
			hitpoints="1"
			id="Mermaid Siren-15"
			image="units/merfolk/siren.png"
			language_name=_ "Mermaid Siren"
			level="3"
			max_attacks="1"
			max_experience="105"
			max_hitpoints="1"
			max_moves="0"
			movement="7"
			movement_type="swimmer"
			moves="0"
			profile="portraits/merfolk/initiate.png"
			race="merman"
			random_gender="no"
			random_traits="no"
			resting="yes"
			side="3"
			type="Mermaid Siren"
			undead_variation="swimmer"
			underlying_id="15"
			unrenamable="yes"
			upkeep="full"
			usage="mixed fighter"
			x="17"
			y="11"
			zoc="yes"
			[defense]
				castle="60"
				cave="80"
				deep_water="50"
				flat="70"
				forest="70"
				frozen="70"
				fungus="80"
				hills="70"
				impassable="80"
				mountains="80"
				reef="30"
				sand="70"
				shallow_water="40"
				swamp_water="40"
				unwalkable="80"
				village="60"
			[/defense]
			[movement_costs]
				castle="1"
				cave="3"
				deep_water="1"
				flat="2"
				forest="5"
				frozen="2"
				fungus="3"
				hills="5"
				impassable="99"
				mountains="99"
				reef="2"
				sand="2"
				shallow_water="1"
				swamp_water="1"
				unwalkable="99"
				village="1"
			[/movement_costs]
			[resistance]
				arcane="100"
				blade="100"
				cold="80"
				fire="100"
				impact="100"
				pierce="100"
			[/resistance]
			[advancement]
#textdomain wesnoth
				description=_ "Max HP bonus +3, Max XP +20%"
				id="amla_default"
				image="misc/icon-amla-tough.png"
				max_times="100"
				strict_amla="yes"
				[effect]
					apply_to="hitpoints"
					heal_full="yes"
					increase_total="3"
				[/effect]
				[effect]
					apply_to="max_experience"
					increase="20%"
				[/effect]
				[effect]
					apply_to="status"
					remove="poisoned"
				[/effect]
				[effect]
					apply_to="status"
					remove="slowed"
				[/effect]
			[/advancement]
			[portrait]
				image="portraits/merfolk/transparent/initiate.png"
				mirror="false"
				side="left"
				size="400"
			[/portrait]
			[portrait]
				image="portraits/merfolk/transparent/initiate.png"
				mirror="true"
				side="right"
				size="400"
			[/portrait]
			[variables]
			[/variables]
			[status]
				hidden="yes"
				stoned="on"
			[/status]
			[attack]
				damage="12"
#textdomain wesnoth-units
				description=_ "naia touch"
				icon="attacks/touch-faerie.png"
				name="naia touch"
				number="1"
				range="melee"
				type="impact"
				[specials]
					[chance_to_hit]
						cumulative="no"
#textdomain wesnoth
						description=_ "Magical:
This attack always has a 70% chance to hit regardless of the defensive ability of the unit being attacked."
						id="magical"
						name=_ "magical"
						value="70"
					[/chance_to_hit]
				[/specials]
			[/attack]
			[attack]
				damage="15"
#textdomain wesnoth-units
				description=_ "water spray"
				icon="attacks/waterspray.png"
				name="water spray"
				number="3"
				range="ranged"
				type="impact"
				[specials]
					[chance_to_hit]
						cumulative="no"
#textdomain wesnoth
						description=_ "Magical:
This attack always has a 70% chance to hit regardless of the defensive ability of the unit being attacked."
						id="magical"
						name=_ "magical"
						value="70"
					[/chance_to_hit]
				[/specials]
			[/attack]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
	[/side]
	[time]
		blue="0"
		green="-20"
		id="dawn"
		image="misc/schedule-dawn.png"
		lawful_bonus="0"
		name=_ "Dawn"
		red="-20"
	[/time]
	[time]
		blue="0"
		green="0"
		id="morning"
		image="misc/schedule-morning.png"
		lawful_bonus="25"
		name=_ "Morning"
		red="0"
	[/time]
	[time]
		blue="0"
		green="0"
		id="afternoon"
		image="misc/schedule-afternoon.png"
		lawful_bonus="25"
		name=_ "Afternoon"
		red="0"
	[/time]
	[time]
		blue="-20"
		green="-20"
		id="dusk"
		image="misc/schedule-dusk.png"
		lawful_bonus="0"
		name=_ "Dusk"
		red="0"
	[/time]
	[time]
		blue="-10"
		green="-40"
		id="first_watch"
		image="misc/schedule-firstwatch.png"
		lawful_bonus="-25"
		name=_ "First Watch"
		red="-40"
	[/time]
	[time]
		blue="-10"
		green="-40"
		id="second_watch"
		image="misc/schedule-secondwatch.png"
		lawful_bonus="-25"
		name=_ "Second Watch"
		red="-40"
	[/time]
	[music]
		ms_after="0"
		ms_before="12000"
		name="knolls.ogg"
	[/music]
	[music]
		append="yes"
		ms_after="0"
		ms_before="12000"
		name="wanderer.ogg"
	[/music]
	[music]
		append="yes"
		ms_after="0"
		ms_before="12000"
		name="battle.ogg"
	[/music]
	[music]
		append="yes"
		ms_after="0"
		ms_before="12000"
		name="transience.ogg"
	[/music]
	[music]
		append="yes"
		ms_after="0"
		ms_before="12000"
		name="revelation.ogg"
	[/music]
	[music]
		append="yes"
		ms_after="0"
		ms_before="12000"
		name="loyalists.ogg"
	[/music]
	[music]
		append="yes"
		ms_after="0"
		ms_before="12000"
		name="the_king_is_dead.ogg"
	[/music]
	[music]
		append="yes"
		ms_after="0"
		ms_before="12000"
		name="knalgan_theme.ogg"
	[/music]
	[music]
		append="yes"
		ms_after="0"
		ms_before="12000"
		name="the_city_falls.ogg"
	[/music]
	[music]
		append="yes"
		ms_after="0"
		ms_before="12000"
		name="nunc_dimittis.ogg"
	[/music]
	[music]
		append="yes"
		ms_after="0"
		ms_before="12000"
		name="breaking_the_chains.ogg"
	[/music]
	[music]
		append="yes"
		ms_after="0"
		ms_before="12000"
		name="elvish-theme.ogg"
	[/music]
	[music]
		append="yes"
		ms_after="0"
		ms_before="12000"
		name="legends_of_the_north.ogg"
	[/music]
	[music]
		append="yes"
		ms_after="0"
		ms_before="12000"
		name="traveling_minstrels.ogg"
	[/music]
	[music]
		append="yes"
		ms_after="0"
		ms_before="12000"
		name="underground.ogg"
	[/music]
	[music]
		append="yes"
		ms_after="0"
		ms_before="12000"
		name="vengeful.ogg"
	[/music]
	[music]
		append="yes"
		ms_after="0"
		ms_before="12000"
		name="frantic.ogg"
	[/music]
	[music]
		append="yes"
		ms_after="0"
		ms_before="12000"
		name="the_dangerous_symphony.ogg"
	[/music]
	[music]
		append="yes"
		ms_after="0"
		ms_before="12000"
		name="heroes_rite.ogg"
	[/music]
	[music]
		append="yes"
		ms_after="0"
		ms_before="12000"
		name="suspense.ogg"
	[/music]
	[music]
		append="yes"
		ms_after="0"
		ms_before="12000"
		name="the_deep_path.ogg"
	[/music]
	[music]
		append="yes"
		ms_after="0"
		ms_before="12000"
		name="siege_of_laurelmor.ogg"
	[/music]
	[variables]
		damage_inflicted="7"
		side_number="1"
		turn_number="25"
	[/variables]
	[player]
		can_recruit="Bowman,Cavalryman,Fencer,Heavy Infantryman,Horseman,Mage,Merman Fighter,Spearman"
		gold="-1"
		gold_add="no"
		save_id="Rommel1"
	[/player]
	[player]
		can_recruit="Goblin Spearman,Naga Fighter,Orcish Archer,Orcish Assassin,Orcish Grunt,Troll Whelp,Wolf Rider"
		gold="-1"
		gold_add="no"
		save_id="akkon2"
	[/player]
[/snapshot]
[replay_start]
	current_tod="0"
#textdomain wesnoth-multiplayer
	description=_ "These caves were once the lair of Chak'kso Ney'yks, a legendary Elder Basilisk. The petrified forms of his victims remain as monuments to his savage power."
	experience_modifier="70"
	hash="McPgEzp.LJt7h.t1Qr.c0wdN6DSMrFSDz4LpPy.MjaHg-SJ4NO6RN7,AJkIOwBZE.K6Gt>F,tbOGluI+4Fgcg7SDu,wQihAGrihF1c3lurN0vQXAvq<LoFHYPrX2RHE1"
	id="multiplayer_Basilisk"
	map_data="border_size=1
usage=map

_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , Mm^Xm       , Mm^Xm       , Mm^Xm       , Gs^Fp       , Mm^Xm       , Gs^Fp       , Hh          , Gs^Fms      , Ww          , Ww          , Ww          , Gs^Fp       , Gs^Fms      , Hh          , Mm^Xm       , Gs^Fp       , Mm^Xm       , Mm^Xm       , Mm          , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , Gs^Fp       , Mm          , Gg^Fet      , Mm          , Gs^Fp       , Mm^Xm       , Gs^Fms      , Gg^Ve       , Gg          , Hh          , Mm          , Ww          , Gs^Fp       , Hh          , Gg          , Mm          , Gg^Fet      , Mm^Xm       , Mm          , Mm          , Hh          , Gs^Fp       , Ggf         , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , Hh          , Ggf         , Gg          , Hh          , Gg^Ve       , Hh          , Gs^Fms      , Mm          , Mm          , Ggf         , Gg          , Gg          , Ch          , 1 Kh        , Ch          , Gg          , Hh          , Gg          , Gg          , Gs^Fp       , Gg          , Gg          , Gg          , Gg          , Gs^Fms      , Wwf         , Wwf         , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , Xu          , Wwf         , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Kh          , Ch          , Gg          , Wwf         , Gg          , Ch          , Kh          , Gs^Fp       , Mm          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Mm          , Wwf         , Xu          , Xu          , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , Xu          , Xu          , Wwf         , Wwf         , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Re          , Gg          , Re          , Gg          , Gg          , Gg          , Gg          , Wwf         , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Hh          , Gs^Fp       , Gg^Ve       , Gg          , Ggf         , Mm          , Wwf         , Xu          , Xu          , Xu          , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Xu          , Xu          , Xu          , Xu          , Wwf         , Gg          , Gg          , Gs^Fp       , Hh          , Gs^Fp       , Gg          , Gg          , Re          , Re          , Xu          , Re          , Re^Uf       , Gg          , Re          , Wwf         , Gg          , Gs^Fms      , Gg          , Re          , Re          , Re          , Xu          , Gg          , Gg          , Hh          , Gg          , Gg          , Gs^Fp       , Wwf         , Wwf         , Xu          , Uh          , Xu          , Xu          , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Xu          , Xu          , Wwf         , Wwf         , Mm          , Gg          , Gg          , Re^Uf       , Mm          , Gg          , Re          , Re          , Ww          , Xu          , Uh          , Uu^Vud      , Xu          , Re          , Wwf         , Wwf         , Re          , Gg          , Re          , Re          , Wwf         , Xu          , Xu          , Re^Uf       , Re          , Gg          , Gg          , Hh          , Ggf         , Hh          , Wwf         , Xu          , Wwf         , Uu          , Uu^Uf       , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Xu          , Wwf         , Gs^Fp       , Hh          , Hh          , Gg          , Gg          , Hh          , Gs^Fms      , Gg          , Re          , Ww          , Wo          , Ww          , Wwf         , Wwf         , Uh          , Uu^Uf       , Wwf         , Ww          , Ss^Vhs      , Re          , Xu          , Wwf         , Ur          , Ur          , Re          , Re          , Gs^Fms      , Hh          , Gg^Uf       , Gg          , Gg          , Re          , Re^Uf       , Wwf         , Wwf         , Uu          , Xu          , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Wwf         , Wwf         , Ggf         , Ggf         , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Re          , Ww          , Ww          , Ww          , Xu          , Uh          , Xu          , Ur          , Ww          , Ww          , Ww          , Xu          , Ww          , Uh          , Uu^Vu       , Re          , Gg          , Gg          , Gg          , Gg^Ve       , Gg          , Gg          , Gg          , Gg          , Re          , Gs^Fp       , Wwf         , Xu          , Xu          , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Gs^Fms      , Gs^Fp       , Re^Uf       , Re          , Gg          , Gg          , Gg          , Gg          , Gg          , Ss^Vhs      , Gg          , Re          , Wwf         , Uh          , Xu          , Ur          , Xu          , Wwf         , Ww          , Wo          , Uu          , Uh          , Ww          , Xu          , Xu          , Re          , Re          , Gg          , Gg          , Gg          , Gs^Fms      , Hh          , Hh          , Gg          , Gg          , Re          , Re          , Wwf         , Xu          , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Mm          , Hh          , Re          , Re          , Gg          , Gg          , Hh          , Gs^Fp       , Ss          , Gg          , Hh          , Re          , Wwf         , Xu          , Xu          , Ur          , Wwf         , Wwf         , Ww          , Uu^Uf       , Ww          , Ww          , Wwf         , Uu^Uf       , Xu          , Uh          , Wwf         , Re          , Hh          , Hh          , Mm          , Gs^Fp       , Hh          , Gs^Fp       , Gg          , Re          , Re          , Wwf         , Wwf         , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Wwf         , Re^Uf       , Re          , Gg          , Gg          , Gs^Fp       , Re^Uf       , Gs^Fms      , Mm          , Gs^Fp       , Hh          , Re          , Re          , Uh          , Xu          , Uu^Uf       , Ww          , Ww          , Uu          , Uu^Uf       , Ww          , Wwf         , Xu          , Ur          , Xu          , Xu          , Wwf         , Re          , Re          , Gs^Fp       , Gg          , Ss          , Gg          , Gg          , Gg          , Gg          , Gg          , Re^Uf       , Mm          , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Xu          , Wwf         , Re          , Gg          , Gg          , Gg          , Gg          , Hh          , Gg          , Hh          , Gg          , Gg          , Gg          , Re          , Uu^Vu       , Xu          , Ww          , Uh          , Ww          , Wo          , Ww          , Wwf         , Xu          , Ur          , Xu          , Uh          , Ww          , Re          , Re          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Ggf         , Hh          , Hh          , Gs^Fp       , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Xu          , Wwf         , Wwf         , Hh          , Hh          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Re          , Re          , Ur          , Uh          , Xu          , Xu          , Ss^Vhs      , Ww          , Wwf         , Ur          , Uh          , Uh          , Wwf         , Ww          , Wo          , Ww          , Re          , Re          , Gg          , Gg          , Gs^Fms      , Gg          , Gg          , Gg          , Gg          , Gs^Fp       , Wwf         , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Xu          , Xu          , Wwf         , Gs^Fp       , Re          , Gg          , Ggf         , Gg          , Gg          , Gg          , Gg          , Gs^Fp       , Xu          , Ur          , Wwf         , Wwf         , Re          , Re          , Re          , Ww          , Wwf         , Uu^Uf       , Xu          , Wwf         , Uh          , Ww          , Ww          , Ww          , Re          , Ss^Vhs      , Gg          , Hh          , Mm          , Hh          , Re^Uf       , Gg          , Gg          , Wwf         , Xu          , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Uu^Uf       , Uu          , Wwf         , Wwf         , Wwf         , Re          , Hh          , Mm          , Gs^Fp       , Gg          , Gg          , Uh          , Xu          , Xu          , Re          , Re          , Gg          , Gg          , Gg          , Wwf         , Re          , Re          , Re^Uf       , Uu^Vud      , Xu          , Xu          , Re          , Re          , Gg          , Gg          , Gg          , Gs^Fms      , Ggf         , Gs^Fp       , Gg          , Gg          , Wwf         , Wwf         , Xu          , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , Xu          , Wwf         , Uh          , Xu          , Xu          , Wwf         , Re          , Re^Uf       , Ggf         , Gg^Uf       , Gs^Fp       , Gg          , Gg          , Re          , Gg          , Re          , Gg          , Gs^Fp       , Gg          , Wwf         , Gg          , Gg          , Gg          , Re          , Re          , Re          , Re          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Wwf         , Wwf         , Xu          , Xu          , Xu          , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , Xu          , Xu          , Xu          , Xu          , Wwf         , Re          , Gs^Fms      , Gg          , Gg^Ve       , Ggf         , Gg          , Gg          , Gg          , Ggf         , Gg          , Kh          , Gg          , Gg          , Wwf         , Gg          , Gg          , Kh          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Gg          , Wwf         , Xu          , Xu          , Xu          , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , Xu          , Xu          , Wwf         , Wwf         , Re          , Mm          , Hh          , Gg          , Gg          , Gg          , Gg^Ve       , Gg          , Gs^Fms      , Gg          , Ch          , Ch          , Wwf         , Ch          , Ch          , Gg          , Gg          , Gg          , Gg          , Gg^Fet      , Gg          , Gg^Ve       , Gg          , Gg          , Gs^Fp       , Gg          , Wwf         , Xu          , Xu          , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , Xu          , Wwf         , Re          , Re          , Gs^Fp       , Re          , Gg          , Hh          , Hh          , Gs^Fms      , Gg          , Gg          , Hh          , Mm          , 2 Kh        , Gs^Fp       , Gg          , Gg          , Gg^Ve       , Gs^Fp       , Gg          , Hh          , Hh          , Gs^Fp       , Hh          , Gs^Fms      , Gg          , Wwf         , Wwf         , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , Wwf         , Re          , Re          , Re          , Gs^Fp       , Mm          , Mm          , Mm          , Mm          , Gs^Fms      , Gg^Fet      , Hh          , Ww          , Hh          , Hh          , Gs^Fms      , Hh          , Mm          , Hh          , Mm^Xm       , Mm          , Mm          , Hh          , Gs^Fp       , Mm          , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , Mm          , Hh          , Hh          , Mm^Xm       , Mm^Xm       , Mm^Xm       , Mm^Xm       , Mm^Xm       , Mm          , Mm^Xm       , Ww          , Ww          , Mm          , Mm^Xm       , Mm^Xm       , Mm^Xm       , Mm^Xm       , Mm          , Mm^Xm       , Mm          , Hh          , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , Mm^Xm       , _off^_usr   , Mm          , _off^_usr   , Gs^Fp       , _off^_usr   , Mm^Xm       , _off^_usr   , Ww          , _off^_usr   , Gs^Fp       , _off^_usr   , Hh          , _off^_usr   , Gs^Fp       , _off^_usr   , Mm^Xm       , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
_off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   , _off^_usr   
"
	mp_countdown="yes"
	mp_countdown_action_bonus="13"
	mp_countdown_init_time="270"
	mp_countdown_reservoir_time="330"
	mp_countdown_turn_bonus="60"
	mp_fog="yes"
	mp_shroud="no"
	mp_use_map_settings="yes"
	mp_village_gold="2"
	name=_ "2p - Caves of the Basilisk"
	next_underlying_unit_id="0"
#textdomain wesnoth
	objectives=_ "Victory:
@Defeat enemy leader(s)"
	observer="yes"
	random_seed="3448"
	random_start_time="no"
	scenario="LADDER Rommel vs ??????"
	turns="-1"
	version="1.6"
	[time]
		green="-20"
		id="dawn"
		image="misc/schedule-dawn.png"
		name=_ "Dawn"
		red="-20"
		sound="ambient/morning.ogg"
	[/time]
	[time]
		id="morning"
		image="misc/schedule-morning.png"
		lawful_bonus="25"
		name=_ "Morning"
	[/time]
	[time]
		id="afternoon"
		image="misc/schedule-afternoon.png"
		lawful_bonus="25"
		name=_ "Afternoon"
	[/time]
	[time]
		blue="-20"
		green="-20"
		id="dusk"
		image="misc/schedule-dusk.png"
		name=_ "Dusk"
		sound="ambient/night.ogg"
	[/time]
	[time]
		blue="-10"
		green="-40"
		id="first_watch"
		image="misc/schedule-firstwatch.png"
		lawful_bonus="-25"
		name=_ "First Watch"
		red="-40"
	[/time]
	[time]
		blue="-10"
		green="-40"
		id="second_watch"
		image="misc/schedule-secondwatch.png"
		lawful_bonus="-25"
		name=_ "Second Watch"
		red="-40"
	[/time]
	[music]
		ms_before="12000"
		name="knolls.ogg"
	[/music]
	[music]
		append="yes"
		ms_before="12000"
		name="wanderer.ogg"
	[/music]
	[music]
		append="yes"
		ms_before="12000"
		name="battle.ogg"
	[/music]
	[music]
		append="yes"
		ms_before="12000"
		name="transience.ogg"
	[/music]
	[music]
		append="yes"
		ms_before="12000"
		name="the_king_is_dead.ogg"
	[/music]
	[music]
		append="yes"
		ms_before="12000"
		name="knalgan_theme.ogg"
	[/music]
	[music]
		append="yes"
		ms_before="12000"
		name="the_city_falls.ogg"
	[/music]
	[music]
		append="yes"
		ms_before="12000"
		name="nunc_dimittis.ogg"
	[/music]
	[music]
		append="yes"
		ms_before="12000"
		name="revelation.ogg"
	[/music]
	[music]
		append="yes"
		ms_before="12000"
		name="loyalists.ogg"
	[/music]
	[music]
		append="yes"
		ms_before="12000"
		name="breaking_the_chains.ogg"
	[/music]
	[music]
		append="yes"
		ms_before="12000"
		name="elvish-theme.ogg"
	[/music]
	[music]
		append="yes"
		ms_before="12000"
		name="legends_of_the_north.ogg"
	[/music]
	[music]
		append="yes"
		ms_before="12000"
		name="traveling_minstrels.ogg"
	[/music]
	[music]
		append="yes"
		ms_before="12000"
		name="underground.ogg"
	[/music]
	[music]
		append="yes"
		ms_before="12000"
		name="vengeful.ogg"
	[/music]
	[music]
		append="yes"
		ms_before="12000"
		name="frantic.ogg"
	[/music]
	[music]
		append="yes"
		ms_before="12000"
		name="the_dangerous_symphony.ogg"
	[/music]
	[music]
		append="yes"
		ms_before="12000"
		name="heroes_rite.ogg"
	[/music]
	[music]
		append="yes"
		ms_before="12000"
		name="suspense.ogg"
	[/music]
	[music]
		append="yes"
		ms_before="12000"
		name="the_deep_path.ogg"
	[/music]
	[music]
		append="yes"
		ms_before="12000"
		name="siege_of_laurelmor.ogg"
	[/music]
	[event]
		name="prestart"
		[music]
			ms_before="12000"
			name="knolls.ogg"
		[/music]
		[music]
			append="yes"
			ms_before="12000"
			name="wanderer.ogg"
		[/music]
		[music]
			append="yes"
			ms_before="12000"
			name="battle.ogg"
		[/music]
		[music]
			append="yes"
			ms_before="12000"
			name="transience.ogg"
		[/music]
		[music]
			append="yes"
			ms_before="12000"
			name="revelation.ogg"
		[/music]
		[music]
			append="yes"
			ms_before="12000"
			name="loyalists.ogg"
		[/music]
		[music]
			append="yes"
			ms_before="12000"
			name="the_king_is_dead.ogg"
		[/music]
		[music]
			append="yes"
			ms_before="12000"
			name="knalgan_theme.ogg"
		[/music]
		[music]
			append="yes"
			ms_before="12000"
			name="the_city_falls.ogg"
		[/music]
		[music]
			append="yes"
			ms_before="12000"
			name="nunc_dimittis.ogg"
		[/music]
		[music]
			append="yes"
			ms_before="12000"
			name="breaking_the_chains.ogg"
		[/music]
		[music]
			append="yes"
			ms_before="12000"
			name="elvish-theme.ogg"
		[/music]
		[music]
			append="yes"
			ms_before="12000"
			name="legends_of_the_north.ogg"
		[/music]
		[music]
			append="yes"
			ms_before="12000"
			name="traveling_minstrels.ogg"
		[/music]
		[music]
			append="yes"
			ms_before="12000"
			name="underground.ogg"
		[/music]
		[music]
			append="yes"
			ms_before="12000"
			name="vengeful.ogg"
		[/music]
		[music]
			append="yes"
			ms_before="12000"
			name="frantic.ogg"
		[/music]
		[music]
			append="yes"
			ms_before="12000"
			name="the_dangerous_symphony.ogg"
		[/music]
		[music]
			append="yes"
			ms_before="12000"
			name="heroes_rite.ogg"
		[/music]
		[music]
			append="yes"
			ms_before="12000"
			name="suspense.ogg"
		[/music]
		[music]
			append="yes"
			ms_before="12000"
			name="the_deep_path.ogg"
		[/music]
		[music]
			append="yes"
			ms_before="12000"
			name="siege_of_laurelmor.ogg"
		[/music]
	[/event]
	[era]
		id="era_default"
#textdomain wesnoth-multiplayer
		name=_ "Default"
		[multiplayer_side]
			flag_rgb="magenta"
			id="Random"
			image="units/random-dice.png"
			name=_ "Random"
			random_faction="yes"
		[/multiplayer_side]
		[multiplayer_side]
			flag_rgb="magenta"
			id="Loyalists"
			image="units/human-loyalists/lieutenant.png"
			leader="Lieutenant,Swordsman,Pikeman,Javelineer,Shock Trooper,Longbowman,White Mage,Red Mage"
			name=_ "Loyalists"
			random_leader="Lieutenant,Swordsman,Pikeman,Javelineer,Longbowman,Red Mage"
			recruit="Cavalryman,Horseman,Spearman,Fencer,Heavy Infantryman,Bowman,Mage,Merman Fighter"
			terrain_liked="Gg, Ww, Wo"
			type="Lieutenant"
			[ai]
				recruitment_pattern="fighter,fighter,fighter,archer,mixed fighter,scout"
				[team_formula]
					rulebase="fai 'recruitment.fai'
		# ===== Some general functions used later ==== #

def sumarize_values( input_map )
	sum(
		values(input_map)
	);

def lowest_value( input_map )
	choose( input_map, -value ).value;

def highest_value( input_map )
	choose( input_map, value ).value;

def change_numbers_to_percents( input_map )
	map( input_map, 
		(value*100) / highest_value(input_map) 
	);

def add_number_to_values( input_map, number )
	map( input_map, 
		value + number 
	);

#make sure we have only positive values in a map #

def make_positive_only( input_map )
	if( lowest_value( input_map ) < 0, 
		add_number_to_values( 
			input_map, 
			abs(lowest_value(input_map))
		), 
		input_map 
	);

def sumarize_maps_values( map_A, map_B )
	map( map_A + map_B, 
		value + map_A[key]
	);

		#===== Evaluation how good unit is on a map ===== #

# ==1==  evaluate average defense #
#gives map where key is id of terrain, and value is number of hexes of that terrain on a gamemap#

def locations_map(ai*) 
	tomap( 
		map( 
			map.terrain, 
			id 
		) 
	);

#filters terrain map, min_percent it minimal % of map that terrain has to occupy to be considered in later evaluations# 

def filtered_locations_map(ai*, min_percent)
	filter( 
		locations_map(ai) , 
		value >  (map.w * map.h) / ( 100 / min_percent ) 
	);

#returns average defense of the unit #

def unit_average_defense(ai*, unit, terrain_min_percent )
	sum( 
		values( 
			map(
				filtered_locations_map(ai,terrain_min_percent), 
				defense_on( 
					unit, 
					find(map.terrain,id=key).loc
				) *
				value
			) 
		) 
	) / 
	sum(
		values(
			filtered_locations_map(
				ai,
				terrain_min_percent
			)
		)
	);

#returns map of units from units_list and their average defense (more -> better) #

def map_units_average_defense(ai*, units_list, terrain_min_percent) 
	tomap(
		map( 
			units_list, 
			id 
		), 
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	);

def units_average_defense(ai*, units_list, terrain_min_percent)
	sum(
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	) /
	size(
		units_list
	);


# ==2== TODO: evaluate unit effectivness based on movement points and movement cost#


		#===== Evaluation of game state - how good is ai doing ===== #

# ==1== based on unit cost and current amount of gold #
# returns number between 0 and 100 where: 0 we are losing, 100 we are winning #

def units_cost_gold_eval(ai*)
	min(
		[
			(
				(
					sum(
						map(
							allies, 'team', 
							sum(
								map(
									units_of_side[team], 
									cost
								)
							) + 
							teams[team].gold 
						)
					) * 
					100
				) / 
				sum(
					map(
						enemies, 'team', 
						sum(
							map(
								units_of_side[team], 
								cost
							)
						) + 
						max(
							[teams[team].gold, 0]
						) 
					)
				)
			) / 2,
			100
		]
	);

# ==2== based on village possession #

def count_allied_villages(ai*)
	sum(
		map(
			allies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

def count_enemy_villages(ai*)
	sum(
		map(
			enemies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

# multipled by 1000 to increase precision #

def village_evaluation(ai*)
	(
		50000 + 
		(
			count_allied_villages(ai) - 
			count_enemy_villages(ai)
		) * 
		(
			50000 /
			size(
				villages
			)
		)
	) /
	1000;

# ==3== combined 2 of the above #

def eval(ai*)
	( 
		units_cost_gold_eval(ai) + 
		village_evaluation(ai)
	) / 
	2;

		#===== Evaluation how effective my units are against the enemy ===== #

#==1==  basic evaluation #

# evaluate how much damage unit can inflict - how much damage unit can get#

def evaluate_attacker_against_opponents(ai*, unit, enemy_units)
	sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( unit, enemy_unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				) 
			)
		)
	);

def evaluate_defender_against_opponents(ai*, unit, enemy_units)
	-sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( enemy_unit, unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				)
			)
		)
	);

def units_hp_map(ai*, units)
	tomap( 
		map(
			units, 
			id
		), 
		map( 
			units, 
			hitpoints
		)
	);

#in case side's gold is more than 50, add units that side can recruit to the side's unit list#

def create_side_unit_list(ai*, side)
	if( 
		teams[side].gold > 50, 
		recruits_of_side[side], 
		[]
	) + 
	units_of_side[side];

def evaluate_my_recruits_as_attackers(ai*)
	tomap( 
		map(
			my_recruits, 
			id
		), 
		map(
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_attacker_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai, 
							enemy_side
						)
					)
				)
			)
		)
	);

def evaluate_my_recruits_as_defenders(ai*)
	tomap(
		map(
			my_recruits, 
			id
		),
		map( 
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_defender_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai,
							enemy_side
						)
					)
				)
			)
		)
	);


# === 2 ===  now consider abilities and weapon specials  #

def abilities_weights()
	['skirmisher' -> 15, 'ambush' -> 10, 'nightstalk' -> 20, 'regenerates' -> 20, 'healing' -> 15, 'curing' -> 10, 'leadership' -> 20, 'illumination' -> 15, 'teleport' -> 10, 'steadfast' -> 15 ];

def weapon_specials_weights()
	[ 'backstab' -> 20 ,'slow' -> 10 ,'berserk' -> 20 ,'stones' -> 60 ,'plague' -> 10 ,'marksman' -> 30 ,'magical' -> 40 ,'charge' -> 30 ,'drains' -> 30,  'firststrike' -> 10, 'poison' -> 25 ];

def apply_abilities_weights( units_map )
	map( 
		units_map, 
		value +
		(
			value * 
			max(
				map(
					get_unit_type( key ).abilities, 'ability',
					abilities_weights()[ability]
				)
			)
		) / 100
	);

def apply_weapon_specials_weights( units_map )
	map(
		units_map, 
		value +
		(
			value *
			max(
				map(
					get_unit_type( key ).attacks, 'attack',
					vars.weapon_specials[attack.special]
				)
			)
		) / 100
	);

# since undead units don't get random traits and are balanced with that, we need to lower their evaluation a bit to match fairly the living units #

def undead_malus( units_map )
	map( 
		units_map, 
		if(
			get_unit_type(key).undead,
			( value * 90 ) / 100,
			value 
		)
	);

# === 3 ===  pit 1 and 2 together  #

def evaluate_attackers(ai*)
	change_numbers_to_percents(
		apply_abilities_weights(
			apply_weapon_specials_weights(
				undead_malus( 
					make_positive_only(
						evaluate_my_recruits_as_attackers( ai )	
					)
				)
			)
		)
	);

def evaluate_defenders(ai*)
	map(
		map(
			change_numbers_to_percents(
				apply_abilities_weights(
					apply_weapon_specials_weights(
						undead_malus( 
							make_positive_only(
								evaluate_my_recruits_as_defenders( ai )	
							)
						)
					)
				)
			),
			value / 3
		), 
		value +
		map(
			change_numbers_to_percents(
				units_hp_map(
					ai,
					my_recruits
				)
			),
		value * 2 / 3
		)[key]
	);

	#=========== we have evaluation of game state and units, time to combine them: ==========#
		#=========	recruitment_list_builder	=========#

def rlb_apply_eval(eval, attackers_map, defenders_map, offset)
	map(
		sumarize_maps_values(
			map(
				attackers_map, 
				value * (eval+offset)
			),
			map(
				defenders_map,
				value * ( (100 - eval) - offset )
			)
		),
		value / 100
	);

def rlb_remove_lowest( input_map, percent)
	filter(
		input_map, 
		value > 
		(
			(
				percent * sumarize_values(input_map)
			) / 100
		)
	);

def rlb_first_step(eval, attackers_map, defenders_map, offset)
	rlb_remove_lowest(
		rlb_apply_eval(
			eval,
			attackers_map,
			defenders_map,
			offset
		),
		10
	);

def recruitment_list_builder(eval, attackers_map, defenders_map)
	map(
		rlb_first_step(
			eval,
			attackers_map,
			defenders_map,
			40
		),
		(
			(
				value * 100
			) / 
			sumarize_values(
				rlb_first_step(
					eval,
					attackers_map,
					defenders_map,
					40
				)
			)
		)
	);

		# ========== choose the unit to recruit now ========= #

def unit_chooser(ai*,unit_map) 
	choose(
		keys(unit_map), 'unit_type',
		unit_map[unit_type] - 
		(
			(
				100 * 
				size(
					filter(
						my_units, 
						type = unit_type
					)
				)
			) / 
			size(my_units)
		)
	);

def unit_map_cost_filter(ai*, unit_map)
	filter( unit_map,
		get_unit_type(key).cost < my_side.gold
	);

		# ==========	Main formula section 	========== #

def initialize_weapon_specials_map(ai*)
	if(vars.weapon_specials_init != turn,
		[
			set_var('weapon_specials_init', turn),
			set_var('weapon_specials',
				map(
					weapon_specials_weights(),
					if( key = 'magical',
						units_average_defense(ai, enemy_units, 10),
						if( key = 'marksman',
							units_average_defense(ai, enemy_units, 10) - 10,
							value
						)
					)
				)
			)
		],
		[]
	);

def create_recruits_map(ai*)
	if(vars.recruits_map_creator != turn,
		[
			set_var('recruits_map_creator', turn ),
			set_var('recruits_map',
				debug_print('final unit evaluation: ', recruitment_list_builder(
					debug_print('current AI evaluation (0-100): ', eval(ai)),
					debug_print('attackers evaluation: ',evaluate_attackers(ai)),
					debug_print('defenders evaluation: ',evaluate_defenders(ai))
				))
			)
		],
		[]
	);

def castle_space(ai*)
	filter( map( castle_locs( my_leader.loc ), 'location', if( unit_at( location ), 1, 0 ) ), self = 0  ).size;

if(vars.turn_initialized = turn,
		if( my_leader.loc = nearest_keep( my_leader.loc ),
			if( 
				get_unit_type(
					choose(
						vars.recruits_map,
						-get_unit_type(key).cost
					).key
				).cost <
				my_side.gold,
				if( castle_space(self),
					recruit(debug_print(
						unit_chooser(
							self,
							unit_map_cost_filter(
								self,
								vars.recruits_map
							)
						)
					)),
					fallback()
				),
				fallback() 
			),
			if( my_leader.movement_left > 0,
				move( my_leader.loc, nearest_keep( my_leader.loc ) ),
				fallback()
			)
		),
	[set_var(debug_print('turn_initialized'), turn)] +
	initialize_weapon_specials_map(self) +
	create_recruits_map(self)
)

faiend
"
				[/team_formula]
			[/ai]
		[/multiplayer_side]
		[multiplayer_side]
			flag_rgb="magenta"
			id="Rebels"
			image="units/elves-wood/captain.png"
			leader="Elvish Captain,Elvish Hero,Elvish Ranger,Elvish Marksman,Elvish Druid,Elvish Sorceress,White Mage,Red Mage,Elder Wose"
			name=_ "Rebels"
			random_leader="Elvish Captain,Elvish Hero,Elvish Ranger,Elvish Marksman,Elvish Druid,Elvish Sorceress,Red Mage"
			recruit="Elvish Fighter,Elvish Archer,Mage,Elvish Shaman,Elvish Scout,Wose,Merman Hunter"
			terrain_liked="Ff, Fa, Ss, Ww"
			type="Elvish Captain"
			[ai]
				recruitment_pattern="fighter,fighter,archer,archer,mixed fighter,healer,scout"
				[team_formula]
					rulebase="fai 'recruitment.fai'
		# ===== Some general functions used later ==== #

def sumarize_values( input_map )
	sum(
		values(input_map)
	);

def lowest_value( input_map )
	choose( input_map, -value ).value;

def highest_value( input_map )
	choose( input_map, value ).value;

def change_numbers_to_percents( input_map )
	map( input_map, 
		(value*100) / highest_value(input_map) 
	);

def add_number_to_values( input_map, number )
	map( input_map, 
		value + number 
	);

#make sure we have only positive values in a map #

def make_positive_only( input_map )
	if( lowest_value( input_map ) < 0, 
		add_number_to_values( 
			input_map, 
			abs(lowest_value(input_map))
		), 
		input_map 
	);

def sumarize_maps_values( map_A, map_B )
	map( map_A + map_B, 
		value + map_A[key]
	);

		#===== Evaluation how good unit is on a map ===== #

# ==1==  evaluate average defense #
#gives map where key is id of terrain, and value is number of hexes of that terrain on a gamemap#

def locations_map(ai*) 
	tomap( 
		map( 
			map.terrain, 
			id 
		) 
	);

#filters terrain map, min_percent it minimal % of map that terrain has to occupy to be considered in later evaluations# 

def filtered_locations_map(ai*, min_percent)
	filter( 
		locations_map(ai) , 
		value >  (map.w * map.h) / ( 100 / min_percent ) 
	);

#returns average defense of the unit #

def unit_average_defense(ai*, unit, terrain_min_percent )
	sum( 
		values( 
			map(
				filtered_locations_map(ai,terrain_min_percent), 
				defense_on( 
					unit, 
					find(map.terrain,id=key).loc
				) *
				value
			) 
		) 
	) / 
	sum(
		values(
			filtered_locations_map(
				ai,
				terrain_min_percent
			)
		)
	);

#returns map of units from units_list and their average defense (more -> better) #

def map_units_average_defense(ai*, units_list, terrain_min_percent) 
	tomap(
		map( 
			units_list, 
			id 
		), 
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	);

def units_average_defense(ai*, units_list, terrain_min_percent)
	sum(
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	) /
	size(
		units_list
	);


# ==2== TODO: evaluate unit effectivness based on movement points and movement cost#


		#===== Evaluation of game state - how good is ai doing ===== #

# ==1== based on unit cost and current amount of gold #
# returns number between 0 and 100 where: 0 we are losing, 100 we are winning #

def units_cost_gold_eval(ai*)
	min(
		[
			(
				(
					sum(
						map(
							allies, 'team', 
							sum(
								map(
									units_of_side[team], 
									cost
								)
							) + 
							teams[team].gold 
						)
					) * 
					100
				) / 
				sum(
					map(
						enemies, 'team', 
						sum(
							map(
								units_of_side[team], 
								cost
							)
						) + 
						max(
							[teams[team].gold, 0]
						) 
					)
				)
			) / 2,
			100
		]
	);

# ==2== based on village possession #

def count_allied_villages(ai*)
	sum(
		map(
			allies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

def count_enemy_villages(ai*)
	sum(
		map(
			enemies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

# multipled by 1000 to increase precision #

def village_evaluation(ai*)
	(
		50000 + 
		(
			count_allied_villages(ai) - 
			count_enemy_villages(ai)
		) * 
		(
			50000 /
			size(
				villages
			)
		)
	) /
	1000;

# ==3== combined 2 of the above #

def eval(ai*)
	( 
		units_cost_gold_eval(ai) + 
		village_evaluation(ai)
	) / 
	2;

		#===== Evaluation how effective my units are against the enemy ===== #

#==1==  basic evaluation #

# evaluate how much damage unit can inflict - how much damage unit can get#

def evaluate_attacker_against_opponents(ai*, unit, enemy_units)
	sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( unit, enemy_unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				) 
			)
		)
	);

def evaluate_defender_against_opponents(ai*, unit, enemy_units)
	-sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( enemy_unit, unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				)
			)
		)
	);

def units_hp_map(ai*, units)
	tomap( 
		map(
			units, 
			id
		), 
		map( 
			units, 
			hitpoints
		)
	);

#in case side's gold is more than 50, add units that side can recruit to the side's unit list#

def create_side_unit_list(ai*, side)
	if( 
		teams[side].gold > 50, 
		recruits_of_side[side], 
		[]
	) + 
	units_of_side[side];

def evaluate_my_recruits_as_attackers(ai*)
	tomap( 
		map(
			my_recruits, 
			id
		), 
		map(
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_attacker_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai, 
							enemy_side
						)
					)
				)
			)
		)
	);

def evaluate_my_recruits_as_defenders(ai*)
	tomap(
		map(
			my_recruits, 
			id
		),
		map( 
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_defender_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai,
							enemy_side
						)
					)
				)
			)
		)
	);


# === 2 ===  now consider abilities and weapon specials  #

def abilities_weights()
	['skirmisher' -> 15, 'ambush' -> 10, 'nightstalk' -> 20, 'regenerates' -> 20, 'healing' -> 15, 'curing' -> 10, 'leadership' -> 20, 'illumination' -> 15, 'teleport' -> 10, 'steadfast' -> 15 ];

def weapon_specials_weights()
	[ 'backstab' -> 20 ,'slow' -> 10 ,'berserk' -> 20 ,'stones' -> 60 ,'plague' -> 10 ,'marksman' -> 30 ,'magical' -> 40 ,'charge' -> 30 ,'drains' -> 30,  'firststrike' -> 10, 'poison' -> 25 ];

def apply_abilities_weights( units_map )
	map( 
		units_map, 
		value +
		(
			value * 
			max(
				map(
					get_unit_type( key ).abilities, 'ability',
					abilities_weights()[ability]
				)
			)
		) / 100
	);

def apply_weapon_specials_weights( units_map )
	map(
		units_map, 
		value +
		(
			value *
			max(
				map(
					get_unit_type( key ).attacks, 'attack',
					vars.weapon_specials[attack.special]
				)
			)
		) / 100
	);

# since undead units don't get random traits and are balanced with that, we need to lower their evaluation a bit to match fairly the living units #

def undead_malus( units_map )
	map( 
		units_map, 
		if(
			get_unit_type(key).undead,
			( value * 90 ) / 100,
			value 
		)
	);

# === 3 ===  pit 1 and 2 together  #

def evaluate_attackers(ai*)
	change_numbers_to_percents(
		apply_abilities_weights(
			apply_weapon_specials_weights(
				undead_malus( 
					make_positive_only(
						evaluate_my_recruits_as_attackers( ai )	
					)
				)
			)
		)
	);

def evaluate_defenders(ai*)
	map(
		map(
			change_numbers_to_percents(
				apply_abilities_weights(
					apply_weapon_specials_weights(
						undead_malus( 
							make_positive_only(
								evaluate_my_recruits_as_defenders( ai )	
							)
						)
					)
				)
			),
			value / 3
		), 
		value +
		map(
			change_numbers_to_percents(
				units_hp_map(
					ai,
					my_recruits
				)
			),
		value * 2 / 3
		)[key]
	);

	#=========== we have evaluation of game state and units, time to combine them: ==========#
		#=========	recruitment_list_builder	=========#

def rlb_apply_eval(eval, attackers_map, defenders_map, offset)
	map(
		sumarize_maps_values(
			map(
				attackers_map, 
				value * (eval+offset)
			),
			map(
				defenders_map,
				value * ( (100 - eval) - offset )
			)
		),
		value / 100
	);

def rlb_remove_lowest( input_map, percent)
	filter(
		input_map, 
		value > 
		(
			(
				percent * sumarize_values(input_map)
			) / 100
		)
	);

def rlb_first_step(eval, attackers_map, defenders_map, offset)
	rlb_remove_lowest(
		rlb_apply_eval(
			eval,
			attackers_map,
			defenders_map,
			offset
		),
		10
	);

def recruitment_list_builder(eval, attackers_map, defenders_map)
	map(
		rlb_first_step(
			eval,
			attackers_map,
			defenders_map,
			40
		),
		(
			(
				value * 100
			) / 
			sumarize_values(
				rlb_first_step(
					eval,
					attackers_map,
					defenders_map,
					40
				)
			)
		)
	);

		# ========== choose the unit to recruit now ========= #

def unit_chooser(ai*,unit_map) 
	choose(
		keys(unit_map), 'unit_type',
		unit_map[unit_type] - 
		(
			(
				100 * 
				size(
					filter(
						my_units, 
						type = unit_type
					)
				)
			) / 
			size(my_units)
		)
	);

def unit_map_cost_filter(ai*, unit_map)
	filter( unit_map,
		get_unit_type(key).cost < my_side.gold
	);

		# ==========	Main formula section 	========== #

def initialize_weapon_specials_map(ai*)
	if(vars.weapon_specials_init != turn,
		[
			set_var('weapon_specials_init', turn),
			set_var('weapon_specials',
				map(
					weapon_specials_weights(),
					if( key = 'magical',
						units_average_defense(ai, enemy_units, 10),
						if( key = 'marksman',
							units_average_defense(ai, enemy_units, 10) - 10,
							value
						)
					)
				)
			)
		],
		[]
	);

def create_recruits_map(ai*)
	if(vars.recruits_map_creator != turn,
		[
			set_var('recruits_map_creator', turn ),
			set_var('recruits_map',
				debug_print('final unit evaluation: ', recruitment_list_builder(
					debug_print('current AI evaluation (0-100): ', eval(ai)),
					debug_print('attackers evaluation: ',evaluate_attackers(ai)),
					debug_print('defenders evaluation: ',evaluate_defenders(ai))
				))
			)
		],
		[]
	);

def castle_space(ai*)
	filter( map( castle_locs( my_leader.loc ), 'location', if( unit_at( location ), 1, 0 ) ), self = 0  ).size;

if(vars.turn_initialized = turn,
		if( my_leader.loc = nearest_keep( my_leader.loc ),
			if( 
				get_unit_type(
					choose(
						vars.recruits_map,
						-get_unit_type(key).cost
					).key
				).cost <
				my_side.gold,
				if( castle_space(self),
					recruit(debug_print(
						unit_chooser(
							self,
							unit_map_cost_filter(
								self,
								vars.recruits_map
							)
						)
					)),
					fallback()
				),
				fallback() 
			),
			if( my_leader.movement_left > 0,
				move( my_leader.loc, nearest_keep( my_leader.loc ) ),
				fallback()
			)
		),
	[set_var(debug_print('turn_initialized'), turn)] +
	initialize_weapon_specials_map(self) +
	create_recruits_map(self)
)

faiend
"
				[/team_formula]
			[/ai]
		[/multiplayer_side]
		[multiplayer_side]
			flag_rgb="magenta"
			id="Northerners"
			image="units/orcs/warrior.png"
			leader="Orcish Warrior,Troll,Troll Rocklobber,Orcish Crossbowman,Orcish Slayer"
			name=_ "Northerners"
			recruit="Orcish Grunt,Troll Whelp,Wolf Rider,Orcish Archer,Orcish Assassin,Naga Fighter,Goblin Spearman"
			terrain_liked="Hh, Ha, Mm, Ss"
			type="Orcish Warrior"
			[ai]
				recruitment_pattern="fighter,fighter,fighter,mixed fighter,archer,scout"
				[team_formula]
					rulebase="fai 'recruitment.fai'
		# ===== Some general functions used later ==== #

def sumarize_values( input_map )
	sum(
		values(input_map)
	);

def lowest_value( input_map )
	choose( input_map, -value ).value;

def highest_value( input_map )
	choose( input_map, value ).value;

def change_numbers_to_percents( input_map )
	map( input_map, 
		(value*100) / highest_value(input_map) 
	);

def add_number_to_values( input_map, number )
	map( input_map, 
		value + number 
	);

#make sure we have only positive values in a map #

def make_positive_only( input_map )
	if( lowest_value( input_map ) < 0, 
		add_number_to_values( 
			input_map, 
			abs(lowest_value(input_map))
		), 
		input_map 
	);

def sumarize_maps_values( map_A, map_B )
	map( map_A + map_B, 
		value + map_A[key]
	);

		#===== Evaluation how good unit is on a map ===== #

# ==1==  evaluate average defense #
#gives map where key is id of terrain, and value is number of hexes of that terrain on a gamemap#

def locations_map(ai*) 
	tomap( 
		map( 
			map.terrain, 
			id 
		) 
	);

#filters terrain map, min_percent it minimal % of map that terrain has to occupy to be considered in later evaluations# 

def filtered_locations_map(ai*, min_percent)
	filter( 
		locations_map(ai) , 
		value >  (map.w * map.h) / ( 100 / min_percent ) 
	);

#returns average defense of the unit #

def unit_average_defense(ai*, unit, terrain_min_percent )
	sum( 
		values( 
			map(
				filtered_locations_map(ai,terrain_min_percent), 
				defense_on( 
					unit, 
					find(map.terrain,id=key).loc
				) *
				value
			) 
		) 
	) / 
	sum(
		values(
			filtered_locations_map(
				ai,
				terrain_min_percent
			)
		)
	);

#returns map of units from units_list and their average defense (more -> better) #

def map_units_average_defense(ai*, units_list, terrain_min_percent) 
	tomap(
		map( 
			units_list, 
			id 
		), 
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	);

def units_average_defense(ai*, units_list, terrain_min_percent)
	sum(
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	) /
	size(
		units_list
	);


# ==2== TODO: evaluate unit effectivness based on movement points and movement cost#


		#===== Evaluation of game state - how good is ai doing ===== #

# ==1== based on unit cost and current amount of gold #
# returns number between 0 and 100 where: 0 we are losing, 100 we are winning #

def units_cost_gold_eval(ai*)
	min(
		[
			(
				(
					sum(
						map(
							allies, 'team', 
							sum(
								map(
									units_of_side[team], 
									cost
								)
							) + 
							teams[team].gold 
						)
					) * 
					100
				) / 
				sum(
					map(
						enemies, 'team', 
						sum(
							map(
								units_of_side[team], 
								cost
							)
						) + 
						max(
							[teams[team].gold, 0]
						) 
					)
				)
			) / 2,
			100
		]
	);

# ==2== based on village possession #

def count_allied_villages(ai*)
	sum(
		map(
			allies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

def count_enemy_villages(ai*)
	sum(
		map(
			enemies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

# multipled by 1000 to increase precision #

def village_evaluation(ai*)
	(
		50000 + 
		(
			count_allied_villages(ai) - 
			count_enemy_villages(ai)
		) * 
		(
			50000 /
			size(
				villages
			)
		)
	) /
	1000;

# ==3== combined 2 of the above #

def eval(ai*)
	( 
		units_cost_gold_eval(ai) + 
		village_evaluation(ai)
	) / 
	2;

		#===== Evaluation how effective my units are against the enemy ===== #

#==1==  basic evaluation #

# evaluate how much damage unit can inflict - how much damage unit can get#

def evaluate_attacker_against_opponents(ai*, unit, enemy_units)
	sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( unit, enemy_unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				) 
			)
		)
	);

def evaluate_defender_against_opponents(ai*, unit, enemy_units)
	-sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( enemy_unit, unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				)
			)
		)
	);

def units_hp_map(ai*, units)
	tomap( 
		map(
			units, 
			id
		), 
		map( 
			units, 
			hitpoints
		)
	);

#in case side's gold is more than 50, add units that side can recruit to the side's unit list#

def create_side_unit_list(ai*, side)
	if( 
		teams[side].gold > 50, 
		recruits_of_side[side], 
		[]
	) + 
	units_of_side[side];

def evaluate_my_recruits_as_attackers(ai*)
	tomap( 
		map(
			my_recruits, 
			id
		), 
		map(
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_attacker_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai, 
							enemy_side
						)
					)
				)
			)
		)
	);

def evaluate_my_recruits_as_defenders(ai*)
	tomap(
		map(
			my_recruits, 
			id
		),
		map( 
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_defender_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai,
							enemy_side
						)
					)
				)
			)
		)
	);


# === 2 ===  now consider abilities and weapon specials  #

def abilities_weights()
	['skirmisher' -> 15, 'ambush' -> 10, 'nightstalk' -> 20, 'regenerates' -> 20, 'healing' -> 15, 'curing' -> 10, 'leadership' -> 20, 'illumination' -> 15, 'teleport' -> 10, 'steadfast' -> 15 ];

def weapon_specials_weights()
	[ 'backstab' -> 20 ,'slow' -> 10 ,'berserk' -> 20 ,'stones' -> 60 ,'plague' -> 10 ,'marksman' -> 30 ,'magical' -> 40 ,'charge' -> 30 ,'drains' -> 30,  'firststrike' -> 10, 'poison' -> 25 ];

def apply_abilities_weights( units_map )
	map( 
		units_map, 
		value +
		(
			value * 
			max(
				map(
					get_unit_type( key ).abilities, 'ability',
					abilities_weights()[ability]
				)
			)
		) / 100
	);

def apply_weapon_specials_weights( units_map )
	map(
		units_map, 
		value +
		(
			value *
			max(
				map(
					get_unit_type( key ).attacks, 'attack',
					vars.weapon_specials[attack.special]
				)
			)
		) / 100
	);

# since undead units don't get random traits and are balanced with that, we need to lower their evaluation a bit to match fairly the living units #

def undead_malus( units_map )
	map( 
		units_map, 
		if(
			get_unit_type(key).undead,
			( value * 90 ) / 100,
			value 
		)
	);

# === 3 ===  pit 1 and 2 together  #

def evaluate_attackers(ai*)
	change_numbers_to_percents(
		apply_abilities_weights(
			apply_weapon_specials_weights(
				undead_malus( 
					make_positive_only(
						evaluate_my_recruits_as_attackers( ai )	
					)
				)
			)
		)
	);

def evaluate_defenders(ai*)
	map(
		map(
			change_numbers_to_percents(
				apply_abilities_weights(
					apply_weapon_specials_weights(
						undead_malus( 
							make_positive_only(
								evaluate_my_recruits_as_defenders( ai )	
							)
						)
					)
				)
			),
			value / 3
		), 
		value +
		map(
			change_numbers_to_percents(
				units_hp_map(
					ai,
					my_recruits
				)
			),
		value * 2 / 3
		)[key]
	);

	#=========== we have evaluation of game state and units, time to combine them: ==========#
		#=========	recruitment_list_builder	=========#

def rlb_apply_eval(eval, attackers_map, defenders_map, offset)
	map(
		sumarize_maps_values(
			map(
				attackers_map, 
				value * (eval+offset)
			),
			map(
				defenders_map,
				value * ( (100 - eval) - offset )
			)
		),
		value / 100
	);

def rlb_remove_lowest( input_map, percent)
	filter(
		input_map, 
		value > 
		(
			(
				percent * sumarize_values(input_map)
			) / 100
		)
	);

def rlb_first_step(eval, attackers_map, defenders_map, offset)
	rlb_remove_lowest(
		rlb_apply_eval(
			eval,
			attackers_map,
			defenders_map,
			offset
		),
		10
	);

def recruitment_list_builder(eval, attackers_map, defenders_map)
	map(
		rlb_first_step(
			eval,
			attackers_map,
			defenders_map,
			40
		),
		(
			(
				value * 100
			) / 
			sumarize_values(
				rlb_first_step(
					eval,
					attackers_map,
					defenders_map,
					40
				)
			)
		)
	);

		# ========== choose the unit to recruit now ========= #

def unit_chooser(ai*,unit_map) 
	choose(
		keys(unit_map), 'unit_type',
		unit_map[unit_type] - 
		(
			(
				100 * 
				size(
					filter(
						my_units, 
						type = unit_type
					)
				)
			) / 
			size(my_units)
		)
	);

def unit_map_cost_filter(ai*, unit_map)
	filter( unit_map,
		get_unit_type(key).cost < my_side.gold
	);

		# ==========	Main formula section 	========== #

def initialize_weapon_specials_map(ai*)
	if(vars.weapon_specials_init != turn,
		[
			set_var('weapon_specials_init', turn),
			set_var('weapon_specials',
				map(
					weapon_specials_weights(),
					if( key = 'magical',
						units_average_defense(ai, enemy_units, 10),
						if( key = 'marksman',
							units_average_defense(ai, enemy_units, 10) - 10,
							value
						)
					)
				)
			)
		],
		[]
	);

def create_recruits_map(ai*)
	if(vars.recruits_map_creator != turn,
		[
			set_var('recruits_map_creator', turn ),
			set_var('recruits_map',
				debug_print('final unit evaluation: ', recruitment_list_builder(
					debug_print('current AI evaluation (0-100): ', eval(ai)),
					debug_print('attackers evaluation: ',evaluate_attackers(ai)),
					debug_print('defenders evaluation: ',evaluate_defenders(ai))
				))
			)
		],
		[]
	);

def castle_space(ai*)
	filter( map( castle_locs( my_leader.loc ), 'location', if( unit_at( location ), 1, 0 ) ), self = 0  ).size;

if(vars.turn_initialized = turn,
		if( my_leader.loc = nearest_keep( my_leader.loc ),
			if( 
				get_unit_type(
					choose(
						vars.recruits_map,
						-get_unit_type(key).cost
					).key
				).cost <
				my_side.gold,
				if( castle_space(self),
					recruit(debug_print(
						unit_chooser(
							self,
							unit_map_cost_filter(
								self,
								vars.recruits_map
							)
						)
					)),
					fallback()
				),
				fallback() 
			),
			if( my_leader.movement_left > 0,
				move( my_leader.loc, nearest_keep( my_leader.loc ) ),
				fallback()
			)
		),
	[set_var(debug_print('turn_initialized'), turn)] +
	initialize_weapon_specials_map(self) +
	create_recruits_map(self)
)

faiend
"
				[/team_formula]
			[/ai]
		[/multiplayer_side]
		[multiplayer_side]
			flag_rgb="magenta"
			id="Undead"
			image="units/undead-necromancers/dark-sorcerer.png"
			leader="Dark Sorcerer,Revenant,Deathblade,Bone Shooter,Necrophage"
			name=_ "Undead"
			random_leader="Dark Sorcerer,Revenant,Deathblade,Bone Shooter"
			recruit="Skeleton,Skeleton Archer,Walking Corpse,Ghost,Vampire Bat,Dark Adept,Ghoul"
			terrain_liked="Ss, Hh, Ha, Ww"
			type="Dark Sorcerer"
			[ai]
				recruitment_pattern="fighter,fighter,archer,fighter,scout,archer"
				[team_formula]
					rulebase="fai 'recruitment.fai'
		# ===== Some general functions used later ==== #

def sumarize_values( input_map )
	sum(
		values(input_map)
	);

def lowest_value( input_map )
	choose( input_map, -value ).value;

def highest_value( input_map )
	choose( input_map, value ).value;

def change_numbers_to_percents( input_map )
	map( input_map, 
		(value*100) / highest_value(input_map) 
	);

def add_number_to_values( input_map, number )
	map( input_map, 
		value + number 
	);

#make sure we have only positive values in a map #

def make_positive_only( input_map )
	if( lowest_value( input_map ) < 0, 
		add_number_to_values( 
			input_map, 
			abs(lowest_value(input_map))
		), 
		input_map 
	);

def sumarize_maps_values( map_A, map_B )
	map( map_A + map_B, 
		value + map_A[key]
	);

		#===== Evaluation how good unit is on a map ===== #

# ==1==  evaluate average defense #
#gives map where key is id of terrain, and value is number of hexes of that terrain on a gamemap#

def locations_map(ai*) 
	tomap( 
		map( 
			map.terrain, 
			id 
		) 
	);

#filters terrain map, min_percent it minimal % of map that terrain has to occupy to be considered in later evaluations# 

def filtered_locations_map(ai*, min_percent)
	filter( 
		locations_map(ai) , 
		value >  (map.w * map.h) / ( 100 / min_percent ) 
	);

#returns average defense of the unit #

def unit_average_defense(ai*, unit, terrain_min_percent )
	sum( 
		values( 
			map(
				filtered_locations_map(ai,terrain_min_percent), 
				defense_on( 
					unit, 
					find(map.terrain,id=key).loc
				) *
				value
			) 
		) 
	) / 
	sum(
		values(
			filtered_locations_map(
				ai,
				terrain_min_percent
			)
		)
	);

#returns map of units from units_list and their average defense (more -> better) #

def map_units_average_defense(ai*, units_list, terrain_min_percent) 
	tomap(
		map( 
			units_list, 
			id 
		), 
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	);

def units_average_defense(ai*, units_list, terrain_min_percent)
	sum(
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	) /
	size(
		units_list
	);


# ==2== TODO: evaluate unit effectivness based on movement points and movement cost#


		#===== Evaluation of game state - how good is ai doing ===== #

# ==1== based on unit cost and current amount of gold #
# returns number between 0 and 100 where: 0 we are losing, 100 we are winning #

def units_cost_gold_eval(ai*)
	min(
		[
			(
				(
					sum(
						map(
							allies, 'team', 
							sum(
								map(
									units_of_side[team], 
									cost
								)
							) + 
							teams[team].gold 
						)
					) * 
					100
				) / 
				sum(
					map(
						enemies, 'team', 
						sum(
							map(
								units_of_side[team], 
								cost
							)
						) + 
						max(
							[teams[team].gold, 0]
						) 
					)
				)
			) / 2,
			100
		]
	);

# ==2== based on village possession #

def count_allied_villages(ai*)
	sum(
		map(
			allies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

def count_enemy_villages(ai*)
	sum(
		map(
			enemies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

# multipled by 1000 to increase precision #

def village_evaluation(ai*)
	(
		50000 + 
		(
			count_allied_villages(ai) - 
			count_enemy_villages(ai)
		) * 
		(
			50000 /
			size(
				villages
			)
		)
	) /
	1000;

# ==3== combined 2 of the above #

def eval(ai*)
	( 
		units_cost_gold_eval(ai) + 
		village_evaluation(ai)
	) / 
	2;

		#===== Evaluation how effective my units are against the enemy ===== #

#==1==  basic evaluation #

# evaluate how much damage unit can inflict - how much damage unit can get#

def evaluate_attacker_against_opponents(ai*, unit, enemy_units)
	sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( unit, enemy_unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				) 
			)
		)
	);

def evaluate_defender_against_opponents(ai*, unit, enemy_units)
	-sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( enemy_unit, unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				)
			)
		)
	);

def units_hp_map(ai*, units)
	tomap( 
		map(
			units, 
			id
		), 
		map( 
			units, 
			hitpoints
		)
	);

#in case side's gold is more than 50, add units that side can recruit to the side's unit list#

def create_side_unit_list(ai*, side)
	if( 
		teams[side].gold > 50, 
		recruits_of_side[side], 
		[]
	) + 
	units_of_side[side];

def evaluate_my_recruits_as_attackers(ai*)
	tomap( 
		map(
			my_recruits, 
			id
		), 
		map(
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_attacker_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai, 
							enemy_side
						)
					)
				)
			)
		)
	);

def evaluate_my_recruits_as_defenders(ai*)
	tomap(
		map(
			my_recruits, 
			id
		),
		map( 
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_defender_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai,
							enemy_side
						)
					)
				)
			)
		)
	);


# === 2 ===  now consider abilities and weapon specials  #

def abilities_weights()
	['skirmisher' -> 15, 'ambush' -> 10, 'nightstalk' -> 20, 'regenerates' -> 20, 'healing' -> 15, 'curing' -> 10, 'leadership' -> 20, 'illumination' -> 15, 'teleport' -> 10, 'steadfast' -> 15 ];

def weapon_specials_weights()
	[ 'backstab' -> 20 ,'slow' -> 10 ,'berserk' -> 20 ,'stones' -> 60 ,'plague' -> 10 ,'marksman' -> 30 ,'magical' -> 40 ,'charge' -> 30 ,'drains' -> 30,  'firststrike' -> 10, 'poison' -> 25 ];

def apply_abilities_weights( units_map )
	map( 
		units_map, 
		value +
		(
			value * 
			max(
				map(
					get_unit_type( key ).abilities, 'ability',
					abilities_weights()[ability]
				)
			)
		) / 100
	);

def apply_weapon_specials_weights( units_map )
	map(
		units_map, 
		value +
		(
			value *
			max(
				map(
					get_unit_type( key ).attacks, 'attack',
					vars.weapon_specials[attack.special]
				)
			)
		) / 100
	);

# since undead units don't get random traits and are balanced with that, we need to lower their evaluation a bit to match fairly the living units #

def undead_malus( units_map )
	map( 
		units_map, 
		if(
			get_unit_type(key).undead,
			( value * 90 ) / 100,
			value 
		)
	);

# === 3 ===  pit 1 and 2 together  #

def evaluate_attackers(ai*)
	change_numbers_to_percents(
		apply_abilities_weights(
			apply_weapon_specials_weights(
				undead_malus( 
					make_positive_only(
						evaluate_my_recruits_as_attackers( ai )	
					)
				)
			)
		)
	);

def evaluate_defenders(ai*)
	map(
		map(
			change_numbers_to_percents(
				apply_abilities_weights(
					apply_weapon_specials_weights(
						undead_malus( 
							make_positive_only(
								evaluate_my_recruits_as_defenders( ai )	
							)
						)
					)
				)
			),
			value / 3
		), 
		value +
		map(
			change_numbers_to_percents(
				units_hp_map(
					ai,
					my_recruits
				)
			),
		value * 2 / 3
		)[key]
	);

	#=========== we have evaluation of game state and units, time to combine them: ==========#
		#=========	recruitment_list_builder	=========#

def rlb_apply_eval(eval, attackers_map, defenders_map, offset)
	map(
		sumarize_maps_values(
			map(
				attackers_map, 
				value * (eval+offset)
			),
			map(
				defenders_map,
				value * ( (100 - eval) - offset )
			)
		),
		value / 100
	);

def rlb_remove_lowest( input_map, percent)
	filter(
		input_map, 
		value > 
		(
			(
				percent * sumarize_values(input_map)
			) / 100
		)
	);

def rlb_first_step(eval, attackers_map, defenders_map, offset)
	rlb_remove_lowest(
		rlb_apply_eval(
			eval,
			attackers_map,
			defenders_map,
			offset
		),
		10
	);

def recruitment_list_builder(eval, attackers_map, defenders_map)
	map(
		rlb_first_step(
			eval,
			attackers_map,
			defenders_map,
			40
		),
		(
			(
				value * 100
			) / 
			sumarize_values(
				rlb_first_step(
					eval,
					attackers_map,
					defenders_map,
					40
				)
			)
		)
	);

		# ========== choose the unit to recruit now ========= #

def unit_chooser(ai*,unit_map) 
	choose(
		keys(unit_map), 'unit_type',
		unit_map[unit_type] - 
		(
			(
				100 * 
				size(
					filter(
						my_units, 
						type = unit_type
					)
				)
			) / 
			size(my_units)
		)
	);

def unit_map_cost_filter(ai*, unit_map)
	filter( unit_map,
		get_unit_type(key).cost < my_side.gold
	);

		# ==========	Main formula section 	========== #

def initialize_weapon_specials_map(ai*)
	if(vars.weapon_specials_init != turn,
		[
			set_var('weapon_specials_init', turn),
			set_var('weapon_specials',
				map(
					weapon_specials_weights(),
					if( key = 'magical',
						units_average_defense(ai, enemy_units, 10),
						if( key = 'marksman',
							units_average_defense(ai, enemy_units, 10) - 10,
							value
						)
					)
				)
			)
		],
		[]
	);

def create_recruits_map(ai*)
	if(vars.recruits_map_creator != turn,
		[
			set_var('recruits_map_creator', turn ),
			set_var('recruits_map',
				debug_print('final unit evaluation: ', recruitment_list_builder(
					debug_print('current AI evaluation (0-100): ', eval(ai)),
					debug_print('attackers evaluation: ',evaluate_attackers(ai)),
					debug_print('defenders evaluation: ',evaluate_defenders(ai))
				))
			)
		],
		[]
	);

def castle_space(ai*)
	filter( map( castle_locs( my_leader.loc ), 'location', if( unit_at( location ), 1, 0 ) ), self = 0  ).size;

if(vars.turn_initialized = turn,
		if( my_leader.loc = nearest_keep( my_leader.loc ),
			if( 
				get_unit_type(
					choose(
						vars.recruits_map,
						-get_unit_type(key).cost
					).key
				).cost <
				my_side.gold,
				if( castle_space(self),
					recruit(debug_print(
						unit_chooser(
							self,
							unit_map_cost_filter(
								self,
								vars.recruits_map
							)
						)
					)),
					fallback()
				),
				fallback() 
			),
			if( my_leader.movement_left > 0,
				move( my_leader.loc, nearest_keep( my_leader.loc ) ),
				fallback()
			)
		),
	[set_var(debug_print('turn_initialized'), turn)] +
	initialize_weapon_specials_map(self) +
	create_recruits_map(self)
)

faiend
"
				[/team_formula]
			[/ai]
		[/multiplayer_side]
		[multiplayer_side]
			flag_rgb="magenta"
			id="Knalgan Alliance"
			image="units/dwarves/steelclad.png"
			leader="Dwarvish Steelclad,Dwarvish Thunderguard,Dwarvish Stalwart,Rogue,Trapper"
			name=_ "Knalgan Alliance"
			random_leader="Dwarvish Steelclad,Dwarvish Thunderguard,Rogue,Trapper"
			recruit="Dwarvish Guardsman,Dwarvish Fighter,Dwarvish Ulfserker,Dwarvish Thunderer,Thief,Poacher,Footpad,Gryphon Rider"
			terrain_liked="Hh, Ha, Mm"
			type="Dwarvish Steelclad"
			[ai]
				recruitment_pattern="fighter,fighter,fighter,mixed fighter,archer,scout"
				[team_formula]
					rulebase="fai 'recruitment.fai'
		# ===== Some general functions used later ==== #

def sumarize_values( input_map )
	sum(
		values(input_map)
	);

def lowest_value( input_map )
	choose( input_map, -value ).value;

def highest_value( input_map )
	choose( input_map, value ).value;

def change_numbers_to_percents( input_map )
	map( input_map, 
		(value*100) / highest_value(input_map) 
	);

def add_number_to_values( input_map, number )
	map( input_map, 
		value + number 
	);

#make sure we have only positive values in a map #

def make_positive_only( input_map )
	if( lowest_value( input_map ) < 0, 
		add_number_to_values( 
			input_map, 
			abs(lowest_value(input_map))
		), 
		input_map 
	);

def sumarize_maps_values( map_A, map_B )
	map( map_A + map_B, 
		value + map_A[key]
	);

		#===== Evaluation how good unit is on a map ===== #

# ==1==  evaluate average defense #
#gives map where key is id of terrain, and value is number of hexes of that terrain on a gamemap#

def locations_map(ai*) 
	tomap( 
		map( 
			map.terrain, 
			id 
		) 
	);

#filters terrain map, min_percent it minimal % of map that terrain has to occupy to be considered in later evaluations# 

def filtered_locations_map(ai*, min_percent)
	filter( 
		locations_map(ai) , 
		value >  (map.w * map.h) / ( 100 / min_percent ) 
	);

#returns average defense of the unit #

def unit_average_defense(ai*, unit, terrain_min_percent )
	sum( 
		values( 
			map(
				filtered_locations_map(ai,terrain_min_percent), 
				defense_on( 
					unit, 
					find(map.terrain,id=key).loc
				) *
				value
			) 
		) 
	) / 
	sum(
		values(
			filtered_locations_map(
				ai,
				terrain_min_percent
			)
		)
	);

#returns map of units from units_list and their average defense (more -> better) #

def map_units_average_defense(ai*, units_list, terrain_min_percent) 
	tomap(
		map( 
			units_list, 
			id 
		), 
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	);

def units_average_defense(ai*, units_list, terrain_min_percent)
	sum(
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	) /
	size(
		units_list
	);


# ==2== TODO: evaluate unit effectivness based on movement points and movement cost#


		#===== Evaluation of game state - how good is ai doing ===== #

# ==1== based on unit cost and current amount of gold #
# returns number between 0 and 100 where: 0 we are losing, 100 we are winning #

def units_cost_gold_eval(ai*)
	min(
		[
			(
				(
					sum(
						map(
							allies, 'team', 
							sum(
								map(
									units_of_side[team], 
									cost
								)
							) + 
							teams[team].gold 
						)
					) * 
					100
				) / 
				sum(
					map(
						enemies, 'team', 
						sum(
							map(
								units_of_side[team], 
								cost
							)
						) + 
						max(
							[teams[team].gold, 0]
						) 
					)
				)
			) / 2,
			100
		]
	);

# ==2== based on village possession #

def count_allied_villages(ai*)
	sum(
		map(
			allies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

def count_enemy_villages(ai*)
	sum(
		map(
			enemies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

# multipled by 1000 to increase precision #

def village_evaluation(ai*)
	(
		50000 + 
		(
			count_allied_villages(ai) - 
			count_enemy_villages(ai)
		) * 
		(
			50000 /
			size(
				villages
			)
		)
	) /
	1000;

# ==3== combined 2 of the above #

def eval(ai*)
	( 
		units_cost_gold_eval(ai) + 
		village_evaluation(ai)
	) / 
	2;

		#===== Evaluation how effective my units are against the enemy ===== #

#==1==  basic evaluation #

# evaluate how much damage unit can inflict - how much damage unit can get#

def evaluate_attacker_against_opponents(ai*, unit, enemy_units)
	sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( unit, enemy_unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				) 
			)
		)
	);

def evaluate_defender_against_opponents(ai*, unit, enemy_units)
	-sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( enemy_unit, unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				)
			)
		)
	);

def units_hp_map(ai*, units)
	tomap( 
		map(
			units, 
			id
		), 
		map( 
			units, 
			hitpoints
		)
	);

#in case side's gold is more than 50, add units that side can recruit to the side's unit list#

def create_side_unit_list(ai*, side)
	if( 
		teams[side].gold > 50, 
		recruits_of_side[side], 
		[]
	) + 
	units_of_side[side];

def evaluate_my_recruits_as_attackers(ai*)
	tomap( 
		map(
			my_recruits, 
			id
		), 
		map(
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_attacker_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai, 
							enemy_side
						)
					)
				)
			)
		)
	);

def evaluate_my_recruits_as_defenders(ai*)
	tomap(
		map(
			my_recruits, 
			id
		),
		map( 
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_defender_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai,
							enemy_side
						)
					)
				)
			)
		)
	);


# === 2 ===  now consider abilities and weapon specials  #

def abilities_weights()
	['skirmisher' -> 15, 'ambush' -> 10, 'nightstalk' -> 20, 'regenerates' -> 20, 'healing' -> 15, 'curing' -> 10, 'leadership' -> 20, 'illumination' -> 15, 'teleport' -> 10, 'steadfast' -> 15 ];

def weapon_specials_weights()
	[ 'backstab' -> 20 ,'slow' -> 10 ,'berserk' -> 20 ,'stones' -> 60 ,'plague' -> 10 ,'marksman' -> 30 ,'magical' -> 40 ,'charge' -> 30 ,'drains' -> 30,  'firststrike' -> 10, 'poison' -> 25 ];

def apply_abilities_weights( units_map )
	map( 
		units_map, 
		value +
		(
			value * 
			max(
				map(
					get_unit_type( key ).abilities, 'ability',
					abilities_weights()[ability]
				)
			)
		) / 100
	);

def apply_weapon_specials_weights( units_map )
	map(
		units_map, 
		value +
		(
			value *
			max(
				map(
					get_unit_type( key ).attacks, 'attack',
					vars.weapon_specials[attack.special]
				)
			)
		) / 100
	);

# since undead units don't get random traits and are balanced with that, we need to lower their evaluation a bit to match fairly the living units #

def undead_malus( units_map )
	map( 
		units_map, 
		if(
			get_unit_type(key).undead,
			( value * 90 ) / 100,
			value 
		)
	);

# === 3 ===  pit 1 and 2 together  #

def evaluate_attackers(ai*)
	change_numbers_to_percents(
		apply_abilities_weights(
			apply_weapon_specials_weights(
				undead_malus( 
					make_positive_only(
						evaluate_my_recruits_as_attackers( ai )	
					)
				)
			)
		)
	);

def evaluate_defenders(ai*)
	map(
		map(
			change_numbers_to_percents(
				apply_abilities_weights(
					apply_weapon_specials_weights(
						undead_malus( 
							make_positive_only(
								evaluate_my_recruits_as_defenders( ai )	
							)
						)
					)
				)
			),
			value / 3
		), 
		value +
		map(
			change_numbers_to_percents(
				units_hp_map(
					ai,
					my_recruits
				)
			),
		value * 2 / 3
		)[key]
	);

	#=========== we have evaluation of game state and units, time to combine them: ==========#
		#=========	recruitment_list_builder	=========#

def rlb_apply_eval(eval, attackers_map, defenders_map, offset)
	map(
		sumarize_maps_values(
			map(
				attackers_map, 
				value * (eval+offset)
			),
			map(
				defenders_map,
				value * ( (100 - eval) - offset )
			)
		),
		value / 100
	);

def rlb_remove_lowest( input_map, percent)
	filter(
		input_map, 
		value > 
		(
			(
				percent * sumarize_values(input_map)
			) / 100
		)
	);

def rlb_first_step(eval, attackers_map, defenders_map, offset)
	rlb_remove_lowest(
		rlb_apply_eval(
			eval,
			attackers_map,
			defenders_map,
			offset
		),
		10
	);

def recruitment_list_builder(eval, attackers_map, defenders_map)
	map(
		rlb_first_step(
			eval,
			attackers_map,
			defenders_map,
			40
		),
		(
			(
				value * 100
			) / 
			sumarize_values(
				rlb_first_step(
					eval,
					attackers_map,
					defenders_map,
					40
				)
			)
		)
	);

		# ========== choose the unit to recruit now ========= #

def unit_chooser(ai*,unit_map) 
	choose(
		keys(unit_map), 'unit_type',
		unit_map[unit_type] - 
		(
			(
				100 * 
				size(
					filter(
						my_units, 
						type = unit_type
					)
				)
			) / 
			size(my_units)
		)
	);

def unit_map_cost_filter(ai*, unit_map)
	filter( unit_map,
		get_unit_type(key).cost < my_side.gold
	);

		# ==========	Main formula section 	========== #

def initialize_weapon_specials_map(ai*)
	if(vars.weapon_specials_init != turn,
		[
			set_var('weapon_specials_init', turn),
			set_var('weapon_specials',
				map(
					weapon_specials_weights(),
					if( key = 'magical',
						units_average_defense(ai, enemy_units, 10),
						if( key = 'marksman',
							units_average_defense(ai, enemy_units, 10) - 10,
							value
						)
					)
				)
			)
		],
		[]
	);

def create_recruits_map(ai*)
	if(vars.recruits_map_creator != turn,
		[
			set_var('recruits_map_creator', turn ),
			set_var('recruits_map',
				debug_print('final unit evaluation: ', recruitment_list_builder(
					debug_print('current AI evaluation (0-100): ', eval(ai)),
					debug_print('attackers evaluation: ',evaluate_attackers(ai)),
					debug_print('defenders evaluation: ',evaluate_defenders(ai))
				))
			)
		],
		[]
	);

def castle_space(ai*)
	filter( map( castle_locs( my_leader.loc ), 'location', if( unit_at( location ), 1, 0 ) ), self = 0  ).size;

if(vars.turn_initialized = turn,
		if( my_leader.loc = nearest_keep( my_leader.loc ),
			if( 
				get_unit_type(
					choose(
						vars.recruits_map,
						-get_unit_type(key).cost
					).key
				).cost <
				my_side.gold,
				if( castle_space(self),
					recruit(debug_print(
						unit_chooser(
							self,
							unit_map_cost_filter(
								self,
								vars.recruits_map
							)
						)
					)),
					fallback()
				),
				fallback() 
			),
			if( my_leader.movement_left > 0,
				move( my_leader.loc, nearest_keep( my_leader.loc ) ),
				fallback()
			)
		),
	[set_var(debug_print('turn_initialized'), turn)] +
	initialize_weapon_specials_map(self) +
	create_recruits_map(self)
)

faiend
"
				[/team_formula]
			[/ai]
		[/multiplayer_side]
		[multiplayer_side]
			flag_rgb="magenta"
			id="Drakes"
			image="units/drakes/flare.png"
			leader="Drake Flare,Fire Drake,Drake Slasher,Drake Gladiator,Drake Warrior,Saurian Oracle,Saurian Soothsayer"
			name=_ "Drakes"
			random_leader="Drake Flare,Fire Drake,Drake Slasher,Drake Gladiator,Drake Warrior"
			recruit="Drake Burner,Drake Clasher,Drake Glider,Drake Fighter,Saurian Skirmisher,Saurian Augur"
			terrain_liked="Hh, Ha, Ds, Ss"
			type="Drake Flare"
			[ai]
				recruitment_pattern="fighter,fighter,archer,healer,scout,scout"
				[team_formula]
					rulebase="fai 'recruitment.fai'
		# ===== Some general functions used later ==== #

def sumarize_values( input_map )
	sum(
		values(input_map)
	);

def lowest_value( input_map )
	choose( input_map, -value ).value;

def highest_value( input_map )
	choose( input_map, value ).value;

def change_numbers_to_percents( input_map )
	map( input_map, 
		(value*100) / highest_value(input_map) 
	);

def add_number_to_values( input_map, number )
	map( input_map, 
		value + number 
	);

#make sure we have only positive values in a map #

def make_positive_only( input_map )
	if( lowest_value( input_map ) < 0, 
		add_number_to_values( 
			input_map, 
			abs(lowest_value(input_map))
		), 
		input_map 
	);

def sumarize_maps_values( map_A, map_B )
	map( map_A + map_B, 
		value + map_A[key]
	);

		#===== Evaluation how good unit is on a map ===== #

# ==1==  evaluate average defense #
#gives map where key is id of terrain, and value is number of hexes of that terrain on a gamemap#

def locations_map(ai*) 
	tomap( 
		map( 
			map.terrain, 
			id 
		) 
	);

#filters terrain map, min_percent it minimal % of map that terrain has to occupy to be considered in later evaluations# 

def filtered_locations_map(ai*, min_percent)
	filter( 
		locations_map(ai) , 
		value >  (map.w * map.h) / ( 100 / min_percent ) 
	);

#returns average defense of the unit #

def unit_average_defense(ai*, unit, terrain_min_percent )
	sum( 
		values( 
			map(
				filtered_locations_map(ai,terrain_min_percent), 
				defense_on( 
					unit, 
					find(map.terrain,id=key).loc
				) *
				value
			) 
		) 
	) / 
	sum(
		values(
			filtered_locations_map(
				ai,
				terrain_min_percent
			)
		)
	);

#returns map of units from units_list and their average defense (more -> better) #

def map_units_average_defense(ai*, units_list, terrain_min_percent) 
	tomap(
		map( 
			units_list, 
			id 
		), 
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	);

def units_average_defense(ai*, units_list, terrain_min_percent)
	sum(
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	) /
	size(
		units_list
	);


# ==2== TODO: evaluate unit effectivness based on movement points and movement cost#


		#===== Evaluation of game state - how good is ai doing ===== #

# ==1== based on unit cost and current amount of gold #
# returns number between 0 and 100 where: 0 we are losing, 100 we are winning #

def units_cost_gold_eval(ai*)
	min(
		[
			(
				(
					sum(
						map(
							allies, 'team', 
							sum(
								map(
									units_of_side[team], 
									cost
								)
							) + 
							teams[team].gold 
						)
					) * 
					100
				) / 
				sum(
					map(
						enemies, 'team', 
						sum(
							map(
								units_of_side[team], 
								cost
							)
						) + 
						max(
							[teams[team].gold, 0]
						) 
					)
				)
			) / 2,
			100
		]
	);

# ==2== based on village possession #

def count_allied_villages(ai*)
	sum(
		map(
			allies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

def count_enemy_villages(ai*)
	sum(
		map(
			enemies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

# multipled by 1000 to increase precision #

def village_evaluation(ai*)
	(
		50000 + 
		(
			count_allied_villages(ai) - 
			count_enemy_villages(ai)
		) * 
		(
			50000 /
			size(
				villages
			)
		)
	) /
	1000;

# ==3== combined 2 of the above #

def eval(ai*)
	( 
		units_cost_gold_eval(ai) + 
		village_evaluation(ai)
	) / 
	2;

		#===== Evaluation how effective my units are against the enemy ===== #

#==1==  basic evaluation #

# evaluate how much damage unit can inflict - how much damage unit can get#

def evaluate_attacker_against_opponents(ai*, unit, enemy_units)
	sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( unit, enemy_unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				) 
			)
		)
	);

def evaluate_defender_against_opponents(ai*, unit, enemy_units)
	-sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( enemy_unit, unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				)
			)
		)
	);

def units_hp_map(ai*, units)
	tomap( 
		map(
			units, 
			id
		), 
		map( 
			units, 
			hitpoints
		)
	);

#in case side's gold is more than 50, add units that side can recruit to the side's unit list#

def create_side_unit_list(ai*, side)
	if( 
		teams[side].gold > 50, 
		recruits_of_side[side], 
		[]
	) + 
	units_of_side[side];

def evaluate_my_recruits_as_attackers(ai*)
	tomap( 
		map(
			my_recruits, 
			id
		), 
		map(
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_attacker_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai, 
							enemy_side
						)
					)
				)
			)
		)
	);

def evaluate_my_recruits_as_defenders(ai*)
	tomap(
		map(
			my_recruits, 
			id
		),
		map( 
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_defender_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai,
							enemy_side
						)
					)
				)
			)
		)
	);


# === 2 ===  now consider abilities and weapon specials  #

def abilities_weights()
	['skirmisher' -> 15, 'ambush' -> 10, 'nightstalk' -> 20, 'regenerates' -> 20, 'healing' -> 15, 'curing' -> 10, 'leadership' -> 20, 'illumination' -> 15, 'teleport' -> 10, 'steadfast' -> 15 ];

def weapon_specials_weights()
	[ 'backstab' -> 20 ,'slow' -> 10 ,'berserk' -> 20 ,'stones' -> 60 ,'plague' -> 10 ,'marksman' -> 30 ,'magical' -> 40 ,'charge' -> 30 ,'drains' -> 30,  'firststrike' -> 10, 'poison' -> 25 ];

def apply_abilities_weights( units_map )
	map( 
		units_map, 
		value +
		(
			value * 
			max(
				map(
					get_unit_type( key ).abilities, 'ability',
					abilities_weights()[ability]
				)
			)
		) / 100
	);

def apply_weapon_specials_weights( units_map )
	map(
		units_map, 
		value +
		(
			value *
			max(
				map(
					get_unit_type( key ).attacks, 'attack',
					vars.weapon_specials[attack.special]
				)
			)
		) / 100
	);

# since undead units don't get random traits and are balanced with that, we need to lower their evaluation a bit to match fairly the living units #

def undead_malus( units_map )
	map( 
		units_map, 
		if(
			get_unit_type(key).undead,
			( value * 90 ) / 100,
			value 
		)
	);

# === 3 ===  pit 1 and 2 together  #

def evaluate_attackers(ai*)
	change_numbers_to_percents(
		apply_abilities_weights(
			apply_weapon_specials_weights(
				undead_malus( 
					make_positive_only(
						evaluate_my_recruits_as_attackers( ai )	
					)
				)
			)
		)
	);

def evaluate_defenders(ai*)
	map(
		map(
			change_numbers_to_percents(
				apply_abilities_weights(
					apply_weapon_specials_weights(
						undead_malus( 
							make_positive_only(
								evaluate_my_recruits_as_defenders( ai )	
							)
						)
					)
				)
			),
			value / 3
		), 
		value +
		map(
			change_numbers_to_percents(
				units_hp_map(
					ai,
					my_recruits
				)
			),
		value * 2 / 3
		)[key]
	);

	#=========== we have evaluation of game state and units, time to combine them: ==========#
		#=========	recruitment_list_builder	=========#

def rlb_apply_eval(eval, attackers_map, defenders_map, offset)
	map(
		sumarize_maps_values(
			map(
				attackers_map, 
				value * (eval+offset)
			),
			map(
				defenders_map,
				value * ( (100 - eval) - offset )
			)
		),
		value / 100
	);

def rlb_remove_lowest( input_map, percent)
	filter(
		input_map, 
		value > 
		(
			(
				percent * sumarize_values(input_map)
			) / 100
		)
	);

def rlb_first_step(eval, attackers_map, defenders_map, offset)
	rlb_remove_lowest(
		rlb_apply_eval(
			eval,
			attackers_map,
			defenders_map,
			offset
		),
		10
	);

def recruitment_list_builder(eval, attackers_map, defenders_map)
	map(
		rlb_first_step(
			eval,
			attackers_map,
			defenders_map,
			40
		),
		(
			(
				value * 100
			) / 
			sumarize_values(
				rlb_first_step(
					eval,
					attackers_map,
					defenders_map,
					40
				)
			)
		)
	);

		# ========== choose the unit to recruit now ========= #

def unit_chooser(ai*,unit_map) 
	choose(
		keys(unit_map), 'unit_type',
		unit_map[unit_type] - 
		(
			(
				100 * 
				size(
					filter(
						my_units, 
						type = unit_type
					)
				)
			) / 
			size(my_units)
		)
	);

def unit_map_cost_filter(ai*, unit_map)
	filter( unit_map,
		get_unit_type(key).cost < my_side.gold
	);

		# ==========	Main formula section 	========== #

def initialize_weapon_specials_map(ai*)
	if(vars.weapon_specials_init != turn,
		[
			set_var('weapon_specials_init', turn),
			set_var('weapon_specials',
				map(
					weapon_specials_weights(),
					if( key = 'magical',
						units_average_defense(ai, enemy_units, 10),
						if( key = 'marksman',
							units_average_defense(ai, enemy_units, 10) - 10,
							value
						)
					)
				)
			)
		],
		[]
	);

def create_recruits_map(ai*)
	if(vars.recruits_map_creator != turn,
		[
			set_var('recruits_map_creator', turn ),
			set_var('recruits_map',
				debug_print('final unit evaluation: ', recruitment_list_builder(
					debug_print('current AI evaluation (0-100): ', eval(ai)),
					debug_print('attackers evaluation: ',evaluate_attackers(ai)),
					debug_print('defenders evaluation: ',evaluate_defenders(ai))
				))
			)
		],
		[]
	);

def castle_space(ai*)
	filter( map( castle_locs( my_leader.loc ), 'location', if( unit_at( location ), 1, 0 ) ), self = 0  ).size;

if(vars.turn_initialized = turn,
		if( my_leader.loc = nearest_keep( my_leader.loc ),
			if( 
				get_unit_type(
					choose(
						vars.recruits_map,
						-get_unit_type(key).cost
					).key
				).cost <
				my_side.gold,
				if( castle_space(self),
					recruit(debug_print(
						unit_chooser(
							self,
							unit_map_cost_filter(
								self,
								vars.recruits_map
							)
						)
					)),
					fallback()
				),
				fallback() 
			),
			if( my_leader.movement_left > 0,
				move( my_leader.loc, nearest_keep( my_leader.loc ) ),
				fallback()
			)
		),
	[set_var(debug_print('turn_initialized'), turn)] +
	initialize_weapon_specials_map(self) +
	create_recruits_map(self)
)

faiend
"
				[/team_formula]
			[/ai]
		[/multiplayer_side]
		[event]
			name="prestart"
			[store_unit]
				kill="yes"
				variable="leaders_to_make_quick"
				[filter]
					canrecruit="yes"
					[filter_wml]
						max_moves="4"
					[/filter_wml]
				[/filter]
			[/store_unit]
			[set_variable]
				name="i"
				value="0"
			[/set_variable]
			[while]
				[variable]
					less_than="$leaders_to_make_quick.length"
					name="i"
				[/variable]
				[do]
					[set_variables]
						mode="merge"
						name="leaders_to_make_quick[$i].modifications"
						[literal]
							[trait]
#textdomain wesnoth
								female_name=_ "female^quick"
								id="quick"
								male_name=_ "quick"
								[effect]
									apply_to="movement"
									increase="1"
								[/effect]
								[effect]
									apply_to="hitpoints"
									increase_total="-5%"
								[/effect]
							[/trait]
						[/literal]
					[/set_variables]
					[clear_variable]
						name="leaders_to_make_quick[$i].max_moves,leaders_to_make_quick[$i].moves,leaders_to_make_quick[$i].max_hitpoints,leaders_to_make_quick[$i].hitpoints"
					[/clear_variable]
					[unstore_unit]
						variable="leaders_to_make_quick[$i]"
					[/unstore_unit]
					[set_variable]
						add="1"
						name="i"
					[/set_variable]
				[/do]
			[/while]
			[clear_variable]
				name="i"
			[/clear_variable]
			[clear_variable]
				name="leaders_to_make_quick"
			[/clear_variable]
		[/event]
	[/era]
	[side]
		allow_changes="yes"
		allow_player="yes"
		canrecruit="yes"
		colour="1"
		controller="human"
		current_player="Rommel"
		flag_rgb="magenta"
		fog="yes"
		gender="male"
		gold="100"
		id="Rommel1"
		image="units/human-loyalists/lieutenant.png"
		income="0"
		leader="Lieutenant,Swordsman,Pikeman,Javelineer,Shock Trooper,Longbowman,White Mage,Red Mage"
		mp_countdown="yes"
		mp_countdown_action_bonus="13"
		mp_countdown_init_time="270"
		mp_countdown_reservoir_time="330"
		mp_countdown_turn_bonus="60"
		name="Rommel"
		random_leader="Lieutenant,Swordsman,Pikeman,Javelineer,Longbowman,Red Mage"
		recruit="Cavalryman,Horseman,Spearman,Fencer,Heavy Infantryman,Bowman,Mage,Merman Fighter"
		save_id="Rommel1"
		share_maps="no"
		share_view="yes"
		shroud="no"
		side="1"
		team_name="north"
		terrain_liked="Gg, Ww, Wo"
		type="Lieutenant"
		user_team_name="wesnoth-multiplayerteamname^North"
		village_gold="2"
		[ai]
			recruitment_pattern="fighter,fighter,fighter,archer,mixed fighter,scout"
			villages_per_scout="8"
			[team_formula]
				rulebase="fai 'recruitment.fai'
		# ===== Some general functions used later ==== #

def sumarize_values( input_map )
	sum(
		values(input_map)
	);

def lowest_value( input_map )
	choose( input_map, -value ).value;

def highest_value( input_map )
	choose( input_map, value ).value;

def change_numbers_to_percents( input_map )
	map( input_map, 
		(value*100) / highest_value(input_map) 
	);

def add_number_to_values( input_map, number )
	map( input_map, 
		value + number 
	);

#make sure we have only positive values in a map #

def make_positive_only( input_map )
	if( lowest_value( input_map ) < 0, 
		add_number_to_values( 
			input_map, 
			abs(lowest_value(input_map))
		), 
		input_map 
	);

def sumarize_maps_values( map_A, map_B )
	map( map_A + map_B, 
		value + map_A[key]
	);

		#===== Evaluation how good unit is on a map ===== #

# ==1==  evaluate average defense #
#gives map where key is id of terrain, and value is number of hexes of that terrain on a gamemap#

def locations_map(ai*) 
	tomap( 
		map( 
			map.terrain, 
			id 
		) 
	);

#filters terrain map, min_percent it minimal % of map that terrain has to occupy to be considered in later evaluations# 

def filtered_locations_map(ai*, min_percent)
	filter( 
		locations_map(ai) , 
		value >  (map.w * map.h) / ( 100 / min_percent ) 
	);

#returns average defense of the unit #

def unit_average_defense(ai*, unit, terrain_min_percent )
	sum( 
		values( 
			map(
				filtered_locations_map(ai,terrain_min_percent), 
				defense_on( 
					unit, 
					find(map.terrain,id=key).loc
				) *
				value
			) 
		) 
	) / 
	sum(
		values(
			filtered_locations_map(
				ai,
				terrain_min_percent
			)
		)
	);

#returns map of units from units_list and their average defense (more -> better) #

def map_units_average_defense(ai*, units_list, terrain_min_percent) 
	tomap(
		map( 
			units_list, 
			id 
		), 
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	);

def units_average_defense(ai*, units_list, terrain_min_percent)
	sum(
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	) /
	size(
		units_list
	);


# ==2== TODO: evaluate unit effectivness based on movement points and movement cost#


		#===== Evaluation of game state - how good is ai doing ===== #

# ==1== based on unit cost and current amount of gold #
# returns number between 0 and 100 where: 0 we are losing, 100 we are winning #

def units_cost_gold_eval(ai*)
	min(
		[
			(
				(
					sum(
						map(
							allies, 'team', 
							sum(
								map(
									units_of_side[team], 
									cost
								)
							) + 
							teams[team].gold 
						)
					) * 
					100
				) / 
				sum(
					map(
						enemies, 'team', 
						sum(
							map(
								units_of_side[team], 
								cost
							)
						) + 
						max(
							[teams[team].gold, 0]
						) 
					)
				)
			) / 2,
			100
		]
	);

# ==2== based on village possession #

def count_allied_villages(ai*)
	sum(
		map(
			allies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

def count_enemy_villages(ai*)
	sum(
		map(
			enemies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

# multipled by 1000 to increase precision #

def village_evaluation(ai*)
	(
		50000 + 
		(
			count_allied_villages(ai) - 
			count_enemy_villages(ai)
		) * 
		(
			50000 /
			size(
				villages
			)
		)
	) /
	1000;

# ==3== combined 2 of the above #

def eval(ai*)
	( 
		units_cost_gold_eval(ai) + 
		village_evaluation(ai)
	) / 
	2;

		#===== Evaluation how effective my units are against the enemy ===== #

#==1==  basic evaluation #

# evaluate how much damage unit can inflict - how much damage unit can get#

def evaluate_attacker_against_opponents(ai*, unit, enemy_units)
	sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( unit, enemy_unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				) 
			)
		)
	);

def evaluate_defender_against_opponents(ai*, unit, enemy_units)
	-sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( enemy_unit, unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				)
			)
		)
	);

def units_hp_map(ai*, units)
	tomap( 
		map(
			units, 
			id
		), 
		map( 
			units, 
			hitpoints
		)
	);

#in case side's gold is more than 50, add units that side can recruit to the side's unit list#

def create_side_unit_list(ai*, side)
	if( 
		teams[side].gold > 50, 
		recruits_of_side[side], 
		[]
	) + 
	units_of_side[side];

def evaluate_my_recruits_as_attackers(ai*)
	tomap( 
		map(
			my_recruits, 
			id
		), 
		map(
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_attacker_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai, 
							enemy_side
						)
					)
				)
			)
		)
	);

def evaluate_my_recruits_as_defenders(ai*)
	tomap(
		map(
			my_recruits, 
			id
		),
		map( 
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_defender_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai,
							enemy_side
						)
					)
				)
			)
		)
	);


# === 2 ===  now consider abilities and weapon specials  #

def abilities_weights()
	['skirmisher' -> 15, 'ambush' -> 10, 'nightstalk' -> 20, 'regenerates' -> 20, 'healing' -> 15, 'curing' -> 10, 'leadership' -> 20, 'illumination' -> 15, 'teleport' -> 10, 'steadfast' -> 15 ];

def weapon_specials_weights()
	[ 'backstab' -> 20 ,'slow' -> 10 ,'berserk' -> 20 ,'stones' -> 60 ,'plague' -> 10 ,'marksman' -> 30 ,'magical' -> 40 ,'charge' -> 30 ,'drains' -> 30,  'firststrike' -> 10, 'poison' -> 25 ];

def apply_abilities_weights( units_map )
	map( 
		units_map, 
		value +
		(
			value * 
			max(
				map(
					get_unit_type( key ).abilities, 'ability',
					abilities_weights()[ability]
				)
			)
		) / 100
	);

def apply_weapon_specials_weights( units_map )
	map(
		units_map, 
		value +
		(
			value *
			max(
				map(
					get_unit_type( key ).attacks, 'attack',
					vars.weapon_specials[attack.special]
				)
			)
		) / 100
	);

# since undead units don't get random traits and are balanced with that, we need to lower their evaluation a bit to match fairly the living units #

def undead_malus( units_map )
	map( 
		units_map, 
		if(
			get_unit_type(key).undead,
			( value * 90 ) / 100,
			value 
		)
	);

# === 3 ===  pit 1 and 2 together  #

def evaluate_attackers(ai*)
	change_numbers_to_percents(
		apply_abilities_weights(
			apply_weapon_specials_weights(
				undead_malus( 
					make_positive_only(
						evaluate_my_recruits_as_attackers( ai )	
					)
				)
			)
		)
	);

def evaluate_defenders(ai*)
	map(
		map(
			change_numbers_to_percents(
				apply_abilities_weights(
					apply_weapon_specials_weights(
						undead_malus( 
							make_positive_only(
								evaluate_my_recruits_as_defenders( ai )	
							)
						)
					)
				)
			),
			value / 3
		), 
		value +
		map(
			change_numbers_to_percents(
				units_hp_map(
					ai,
					my_recruits
				)
			),
		value * 2 / 3
		)[key]
	);

	#=========== we have evaluation of game state and units, time to combine them: ==========#
		#=========	recruitment_list_builder	=========#

def rlb_apply_eval(eval, attackers_map, defenders_map, offset)
	map(
		sumarize_maps_values(
			map(
				attackers_map, 
				value * (eval+offset)
			),
			map(
				defenders_map,
				value * ( (100 - eval) - offset )
			)
		),
		value / 100
	);

def rlb_remove_lowest( input_map, percent)
	filter(
		input_map, 
		value > 
		(
			(
				percent * sumarize_values(input_map)
			) / 100
		)
	);

def rlb_first_step(eval, attackers_map, defenders_map, offset)
	rlb_remove_lowest(
		rlb_apply_eval(
			eval,
			attackers_map,
			defenders_map,
			offset
		),
		10
	);

def recruitment_list_builder(eval, attackers_map, defenders_map)
	map(
		rlb_first_step(
			eval,
			attackers_map,
			defenders_map,
			40
		),
		(
			(
				value * 100
			) / 
			sumarize_values(
				rlb_first_step(
					eval,
					attackers_map,
					defenders_map,
					40
				)
			)
		)
	);

		# ========== choose the unit to recruit now ========= #

def unit_chooser(ai*,unit_map) 
	choose(
		keys(unit_map), 'unit_type',
		unit_map[unit_type] - 
		(
			(
				100 * 
				size(
					filter(
						my_units, 
						type = unit_type
					)
				)
			) / 
			size(my_units)
		)
	);

def unit_map_cost_filter(ai*, unit_map)
	filter( unit_map,
		get_unit_type(key).cost < my_side.gold
	);

		# ==========	Main formula section 	========== #

def initialize_weapon_specials_map(ai*)
	if(vars.weapon_specials_init != turn,
		[
			set_var('weapon_specials_init', turn),
			set_var('weapon_specials',
				map(
					weapon_specials_weights(),
					if( key = 'magical',
						units_average_defense(ai, enemy_units, 10),
						if( key = 'marksman',
							units_average_defense(ai, enemy_units, 10) - 10,
							value
						)
					)
				)
			)
		],
		[]
	);

def create_recruits_map(ai*)
	if(vars.recruits_map_creator != turn,
		[
			set_var('recruits_map_creator', turn ),
			set_var('recruits_map',
				debug_print('final unit evaluation: ', recruitment_list_builder(
					debug_print('current AI evaluation (0-100): ', eval(ai)),
					debug_print('attackers evaluation: ',evaluate_attackers(ai)),
					debug_print('defenders evaluation: ',evaluate_defenders(ai))
				))
			)
		],
		[]
	);

def castle_space(ai*)
	filter( map( castle_locs( my_leader.loc ), 'location', if( unit_at( location ), 1, 0 ) ), self = 0  ).size;

if(vars.turn_initialized = turn,
		if( my_leader.loc = nearest_keep( my_leader.loc ),
			if( 
				get_unit_type(
					choose(
						vars.recruits_map,
						-get_unit_type(key).cost
					).key
				).cost <
				my_side.gold,
				if( castle_space(self),
					recruit(debug_print(
						unit_chooser(
							self,
							unit_map_cost_filter(
								self,
								vars.recruits_map
							)
						)
					)),
					fallback()
				),
				fallback() 
			),
			if( my_leader.movement_left > 0,
				move( my_leader.loc, nearest_keep( my_leader.loc ) ),
				fallback()
			)
		),
	[set_var(debug_print('turn_initialized'), turn)] +
	initialize_weapon_specials_map(self) +
	create_recruits_map(self)
)

faiend
"
			[/team_formula]
		[/ai]
		[ai]
			villages_per_scout="8"
		[/ai]
	[/side]
	[side]
		allow_changes="yes"
		allow_player="yes"
		canrecruit="yes"
		colour="2"
		controller="network"
		current_player="akkon"
		flag_rgb="magenta"
		fog="yes"
		gender="male"
		gold="100"
		id="akkon2"
		image="units/orcs/warrior.png"
		income="0"
		leader="Orcish Warrior,Troll,Troll Rocklobber,Orcish Crossbowman,Orcish Slayer"
		mp_countdown="yes"
		mp_countdown_action_bonus="13"
		mp_countdown_init_time="270"
		mp_countdown_reservoir_time="330"
		mp_countdown_turn_bonus="60"
		name="akkon"
		recruit="Orcish Grunt,Troll Whelp,Wolf Rider,Orcish Archer,Orcish Assassin,Naga Fighter,Goblin Spearman"
		save_id="akkon2"
		share_maps="no"
		share_view="yes"
		shroud="no"
		side="2"
		team_name="south"
		terrain_liked="Hh, Ha, Mm, Ss"
		type="Orcish Crossbowman"
		user_team_name="wesnoth-multiplayerteamname^South"
		village_gold="2"
		[ai]
			recruitment_pattern="fighter,fighter,fighter,mixed fighter,archer,scout"
			villages_per_scout="8"
			[team_formula]
				rulebase="fai 'recruitment.fai'
		# ===== Some general functions used later ==== #

def sumarize_values( input_map )
	sum(
		values(input_map)
	);

def lowest_value( input_map )
	choose( input_map, -value ).value;

def highest_value( input_map )
	choose( input_map, value ).value;

def change_numbers_to_percents( input_map )
	map( input_map, 
		(value*100) / highest_value(input_map) 
	);

def add_number_to_values( input_map, number )
	map( input_map, 
		value + number 
	);

#make sure we have only positive values in a map #

def make_positive_only( input_map )
	if( lowest_value( input_map ) < 0, 
		add_number_to_values( 
			input_map, 
			abs(lowest_value(input_map))
		), 
		input_map 
	);

def sumarize_maps_values( map_A, map_B )
	map( map_A + map_B, 
		value + map_A[key]
	);

		#===== Evaluation how good unit is on a map ===== #

# ==1==  evaluate average defense #
#gives map where key is id of terrain, and value is number of hexes of that terrain on a gamemap#

def locations_map(ai*) 
	tomap( 
		map( 
			map.terrain, 
			id 
		) 
	);

#filters terrain map, min_percent it minimal % of map that terrain has to occupy to be considered in later evaluations# 

def filtered_locations_map(ai*, min_percent)
	filter( 
		locations_map(ai) , 
		value >  (map.w * map.h) / ( 100 / min_percent ) 
	);

#returns average defense of the unit #

def unit_average_defense(ai*, unit, terrain_min_percent )
	sum( 
		values( 
			map(
				filtered_locations_map(ai,terrain_min_percent), 
				defense_on( 
					unit, 
					find(map.terrain,id=key).loc
				) *
				value
			) 
		) 
	) / 
	sum(
		values(
			filtered_locations_map(
				ai,
				terrain_min_percent
			)
		)
	);

#returns map of units from units_list and their average defense (more -> better) #

def map_units_average_defense(ai*, units_list, terrain_min_percent) 
	tomap(
		map( 
			units_list, 
			id 
		), 
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	);

def units_average_defense(ai*, units_list, terrain_min_percent)
	sum(
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	) /
	size(
		units_list
	);


# ==2== TODO: evaluate unit effectivness based on movement points and movement cost#


		#===== Evaluation of game state - how good is ai doing ===== #

# ==1== based on unit cost and current amount of gold #
# returns number between 0 and 100 where: 0 we are losing, 100 we are winning #

def units_cost_gold_eval(ai*)
	min(
		[
			(
				(
					sum(
						map(
							allies, 'team', 
							sum(
								map(
									units_of_side[team], 
									cost
								)
							) + 
							teams[team].gold 
						)
					) * 
					100
				) / 
				sum(
					map(
						enemies, 'team', 
						sum(
							map(
								units_of_side[team], 
								cost
							)
						) + 
						max(
							[teams[team].gold, 0]
						) 
					)
				)
			) / 2,
			100
		]
	);

# ==2== based on village possession #

def count_allied_villages(ai*)
	sum(
		map(
			allies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

def count_enemy_villages(ai*)
	sum(
		map(
			enemies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

# multipled by 1000 to increase precision #

def village_evaluation(ai*)
	(
		50000 + 
		(
			count_allied_villages(ai) - 
			count_enemy_villages(ai)
		) * 
		(
			50000 /
			size(
				villages
			)
		)
	) /
	1000;

# ==3== combined 2 of the above #

def eval(ai*)
	( 
		units_cost_gold_eval(ai) + 
		village_evaluation(ai)
	) / 
	2;

		#===== Evaluation how effective my units are against the enemy ===== #

#==1==  basic evaluation #

# evaluate how much damage unit can inflict - how much damage unit can get#

def evaluate_attacker_against_opponents(ai*, unit, enemy_units)
	sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( unit, enemy_unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				) 
			)
		)
	);

def evaluate_defender_against_opponents(ai*, unit, enemy_units)
	-sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( enemy_unit, unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				)
			)
		)
	);

def units_hp_map(ai*, units)
	tomap( 
		map(
			units, 
			id
		), 
		map( 
			units, 
			hitpoints
		)
	);

#in case side's gold is more than 50, add units that side can recruit to the side's unit list#

def create_side_unit_list(ai*, side)
	if( 
		teams[side].gold > 50, 
		recruits_of_side[side], 
		[]
	) + 
	units_of_side[side];

def evaluate_my_recruits_as_attackers(ai*)
	tomap( 
		map(
			my_recruits, 
			id
		), 
		map(
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_attacker_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai, 
							enemy_side
						)
					)
				)
			)
		)
	);

def evaluate_my_recruits_as_defenders(ai*)
	tomap(
		map(
			my_recruits, 
			id
		),
		map( 
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_defender_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai,
							enemy_side
						)
					)
				)
			)
		)
	);


# === 2 ===  now consider abilities and weapon specials  #

def abilities_weights()
	['skirmisher' -> 15, 'ambush' -> 10, 'nightstalk' -> 20, 'regenerates' -> 20, 'healing' -> 15, 'curing' -> 10, 'leadership' -> 20, 'illumination' -> 15, 'teleport' -> 10, 'steadfast' -> 15 ];

def weapon_specials_weights()
	[ 'backstab' -> 20 ,'slow' -> 10 ,'berserk' -> 20 ,'stones' -> 60 ,'plague' -> 10 ,'marksman' -> 30 ,'magical' -> 40 ,'charge' -> 30 ,'drains' -> 30,  'firststrike' -> 10, 'poison' -> 25 ];

def apply_abilities_weights( units_map )
	map( 
		units_map, 
		value +
		(
			value * 
			max(
				map(
					get_unit_type( key ).abilities, 'ability',
					abilities_weights()[ability]
				)
			)
		) / 100
	);

def apply_weapon_specials_weights( units_map )
	map(
		units_map, 
		value +
		(
			value *
			max(
				map(
					get_unit_type( key ).attacks, 'attack',
					vars.weapon_specials[attack.special]
				)
			)
		) / 100
	);

# since undead units don't get random traits and are balanced with that, we need to lower their evaluation a bit to match fairly the living units #

def undead_malus( units_map )
	map( 
		units_map, 
		if(
			get_unit_type(key).undead,
			( value * 90 ) / 100,
			value 
		)
	);

# === 3 ===  pit 1 and 2 together  #

def evaluate_attackers(ai*)
	change_numbers_to_percents(
		apply_abilities_weights(
			apply_weapon_specials_weights(
				undead_malus( 
					make_positive_only(
						evaluate_my_recruits_as_attackers( ai )	
					)
				)
			)
		)
	);

def evaluate_defenders(ai*)
	map(
		map(
			change_numbers_to_percents(
				apply_abilities_weights(
					apply_weapon_specials_weights(
						undead_malus( 
							make_positive_only(
								evaluate_my_recruits_as_defenders( ai )	
							)
						)
					)
				)
			),
			value / 3
		), 
		value +
		map(
			change_numbers_to_percents(
				units_hp_map(
					ai,
					my_recruits
				)
			),
		value * 2 / 3
		)[key]
	);

	#=========== we have evaluation of game state and units, time to combine them: ==========#
		#=========	recruitment_list_builder	=========#

def rlb_apply_eval(eval, attackers_map, defenders_map, offset)
	map(
		sumarize_maps_values(
			map(
				attackers_map, 
				value * (eval+offset)
			),
			map(
				defenders_map,
				value * ( (100 - eval) - offset )
			)
		),
		value / 100
	);

def rlb_remove_lowest( input_map, percent)
	filter(
		input_map, 
		value > 
		(
			(
				percent * sumarize_values(input_map)
			) / 100
		)
	);

def rlb_first_step(eval, attackers_map, defenders_map, offset)
	rlb_remove_lowest(
		rlb_apply_eval(
			eval,
			attackers_map,
			defenders_map,
			offset
		),
		10
	);

def recruitment_list_builder(eval, attackers_map, defenders_map)
	map(
		rlb_first_step(
			eval,
			attackers_map,
			defenders_map,
			40
		),
		(
			(
				value * 100
			) / 
			sumarize_values(
				rlb_first_step(
					eval,
					attackers_map,
					defenders_map,
					40
				)
			)
		)
	);

		# ========== choose the unit to recruit now ========= #

def unit_chooser(ai*,unit_map) 
	choose(
		keys(unit_map), 'unit_type',
		unit_map[unit_type] - 
		(
			(
				100 * 
				size(
					filter(
						my_units, 
						type = unit_type
					)
				)
			) / 
			size(my_units)
		)
	);

def unit_map_cost_filter(ai*, unit_map)
	filter( unit_map,
		get_unit_type(key).cost < my_side.gold
	);

		# ==========	Main formula section 	========== #

def initialize_weapon_specials_map(ai*)
	if(vars.weapon_specials_init != turn,
		[
			set_var('weapon_specials_init', turn),
			set_var('weapon_specials',
				map(
					weapon_specials_weights(),
					if( key = 'magical',
						units_average_defense(ai, enemy_units, 10),
						if( key = 'marksman',
							units_average_defense(ai, enemy_units, 10) - 10,
							value
						)
					)
				)
			)
		],
		[]
	);

def create_recruits_map(ai*)
	if(vars.recruits_map_creator != turn,
		[
			set_var('recruits_map_creator', turn ),
			set_var('recruits_map',
				debug_print('final unit evaluation: ', recruitment_list_builder(
					debug_print('current AI evaluation (0-100): ', eval(ai)),
					debug_print('attackers evaluation: ',evaluate_attackers(ai)),
					debug_print('defenders evaluation: ',evaluate_defenders(ai))
				))
			)
		],
		[]
	);

def castle_space(ai*)
	filter( map( castle_locs( my_leader.loc ), 'location', if( unit_at( location ), 1, 0 ) ), self = 0  ).size;

if(vars.turn_initialized = turn,
		if( my_leader.loc = nearest_keep( my_leader.loc ),
			if( 
				get_unit_type(
					choose(
						vars.recruits_map,
						-get_unit_type(key).cost
					).key
				).cost <
				my_side.gold,
				if( castle_space(self),
					recruit(debug_print(
						unit_chooser(
							self,
							unit_map_cost_filter(
								self,
								vars.recruits_map
							)
						)
					)),
					fallback()
				),
				fallback() 
			),
			if( my_leader.movement_left > 0,
				move( my_leader.loc, nearest_keep( my_leader.loc ) ),
				fallback()
			)
		),
	[set_var(debug_print('turn_initialized'), turn)] +
	initialize_weapon_specials_map(self) +
	create_recruits_map(self)
)

faiend
"
			[/team_formula]
		[/ai]
		[ai]
			villages_per_scout="8"
		[/ai]
	[/side]
	[side]
		allow_changes="yes"
		allow_player="no"
		canrecruit="no"
		colour="5"
		controller="ai"
		flag_rgb="magenta"
		fog="yes"
		gender="male"
		gold="100"
		hidden="yes"
		id="ai3"
		image="units/drakes/flare.png"
		income="0"
		leader="Drake Flare,Fire Drake,Drake Slasher,Drake Gladiator,Drake Warrior,Saurian Oracle,Saurian Soothsayer"
		mp_countdown="yes"
		mp_countdown_action_bonus="13"
		mp_countdown_init_time="270"
		mp_countdown_reservoir_time="330"
		mp_countdown_turn_bonus="60"
		name=_ "Computer player"
		no_leader="yes"
		random_leader="Drake Flare,Fire Drake,Drake Slasher,Drake Gladiator,Drake Warrior"
		recruit="Drake Burner,Drake Clasher,Drake Glider,Drake Fighter,Saurian Skirmisher,Saurian Augur"
		save_id="ai3"
		share_maps="no"
		share_view="yes"
		shroud="no"
		side="3"
		team_name="statues"
		terrain_liked="Hh, Ha, Ds, Ss"
		type="Drake Warrior"
		user_team_name="statues"
		village_gold="2"
		[ai]
			recruitment_pattern="fighter,fighter,archer,healer,scout,scout"
			[team_formula]
				rulebase="fai 'recruitment.fai'
		# ===== Some general functions used later ==== #

def sumarize_values( input_map )
	sum(
		values(input_map)
	);

def lowest_value( input_map )
	choose( input_map, -value ).value;

def highest_value( input_map )
	choose( input_map, value ).value;

def change_numbers_to_percents( input_map )
	map( input_map, 
		(value*100) / highest_value(input_map) 
	);

def add_number_to_values( input_map, number )
	map( input_map, 
		value + number 
	);

#make sure we have only positive values in a map #

def make_positive_only( input_map )
	if( lowest_value( input_map ) < 0, 
		add_number_to_values( 
			input_map, 
			abs(lowest_value(input_map))
		), 
		input_map 
	);

def sumarize_maps_values( map_A, map_B )
	map( map_A + map_B, 
		value + map_A[key]
	);

		#===== Evaluation how good unit is on a map ===== #

# ==1==  evaluate average defense #
#gives map where key is id of terrain, and value is number of hexes of that terrain on a gamemap#

def locations_map(ai*) 
	tomap( 
		map( 
			map.terrain, 
			id 
		) 
	);

#filters terrain map, min_percent it minimal % of map that terrain has to occupy to be considered in later evaluations# 

def filtered_locations_map(ai*, min_percent)
	filter( 
		locations_map(ai) , 
		value >  (map.w * map.h) / ( 100 / min_percent ) 
	);

#returns average defense of the unit #

def unit_average_defense(ai*, unit, terrain_min_percent )
	sum( 
		values( 
			map(
				filtered_locations_map(ai,terrain_min_percent), 
				defense_on( 
					unit, 
					find(map.terrain,id=key).loc
				) *
				value
			) 
		) 
	) / 
	sum(
		values(
			filtered_locations_map(
				ai,
				terrain_min_percent
			)
		)
	);

#returns map of units from units_list and their average defense (more -> better) #

def map_units_average_defense(ai*, units_list, terrain_min_percent) 
	tomap(
		map( 
			units_list, 
			id 
		), 
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	);

def units_average_defense(ai*, units_list, terrain_min_percent)
	sum(
		map( 
			units_list, 'unit', 
			unit_average_defense(
				ai, 
				unit, 
				terrain_min_percent 
			) 
		) 
	) /
	size(
		units_list
	);


# ==2== TODO: evaluate unit effectivness based on movement points and movement cost#


		#===== Evaluation of game state - how good is ai doing ===== #

# ==1== based on unit cost and current amount of gold #
# returns number between 0 and 100 where: 0 we are losing, 100 we are winning #

def units_cost_gold_eval(ai*)
	min(
		[
			(
				(
					sum(
						map(
							allies, 'team', 
							sum(
								map(
									units_of_side[team], 
									cost
								)
							) + 
							teams[team].gold 
						)
					) * 
					100
				) / 
				sum(
					map(
						enemies, 'team', 
						sum(
							map(
								units_of_side[team], 
								cost
							)
						) + 
						max(
							[teams[team].gold, 0]
						) 
					)
				)
			) / 2,
			100
		]
	);

# ==2== based on village possession #

def count_allied_villages(ai*)
	sum(
		map(
			allies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

def count_enemy_villages(ai*)
	sum(
		map(
			enemies, 'side', 
			size(
				villages_of_side[side]
			)
		)
	);

# multipled by 1000 to increase precision #

def village_evaluation(ai*)
	(
		50000 + 
		(
			count_allied_villages(ai) - 
			count_enemy_villages(ai)
		) * 
		(
			50000 /
			size(
				villages
			)
		)
	) /
	1000;

# ==3== combined 2 of the above #

def eval(ai*)
	( 
		units_cost_gold_eval(ai) + 
		village_evaluation(ai)
	) / 
	2;

		#===== Evaluation how effective my units are against the enemy ===== #

#==1==  basic evaluation #

# evaluate how much damage unit can inflict - how much damage unit can get#

def evaluate_attacker_against_opponents(ai*, unit, enemy_units)
	sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( unit, enemy_unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				) 
			)
		)
	);

def evaluate_defender_against_opponents(ai*, unit, enemy_units)
	-sum( 
		map( 
			enemy_units, 'enemy_unit', 
			sum(
				map(
					[
						max_possible_damage_with_retaliation( enemy_unit, unit )
					],
					max(
						[
							self[0] - self[2],
							self[1] - self[3]
						]
					)
				)
			)
		)
	);

def units_hp_map(ai*, units)
	tomap( 
		map(
			units, 
			id
		), 
		map( 
			units, 
			hitpoints
		)
	);

#in case side's gold is more than 50, add units that side can recruit to the side's unit list#

def create_side_unit_list(ai*, side)
	if( 
		teams[side].gold > 50, 
		recruits_of_side[side], 
		[]
	) + 
	units_of_side[side];

def evaluate_my_recruits_as_attackers(ai*)
	tomap( 
		map(
			my_recruits, 
			id
		), 
		map(
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_attacker_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai, 
							enemy_side
						)
					)
				)
			)
		)
	);

def evaluate_my_recruits_as_defenders(ai*)
	tomap(
		map(
			my_recruits, 
			id
		),
		map( 
			my_recruits, 'my_unit',
			sum(
				map(
					enemies, 'enemy_side',
					evaluate_defender_against_opponents(
						ai,
						my_unit,
						create_side_unit_list(
							ai,
							enemy_side
						)
					)
				)
			)
		)
	);


# === 2 ===  now consider abilities and weapon specials  #

def abilities_weights()
	['skirmisher' -> 15, 'ambush' -> 10, 'nightstalk' -> 20, 'regenerates' -> 20, 'healing' -> 15, 'curing' -> 10, 'leadership' -> 20, 'illumination' -> 15, 'teleport' -> 10, 'steadfast' -> 15 ];

def weapon_specials_weights()
	[ 'backstab' -> 20 ,'slow' -> 10 ,'berserk' -> 20 ,'stones' -> 60 ,'plague' -> 10 ,'marksman' -> 30 ,'magical' -> 40 ,'charge' -> 30 ,'drains' -> 30,  'firststrike' -> 10, 'poison' -> 25 ];

def apply_abilities_weights( units_map )
	map( 
		units_map, 
		value +
		(
			value * 
			max(
				map(
					get_unit_type( key ).abilities, 'ability',
					abilities_weights()[ability]
				)
			)
		) / 100
	);

def apply_weapon_specials_weights( units_map )
	map(
		units_map, 
		value +
		(
			value *
			max(
				map(
					get_unit_type( key ).attacks, 'attack',
					vars.weapon_specials[attack.special]
				)
			)
		) / 100
	);

# since undead units don't get random traits and are balanced with that, we need to lower their evaluation a bit to match fairly the living units #

def undead_malus( units_map )
	map( 
		units_map, 
		if(
			get_unit_type(key).undead,
			( value * 90 ) / 100,
			value 
		)
	);

# === 3 ===  pit 1 and 2 together  #

def evaluate_attackers(ai*)
	change_numbers_to_percents(
		apply_abilities_weights(
			apply_weapon_specials_weights(
				undead_malus( 
					make_positive_only(
						evaluate_my_recruits_as_attackers( ai )	
					)
				)
			)
		)
	);

def evaluate_defenders(ai*)
	map(
		map(
			change_numbers_to_percents(
				apply_abilities_weights(
					apply_weapon_specials_weights(
						undead_malus( 
							make_positive_only(
								evaluate_my_recruits_as_defenders( ai )	
							)
						)
					)
				)
			),
			value / 3
		), 
		value +
		map(
			change_numbers_to_percents(
				units_hp_map(
					ai,
					my_recruits
				)
			),
		value * 2 / 3
		)[key]
	);

	#=========== we have evaluation of game state and units, time to combine them: ==========#
		#=========	recruitment_list_builder	=========#

def rlb_apply_eval(eval, attackers_map, defenders_map, offset)
	map(
		sumarize_maps_values(
			map(
				attackers_map, 
				value * (eval+offset)
			),
			map(
				defenders_map,
				value * ( (100 - eval) - offset )
			)
		),
		value / 100
	);

def rlb_remove_lowest( input_map, percent)
	filter(
		input_map, 
		value > 
		(
			(
				percent * sumarize_values(input_map)
			) / 100
		)
	);

def rlb_first_step(eval, attackers_map, defenders_map, offset)
	rlb_remove_lowest(
		rlb_apply_eval(
			eval,
			attackers_map,
			defenders_map,
			offset
		),
		10
	);

def recruitment_list_builder(eval, attackers_map, defenders_map)
	map(
		rlb_first_step(
			eval,
			attackers_map,
			defenders_map,
			40
		),
		(
			(
				value * 100
			) / 
			sumarize_values(
				rlb_first_step(
					eval,
					attackers_map,
					defenders_map,
					40
				)
			)
		)
	);

		# ========== choose the unit to recruit now ========= #

def unit_chooser(ai*,unit_map) 
	choose(
		keys(unit_map), 'unit_type',
		unit_map[unit_type] - 
		(
			(
				100 * 
				size(
					filter(
						my_units, 
						type = unit_type
					)
				)
			) / 
			size(my_units)
		)
	);

def unit_map_cost_filter(ai*, unit_map)
	filter( unit_map,
		get_unit_type(key).cost < my_side.gold
	);

		# ==========	Main formula section 	========== #

def initialize_weapon_specials_map(ai*)
	if(vars.weapon_specials_init != turn,
		[
			set_var('weapon_specials_init', turn),
			set_var('weapon_specials',
				map(
					weapon_specials_weights(),
					if( key = 'magical',
						units_average_defense(ai, enemy_units, 10),
						if( key = 'marksman',
							units_average_defense(ai, enemy_units, 10) - 10,
							value
						)
					)
				)
			)
		],
		[]
	);

def create_recruits_map(ai*)
	if(vars.recruits_map_creator != turn,
		[
			set_var('recruits_map_creator', turn ),
			set_var('recruits_map',
				debug_print('final unit evaluation: ', recruitment_list_builder(
					debug_print('current AI evaluation (0-100): ', eval(ai)),
					debug_print('attackers evaluation: ',evaluate_attackers(ai)),
					debug_print('defenders evaluation: ',evaluate_defenders(ai))
				))
			)
		],
		[]
	);

def castle_space(ai*)
	filter( map( castle_locs( my_leader.loc ), 'location', if( unit_at( location ), 1, 0 ) ), self = 0  ).size;

if(vars.turn_initialized = turn,
		if( my_leader.loc = nearest_keep( my_leader.loc ),
			if( 
				get_unit_type(
					choose(
						vars.recruits_map,
						-get_unit_type(key).cost
					).key
				).cost <
				my_side.gold,
				if( castle_space(self),
					recruit(debug_print(
						unit_chooser(
							self,
							unit_map_cost_filter(
								self,
								vars.recruits_map
							)
						)
					)),
					fallback()
				),
				fallback() 
			),
			if( my_leader.movement_left > 0,
				move( my_leader.loc, nearest_keep( my_leader.loc ) ),
				fallback()
			)
		),
	[set_var(debug_print('turn_initialized'), turn)] +
	initialize_weapon_specials_map(self) +
	create_recruits_map(self)
)

faiend
"
			[/team_formula]
		[/ai]
		[unit]
#textdomain wesnoth-multiplayer
			description=_ "The winds of the dark sky blew so cold,
The moon was high, the night was old,
Brave was the drake that dared forsake
His home to steal the Basilisk's gold.

On that dark night, the skies so churned,
He disregarded what he had learned,
Foolish but brave, to the Basilisk's cave,
He flew, and the fire within him burned.

Alas, that fire burns no more,
For the Basilisk, with one mighty roar,
Chilled him to the bone, and he turned to stone,
And so he stays forevermore.

The winds of the sky blow so cold,
The years pass by, the days are old,
Here stands that drake, who dared forsake
His home to steal the Basilisk's gold.
(inscribed by Flametrooper)"
			random_traits="no"
			type="Sky Drake"
			unrenamable="yes"
			x="27"
			y="14"
			[status]
				stoned="on"
			[/status]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			description=_ "Xikkrisx of Syrsszk was a powerful Saurian warrior, sent to this region by the Elders of the Rysssrylosszkk Clan (translation: ''The Hunts-Foes-In-Boiling-Rivers Clan''). The Elders were preparing to make war on a human outpost, and were in great need of the powerful magics of Oxsrrsk, a Saurian Mystic who had last been seen heading in the direction of Ruaskkolin Lake. Xikkrisx found the petrified body of Oxsrrsk, along with a carefully bound scroll that had apparently been dropped into a small crevice in the cave floor. He opened the scroll and read a brief passage from the middle of the text: ''After he was bound and cast from the Upper World, Chak'kso's enraged spirit sought release, and was able to exert a corrupting influence on certain regions of the Upper World, channeled through ''pathways of stone'' that extend from the surface into the depths of the Under Reaches. This rage altered the eggs of great lizards, shaping their bodies and spirits into implements of Chak'kso's hatred.'' Confused, Xikkrisx fixed his attention on the task at hand. Thinking that perhaps the Elders could find some way to restore Oxsrrsk, he began the long and strenuous task of hauling the statue back to the domain of the Rysssrylosszkk Clan. Exhausted, and not having traveled far from the lake, Xikkrisx set the statue down inside of a small cave, and lay down to rest. He was awoken by a bone-chilling roar."
			facing="sw"
			name=_ "Xikkrisx"
			random_traits="no"
			type="Saurian Flanker"
			unrenamable="yes"
			x="40"
			y="8"
			[status]
				stoned="on"
			[/status]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			description=_ "Oxsrrsk was a powerful Saurian Oracle, who had, in a raid against the rival Xraxss Clan, acquired (from the vaults of the now-dead Oracle Hesx-Rzzak) a most fascinating scroll. The scroll was entitled ''Ney'yks of the Granite Gaze,'' and told of a creature known as the ''Chak'kso Ney'yks,'' a name which, in an ancient saurian tongue, meant ''Eldest Child of Chak'kso.'' Chak'kso was believed to have been a powerful demigod of the Under Reaches, described as a ''great demon of the earth'' in the Elvish Histories. According to these histories, Chak'kso had once sought to transform all life on the planet to stone; so great was his hatred for creatures of flesh. He was ultimately defeated and bound by powerful magics, but in the centuries following his banishment (to a realm far below the surface of the world) a new breed of creature began appearing in the Histories, a breed with the ability to turn any being of flesh into stone. There was a period when these Basilisks (as they came to be known) wreaked havoc on the world of the living, turning thousands to stone. One by one, and at great cost, the Basilisks were defeated. All, it would seem, but one; the Basilisk known as ''The Ney'yks,'' or ''The Eldest Child,'' in the modern tongue. Supremely convinced of his ability to locate and bind this powerful creature into his service, Oxsrrsk set out on his journey..."
			facing="sw"
			name=_ "Oxsrrsk"
			random_traits="no"
			type="Saurian Oracle"
			unrenamable="yes"
			x="39"
			y="8"
			[status]
				stoned="on"
			[/status]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			description=_ "Slim of Stature, dexterous Hands
- - Seven Stones and Eleven
Left his Foes so slim a Chance
- - Seven Stones and Eleven
Marksman known as Dragonbane
'mongst the Statues here was slain
- - Seven Stones - and the Elven
(inscribed by Gauteamus)"
			random_traits="no"
			type="Elvish Marksman"
			unrenamable="yes"
			x="2"
			y="11"
			[status]
				stoned="on"
			[/status]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			description=_ "Blum Duk was renowned among his goblin clan for having tamed one of the Dire Wolves of the mountains, and he had the courage to match. His leadership and skills alone were what kept the area's goblins alive despite human and elvish menaces. Rumor had it that his wolf had slain fifty men and a hundred Elves.
Thus, when he heard of the awful monster that was inhabiting the area, it was only natural that he ride out alone to face it. All the other goblins expected him to slay the creature easily and drag back its carcass to feast on.
He was in for quite a shock. As soon as he saw the Basilisk, Blum Duk cowered in fright. He tried to wheel his wolf around to run away, but it wouldn't move. As the creature stalked towards him, he screamed his last words: Good Gog, dog, are yer legs made of stone?!?
(inscribed by Elvish Pillager)"
			name=_ "Blum Duk"
			random_traits="no"
			type="Direwolf Rider"
			unrenamable="yes"
			x="10"
			y="17"
			[status]
				stoned="on"
			[/status]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			description=_ "Rah Ihn Mar, Champion of the Burning Hills, made his way to the Ruaskkolin Lake region in pursuit of the Elvish Hero Terowydlithrol, known among Elves as ''The Dragonbane.'' It was said that Terowydlithrol had killed a Dragon of Fire that threatened an Elvish village, and initiated a ''counterattack'' in which some 37 Drakes, camping in a nearby ravine and believed to be in allegiance with the Dragon, were slaughtered. Knowing that these Drakes were innocent, Rah Ihn Mar came to Ruaskkolin Lake to hunt down and slay Terowydlithrol, who had been seen entering the region but a day ago. Burning for vengeance, Rah Ihn Mar began the hunt....."
			name=_ "Rah Ihn Mar"
			random_traits="no"
			type="Armageddon Drake"
			unrenamable="yes"
			x="11"
			y="14"
			[status]
				stoned="on"
			[/status]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			description=_ "He had lived there for ages upon ages, in the depths of the water, preying upon the various fish and frogs and merfolk that entered his domain. It was his lake, no other's, and though it was not large, he was its master. Then, the Basilisk came, and looked into the Serpent's eyes. And the Serpent had not died, but it was no longer alive. Thus the new lord of the lake had arrived.
(inscribed by Turin)"
			facing="sw"
			random_traits="no"
			type="Sea Serpent"
			unrenamable="yes"
			x="22"
			y="12"
			[status]
				stoned="on"
			[/status]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			description=_ "A brave hero of Wesnoth's Golden Age, this great rider and commander of men came to this evil place while on a raid against the orcs. Caught unaware by the foul creatures, many of his fellows were killed, but he fought valiantly, slaying many a foe. But alas! The foul Basilisk turned him to stone even as he slew the last orc. Now all that is left is a stark reminder of his once great bearing and strength.
(inscribed by Fynmiir)"
			facing="sw"
			random_traits="no"
			type="Grand Knight"
			unrenamable="yes"
			x="25"
			y="14"
			[status]
				stoned="on"
			[/status]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			description=_ "Bramwythl the Wose was always considered a slow, taciturn fellow, even by other Woses. More than any other Wose, he enjoyed simply standing alone in the sun, arms upraised, admiring the beauty of the empty sky. Once, even, he confided in a fellow that his greatest wish was to be able to bask forever in the sun's glory.
However, not long after, the local wose community heard of the approach of a horrible monster, powerful enough to easily destroy the few woses that lived in the area. They quickly moved off (quickly for Woses, anyway), but Bramwythl was left behind - in their haste, no one had remembered to find him and tell him of the danger.
He was taken quite unawares by the Basilisk, and turned to stone before he even recognized the beast. His petrified form still stands there today, warmed by the sun's rays, under an open sky. His greatest wish has been granted.
(inscribed by Elvish Pillager)"
			name=_ "Bramwythl"
			random_traits="no"
			type="Elder Wose"
			unrenamable="yes"
			x="32"
			y="6"
			[status]
				stoned="on"
			[/status]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			description=_ "General Talael Ryndoc came to this place to fight a duel with the Grand Marshal Aethec Corryn, but the two men never found one another. "
			facing="sw"
			name=_ "Talael Ryndoc"
			random_traits="no"
			type="Iron Mauler"
			unrenamable="yes"
			x="34"
			y="11"
			[status]
				stoned="on"
			[/status]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			description=_ "The last words spoken by Grand Marshal Aethec Corryn: ''Talael Ryndoc! I am through searching for you! I shall make my way back to Haldric's Hall, and inform the court that you were too much of a coward to attend our duel! Your disgrace shall be more agonizing than the death I'd have given you!''

Perhaps he should not have shouted quite so loudly.... "
			facing="sw"
			name=_ "Aethec Corryn"
			random_traits="no"
			type="Grand Marshal"
			unrenamable="yes"
			x="15"
			y="11"
			[status]
				stoned="on"
			[/status]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			description=_ "This brave warrior, known as Rilhon among the Naga, heard tell of a fabulous treasure that had been lost in these watery caves- a spear whose head was said to have been fashioned from the tooth of Chak'kso Ney'yks, an Elder Basilisk slain long ago by the Elvish hero, Eloralduil. According to the legend, the weapon rested somewhere on the bottom of this very lake (Ruaskkolin Lake, named for a well-known Sea Serpent who made it his home). Having prepared himself for battle with the Serpent, Rilhon met with two rather large surprises. The first was the petrified form of Ruaskkolin the Serpent. The second was the very-much-alive Chak'kso Ney'yks, who was, oddly enough, in possession of all of his teeth.
(inscribed by Paterson)"
			name=_ "Rilhon"
			random_traits="no"
			type="Naga Myrmidon"
			unrenamable="yes"
			x="20"
			y="12"
			[status]
				stoned="on"
			[/status]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
		[unit]
			description=_ "Through waves and rocky channels
blue and white
she pulled and pushed the tides
and taught the fishes how to speak to planets
silver green
with magic
running from her spirit into skins of kelp and shells of snails
a twisting of her tail and hands
she sent her songs to run on pin-tipped legs about the sands
and now
and now the strangest pause
for years and years
she hasn't moved her eyes

(inscribed by MJQ)"
			facing="sw"
			random_traits="no"
			type="Mermaid Siren"
			unrenamable="yes"
			x="17"
			y="11"
			[status]
				stoned="on"
			[/status]
			[modifications]
				[trait]
					id="remove_hp"
					[effect]
						apply_to="hitpoints"
						increase_total="-100%"
					[/effect]
					[effect]
						apply_to="movement"
						set="0"
					[/effect]
				[/trait]
			[/modifications]
		[/unit]
	[/side]
[/replay_start]
[statistics]
	mid_scenario="yes"
	[scenario]
		scenario="2 jug. - Las cuevas del basilisco"
		[team]
			[recruits]
				Bowman="2"
				Cavalryman="3"
				Fencer="2"
				Horseman="2"
				Mage="2"
				Merman Fighter="2"
				Spearman="8"
			[/recruits]
			[recalls]
			[/recalls]
			[advances]
				Dragoon="2"
				Pikeman="2"
			[/advances]
			[deaths]
				Bowman="1"
				Fencer="1"
				Horseman="1"
				Mage="2"
				Merman Fighter="1"
				Pikeman="1"
				Spearman="3"
			[/deaths]
			[killed]
				Goblin Spearman="11"
				Naga Fighter="1"
				Orcish Archer="3"
				Orcish Assassin="3"
				Orcish Grunt="8"
				Troll Whelp="3"
			[/killed]
			[attacks]
				[sequence]
					s11="1"
					_num="30"
				[/sequence]
				[sequence]
					s000="2"
					s001="2"
					s0010="1"
					s01="1"
					s010="2"
					s1="3"
					s10="1"
					s101="3"
					s11="1"
					s110="2"
					s111="1"
					_num="40"
				[/sequence]
				[sequence]
					s001="1"
					s1="2"
					s101="1"
					s1011="1"
					s11="2"
					s111="1"
					_num="50"
				[/sequence]
				[sequence]
					s000="1"
					s001="3"
					s01="4"
					s010="2"
					s0101="1"
					s011="4"
					s0110="1"
					s1="3"
					s100="1"
					s101="1"
					s1010="1"
					s11="5"
					s110="1"
					s111="4"
					_num="60"
				[/sequence]
				[sequence]
					s001="2"
					s010="1"
					s011="1"
					s1="2"
					s100="3"
					s1001="1"
					s101="3"
					s110="4"
					s111="3"
					_num="70"
				[/sequence]
			[/attacks]
			[defends]
				[sequence]
					s="13"
					_num="0"
				[/sequence]
				[sequence]
					s0="2"
					s001="1"
					s100="1"
					_num="40"
				[/sequence]
				[sequence]
					s0="2"
					s1="1"
					_num="50"
				[/sequence]
				[sequence]
					s="2"
					s0="1"
					s011="2"
					s0111="1"
					s1="4"
					s10="3"
					s100="1"
					s110="1"
					s1101="1"
					s111="1"
					s1110="2"
					s1111="1"
					_num="60"
				[/sequence]
				[sequence]
					s0="1"
					s0010="1"
					s010="1"
					s011="1"
					s1="1"
					s1011="1"
					s11="1"
					s1100="1"
					_num="70"
				[/sequence]
				[sequence]
					s00="1"
					_num="80"
				[/sequence]
			[/defends]
			recruit_cost="337"
			recall_cost="0"
			damage_inflicted="1048"
			damage_taken="706"
			expected_damage_inflicted="958227"
			expected_damage_taken="633459"
			turn_damage_inflicted="0"
			turn_damage_taken="0"
			turn_expected_damage_inflicted="0"
			turn_expected_damage_taken="0"
			save_id="Rommel1"
		[/team]
		[team]
			[recruits]
			[/recruits]
			[recalls]
			[/recalls]
			[advances]
			[/advances]
			[deaths]
			[/deaths]
			[killed]
			[/killed]
			[attacks]
			[/attacks]
			[defends]
			[/defends]
			recruit_cost="0"
			recall_cost="0"
			damage_inflicted="0"
			damage_taken="0"
			expected_damage_inflicted="0"
			expected_damage_taken="0"
			turn_damage_inflicted="0"
			turn_damage_taken="0"
			turn_expected_damage_inflicted="0"
			turn_expected_damage_taken="0"
			save_id="ai3"
		[/team]
		[team]
			[recruits]
				Goblin Spearman="12"
				Naga Fighter="1"
				Orcish Archer="4"
				Orcish Assassin="5"
				Orcish Grunt="13"
				Troll Whelp="4"
			[/recruits]
			[recalls]
			[/recalls]
			[advances]
			[/advances]
			[deaths]
				Goblin Spearman="11"
				Naga Fighter="1"
				Orcish Archer="3"
				Orcish Assassin="3"
				Orcish Grunt="8"
				Troll Whelp="3"
			[/deaths]
			[killed]
				Bowman="1"
				Fencer="1"
				Horseman="1"
				Mage="2"
				Merman Fighter="1"
				Pikeman="1"
				Spearman="3"
			[/killed]
			[attacks]
				[sequence]
					s00="4"
					s10="1"
					_num="30"
				[/sequence]
				[sequence]
					s00="4"
					s0000="1"
					s01="5"
					s10="2"
					s100="1"
					_num="40"
				[/sequence]
				[sequence]
					s001="1"
					s1="1"
					s10="1"
					s11="1"
					_num="50"
				[/sequence]
				[sequence]
					s00="1"
					s001="2"
					s0010="1"
					s01="2"
					s1="7"
					s10="1"
					s101="2"
					s11="2"
					s110="3"
					s111="4"
					_num="60"
				[/sequence]
				[sequence]
					s11="2"
					_num="80"
				[/sequence]
			[/attacks]
			[defends]
				[sequence]
					s="14"
					_num="0"
				[/sequence]
				[sequence]
					s0="1"
					s000="1"
					s010="1"
					s11="1"
					_num="30"
				[/sequence]
				[sequence]
					s0="2"
					s00="3"
					s1="2"
					s10="1"
					s11="2"
					s110="1"
					_num="40"
				[/sequence]
				[sequence]
					s="1"
					s0="2"
					s00="1"
					s01="1"
					s1="2"
					s10="1"
					_num="50"
				[/sequence]
				[sequence]
					s="8"
					s0="4"
					s00="2"
					s01="7"
					s1="6"
					s10="8"
					s101="1"
					s1011="1"
					s11="3"
					s110="1"
					s111="1"
					s1111="1"
					_num="60"
				[/sequence]
			[/defends]
			recruit_cost="471"
			recall_cost="0"
			damage_inflicted="706"
			damage_taken="1048"
			expected_damage_inflicted="633459"
			expected_damage_taken="958227"
			turn_damage_inflicted="1"
			turn_damage_taken="17"
			turn_expected_damage_inflicted="2064"
			turn_expected_damage_taken="3750"
			save_id="akkon2"
		[/team]
	[/scenario]
[/statistics]
