//COMMODORE PET BASIC HERRE:
//NOT SURE OF THE BASIC CODE FUNCTION, MAY BE PART OF THE FOCO COMPILER OR BASIC ROUTINES FOR FOCO.
3 L=9500: D=256:IF L <> PEEK(135) * D + PEEK(134) THEN G=136: W=L: GOSUB800: RUN
5 N=2656: N=-1: DIM S$(80), V(80)
10 B = D * PEEK(125)+ PEEK(124)-4: F = 89: G=F+1: T=6764 : P=T
20 DEF FNK(X) = X < 128 AND ( X < 65 OR X > 90 ) OR X > 169 AND X< I75 OR X > 176 AND X < 180
100 GOSUB 900:IF S>0 THEN 140
120 IF TI$="" THEM PRINT " BC "CHR$(34)CHR$(X);:GOTO130
125 B=B-LEN(T$)+1 : PRINT " UR "CHR$(34)T$;
130 PRINT CHR$(34)",";: E=1: GOTO 100
140 IF S<228 THEN GOSUB 700: GOTO 100
150 ON S-227 GOSUB 170, 180, 165, 250, 280, 300 ,120 ,350, 400: GOTO 100
165 S=226: GOSUB 700: H=T: T=T-2: RETURN
170 IF G>F THEN PRINT " IWE,";: E=1: RETURN
175 GOSUB 700: R=D* PEEK(G+1)+ PEEK(G): G=G+2: GOT0 400
180 B=B-1: X= PEEK(B): IF X<>34 AND X>0 THEN R=R+1: GOTO 180
200 IF R>0 THEN FOR I=1 TO R: S= PEEK(I+B):GOSUB 700: NEXT
210 S=229: GOSUB 700: GOTO 400
250 IF G>F THEN PRINT " 1WE,";: E=1: RETURN
260 S=226: GOSUB 175: W=T+3: GOTO 800
280 W=T: GOTO 800
300 B=B-1: X=FEEK(B): GOSUB 925: IF T$=~"" THEN 330
320 GOSUB 750: N=N+1: S$(N)=T$: V(N)=T: B=B-LEN(T$)+LEN(X$)-(X$=""): RETURN
330 IF S<236 THEN B=B+1: T=Q: RETURN
340 Q=T: T=R: RETURN
350 GOSUB 900: IF S=236 THEN Z=R: GOSUB 650: GOTO 350
360 IF S=234 THEN RETURN
370 IF S<>203 THEN 120
380 GOSUB 900: IF S<236 THEN 120
390 IF R>1 THEN GOSUB 650: R=R-1: GOTO 390
395 GOTO 350
400 IF R<128 THEN S=R: GOTO 700
410 IF R<16384 THEN X=INT(R/D): S=R-D*X GOSUB 700: S=X+128: GOTO 700
420 X=INT(R/D): S=P-D*X: GOSUB 700: S=X: GOSUB 700: S=230: GOTO 700
650 S=INT(Z/D): GOSUB 700: S~Z-S*D: GOTO 700
700 T=T-1: POKE T+(9000 AND (T)M),S: RETURN
750 IF H>0 THEN R=T: T=H: GOSUB 400: T=R: H=0
760 RETURN
800 G=G-1: Y=INT(W/D): POKE G,Y: G=G-1: POKE G,W-D*Y: RETURN
900 B=B-1: X= PEEK(B): IF X=32 OR X=44 THEN 900
905 IF X>16 THEN 925
910 Y=X+D+ PEEK(B-l):IF E THEN PP1NT "{C-LT} IN LINE"Y: E=0
912 IF Y>1000 THEN B=B-4: GOTO 900
915 IF G"" THEN 940
950 FOR I=M TO M+43: IF X= PEEK(I) THEN S=I-M+192: RETURN
955 NEXT: W=1: IF X<48 OR X>57 THEN S=0: RETURN
960 R=R+(X-48)*W: X= PEEK(B-1): IF X>47 AND X<58 THEN B=B-1: W=W*10: GOTO 960
965 iF X=171 THEN R=65536-R:B=B-1
970 RETURN
// NOW WE GO INTO FOCO...
999 STOPSTR$CHR$ PRINT PEEK POKE@!GET+-*/\>=
IF
-RH POKE
1%-
THEN
+RH POKE
1+
END
THEN
1 RV PEEK
#10 RND\ >
IF
-RV POKE
40%-
THEN
+RV POKE
40+
END
END
#BD>
IF
_BD
END
#BT<
IF
_BT
END
102; POKE
NEXT
_
NEXT
// TOP WALL OF MAP BOARD
BD 39+ BD
FOR
102{PI} POKE
NEXT
// BOTTOM WALL OF MAP BOARD
BT 39 BT-
FOR
102{PI}P0KE
NEXT
// LEFT AND RIGHT WALLS OF MAP BOARD
40 BD BT-/ 1
FOR
102{PI}40* BD+ 1;-,102% POKE
POKE
NEXT
// INTIAL LOCATION OF TANK 1
RNX&
#TX POKE
RNY&
#TY POKE
LOOP:
// INITIAL LOCATION OF TANK 2
RNX&
RNY&
;;5^-#*%6^-#*+ 101>
IF
__.
END
TY 2+ POKE
TX 2+ POKE
__1,0
// CALCULATE BASE POSITION LOCATIONS FROM TANK COORDINATES
FOR
{PI*2}+ #TY+ PEEK
40*;TX+ PEEK
~BD+ 123%-%FORTPOS+ !
NEXT
1,0
FOR
{PI*2}+ FORTPOS+ @ 123+ 90; PDKE
224,40, 3^- POKE
224,1, 3^- POKE
224; 1+ POKE
224; 40+ POKE
_
NEXT
// SEND CONTENTS OF LOCS. 221-223 (?)
223,221
FOR
{PI} PEEK
SND&
NEXT
// SEND GAME MAP BOARD
BT BD
FOR
{PI} PEEK
SND&
NEXT
// END BASE AND TANK POSITIONS
FORTPOS#2+ PEEK
SND&
#3+ PEEK
SND&
# PEEK
SND&
1+ PEEK
SND&
TX2+ PEEK
SND&
TY2+ PEEK
SND&
TX PEEK
SND&
TY PEEK
SND&
// TANK 1 IS FIRST PROCESS, GO TO GAME START
0 USR POKE
EXIT GOTO
// NO WIRE ON THIS SIDE WE GET MAP BOARD FROM OTHER COMPUTER
NOGEN:
// GET LOCATION 221-223 (FOR ?)
223,221
FOR
RCV&
{PI} POKE
NEXT
// GET MAP BOARD
BT,BD
FOR
RCV&
{PI} POKE
NEXT
// SET BASE LOCATIONS
FORTPOS 3+ FORTPOS
FOR
RCV&
{PI} POKE
NEXT
// GET TANK LOCATIONS
TX 3+ TX%
FOR
RCV&
{PI} POKE
NEXT
// FIRST TANK TO PROCESS IS TANK 2
2 USR POKE
// GAME START
EXIT:
// GENERATE DISPLAY SCREEN
// FIRST, ALL THE BOXES
"{CLR}" PRINT
UB, WHBX! // CHANGE TO THICK WHITE BORDER
7,7,32815 DRBOX& // DRAW BASE WINDOW BORDER
7,7,32832 DRBOX& // DRAW TANK WINDOW BORDER
BX, WHBX! // BACK TO THIN BORDER
1,5,33175 DRBOX& // TANKS
2,1,33180 DRBOX& // BASE X
2,1,33300 DRBOX& // BASE Y
3,1,33454 DRBOX& // ICBM ANGLE
3,1,33614 DRBOX& // ICBM RANGE
1,3,33501 DRBOX& // ICBMS
1,8,33350 DRBOX& // MINES
2,9,33354 DRBOX& // SHELLS
5,2,33520 DRBOX& // WALLS
3,1,33361 DRBOX& // GAS
2,1,33203 DRBOX& // TANK Y
2,1,33083 DRBOX& // TANK X
// THEN ALL THE TEXT
17,2 POSCUR&
"{C-UP}MACH 2{C-DN*2,C-LT*6}F{C-DN,LT}L{C-DN,LT]ATTACK{C-DN,CLT*6}S{C-DN,LT}V1.O" PRINT
15FF POKE
6,11 POSCUR&
"{C-UP}T{C-DN,LT}A{C-DN,LT}N{C-DN,LT}K{C-DN,LT}S" PRINT
11,11 POSCUR&
"{C-UP}X{C-DN*3,C-LT}Y" PRINT
6,20 POSCUR&
"{C-UP}ANGLE" PRINT
6,24 POSCUR&
"{C-UP}RANGE" PRINT
12,18 POSCUR&
"{C-UP}I{C-DN,LT}C{C-DN,LT}B{C-DN,LT}M{C-DN,LT}S" PRINT
24,13 POSCUR&
"{C-UP}CONDITION"PR1NT
25,16 POSCUR&
"{C-UP}M{C-DN,LT}I{C-DN,LT}N{C-DN,LT}E{C-DN,LT}S" PRINT
30,16 POSCUR&
"{C-UP}S{C-DN,LT}H{C-DN,LT}E{C-DN,LT}L{C-DN,LT}L{C-DN,LT}S" PRINT
33,22 POSCUR&
"{C-UP}WALLS" PRINT
34,17 POSCUR&
"{C-UP}GAS" PRINT
35,4 POSCUR&
"{C-UP}F"FRINT
4,4 POSCUR&
"{C-UP}F" PRINT
34 8 POSCUR&
"{C-UP}X{C-DN*3+LT}Y" PRINT
1,5,33216 POBOX& //FILL TANKS WITH DOTS
1,3,33542 POBOX& //FILL ICBMS WITH DOTS
,0 ANG;;2+ !!0 RNG
;;2+ !! DISPA& //DISPLAY ANGLE
DISPR& //DISPLAY RANGE
8,11 POSCUR&
"{C-UP,CIRCLE}" PRINT //REMOVE ONE TANK FROM TANKS
TX PEEK
# STR$
2,13,11 RJP& //DISPLAY TANK X
FX POKE
TY PEEK
#STR$
2, 13, 14 RJP& //DISPLAY TANK Y
FY POKE
3 MSL;;2+ !!5 TCT //RESET TANK AND ICBM COUNT
;;2+ !!0 RENEW& //REFRESH TANK (DISPLAY TANK STATS)
2 RENEW& //REFRESH TANK 2
6 CTA POKE
3 DC POKE
34,6849 POKE
// MAIN GAME LOOP, RUNS TWICE PER TURN ONE FOR LOCAL TANK
// AND AGAIN FOR OPPONENT TANK, (BALANCES LOAD TIMING)
RUN:
CLAR SYS //DISP WINDOWS?
USR PEEK //WHICH TANK ARE WE PROCESSING? (USR)
IF
RCV& //THIERS: GET THIER KEY STROKE (IF ANY)
THEN
GET# //OURS: GET KEY STROKE (IF ANY)
SND& //SEND TO OPPONENT
END
// KEY STROKE PROCESSOR
#
IF
#" "_= //"[SPACE]" TANK GUN
IF
1 FSET&
THEN
#"]"_= //"]" BASE GUN
IF
2 FSET&
THEN
#"M"_= //"M" LAY A MINE (43 FOR US, 96 FOR THEM)
IF
0 FSET&
ML USR PEEK
+#@
IF
USR PEEK
IF
96
THEN
43
END
RST USR PEEK
+ POKE
1;@-%!
THEN
_
END
DISPML&
THEN
#"W"_= //"W" LAY A PHONY WALL (#160)
IF
0 FSET&
ML USR PEEK
+#@
IF
160 RST USR PEEK
+ POKE
1;@-%
THEN
_
END
DISPWL&
THEN
#47<;58> AND //NUMERIC, COULD BE DIRECTION OR # ENTRY
IF
FF USR PEEK
+ PEEK
#3 AND 3^48< AND
IF //GUN ARMED, FIRE
2 AND
IF
0
THEN
4
END
#TB POKE
IF
SHL USR PEEK
+#@ COND U5R PEEK
+@0< AND TANKPOS USR PEEK
+@ FORTPOS USR PEEK
+@= NOT AND
IF
1;@-%!DC POKE
FIRE&
3 DC POKE
DISPSH&
THEN
_
END
THEN
FIRE&
END
0 FSET&
THEN
12 AND
IF //NUMERIC ENTRY
DG&
THEN //MOVE TANK
#48<
IF
MOVE&
DISPXYF&
END
END
END
THEN //"[HOME]" REFRESH TANK (IF IN RIGHT BASE)
#"{C-HOME}"_=TANKPOS USR PEEK
+@ FORTPOS USR PEEK
+@= AND
IF
USR PEEK
RENEW&
THEN
#"_"_= //"<-" ABORT GAME
IF
"{C-UP}STOPPED" PB GOTO
THEN
#"A"_= //ACTIVATE ANGLE ENTRY
IF
4 FSET&
0 ANG USR PEEK
+! DISPA&
THEN
#"R"_= //ACTIVATE RANGE ENTRY
IF
8 FSET&
0RNG USR PEEK
+! DISPR&
THEN
#"I"_= //LAUNCH AN ICBM (IF ANY)
IF
0 FSET&
MSL USR PEEK
+#@
IF
1;@-%! MIS&
DISPMS&
THEN
_
END
THEN
#"{REV-OFF}"_= //JUMP TANK TO DISPLAY SCREEN
IF
32644 TANKPOS USR PEEK
+32;@ 123+ POKE
!
THEN
0 FSET&
END
END
END
END
END
END
END
END
END
END
END
END
_ USR PEEK
IF // SWITCH PROCESS TO OTHER TANK
0
THEN
2
END
USR POKE
TCT @0= // CHECK TANK COUNT
IF
TCT 2+ @0=
IF
MSL @0= MSL 2+ @0= AND
IF //IF NO TANKS AND ? MISSILES, SET STATUS TO "ALIVE"
"{C-UP} ALIVE " PB GOTO
END
END
END
COND PEEK
2>
IF // CHECK TANK/GAME CONDITION
514 PEEK
64 AND #TM PEEK
= NOT
IF //DISPLAY CONDITION
#TM POKE
42,6849 POKE
DISPCD&
34,6849 POKE
END
_
END.
CLAR: //SYS TABLES FOR???
[43112 41576 39678 38984 24648]
//FIRING AN ICBM!
MIS:
// TURN IN SOUND
16,59467 POKE
17,59466 POKE
80
REPT:
//BOMB DROP WHISTLE
64;/#1
FOR
3,3^/59464 POKE
#50/ 1
FOR
#_
NEXT
%1+ %
NEXT
%#700>
IF
%_.
END
__0,59467 POKE
//CALCULATE WHERE ICBM HIT
ANG USR PEEK
+@#270<
IF
360;-% 270-
THEN
#180<
IF
#180-% 270-
THEN
#90<
IF
# 180- % 90%
THEN
90;-
END
END
END
DIST&
40* % DIST&
+FORTPOS USR PEEK
+&123++#BD40+ >;40 BT- < OR
IF
_RETURN
END
// BLOW UP 3X3 SECTION (ICBM IMPACT)
8,0
FOR
BT {PI*2}++@;+ RND CTA POKE
POW& //DO BLAST PROCESS
NEXT
_6 CTA POKE
SHOW GOTO
//DISTANCE AND SIN CALCULATIONS
DIST:
SIN&
5% / RNG USR PEEK
+@* 200% / RETURN
SIN:
157* 9% /# 10% /##* 150% /;* 40% / 10; / 3^ *250 %/3$* 80% / 31+-
RETURN
//DIGIT ENTRY/DISPLAY ROUTINE
DG:
# 48% - FF USR PEEK
+ PEEK
4 AND
IF
RNG USR PEEK
+@ 10* +# 35<
IF
0 FSET&
END
ANG USR PEEK
+!
DISPA&
THEN
RNG USR PEEK
+@ 10* + # 14<
IF
0 FSET&
END
RNG USR PEEK
+! DISPR&
END
RETURN
//FIRE GUN
FIRE:
DIR&
FORTPOS TB PEEK
+ USR PEEK
+@ 123+ TB PEEK
0=
IF
XOFF @0=
YOFF @0=OR
IF
;+
END
END
3,1 //GUN RANGE =3
FOR
;+# PEEK
#32= ;43= OR %96= OR //BULLET GOES OVER MINES AND EMPTY,
IF
NEXT //KEEP MOVING
THEN
CLR //HIT SOMETHING STOP THE LOOP
END
BANG& //EXPLODE SHELL
RETURN
//MOVE TANK
MOVE:
FL USR PEEK //CHECK GAS
+@COND USR PEEK //CHECK CONDITION
+@O
IF //LOST A TANK
1; TCT+ @-# 3^
TCT+ !0<
IF
# RENEW&
90
THEN //CONDITION LOUSY, OUT OF TANKS
0; ACTTAB 4+ +!
7,7,32873 POBOX& //FILL TANK WINDOW WITH DOTS
32
END
THEN
90
END
;TANKPOS+ @ 123+ POKE
__
THEN
224= //HIT A REAL BASE WALL, WHICH ONE??
IF
FORTPOS@ 123+ -#- 40=;- 1= OR; 1= OR ; 40= OR
IF //YOURS
"{C-UP}DEFUNCT"
THEN //OR THIERS
"{C-UP}SUPREME"
END
PB GOTO
END
END
_
RETURN
EXCH: //EXPLOSION EFFECT
8,0
FOR
#BTABA //GET A POSITION RELATIVE TO EXPLOSION
{PI*2}++@+# PEEK //STORE WHAT IS THERE
BTABB //READ IN EXPLOSION PART SYMBOL
{PI*2}++@4^ POKE //PLACE ON MAP
POKE
_
CTR PEEK
#59464 POKE
CTA PEEK
+CTR POKE
NEXT
RETURN
BTABA: //3X3 LOCATIONS AROUND A SPECIFIC POINT
[0 1 -1 40 -40 39 -39 41 -41]
BTABB: //GRAPHICS REPRESENTING EXPLOSION
[42 64 64 93 93 78 78 77 77]
RENEW: //REFRESH TANK (WHEN DOCKED AT BASE)
18; SHL+;!8; ML+ !10; WL+ !200; FL+ !3; COND+ !32; RST+ POKE
FORTPOS; +@; TANKPOS+ !
#0=
IF
FX PEEK //ALSO SET INITIAL TANK COORDINATES IF START OF GAME
TX POKE
FY PEEK
TY POKE
1,8,33391 POBOX&
2,9,33395 POBOX&
5,2,33561 POBOX&
USR PEEK
0
USR POKE
0 FSET&
USR POKE
DISPCD&
DISPXYF&
END
0;FF+!_
RETURN
POBOX: //CREATE DOTTED SQUARE
;1
FOR
#4^ 1
FOR
81; POKE
1+
NEXT
_40+
NEXT
___
RETURN
DISPXYF: //DISPLAY TANK X, Y AND GAS
34,15 POSCUR&
TX PEEK
STR$
2 RJ&
_"{C-UP*3,C-LT*2}"_TY PEEK
STR$
2 RJ&
_"{C-UP*4,C-LT}"_FL PEEK
STR$
3 RJ&
_145,18,42,6849 POKE
PRINT
34,6849 POKE
RETURN
DISPWL: //DISPLAY WALL
USR PEEK
IF
RETURN
END
WL PEEK
# 4<
IF
42- ,19
THEN
37- ,20
END
KILL GOTO
DISPSH: //USE SHELL
SHL PEEK
# 18= USR PEEK
OR
IF
_
RETURN
END
# 8<
IF
27% 32-
THEN
28% 23-
END
KILLGOTO
DISPML: //LAY MINE
USR PEEK
IF
RETURN
END
23 ML PEEK
22-
KILL GOTO
DISPMS: //FIRE MISSILE
USR PEEK
IF
RETURN
END
14, MSL PEEK
21- KILL GOTO
D1SPT: //TANK
8, TCT PEEK
# 0= 0- + 16-
KILL: //PLACE EMPTY CIRCLE
POSCUR&
"{C-UP,CIRCLE}" PRINT
RETURN
DISPA: //DISPLAY ANGLE
ANG@ STR$
3,7,18 RJP GOTO
DISPR: //DISPLAY RANGE
RNG@ STR$
3,7,22 RJP GOTO
FSET:
USR PEEK
#
IF
FF+ POKE
THEN
FF+ PEEK
;;; OR 3$ 3$ AND NOT AND 1,3,0
FOR
;;AND
IF
{PI*2}+
TABC+#
PEEK
%1+ PEEK
POSCUR&
3^ ;AND
IF
"{C-UP,FILL-CIRCLE}"
THEN
"{C-UP,CIRCLE}"
END
PRINT
END
#+
NEXT
__FF
POKE
END
RETURN
TABC:
[1315 1284 4613 5637]
RJP:
POSCUR&
RJ&
1+ 145% PRINT
RETURN
RJ:
;%-# O<
IF
1
FOR
32% 1+
NEXT
THEN
_
END
RETURN
MOVTK:
RST USR PEEK
+ PEEK
TANKPOS USR PEEK
+@ 123+ POKE
TRNKPOS USR PEEK
+@;+# TANKPOS USR PEEK
+! 123+ # PEEK
RST USR PEEK
+ POKE
90% POKE
TX USR PEEK
+# PEEK
XOFF@ +% POKE
TY USR PEEK
+# PEEK
YOFF@ +% POKE
RETURN
DIR:
0YOFF! 0FOFF!# 54<
IF
-1 YOFF- 40 FOFF!
THEN
# 52>
IF
1 YOFF! 40 FOFF!
END
END
3% \#
IF
- 2+
THEN
_1
END
# XOFF! FOFF@ +
RETURN
XOFF:
##
YOFF:
##
FOFF:
##
//DISPLAY PLAYING BOARD
PB:
7025SYS
42,6849 POKE
3 COND POKE
DISPCD&
25,11 POSCUR&
PRINT
0,22 POSCUR& //MOVE CURSOR TO BOTTOM OF SCREEN
"{C-DN}" PRINT //WAIT FOR INPUT BEFORE DISPLAYING MAP
INPUT 40 BD BT-/0
FOR //DISPLAY MAP POKE A LINE ON BOTTOM, THEN PRINT A LINE FEED.
BD {PI} 40* + 39, 0
FOR
# {PI}+ PEEK
# 96=
IF //MAKE ENEMY MINES SHOW UP AS *S
_42
END
{PI} 33728+ POKE
NEXT
_
GET
IF
//OPTIONAL PAUSE WHILE DISPLAYING MAP
PAUSE:
GET
0=
IF
.
END
END
{C-DN}" PRINT
NEXT
//END OF GAME "PLAY AGAIN" QUESTION
QA:
13,1 PRINT
"PLRY AGAIN? " PRINT
INPUT _#"Y"_=
IF
3525,7038 SYS
THEN
"N"_=
IF
STOP
END
END
//DISPLAY PLAYER CONDITION
DISPCD:
24,10 POSCUR&
COND @#1< 514 PEEK
64 AND OR
IF
"{C-UP,SH-0,SH-@*7,SH-.,C-DN,C-LT,SH-],CLT*8,SH-]} " PRINT
#1>
IF
_"LOUSY"
THEN
#1=
IF
_" RED "
THEN
2=
IF
"AMBER"
THEN
"GREEN"
END
END
END
PRINT
" {C-DN,C-LT*8,SH--,SH-@*7,SH-=}"
THEN
"{C-UP,SH-,,SH-"*7,SH-;,C-DN,C-LT,SH-!,CLT*8,RVS-ON,SH-!} " PRINT
1=
IF
" RED "
THEN
"LOUSY"
END
PRINT" {C-DN,C-LT*8,RVS-OFF,SH-<,RVS-ON,SH-"*7,RVS-OFF,SH->}"
END
PRINT
RETURN
//POSITION CURSOR ON SCREEN NOTE: NEED TO DO A PRINT AFTER POKES TO GET IT TO 'JUMP'
POSCUR:
1+ 245 POKE
226 POKE
RETURN
//SEND BYTE OVER CABLE
SND:
180 POKE
6764 SYS
RETURN
//RECEIVE BYTE FROM CABLE
RCV:
6802 SYS
180 PEEK
RETURN
//RANDOM X COORDINATE ON MAP
RNX:
36 RND\ 2+
PETURN
//RANDOM Y COORDINATE ON MAP
RNY:
3,40 BD BT-/-RND\ 2+
RETURN
//DRAW A BOX ON SCREEN
DRBOX:
0 BC&
; POKE
#4^1
FOR
1+ 2 BC&
; POKE
NEXT
1+ 4 BC&
; POKE
3^ 1
FOR
40~ 6 BC&
; POKE
NEXT
_
;
1
FOR
40+ 8 BC&
; POKE
NEXT
40+ 10 BC&
; POKE
3^ 1
FOR
1+ 12 BC&
; POKE
NEXT
1+ 14 BC&
% POKE
__
RETURN
//BOX PART SELECTOR (DEPENDING ON PART NUMBER AND BOX TYPE
BC:
WHBX@ +@
REIURN
//THICK LINE BOX PARTS
UB:
[236 226 251 225 97 252 98 254]
//THIN LINE BOX PARTS
BX:
[112 64 110 93 93 109 64 125]
:
ACTTAB:
34
::
FORTPOS:
50
:
TANKPOS:
54
::
RH:
#
RV:
#
FF:
####
TB:
##
MSL:
###
ANG:
####
RNG:
####
SHL:
####
ML:
####
WL:
####
FL:
####
COND:
####
TCT:
####
RST:
####
TX:
#
TY:
###
USR :
#
FX:
#
FY:
#
CTR:
#
CTA:
#
DC:
#
WHBX:
##
TM:
#697
::
BD:
738
::
BT:
3057
:
|