From a860c4dfa15b7f1e9465014830130afea843e527 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Sun, 3 Jul 2022 15:34:23 +0200 Subject: [PATCH] AI decreases defensive weapon used --- ai.asm | 28 ++++++++++++++++------------ scorch.xex | Bin 40425 -> 40430 bytes 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/ai.asm b/ai.asm index d3549c7..c922c33 100644 --- a/ai.asm +++ b/ai.asm @@ -9,7 +9,7 @@ ; greeeting to myself 10 years older in 2013-11-09... still no idea ;---------------------------------------------- -MakeLowResDistances .proc +.proc MakeLowResDistances ; create low precision table of positions ; by dividing positions by 4 @@ -30,7 +30,7 @@ loop .endp ;---------------------------------------------- -ArtificialIntelligence .proc ; +.proc ArtificialIntelligence ; ; A - skill of the TankNr ; returns shoot energy and angle in ; ForceTable/L/H and AngleTable @@ -56,7 +56,7 @@ AIRoutines .word Poolshark-1 ;Unknown ;---------------------------------------------- -Moron .proc +.proc Moron ldx TankNr jsr RandomizeAngle sta NewAngle @@ -66,7 +66,7 @@ Moron .proc rts .endp ;---------------------------------------------- -Shooter .proc +.proc Shooter ldx TankNr lda PreviousAngle,x @@ -149,7 +149,7 @@ loop rts .endp ;---------------------------------------------- -Poolshark .proc +.proc Poolshark ; defensives ldx TankNr ; address of weapons table (for future use) @@ -189,6 +189,10 @@ EnoughEnergy sta ActiveDefenceWeapon,x lda DefensiveEnergy,y sta ShieldEnergy,x + ; decrease in inventory + clc + sbc #1 + sta (temp),y NoUseDefensive DefensiveInUse firstShoot @@ -280,7 +284,7 @@ AngleTable ; 16 bytes ;ba w $348b L$3350 .by 16,24,32,40,48,56,64,72 .endp ;---------------------------------------------- -PurchaseAI .proc ; +.proc PurchaseAI ; ; A - skill of the TankNr ; makes purchase for AI opponents ; results of this routine are not visible on the screen @@ -307,12 +311,12 @@ PurchaseAIRoutines .word PoolsharkPurchase-1 ;UnknownPurchase ;---------------------------------------------- -MoronPurchase +.proc MoronPurchase ;Moron buys nothing rts - +.endp ;------- -TryToPurchaseOnePiece .proc +.proc TryToPurchaseOnePiece ; A - weapon number, better it will be in range(1,32) ; TankNr in X tay @@ -360,7 +364,7 @@ SorryNoPurchase ;---------------------------------------------- -ShooterPurchase .proc +.proc ShooterPurchase ; first try to buy defensives mva #2 tempXroller; number of offensive purchases to perform ldx TankNr @@ -380,9 +384,9 @@ ShooterPurchase .proc bne @- rts - .endp +.endp ;---------------------------------------------- -PoolsharkPurchase .proc +.proc PoolsharkPurchase ; first try to buy defensives mva #3 tempXroller; number of offensive purchases to perform ldx TankNr diff --git a/scorch.xex b/scorch.xex index e0eca409da9d648926f9224b416754ca8cdc6114..47955ceb63c0a67fa3b5a38814040153e715767f 100644 GIT binary patch delta 12556 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 VH#st5t+-os&gymO3V$`>e*v(8o+|(V delta 12559 zcmbVy349aP_J5W(T_|l>4N74Ew?0{lA_S040a;>MR76>fER_Hah@hatl#+o$J2mMP z+POnWUnQkeJAEm8)d((N(`Rv9c<-qnd5BV|&(=IQ;P-yg|MyPP7I68!&z~hTcRA;t zd+s^so@H8IH#EI&2&@^VUwYu#VQ2LTt9|NEOx4rMYGM9xOB!0A$T}{Md1i{N=kF!V zg0-@aKFyP51H(*Zrmd{rCDsQs1@G`Q7H@q5;@C>j65K0p42a&nVsMYRu~PKzp)X$? z7Tt^*kFhV_5Zyhkc=_dx=%il`(@C~H_scp!;kDj;Q1OakqwOCPTAq-wsO}T2C->kB zMO(`R*+d(y{;OUDfXi?*K+L^Y<~eA%u%nzKi-H6+0 zaU|xdKhk&bQ^D^KIH|wMJ;4r*ai_&_EXCZd-uy#jzCXVKh+`l@`L@9i;4BJO`M|vn zuC_eG`eYM;mBf!i!`)XxYXU#-++jM~9+2uU_S|1XGD4 zhRY5PAPyb3*&0kEO)*>!7Tm&H2|toV*dmYThf{8hAXq1@Zzv^jsiO9S?aZX9GOJ0H zVPgI%G5CgP$vQ;^D0oH30g=uNh`~xauTorA zX$O3%E?CzwKhdh35`U=^D*#s~+S^Wu+k!(*B^t@x=3p92K&~E?*bEavTthDsxXkw; znBJ4{Hxb@Kl6#QBJ%8huZbcvNXO(r$J%|R<43M4xZ3f&;^l72+bZMQ+>s8*M@rG_YFEayEPvdfOknx949fj1|F%JSfaTvYC=*%!J%hb$oUA*Wt{R|DnUc3$ z@-|A|+jo02cYDis*N2VfFYWST^=nyIA-g$`EOLb<9#5l3H8d9b3qw9N#_tK0tN#K4 zg+4ik7kqLn|B%FwrDtK1m}xK~{h=pv64sK_`5z5sF|ygK68!uX^m{)ea;x{WaR2CG z_k934`=2u14yfYAvnKU2Fu*LBxTA8I&)5sRg`%v3Q7Bzl_8_do{IBg(N~Y{RTx(;i z?85%h6WBsAy<1{MnNHRX%o5X$Ov)=75Mz90S;ex-Wws~3rr3)$?3e6iI?CQSh;QI$ zbaphhdiHugEf&Mgx#r6kF|rl=^?Rt8e{RRD(80hJ`s4%(V&sYxkMBg08mq8w-w7em zs0fi}AzJQ#_yrgwe-R8)@QV0Fv#6SaKZsvk5CchgVhFt$vomYgLTFk=i{lB-qr?(C zPk6$NJLPJtsGgJ4xm+fHt!?C#Gp(ZeV|j2}6Psw?P}vw=5O(ZK@gi0AAE~ZxErb~m zf?tYXoD;+S+R5AIeE(mV!dz*)jbGtkm?ROjjDP>0as3ItYNKjo5`rI67uF4x?qhBzNNHN=$dV z?NWvui}RyhT{^mAqFudy-PO0F>jpsPQieb8hP&#M=WuN;uwYRYICA)@QIY{^~ ziE@bW=SY;8uZVJ#H0k)S3FSwR239;qNE@E&KzddLr>>dncpYn}Kfc9CUjZl6rF!Gv^_?OiLK~oVr0Lb}*5G8^O#lyO;CO+-cHU+QvXgOtMLKblWN7!(wsa;f&a!b1 z!3x2JxY)2ra1II8xnt$`&}ZxSP+A=4v7+z1Co%^JDIvvJ49nnh$so8~=HPAt0&dHW zDWGs!Wxe^_sYwLnr5kNWZ5q>AYOK;s7RT_c<%G-iZw~2UwX;K`0$`Ca@X$yTs)vPf6Ss zWs$_Wl*JOqDN7`7tFlzWA{34ZtvU%n^E(jDC@6aaEVFw9=;=+Em!72R7hAf789vF5 z`D+QiF*~hkSxfLwSxXw`O78EJx8Hsj(ui=-ov9G8%8-5W?usDnw6D)9* zI55H5WZ=@k1#TPUBeZH+rSdFMA6C{-)Pd>BT*=zJ20;46#KekVlF;(N?Stw>wF{8n zO90_nx2#gud6UQvcT!b4nYnDqID6jM&{ZTZs^?MhLbux><5E z=1^T~oEEq^SZN&bmxOjhpNd1b zG=_Wni&ewPl9R`;&SvxIN4?V!RRfBBNcDvBVq)xfx5;SPdiX zNRaiGtU7{D>eiVg+tFEaw+PEk5`_5I+tl+bH0H5YD>Un(4=3cWB#^VJm83BnD{jtJ zFPzNr=Y(3rx3;Vx_@}HO{7RCs5?9hX(!4UlmL~Yur{+rPpMQ%_b}XGqIs7zHGU@!M z!A2bCH77Z!{V1>LjP!9i*fLIVMB54C%;FzR*N+uOKG^rM_5-J!4jU+`o?@^L>Tqy_ zvW%$4Qx0-!8BrW0q=Tom3=c@;jM;YR|BY^y=1^(QmGGAb$Mr`PcE%p+tfm29$5je$ zyG15<5jebBFi%;oKO?+2r9XQC0p8VSD#3*}_-k&Xt|XD#Bmp^3#Wz++2<8|Qu> zV7Bx}{71|*7CI8@73im7K{N*^?}8X=RXd+)7R`vW;O_wf@X-lY3^!>=Sh@&irGHLG z^&kS^ts?wFoE#mK4b}u_)ky z)^Z!wZeQMW#{Qsh^PTKpZEjjk+_&k~MKWmu;V@nbY_qrM&qF=`4nVv^)I z_#^N})FkW&ufb*!EeyR)KxDgPa+t`yKw#A|61Cd!Q8cp+FC}WX;i*u=4OgX9XMz6& zOW}b71yfPT!kzoj6G(vjqREFH!;r;8RHctll|BlU#^LtXl;1&c}-02$Pj0&#)?4OnLwUT+$)&3>#j zuJ+EH6Z^yICk}*TbIsqUKRNIvvib=uq{f0b;hB_Gn4B8nly?Au<$sB&qcJW0p3&N9 zJe+wgM5b{Wz2QBf@nMSHS&k%V--qN81@T-9yeU z)l|hiyN3V)uT&{Kt#luT!=NdER z1z6gM@N`o3b!>hG!Qt^i>K5~F5*#W2n&vUTPRaF9b$pfZRfJav4wl+&jUXnLa3_Sjs2pdmlee2i2EZ_VaU5(UEf4pH7B{JT^rPmr>B z=Skx3ZBf{FNEYzFN|bj=7FMYu$_bK%wG=Y=9WwY`GWZ0kS3d?&HBstFm_gXB&Bs%l zj;A&o&uW56nE4mN2MAw7$pdY1@0;IXS246!1jT)ltr_cSwoD|`^2`An%&!QZ_j#+|$0ZgY` zM!ax{WMLPFh(&poWFhSUzEqJc2lg=8V|pb({+WFhkae!NE2?{%tvL8^XlLj9;p zx~NKWR3*1kmD~pBjTLe3OZjyf!^po?Q*NN8G-IG5(#=W{nUIm zrvG!)ZG+8%xj|xzhJ%Oci9#{}PtSN2ZCb&qCWOW;0lOd_hz#kKYx~b*kdfat;U+19 z5BdyDFgd^k9f$Z~$)kkYb)40P^Eq@K7;T-l(h=&9M?_RxsdNd}I!~}xSquv)^n!?k z#OtCU-t7dU=PjUe=M|{Xc}u9odA-zvmLUi_WxkEkR6|CABp9xNka-1>7CB2FY51u)Cj<* z%*I=K64Xo!DaWG)Y`7L;fjue;uj`{?Db&4~hYG*&3A@mOg9;M&5JPsIw?Q>sBjiXkLrF_g8j$nd8dLFoT&2!IUW z?WTaeCPe7SnA6O-lO9hrekFyc2Lr;H>!QsYoZR8?q! zg=VDfTIgM>%U?mt*28mWRyZ@!}RRYRt*S=jz?H+BV)ABCHa5rpuaSCXL~k4ITa zrnaIJb1&2#zf;{W<0=Ja$SRWGkXb8LMiW`(J`x(|PL#)C3|kvRtp4m~%p8T8&6qiwD5DXYf!m`9ZHyodqfsDHhLeU- z#GRy|cQ~CwYXc)m!x%bdB@OqHKoU@cU&874sa>jz#4`)T-~!S7=G6t-tT?qBI?+HUY|K6kQ{W`rJ(*A8 zt!jZ-SC_v_tXe3R>1v;1QA(>Fk;$T*rkz4d)stfF3YPCqs_bIzYL@Rss-6;S*RlK( zv1*Z6`vS}F6ss1CwI~WK6>gg|*0exOOx(CYaLnniFB0e207+=aNTo9C91eq=M%xjy z$##4(aMg9-qK8PAb3W_tNsd^qHrpmYRo!MdX2tIk3;-+E} z%8X3Xu*xU+&co#U+6P~~c95R!47$&RDw|Z>6$#%=`Z7u?&#R!d;w#5okY|X?71jlb z?$9_(&A|<=F3-Wx5_gQe*mIE0*F+C1o?ArmB}eeV5SoZBacTr9bT%|pO_F=V*lNXM zwI9Oa?q4J!j6+(PCaNM1Qut;(YhT_DU#VlsnuD6=0~^jHiG-7IDx;)uT-|ZA`tu#7 zy7#9`fh+koDPlIXVH_HU@1%$J{xoe=czhm{j1x$gPe9`DsIBQdv^n`{PLf82tZr8MpX-2`G7L+4uD5@9i zxJxumX_`zG&GVxf4@^-F8&ZlvG37 zI4|bQ+4wyhAO56Zrtr!9TiKaXSYNMof=Bm`_YNOlFjKPKy{u)Hq|A~+37YRSOJasP z(0NMhg!ILOl1LXOAr*;cD8Ze8hP5f-+A(Vr9W&Dri=$%%(d8`3n<khuUAc?BE}flt;BzciMVXQs!ta6K&0rN{zLTNS>Xj z1lmjWWw>LKXJ3aj+>Z2I6sZRIh;)0Yz8%usrE9nDJ$l|`>2^--@;qi(M5@gNcqd-&U;X3)t@iq3jH2_na^LyJ1`TY6&AmTIzuo`@Py<# zPN?yq;%MN6+~ck44_3d>)R|xI3qB_BD}2F_z^|l*^emsU!iNOPN*`BPmF1%j6vOZJ zDOtY6L`&8(ABXaFmcz$#va;OARWeV%*plVbh%0Ky@~Q72R?jc?RTcY`ofOS3psDd7 zA2paFDFL`5`T$D+i`y9${ik2Fpx+V0m-rCTh`yF$pY5yVv|8l#DPA8>e9Ygn@M6If zuTTD8ey2}nd3Ki%PH73HSZteiW_kOxDB!UyNOR~eH4aOmSV=Ga)jnjYWFuFtEufJA ze*!qO`9DT^vReJnE_dh3wac8vM+|zd{P(DAj!^l>7~6^LAm_iOHp&6*a|a z<1V6A$DWN>f7qK>`#JR*aI|n5o{w%8PQ%Uo^Z3Yze^G?z@scPz|6uR!>)?gTTXWW_ zJwC)kUSEVf+Z}X^7?EqP-5JiS-ejHtLjyCKIYCa~pPzt=jJk-? z9~1t)s9Vh2;E52wIJFb*qEtBSVGG*ni+jyPqz;D%$yRX7*6w0q#a4U{K{KyWR#w!e z=Ww}d0@{&Rc})9kr3a`}dcrCx7C~G*aui?|wNnq_qevcW?|@0@aQWh*E}y+>mzY~? z6_S<=i&;bXXN8GNrt7l=_mb}Yv*5CCMSZT)zwP`M?p6Qh6C5o;o^ZJ>N)}CrW(g;k zWSH<8gV&pvt_0k+rD^!BSvml}r5LqW5oHbV1zL--qW?Vl(bCqI=B{>c(9rI?4(-cheh2T%zrq^K&N%v`YQxi)JNsON0;eJ4 ztY9Tk%e@!EcFH8&y8O*fjnIVM+%DQLG%rurHwt}L4DLUi%Ek!fMl1+DwVK5UE#sjz z@8G=32*J7H0d^#k`u^+&D{&tQAHvN43y3)OaC@*+2nmrIZ|J?iko*uW9eBK44)fgx zmC?vUp$x+wE~myr$2|F3?MzEFM84K)^r8^Br!iYdUm14|4RUy&5~7*SY0qnTqNxcj zM{0#YgyI92Ee<>6E{PsZCkcHxASxxQhD*>#e&WfbMM-S0`AllaF;)) zROi{LBunA`R;82FoFI*)c#@>%L>c&u*P1HP3eSd6Y+KEkIjKuw?b?hdT#fPf*dmj5J3Fr)NS1J1L3NyjoV41x#>M}Wq;|>ixNHkH zXpJ$w&;XS3PvSjI{5-y9^B3T2wz8P2dh%^O3HQOepQ=RdiKRdND^ZiN`lp{E?GQXo zMEz-@lk-oY!ta{QEuS{6BD%1)Y;@818ke@By~d?2hT1FV@`EhDD=m)yT~N&KlCz*o z4rR<1xz2h%hmWTfRNIIbqKIg~dne~|8)6!{Q}M!4XK!{8x81+Pv6I_T8dtM@YODA& zY@&FT`>pAMru{On3YV2&=Rd`88BXPEnj0?p1 z9m%*zoMDpDM4bO-NyazC`8~<_7jgbTGQK6wA4x_tasEWC&Yy|%Dsf&S&Q{{QOq@E& zd4)LjlJkFv(;zwjL!3s*`M<;&BRPK|&RDqkyQz|<$gO2@-k*v0Dg@zDnGU>cBx8Oi z2;=eELdIOhYi=7S<{BEgi*P$WvnzgIm{#HaK4q^D1uX;KU!m{Qxb0x*4$2NiV^$HE zr7JVmY#;cF&m8k7{7Fc`g7}c}Dv`rp$|Y}$@Tb+ie>I?4X+kQY`Q7*gxesO^RY1Q>wQhJs9^_Pz9w4Ew$0l}EiVd? zLcuc@HkR1#-$*S(UyI{a%$Jw^dKDB_zj+Wpy{F)7NADUR3J%`&KDaSnmyZVF9-3(@ zEM;9xcE}oUZmLWyj|p9~w@^(4~_0z@FLm zlHAG(<$2Ugc{eZoKrOPMV}nD;r$a~})ml4*{4#_fn7RueA{R}YHVvO=IpX;upRLy> zD`s8M29w(dr^aC{*L)be4C(OcT|(fesv@6d!=g=mEKB5pbi;be);B0y4Pa|@!yS9L zc5nM%d%OOl&(3{gwlH_5TgOjHtgNpOW^bAjWH(K*7i{`sQ!?A}*IrROjtf6nd(4GM zl67%~$eeHjvL;-Szvx7vD%|;O=bn4<(dqfZXc8sD%-U9$F#Xv+)7+a*7OO3C3|EYR z8}#cze@fsdCem+5>=GRqih;5119E&@KLzMZ`-KC~&NpS2H{PCEexS$N*SoP}9a%5t zzP$hMU;U_yOJ;^XIP;lJ{E=fHes{IgEu*GAvMle<`%ivlNWJ&*wVr)%eEL%gYloa&Hnc@&Co#uENW?{q%(gYH|n1#;g=y7Cp1N KAGpL{O8I{p%$+#^