From dac1a7bdce378756a17d77e975d074ae6acdb985 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Fri, 19 Dec 2025 14:38:04 +0100 Subject: [PATCH] AI in Team mode works --- ai.asm | 20 +++++++++++++++++++- scorch.xex | Bin 32431 -> 32456 bytes 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/ai.asm b/ai.asm index 9da48d8..d660a36 100644 --- a/ai.asm +++ b/ai.asm @@ -440,6 +440,8 @@ loop01 lda BarrelLength,y cmp #LongBarrel ; if target has Long Schlong do not aim beq skipThisPlayer + jsr CheckTeamMember + bcc skipThisPlayer ; if the same Team lda skilltable,y beq ItIsHuman lda PreferHumansFlag @@ -502,7 +504,8 @@ loop01 lda BarrelLength,y cmp #LongBarrel ; if target has Long Schlong do not aim beq skipThisPlayer - + jsr CheckTeamMember + bcc skipThisPlayer ; if the same Team lda LowResDistances,x cmp LowResDistances,y bcs EnemyOnTheLeft @@ -822,6 +825,8 @@ SetNextTarget lda BarrelLength,y cmp #LongBarrel ; if target has Long Schlong do not aim beq skipThisPlayer + jsr CheckTeamMember + bcc skipThisPlayer ; if the same Team ; check target direction mva #0 tempor2 ; check target direction lda LowResDistances,x @@ -843,6 +848,19 @@ TankHit rts .endp +;---------------------------------------------- +.proc CheckTeamMember +; Target tank number in Y +; result in C bit ; 0 - the same Team ; 1 - another Team + sec ; if there is no team play, then as a member of another team + bit TeamGame ; if teams game + bvc no_teams + tya + eor TankNr + ror ; check lower bits of tank numbers (team) +no_teams + rts +.endp ;---------------------------------------------- .proc PurchaseAI ; ; A - skill of the TankNr, TankNr in X diff --git a/scorch.xex b/scorch.xex index e365533a3b25368271ac9d0acbc4b7fb86ae466e..90c88af2ae56f60a04dd90b9be15119a1028c9bb 100644 GIT binary patch delta 697 zcmZ4gm+{13#tj1OjORBCvgb=O9@*Tea8I1kY;%Hz4I`7-g3a?RpRq7b+T3dA%E&I% znzS@IbH(P1_P1FW%_b*Uh;BaQA}S~wJ4a#F)Rhb$I272ytcKRUl?<(62|Z_d6$&?h z35{Z6Oq}c=A<9_4IW;1ak^k&G`}qm;n}Kix5H?S~8yU#>XtI7(1J{H33O8pdh|gAt zoxC&3h4I1Ue^HybHqKFaFyCV7td}X1|3yowr1aJZEuEdo&|52{a4f**8(53V?3D~a z+rc)@Q+P1>N3^~NQ0CMu1)xj{TxJ1_!lU_1XU%QoT{?SiJ1x`ABTC>}7fDSHQ zvZUik$_MM6vAiG5cFyEIDe^&IVb{C~le1!U)%PvQSz4N~@;@Q9J7aVi_f38tQ^9gz zu7bnljfzO4im~py-lVZN~J;7h*M8Ud#b<{{j^qm@BdLN+wXz zGngW~IBh}3c_4qYw$9qXbZqvqD?W=SSH&3zZk)4ZtAOL$v%J0Mcp+{!JadlsgAT~y z>JW!3fE+Fj^3>kryf=^YZeV&=3JRRPbJm>YUAk3(xkKPYf`!Vy0G1i9DOr=>$H_B( zo6H}d?)_xmN|x6AwOp4@@@@E;$*AyT-m&}(9}++UoIn9Zu)s<-h!SaJC3|&vy&%F+ zg_94)i%Nj>3w%gGmpniDUA#Cj(Xl0z@-Qx%T$3|JW73M&PfLGDPF^whyTsn(5+4*# hGG36{J6}Sg_Pm6|p3@SQ%T~;tFR^p?W{cc%K>)&LKtlik delta 669 zcmX@{mvQ}H#tj1OjN3K~vgb=OuHM|Ja8I03c5{M-4I|Uv`J3liK4W35+}vvC%EiQ_5TC6O zF?nZ{3*+(0|DrZ=EuW)se7?ofSuay2|BIGVN$IT-S~@$Ep|@5@;aGsrU9c9F*((`< zwu5b)r*M4ok7#{opv#Pk-$7Ub9;xlt{OPsOO@;OVk3fQbY%iDX77vfT#Gv|0esDqrV1aYo3 z$QOH$^WHqpyMgIhDJV2H&slSpcj;CE<_>|glR4t$8ShTkh)+*EJ#QsTYyMiUODFj@ z{LExjI6d!J{)G<-AOTLGfFf96B^yMEG_sPtI=o&GVT3|~4?s~a6vdN2#EVI81DXnv z BFS7su