home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64-128BBS / STR39.PFILE2.ARC / (ST / R.EMPIRE2 (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  20.5 KB  |  506 lines

  1. 100 POKE152,PEEK(251)
  2. 110 GOTO470
  3. 120 :
  4. 130 :REM START OF USER JUMP TABLE.
  5. 140 :
  6. 150 GOTO660 :REM CHECK FOR CARRIER.
  7. 160 GOTO720 :REM SEND P$+CHR$(13) OUT.
  8. 170 GOTO730 :REM SEND P$ OUT
  9. 180 GOTO770:REM GET L$ FROM MODEM.
  10. 190 GOTO860:REM CALL FOR CHAT.
  11. 200 GOTO900:REM ENGAGE CHAT MODE.
  12. 210 GOTO2150:REM SEND 'P' TO USERFILE.
  13. 220 GOTO1000:REM READ ERROR CHANNEL.
  14. 230 GOTO1020:REM READ SYSTEM CLOCK.
  15. 240 GOTO1080:REM DISPLAY USER STATS.
  16. 250 GOTO1220:REM DISPLAY USER ONLINE.
  17. 260 GOTO1240:REM EDIT USER STATISTICS.
  18. 270 GOTO1610:REM REMOTE SYSOP MENU.
  19. 280 GOTO1830:REM DISPLAY DIR.
  20. 290 GOTO2130:REM BREAK RC INTO LO/HI.
  21. 300 GOTO2180:REM UPDATE (USER LOG).
  22. 310 GOTO2190:REM SAME AS 2330.
  23. 320 GOTO2200:REM GET U$() FROM DISK.
  24. 330 GOTO2210:REM GET N$() FROM DISK.
  25. 340 GOTO2220:REM SEND U$() TO DISK.
  26. 350 GOTO2230:REM SEND N$() TO DISK.
  27. 360 GOTO2250:REM FIND DV,DR$ IN DR%().
  28. 370 GOTO2270:REM FIND DV,DR$
  29. 380 GOTO2280:REM INCREMENT DV,DR$.
  30. 390 GOTO2340:REM HANG UP PHONE.
  31. 400 GOTO2400:REM FIND TIME CONNECTED.
  32. 410 GOTO2560:REM RETURN TO BBS.
  33. 420 GOTO2570:REM LOAD NEXT MODULE.
  34. 430 GOTO2450:REM GET SC() FROM DISK.
  35. 440 GOTO2530:REM SEND SC() TO DISK.
  36. 450 GOTO2430:REM SEND SEQ OUT.
  37. 460 :
  38. 470 B1=56577:B2=56579:Q$=CHR$(34):B3=56590:B4=56588:DV=8:N$=CHR$(0):SI=54272
  39. 480 DIMU$(15),N$(15),DR%(7):DR$="0"
  40. 490 GOSUB500:GOTO550
  41. 500 OPEN1,8,5,"0:(BBS.CONFIG)":FORT=0TO9:INPUT#1,A:IFA=0THEN520
  42. 510 FORI=0TOA-1:INPUT#1,A$,A,A:NEXT
  43. 520 NEXT:INPUT#1,DR:FORI=0TODR-1:INPUT#1,DR%(I):NEXT:DR=DR+7
  44. 530 INPUT#1,RF:AA=-((RFAND128)=128):RF$=MID$(STR$(AA),2)+":(USERFILE)"
  45. 540 INPUT#1,SY$,BD$,MT%,RC,S1$,S2$,RR,P1$,P2$,D5,D6,MF,N5,N3,N4:CLOSE1:RETURN
  46. 550 F$=CHR$(13):P=0:POKE51972,P:SYS51976:BS=255:UL$=""
  47. 560 DC$="[149] --===[129]***[158]===[153]---===[159]***[154]===---[156]===***[158]===--[152]"+"":GOTO2630
  48. 570 IFA$="[133]"THENSY=SY+1:GOSUB1610:SY=SY-1:RETURN
  49. 580 IFA$="[134]"THENGOSUB900:TI$="000000":RETURN
  50. 590 IFA$="[140]"THENCD=1:RETURN
  51. 600 IFL<>65535THENRETURN
  52. 610 OPEN1,8,5,"0:(USER LOG),A":PRINT#1,UL$:PRINT#1,"[212]IME [197]LAPSED![152]":CLOSE1
  53. 620 CD=1:UL$="":RETURN
  54. 630 IFA$=""ORZ$=""THENGOSUB650
  55. 640 RETURN
  56. 650 POKESI+4,21:POKESI+4,20:RETURN
  57. 660 CD=0:IFSYTHENRETURN
  58. 670 IF(PEEK(B1)AND16)<>HLTHENRETURN
  59. 680 TI$="000000"
  60. 690 IF(PEEK(B1)AND16)<>HLTHENRETURN
  61. 700 IFVAL(TI$)>5THENCD=1:RETURN
  62. 710 GOTO690
  63. 720 P$=P$+F$
  64. 730 IFL=55THENPRINT#4,P$;:RETURN
  65. 740 POKE52030,SY:POKE52031,CG:POKE52040,MM:SYS51994,P$
  66. 750 CD=PEEK(52033):A$=CHR$(PEEK(52034)):IFA$=CHR$(0)THENA$=""
  67. 760 RETURN
  68. 770 GOSUB2400:IFVAL(U$(14))<COTHEN810
  69. 780 POKE52030,SY:POKE52031,CG:POKE52038,EC:POKE52039,L:POKE52040,MM
  70. 790 L$="000                                   ":SYS52003,L$:CD=PEEK(52033)
  71. 800 L=PEEK(52034)+256*PEEK(52036):A$=CHR$(PEEK(52034)):GOSUB570:RETURN
  72. 810 P$=F$+F$+"[217]OU [200]AVE [197]XCEEDED [217]OUR [212]IME [204]IMIT!!"+F$+"[199][207][207][196][194][217][197]!"+F$:GOSUB160
  73. 820 GOTO410
  74. 830 P$=F$+"[197]NTER [193]CCESS LEVEL: ":GOSUB170:L=5:GOSUB180:IFCDTHENRETURN
  75. 840 IFVAL(L$)<0ORVAL(L$)>65535ORL$=""THENRETURN
  76. 850 L=VAL(L$):A2=INT(L/256):A1=L-A2*256:A$=CHR$(A1)+CHR$(A2):A=L:RETURN
  77. 860 IFSA<>1THENP$=F$+F$+SY$+" IS NOT AVAILABLE RIGHT NOW.":GOSUB160:RETURN
  78. 870 P$="[195]ALLING "+SY$+"....":GOSUB160:FORI=1TO20:GETA$:IFA$="[134]"THEN900
  79. 880 GOSUB650:FORT=1TO600:NEXT:NEXT
  80. 890 P$="[212]RY AGAIN LATER....":GOSUB160:RETURN
  81. 900 P$=F$+F$+SY$+", CHATTING WITH "+U$(1)+F$:GOSUB160
  82. 910 SYS52012:A$=CHR$(PEEK(52034)):CD=PEEK(52033)
  83. 920 IFA$="[134]"ORCDTHENP$=F$+SY$+" HAS RETURNED TO "+BD$+".":GOSUB160:RETURN
  84. 930 IFA$="[133]"THENSY=SY+1:GOSUB1610:SY=SY-1
  85. 940 IFA$="[140]"THENCD=1:RETURN
  86. 950 RETURN
  87. 960 GOSUB2140:AA=RF:GOSUB2250
  88. 970 FORL=1TO2:PRINT#15-B,"P"CHR$(99)CHR$(R1)CHR$(R2)CHR$(1):GOSUB1000:NEXT
  89. 980 GOSUB1000:IFER$<"20"ORER$="50"THENRETURN
  90. 990 PRINT"[197]RROR IN (USERFILE)!":GOSUB2340:STOP
  91. 1000 ES$="":GOSUB1010:ER$=LEFT$(ES$,2):RETURN
  92. 1010 GET#15-B,A$:ES$=ES$+A$:ON-(A$<>CHR$(13))GOTO1010:RETURN
  93. 1020 T1$="12:55:53.6 PM":SYS51982,T1$:TM$=T1$+""
  94. 1030 HO$=LEFT$(TM$,2):MI$=MID$(TM$,4,2):FZ$=RIGHT$(TM$,2)
  95. 1040 IFVAL(LEFT$(TM$,2))<>12ANDFZ$<>"AM"THENC2=1:GOTO1070
  96. 1050 IFC2THENOPEN1,8,5,"@0:(T.CALLERS),S,W":PRINT#1," ":CLOSE1:DT=DT+1
  97. 1060 IFC2THENC2=0:NT=0:IFS9THENOPEN1,8,5,"@0:(USER LOG),S,W":CLOSE1
  98. 1070 DA$=M$+STR$(DT):RETURN
  99. 1080 P$=F$+"[217]OUR [211]TATISTICS...."+F$:GOSUB160
  100. 1090 P$="[206]AME          : "+U$(1):GOSUB160
  101. 1100 P$="[193]CCESS LEVEL  :"+STR$(AC):GOSUB160:GOSUB1020
  102. 1110 P$="[196]ATE/[212]IME     : "+DA$+" "+TM$:GOSUB160:GOSUB2400
  103. 1120 P$="[195]ONNECT [212]IME  :"+STR$(CO)+" MINS.":GOSUB160
  104. 1130 P$="[205]EMBER #      : "+R$:GOSUB160
  105. 1140 P$="[208]ASSWORD      : "+U$(4):GOSUB160
  106. 1150 P$="[193]GE           : "+U$(6):GOSUB160
  107. 1160 P$="[210]EAL [206]AME     : "+U$(7):GOSUB160
  108. 1170 P$="[212]OTAL [213]/[204]'S   : "+U$(9):GOSUB160
  109. 1180 P$="[212]OTAL [196]/[204]'S   : "+U$(10):GOSUB160
  110. 1190 P$="       [[210]ATIO - "+MID$(STR$(RR),2)+":1]":GOSUB160
  111. 1200 P$="[204]AST CALL DATE: "+U$(11):GOSUB160
  112. 1210 P$="[212]OTAL CALLS   : "+U$(12):GOSUB160:RETURN
  113. 1220 PRINT"[156]"F$U$(1)" <*> [204]VL-"+MID$(STR$(AC),2):GOSUB2400
  114. 1230 PRINTTM$" [195]ONNECTED:"STR$(CO)" MINS.[152]":RETURN
  115. 1240 P$=" [147][197]NTER ACCOUNT # OF USER.":GOSUB160
  116. 1250 P$="[193]CCOUNT # OF CURRENT USER: "+R$:GOSUB160
  117. 1260 P$="[214][213]:":GOSUB170:L=3:GOSUB180:IFCDTHENRETURN
  118. 1270 IFL$=""THENRETURN
  119. 1280 E$=L$+"":IFL$=R$THENFORL=1TO15:N$(L)=U$(L):NEXT:AA=AC:GOTO1300
  120. 1290 OPEN3,RF,3,RF$:RC=VAL(L$):GOSUB960:GOSUB2210:CLOSE3
  121. 1300 P$=" [147]1 - [206]AME      : "+N$(1)+F$+"2 - [208]HONE     : "+N$(2):GOSUB160:GOSUB2170
  122. 1310 P$="3 - [193]CCESS [204]VL:"+STR$(AA)+F$+"4 - [208]ASSWORD  : "+N$(4):GOSUB160
  123. 1320 P$="5 - # OF [197]MAIL: "+N$(5)+F$+"6 - [193]GE       : "+N$(6):GOSUB160
  124. 1330 P$="7 - [210]EAL NAME : "+N$(7)+F$+"8 - C/G MODE  : "+N$(8):GOSUB160
  125. 1340 P$="9 - [212]OTAL [213]/[204] : "+N$(9)+F$+"[193] - [212]OTAL [196]/[204] : "+N$(10):GOSUB160
  126. 1350 P$="[194] - [204]AST CALL : "+N$(11):GOSUB160
  127. 1360 P$="[195] - # CALLS   : "+N$(12):GOSUB160
  128. 1370 P$="[196] - [195]ALLS/[196]AY : "+N$(13)+F$+"[197] - [212]IME/[195]ALL : "+N$(14):GOSUB160
  129. 1380 P$="[198] - [195]ALLS[212]ODAY: "+N$(15):GOSUB160
  130. 1390 IFL=55THENL=0:PRINT#4:CLOSE4:GOTO1300
  131. 1400 P$=F$+"[215]HICH TO CHANGE:":GOSUB170:L=1:GOSUB180:IFCDTHENRETURN
  132. 1410 IFL$=""ANDR$=E$THENFORL=1TO15:U$(L)=N$(L):NEXT:AC=AA:GOTO1240
  133. 1420 IFL$=""THEN1240
  134. 1430 IFL$="S"ORL$="[211]"THEN1510
  135. 1440 IFL$="P"ORL$="[208]"THENL=55:OPEN4,4,7:GOTO1300
  136. 1450 S=(ASC(L$)AND127)-64:IFS=>1ANDS<=6THENS=S+9:GOTO1480
  137. 1460 S=VAL(L$):IFS<1ORS>9THEN1300
  138. 1470 IFS=3THENGOSUB830:N$(3)=A$:AA=A:GOTO1300
  139. 1480 P$=F$+"["+N$(S)+"]:[195]HANGE TO->":GOSUB170
  140. 1490 L=20:GOSUB180:IFCDTHENRETURN
  141. 1500 N$(S)=L$+"":GOTO1300
  142. 1510 P$=F$+"[211]AVE STATS WHERE? (DEFAULT="+E$+"):":GOSUB170
  143. 1520 L=3:GOSUB180:IFCDTHENRETURN
  144. 1530 IFL$<>""ANDVAL(L$)>0THENE$=L$+""
  145. 1540 P$=F$+"[211]AVE AT: "+E$:GOSUB160
  146. 1550 P$="[195]ORRECT? (Y/N):":GOSUB170:L=1:GOSUB180:IFCDTHENRETURN
  147. 1560 IFL$<>"Y"ANDL$<>"[217]"THEN1300
  148. 1570 OPEN3,RF,3,RF$:RC=VAL(E$):GOSUB960
  149. 1580 GOSUB2230
  150. 1590 CLOSE3
  151. 1600 RETURN
  152. 1610 AA=DV:GOSUB2250
  153. 1620 P$=" [147]":GOSUB160
  154. 1630 P$=DC$+F$+"   --**]> [210]EMOTE [211]YS-[207]P [205]ENU <[**--"+F$+DC$+F$:GOSUB160
  155. 1640 P$="[214] - [214]ALIDATE USER":GOSUB160
  156. 1650 P$="[193] - [211]CAN ANY SEQ ON DISK":GOSUB160
  157. 1660 P$="$ - [196]IRECTORY":GOSUB160
  158. 1670 P$="@ - [196]OS COMMANDS":GOSUB160
  159. 1680 P$="[213] - [211]CAN USER LOG":GOSUB160
  160. 1690 P$="[212] - [212]ODAY'S CALLERS":GOSUB160
  161. 1700 P$="# - [212]OGGLE DRIVE #"+STR$(DV)+";"+DR$:GOSUB160
  162. 1710 P$=F$+"[210][211][205]"+MID$(STR$(DV),2)+";"+DR$+":":GOSUB170:L=1:GOSUB180:IFCDTHENRETURN
  163. 1720 IFL$=""THENRETURN
  164. 1730 L$=CHR$(ASC(L$)AND127)
  165. 1740 GOSUB2180:UL$=UL$+"[211]YSOP-"+L$+CHR$(13)
  166. 1750 ON-(L$="U")-2*(L$="A")-3*(L$="V")-4*(L$="$")GOSUB1970,2080,1240,1830
  167. 1760 ON-(A$="#")-2*(L$="T")GOSUB2280,2070
  168. 1770 IFL$="?"THEN1620
  169. 1780 IFL$<>"@"THEN1710
  170. 1790 P$=F$+">":GOSUB170:L=39:GOSUB180:IFCDTHENRETURN
  171. 1800 IFL$=""THENGOSUB1000:P$=F$+ES$:GOSUB160:GOTO1710
  172. 1810 IFLEFT$(L$,4)=P2$+":"THENPRINT#15-B,RIGHT$(L$,LEN(L$)-4)
  173. 1820 GOTO1710
  174. 1830 P$=F$:GOSUB160:OPEN1,DV,0,"$"+DR$+":*"
  175. 1840 GOSUB1000:IFER$>"01"THENCLOSE1:P$=F$+ES$:GOSUB160:RETURN
  176. 1850 GET#1,A$:GET#1,A$
  177. 1860 GET#1,A$:GET#1,A$:IF(ST)AND64THENCLOSE1:RETURN
  178. 1870 GET#1,LO$:GET#1,HI$
  179. 1880 LO$=LO$+N$:HI$=HI$+N$
  180. 1890 P$=STR$(ASC(LO$+CHR$(0))+256*ASC(HI$+CHR$(0)))+" "
  181. 1900 GET#1,A$:IFA$=""THEN1940
  182. 1910 GET#5,Z$:IFZ$=""THENGETZ$
  183. 1920 IFZ$=" "THENCLOSE1:RETURN
  184. 1930 P$=P$+A$:GOTO1900
  185. 1940 IFECANDMID$(P$,8,1)="("THEN1860
  186. 1950 GOSUB160:IFA$=" "THENCLOSE1:RETURN
  187. 1960 GOTO1860
  188. 1970 FI$="(USER LOG)"
  189. 1980 OPEN1,DV,5,DR$+":"+FI$:P$="":GOSUB1000:IFER$>"01"THENCLOSE1:RETURN
  190. 1990 GET#1,A$:IF(ST)AND64THEN2040
  191. 2000 GET#5,Z$:IFZ$=""THENGETZ$
  192. 2010 IFZ$=" "ORZ$="/"THEN2040
  193. 2020 IFA$=CHR$(13)ORLEN(P$)=39THENGOSUB160:P$="":GOTO1990
  194. 2030 P$=P$+A$:GOTO1990
  195. 2040 GOSUB160:CLOSE1:P$=F$+"[211]CRATCH? (Y/N):":GOSUB170:L=1:GOSUB180
  196. 2050 IFL$=""OR(L$<>"Y"ANDL$<>"[217]")THENRETURN
  197. 2060 OPEN1,DV,5,"@"+DR$+":"+FI$+",S,W":PRINT#1," ":CLOSE1:RETURN
  198. 2070 FI$="(T.CALLERS)":GOTO1980
  199. 2080 P$=F$+"[211]CAN FILE: ":GOSUB170:L=16:GOSUB180
  200. 2090 FI$=L$+"":GOTO1980
  201. 2100 POKEB3,65:POKEB4,40:POKEB2,231:POKEB1,57:POKEB4,48:RETURN
  202. 2110 GOSUB2100:POKEB2,PEEK(B2)OR32:POKEB1,PEEK(B1)AND223:POKEB1,PEEK(B1)OR32
  203. 2120 POKEB1,PEEK(B1)AND223:POKEB4,40:POKEB4,47:POKEB2,230:GOSUB2100:RETURN
  204. 2130 HI=INT(RC/256):LO=RC-(HI*256):RETURN
  205. 2140 GOSUB2130:R1=LO:R2=HI:RETURN
  206. 2150 GOSUB2140:GOTO970
  207. 2160 AC=VAL(U$(3)):A2=INT(AC/256):A1=AC-A2*256:RETURN
  208. 2170 AA=VAL(N$(3)):RETURN
  209. 2180 IFLEN(UL$)<230THENRETURN
  210. 2190 OPEN1,8,5,"0:(USER LOG),A":PRINT#1,UL$:CLOSE1:UL$="":RETURN
  211. 2200 GOSUB2210:FORI=1TO15:U$(I)=N$(I):NEXT:RETURN
  212. 2210 FORT=1TO15:INPUT#3,N$(T):NEXT:RETURN
  213. 2220 FORI=1TO15:N$(I)=U$(I):NEXT
  214. 2230 N$(0)="":FORT=1TO15:N$(0)=N$(0)+Q$+N$(T)+F$:NEXT
  215. 2240 PRINT#3,N$(0):RC=1:GOSUB960:RETURN
  216. 2250 B=AA-8:IFB<0THENB=0
  217. 2260 AA=-((DR%(B)AND128)=128):DR$=MID$(STR$(AA),2):RETURN
  218. 2270 GOSUB2250:AA=-((DVAND128)=128):DR$=MID$(STR$(AA),2):RETURN
  219. 2280 IFDR$="0"THENAA=DV:GOSUB2250:IFDR$="1"THENRETURN
  220. 2290 DV=DV+1:IFDV>15THENDV=8
  221. 2300 FORL=0TO(DR-8):IFDV<>(DR%(L)AND63)THENNEXT:GOTO2290
  222. 2310 IFA1AND32ORSYTHEN2330
  223. 2320 AA=DV:GOSUB2250:IFDR%(B)AND64THEN2290
  224. 2330 AA=DV:GOSUB2250:DR$="0":RETURN
  225. 2340 ON(MT%-1)GOTO2350,1690,2380,2390,2110,2110
  226. 2350 POKEB2,PEEK(B2)OR32:POKEB1,PEEK(B1)AND223:RETURN
  227. 2360 FORT=1TO2000:NEXT:PRINT#5,"+++";:FORT=1TO2000:NEXT
  228. 2370 PRINT#5,"[193][212][216]2[197]0[205]0[209]0[214]0[211]0=0":RETURN
  229. 2380 POKEB2,38:POKEB1,38:RETURN
  230. 2390 POKEB1,PEEK(B1)OR32:RETURN
  231. 2400 GOSUB1020:CT=VAL(HO$):MI=VAL(MI$):CO=ABS((LH*60+LM)-(CT*60+MI))
  232. 2410 IFLH=12ANDC2THENCO=ABS(CO-720)
  233. 2420 RETURN
  234. 2430 B=D7-8:OPEN1,D7,5,D7$+":"+FI$:GOSUB220:IFER$>"01"THENCLOSE1:RETURN
  235. 2440 POKE52030,SY:SYS52021:CLOSE1:CD=PEEK(52033):A$=CHR$(PEEK(52034)):RETURN
  236. 2450 OPEN3,8,3,"0:(SCORES)":GOSUB220:IFER$>"01"THENCLOSE3:RETURN
  237. 2460 RC=R:GOSUB2130:B=0:GOSUB970:GET#3,A$:IF(ST)AND64THENSC=0:GOTO2480
  238. 2470 INPUT#3,SC
  239. 2480 IFSC=0THENSC=I:CLOSE3:DIMSC(SC):RETURN
  240. 2490 IFI>SCTHENDIMSC(I):GOTO2510
  241. 2500 DIMSC(SC)
  242. 2510 FORT=1TOSC:INPUT#3,SC(T):NEXT:CLOSE3:IFI>SCTHENSC=I
  243. 2520 RETURN
  244. 2530 OPEN3,8,3,"0:(SCORES)":GOSUB220:IFER$>"01"THENCLOSE3:RETURN
  245. 2540 RC=R:GOSUB2130:B=0:GOSUB970:SC$=STR$(SC)+F$:FORT=1TOSC
  246. 2550 SC$=SC$+STR$(SC(T))+F$:NEXT:PRINT#3,SC$;:RC=1:GOSUB970:CLOSE3:RETURN
  247. 2560 FI$="(ST/R 3.?)":DV=D5:DR$="0":IFDV>128THENDR$="1"
  248. 2570 OPEN1,8,5,"@0:(DATA),S,W":PRINT#1,R$:FORT=1TO15
  249. 2580 PRINT#1,Q$U$(T):NEXT:PRINT#1,LH:PRINT#1,LM:PRINT#1,SA:PRINT#1,SY
  250. 2590 PRINT#1,S9:PRINT#1,HL:PRINT#1,M$:PRINT#1,DT:PRINT#1,LEN(F$):PRINT#1,Q$LN$
  251. 2600 PRINT#1,DV:PRINT#1,NW:PRINT#1,Q$L$:CLOSE1:POKE252,32:SYS52050
  252. 2610 POKE251,PEEK(152):PRINT"[146][147]LOAD"Q$DR$":"FI$Q$","DVAND127""
  253. 2620 POKE631,131:POKE198,1:NEW
  254. 2630 OPEN1,8,5,"0:(DATA)":INPUT#1,R$:R=VAL(R$):FORT=1TO15
  255. 2640 INPUT#1,U$(T):NEXT:INPUT#1,LH,LM,SA,SY,S9,HL,M$,DT,T,LN$,DV,NW,L$
  256. 2660 CLOSE1:D7=DVAND127:AA=(DVAND128)=128:D7$=MID$(STR$(AA),2)
  257. 2670 GOSUB2160:CG=VAL(U$(8)):IFT=2THENF$=CHR$(13)+CHR$(10)
  258. 2680 D7%=D7-8:C$=CHR$(13):GOTO2700
  259. 2690 GOSUB390:GOSUB310:GOTO410
  260. 2700 IFCGTHENFI$="(EMP.[200]ONOUR)":GOSUB450:GOSUB3290:P$="":GOSUB170
  261. 2705 X=RND(-TI/97):P$=F$+F$+"[156][147]  [195]HECKING TO SEE IF YOU'RE ALIVE....":GOSUB160
  262. 2710 EP$=D7$+":(EMPIRE2)"
  263. 2720 GOSUB3370:GOSUB220:A=0:IFER$>"00"THENCLOSE3:GOTO3000
  264. 2730 P$=F$+F$:GOSUB160:FORRC=1TO50:GOSUB210:INPUT#3,A$:IFA$=U$(1)THEN2860
  265. 2735 IFA$="EMPTY"ANDA=0THENA=RC
  266. 2740 P$="[145] [211]EARCHING: "+STR$(RC)+F$:IFCG=0THENP$="."
  267. 2750 GOSUB170:IFPEEK(52033)THENCLOSE3:GOTO410
  268. 2755 NEXT:P$=F$+"[193]HA! [193] [206]EW [214]ICTIM!"+F$+F$:GOSUB160:FORRC=ATO50
  269. 2760 GOSUB210:INPUT#3,A$:IFA$="EMPTY"THEN2810
  270. 2770 P$="[145] [211]EARCHING: "+STR$(RC)+F$:IFCG=0THENP$="."
  271. 2780 GOSUB170:NEXT:CLOSE3:P$=F$+"[211]ORRY, [193]LL [197][205][208][201][210][197][211] ARE FULL.":GOSUB160
  272. 2790 P$="[159][212]RY AGAIN NEXT CALL.":GOSUB160:P$="[150][210]ETURNING YOU TO [194][194][211]...."
  273. 2800 GOSUB160:GOTO410
  274. 2810 A=INT(RND(1)*300)+2000:W$=U$(1)+C$+"5000"+C$+"20"+C$+STR$(A)+C$+"2"
  275. 2820 W$=W$+C$+"10000"+C$+"15"+C$+"1000"+C$+"0"+C$+"0"+C$+"0"+C$+"0"+C$+"0"
  276. 2830 W$=W$+C$+"0"+C$+"0"+C$+"0"+C$+R$
  277. 2840 G3=RC:GOSUB210:PRINT#3,W$:RC=1:GOSUB210:P$=F$+F$+"[155][207]K, [193]LL SET.":GOSUB160
  278. 2850 RC=G3:GOSUB210:INPUT#3,A$
  279. 2860 G3=RC:INPUT#3,LA,WA,SF,NB,GR,TR,PN,F(1),F(2),F(3),F(4),F(5),F(6)
  280. 2870 INPUT#3,YC,I8,R2:CLOSE3
  281. 2880 IFG3=PEEK(680)ANDPEEK(679)>4THEN3130
  282. 2890 IFR2<>VAL(R$)THENP$=F$+"[206][207] [195][200][197][193][212][201][206][199]!!!"+F$+F$+"[194][217][197]!":GOSUB160:GOTO410
  283. 2900 IFG3<>PEEK(680)THENPOKE680,G3:POKE681,0:POKE679,0
  284. 2910 GOSUB3490:IFPN<0THENPN=0:P$=F$+"[153][203]ING [199]EORGE BRINGS YOU OUT OF DEBT!":GOSUB160
  285. 2920 FF=0:VG=0:GOSUB3450:P$=F$+"[154][217]OUR [195]OMMAND,[152] "+D2$+"[155]"+U$(1)+"?"+F$
  286. 2930 GOSUB250:P$=F$+"[212]IME [204]EFT:"+STR$(VAL(U$(14))-CO)+P$
  287. 2940 P$=P$+"[154][217][195]:[155]":GOSUB170:L=1:GOSUB180:IFCDTHEN2690
  288. 2950 ON-(L$="")GOTO2920:GOSUB300:UL$=UL$+"[197]MP-"+L$+C$:L$=CHR$(ASC(L$)AND127)
  289. 2960 GOSUB3190:ON-(L$="Q")-2*(L$="C"ORL$="P")GOTO3320,3600
  290. 2970 ON-(L$="Z")-2*(L$="T")-3*(L$="M")GOTO3000,3380,3570
  291. 2980 ON-(L$="O")-2*(L$="N")-3*(L$="I")GOSUB3060,3160,3300
  292. 2990 ON-(L$="?")GOSUB3390:GOTO2920
  293. 3000 P$=F$+"[150][199]AME IS NOT SET UP!":GOSUB160:IFAC<>65535THEN2790
  294. 3010 P$=F$+"[210][197][211][197][212]? (Y/N):":GOSUB170:L=1:GOSUB180:IFCDTHEN2690
  295. 3020 IFL$<>"Y"ANDL$<>"[217]"THEN2920
  296. 3030 W$="EMPTY"+C$+"0":B=D7-8:OPEN3,D7,3,EP$+",L,"+CHR$(200):GOSUB220
  297. 3040 IFER$>"00"THENP$=F$+ES$+F$+"":GOSUB160:CLOSE3:GOTO3010
  298. 3050 FORRC=1TO50:GOSUB210:PRINT#3,W$:NEXT:CLOSE3:GOTO2700
  299. 3060 P$=F$+"([211]PACE=[193]BORT)"+F$+F$+" [159][207][212][200][197][210] [210][213][204][197][210][211]"+F$:GOSUB160
  300. 3070 GOSUB3370:MM=1:X=0:FORRC=1TO50:GOSUB210:INPUT#3,A$,B$:POKE52034,0
  301. 3075 REM POKE PREPARES ML FOR INCOMING           SPACE BAR TO ABORT AND
  302. 3077 REM KEEPS IT FROM GIVING A FALSE            ABORT SIGNAL!!
  303. 3080 P$="[150]":X=X+1:L$=RIGHT$("0"+MID$(STR$(RC),2),2):IF(XAND1)=0THENP$="[129]"
  304. 3090 IFA$="EMPTY"ORA$=U$(1)THENGET#5,A$:GETZ$:GOTO3110
  305. 3100 P$=P$+L$+"> "+LEFT$(A$+"....................",20)+":"+B$:GOSUB160
  306. 3110 IFA$=" "ORZ$=" "THENP$=F$+"([193]BORTED)":GOSUB160:RC=99
  307. 3120 NEXT:MM=0:CLOSE3:RETURN
  308. 3130 P$=F$+"[212]HE [207]THER [210]ULERS UNITE THEIR FORCES"+F$+"AGAINST YOU FOR [159]"
  309. 3140 P$=P$+"[200][207][199][199][201][206][199] [212]HE [199]AME!":GOSUB160:GOTO3320
  310. 3160 P$=F$+F$+"[198]IGHT [206]EWS -->"+F$:GOSUB160:B=D7-8:FI$="(NEWS2.EMP)":GOSUB450
  311. 3180 P$=F$+"[159]<-- [205]ORE UPDATES LATER.":GOSUB160:RETURN
  312. 3190 IFL$<>"Y"ANDL$<>"[217]"THENRETURN
  313. 3200 P$=F$+F$+"[159]"+U$(1)+" (#"+MID$(STR$(G3),2)+")"+F$:GOSUB160
  314. 3210 P$="[154][204]AND     : "+STR$(LA)+" [193]CRES"+F$+"[205]ONEY    : $"+MID$(STR$(PN),2)+F$
  315. 3220 P$=P$+"[199]RAIN    : "+STR$(GR)+" [194]USHELS"+F$+"[212]AX [210]ATE : "+STR$(TR)+"%"
  316. 3230 GOSUB160:P$="[211]OLDIERS : "+STR$(WA)+F$+"[211]ERFS    : "+STR$(SF)+F$
  317. 3240 P$=P$+"[206]OBLES   : "+STR$(NB):GOSUB160:GOSUB3290
  318. 3250 P$="[159][208]ALACE   : "+STR$(10*F(1))+"% [195]OMPLETED."+F$+"[205]ARKETS  : "
  319. 3260 P$=P$+STR$(F(2))+F$+"[205]ILLS    : "+STR$(F(3))+F$+"[198]OUNDRIES: ":GOSUB170
  320. 3270 P$=STR$(F(4))+F$+"[211]HIPYARDS: "+STR$(F(5))+F$+"[196]IPLOMATS: "+STR$(F(6))
  321. 3280 P$=P$+F$+"[211]HIPS    : "+STR$(YC)+F$+"[195]OLONIES : "+STR$(I8):GOSUB160
  322. 3290 P$=F$+"[156] (PRESS A KEY) [146][144]":GOSUB160:L=1:GOSUB180:ONCDGOTO2690:RETURN
  323. 3300 FI$="(EMP2DOCS)":GOSUB450:RETURN
  324. 3320 GOSUB3330:P$=F$+"[156][210]ETURNING TO [194][194][211]....":GOSUB160:GOTO410
  325. 3330 W$=U$(1)+C$+STR$(LA)+C$+STR$(WA)+C$+STR$(SF)+C$+STR$(NB)+C$+STR$(GR)+C$
  326. 3340 W$=W$+STR$(TR)+C$+STR$(PN)+C$+STR$(F(1))+C$+STR$(F(2))+C$+STR$(F(3))+C$
  327. 3350 W$=W$+STR$(F(4))+C$+STR$(F(5))+C$+STR$(F(6))+C$+STR$(YC)+C$+STR$(I8)+C$
  328. 3360 W$=W$+R$:GOSUB3370:RC=G3:GOSUB210:PRINT#3,W$:CLOSE3:RETURN
  329. 3370 B=D7-8:OPEN3,D7,3,EP$:RETURN
  330. 3380 P$=F$+"[156][200]EADING TO THE TOWN....":GOSUB160
  331. 3385 POKE251,PEEK(152):LOAD(D7$)+":(EMP2TOWN)",D7,1
  332. 3390 P$="[158][147] "+F$+F$+"[197]MPIRE [205]ENU"+F$+"[163][163][163][163][163][163][163][163][163][163][163]"+F$:GOSUB160
  333. 3400 P$="[159][[209]][146] [154][209]UIT"+F$+"[159][[217]][146] [154][217]OUR [211]TATS"+F$+"[159][[207]][146] [154][207]THER [210]ULERS"+F$
  334. 3410 P$=P$+"[159][[208]][146] [154][208]LAY [197]MPIRE"+F$+"[159][[206]][146] [154][197]MPIRE [206]EWS":GOSUB160
  335. 3420 P$="[159][[212]][146] [154][212]OWN [193]CTIVITIES"+F$+"[159][[201]][146] [154][201]NSTRUCTIONS":GOSUB160
  336. 3430 IFAC=65535THENP$="[159][[205]][146] [154][205]AINTENANCE":GOSUB160
  337. 3440 RETURN
  338. 3450 IFTZ<1ORTZ>3THEND2$="[204][207][210][196] ":RETURN
  339. 3460 IFTZ=1THEND2$="[208][210][201][206][195][197] ":RETURN
  340. 3470 IFTZ=2THEND2$="[203][201][206][199] ":RETURN
  341. 3480 IFTZ=3THEND2$="[197][205][208][197][210][207][210] ":RETURN
  342. 3490 TZ=0:I1=F(1):I2=F(2):I3=F(3):I4=F(4):I5=F(5):I6=F(6)
  343. 3500 IFI2>9ANDI6>0ANDI3>5ANDI4>1ANDI5>1ANDI1>2AND(LA/SF>5.1)ANDNB>15ANDSF>3000THENGOSUB3540
  344. 3510 IFI2>15ANDI3>9ANDI6>2ANDI4>6ANDI5>4ANDI1>6AND(LA/SF>10.5)ANDSF>3500ANDNB>30THENGOSUB3550
  345. 3520 IFI2>23ANDI3>9ANDI6>2ANDI4>13ANDI5>11ANDI1>9AND(LA/SF>23.4)ANDSF>5499ANDNB>62THENGOSUB3560
  346. 3530 TY=TZ:RETURN
  347. 3540 D2$="[208][210][201][206][195][197] ":TZ=1:RETURN
  348. 3550 D2$="[203][201][206][199] ":TZ=2:RETURN
  349. 3560 D2$="[197][205][208][197][210][207][210] ":TZ=3:RETURN
  350. 3570 IFAC<>65535THEN2920
  351. 3580 P$=F$+"[159][197]XITING [197]MPIRE....":GOSUB170:GOSUB3330:P$=CHR$(20):FORL=1TO18:GOSUB170:NEXT:P$="[156][204]OADING [197]MPIRE [205]AINT....":GOSUB160
  352. 3590 FI$="(EMP2MAINT)":DV=D7+128*VAL(D7$):DR$=D7$:L$=STR$(G3):GOTO420
  353. 3600 P$=F$+"[155][201]T IS A NEW YEAR....[154]"+F$:GOSUB160:WC=INT(RND(1)*6)+1:FF=0
  354. 3610 IFD2$="[197][205][208][197][210][207][210] "THENWC=INT(RND(1)*4)+1
  355. 3620 IFWC=1THENP$="[208]OOR WEATHER. [206]O RAIN. [204]OCUSTS MIGRATE."
  356. 3630 IFWC=2THENP$="[197]ARLY FROSTS.  [193]RID CONDITIONS."
  357. 3640 IFWC=3THENP$="[198]LASH FLOODS.  [212]OO MUCH RAIN."
  358. 3650 IFWC=4THENP$="[193]VERAGE WEATHER.  [199]OOD YEAR."
  359. 3660 IFWC=5THENP$="[198]INE WEATHER.  [204]ONG SUMMER."
  360. 3670 IFWC=6THENP$="[198]ANTASTIC WEATHER.  [199]REAT YEAR!"
  361. 3680 GOSUB160:DF=INT(RND(1)*9):ONDFGOTO3690,3800,3820,3730,3780:GOTO3850
  362. 3690 P$=F$+F$+" [208] [204] [193] [199] [213] [197] ! ! ! "+F$+"[155][194]LACK [196]EATH HAS STRUCK!"+F$:GOSUB160
  363. 3700 X=INT(RND(1)*SF/4):SF=SF-X:P$=MID$(STR$(X),2)+" SERFS DIED.":GOSUB160
  364. 3710 X=INT(RND(1)*WA/2):WA=WA-X:P$=MID$(STR$(X),2)+" SOLDIERS DIED.":GOSUB160
  365. 3720 X=INT(RND(1)*NB/3):NB=NB-X:P$=MID$(STR$(X),2)+" NOBLES DIED.":GOSUB160:GOTO3850
  366. 3730 P$=F$+F$+"[205]OUNT [193]POCALYPSE HAS ERUPTED!!"+F$+"[204]AVA WIPES OUT-[155]":GOSUB160
  367. 3740 X=INT(RND(1)*F(2)/3):F(2)=F(2)-X:P$=MID$(STR$(X),2)+" [205]ARKETS.":GOSUB160
  368. 3750 X=INT(RND(1)*F(3)/4):F(3)=F(3)-X:P$=MID$(STR$(X),2)+" [205]ILLS.":GOSUB160
  369. 3760 X=INT(RND(1)*F(4)/3):F(4)=F(4)-X:P$=MID$(STR$(X),2)+" [198]OUNDRIES":GOSUB160
  370. 3770 GOTO3850
  371. 3780 X=INT(RND(1)*F(5)/2):F(5)=F(5)-X:P$=F$+F$+"[212][201][196][193][204] [215][193][214][197]!!!":GOSUB160
  372. 3790 P$=MID$(STR$(X),2)+" [154][211]HIPYARDS ARE UNDERWATER!":GOSUB160:GOTO3850
  373. 3800 X=INT(RND(1)*GR/3):GR=GR-X:P$=F$+F$+"[197]EEAK! [210]ATS EAT"+STR$(X)
  374. 3810 P$=P$+" [194]USHELS OF GRAIN!":GOSUB160:GOTO3850
  375. 3820 P$=F$+"[149][197][193][210][212][200][209][213][193][203][197]!":GOSUB160
  376. 3830 IFF(1)>0ANDNB>0THENF(1)=F(1)-1:NB=NB-1:GOTO3840
  377. 3835 GOTO3850
  378. 3840 P$="[129]10% OF YOUR PALACE WAS DESTROYED,"+F$+"1 NOBLE WAS KILLED.":GOSUB160
  379. 3850 P$=F$+"[155][217]OU HAVE"+STR$(LA)+" [155]ACRES OF LAND.":GOSUB160:GOSUB4310
  380. 3860 ONCDGOTO2690:WB=WC*3+12:ON-(L$="B")-2*(L$="S")-3*(L$="C")GOTO3880,3930,3990
  381. 3870 GOSUB3190:GOTO3850
  382. 3880 P$=F$+"[212]HE [194]ARBARIANS WILL SELL"+F$+"THEIR LAND FOR"+STR$(WB)
  383. 3890 P$=P$+" DOLLARS AN ACRE.":GOSUB160:GOSUB4290
  384. 3900 BL=VAL(L$):IFBL<=0THEN3850
  385. 3910 IFPN<(BL*WB)THENP$=F$+"[158][217]OU ONLY HAVE"+STR$(PN)+" DOLLARS.":GOSUB160:GOTO3880
  386. 3920 PN=PN-(BL*WB):LA=LA+BL:P$=F$+"[158][194]OUGHT!":GOSUB160:GOTO3990
  387. 3930 WB=INT(WB/(INT(LA/875)+1))
  388. 3940 P$=F$+"[212]HE [194]ARBARIANS WILL BUY YOUR LAND"
  389. 3950 P$=P$+F$+"FOR"+STR$(WB)+" DOLLARS AN ACRE.":GOSUB160:GOSUB4300
  390. 3960 SL=VAL(L$):IFSL<1THEN3850
  391. 3970 IFSL>LA-1THENP$=F$+"[217]OU ONLY HAVE"+STR$(LA)+" ACRES.":GOSUB160:GOTO3940
  392. 3980 LA=LA-SL:PN=PN+(WB*SL):P$=F$+"[158][211]OLD!":GOSUB160
  393. 3990 P$=F$+"[217]OU HAVE"+STR$(GR)+" [194]USHELS OF GRAIN.":GOSUB160:GOSUB4310
  394. 4000 WB=INT(6/WC):ON-(L$="B")-2*(L$="S")-3*(L$="C")GOTO4020,4070,4120:GOSUB3190
  395. 4010 GOTO3990
  396. 4020 P$=F$+"[156][212]HE [194]ARBARIANS WILL SELL THEIR GRAIN"+F$+"FOR"+STR$(WB)
  397. 4030 P$=P$+" [156]DOLLARS A BUSHEL.":GOSUB160:GOSUB4290
  398. 4040 BG=VAL(L$):IFBG<1THEN3990
  399. 4050 IFPN<BG*WBTHENP$=F$+"[156][217]OU ONLY HAVE"+STR$(PN)+" DOLLARS.":GOSUB160:GOTO4020
  400. 4060 PN=PN-BG*WB:GR=GR+BG:P$=F$+"[156][194]OUGHT!":GOSUB160:GOTO4120
  401. 4070 WB=(INT(1/WC)+1)/2:P$=F$+"[212]HE [194]ARBARIANS WILL BUY YOUR GRAIN"+F$
  402. 4080 P$=P$+"FOR"+STR$(WB)+" DOLLARS A BUSHEL.":GOSUB160:GOSUB4300
  403. 4090 SG=VAL(L$):IFSG<1THEN3990
  404. 4100 IFSG>GRTHENP$=F$+"[156][217]OU ONLY HAVE"+STR$(GR)+" BUSHELS.":GOSUB160:GOTO4070
  405. 4110 GR=GR-SG:PN=INT(PN+(SG*WB)):P$=F$+"[156][211]OLD!":GOSUB160
  406. 4120 X=INT((LA*WC+(RND(1)*SF)*WC+GR*WC)/3):IFX>(LA+SF)*4THENX=(LA+SF)*4
  407. 4130 P$=F$+"[155][212]HIS YEAR'S HARVEST IS[158]"+STR$(X)+" [155]BUSHELS.":GOSUB160
  408. 4140 GR=GR+X:PL=1:PR=SF*5+1
  409. 4150 P$=F$+"[154][217]OUR PEOPLE REQUIRE"+STR$(PR)+" BUSHELS."+F$+"[159][199]IVE THEM HOW MANY"
  410. 4160 P$=P$+"?: [155]":GOSUB170:L=10:GOSUB180:ONCDGOTO2690:GP=INT(VAL(L$))
  411. 4165 IFL$="Y"ORL$="[217]"THENGOSUB3200:GOTO4150
  412. 4170 IFGR<0THENGP=0:GA=0:P$=F$+"[150][217]OU HAVE NO GRAIN LEFT!":GOSUB160:GOTO4330
  413. 4180 IFGP>GRTHENP$=F$+"[158][217]OU ONLY HAVE"+STR$(GR)+" BUSHELS!":GOSUB160:GOTO4150
  414. 4190 ON-(GP<0)GOTO4150:IFGP=0ANDLEFT$(L$,1)<>"0"THENGP=PR
  415. 4200 GR=GR-GP:P$=F$+" :"+MID$(STR$(GP),2):GOSUB160:IFGR<0THENGR=0
  416. 4210 AR=WA*10+1:P$=F$+"[154][217]OUR ARMY REQUIRES"+STR$(AR)+" BUSHELS."+F$
  417. 4220 P$=P$+"[159][199]IVE THEM HOW MANY?: [155]":GOSUB170:L=10:GOSUB180:ONCDGOTO2690
  418. 4225 IFL$="Y"ORL$="[217]"THENGOSUB3200:GOTO4210
  419. 4230 GA=INT(VAL(L$)):IFGR<=0THENGA=0
  420. 4240 IFGR<=0ANDGA=0THENP$=F$+"[150][217]OU HAVE NO GRAIN LEFT!":GOSUB160:GOTO4330
  421. 4250 IFGA>GRTHENP$=F$+"[158][217]OU ONLY HAVE"+STR$(GR)+" BUSHELS![155]":GOSUB160:GOTO4210
  422. 4260 ON-(GA<0)GOTO4210:IFGA=0ANDLEFT$(L$,1)<>"0"THENGA=AR
  423. 4270 GR=INT(GR-GA):P$=F$+" :"+MID$(STR$(GA),2):GOSUB160:IFGR<0THENGR=0
  424. 4280 GOTO4330
  425. 4290 P$=F$+"[159][194]UY HOW MANY?: [155]":GOSUB170:L=10:GOSUB180:ONCDGOTO2690:RETURN
  426. 4300 P$=F$+"[159][211]ELL HOW MANY?: [155]":GOSUB170:L=10:GOSUB180:ONCDGOTO2690:RETURN
  427. 4310 P$=F$+"[159][194])UY [211])ELL [217])OUR [211]TATS [195])ONTINUE: ":GOSUB170:L=1:GOSUB180
  428. 4320 ONCDGOTO2690:L$=CHR$(ASC(L$+CHR$(0))AND127):RETURN
  429. 4330 P$=F$+"[159][210]EPORT:  -->[212]HIS [217]EAR[159]<--":GOSUB160:GD=GP/PR:AD=GA/AR:PD=0
  430. 4340 IFGD<1THENPD=INT(((PR-GP)/5)-INT(RND(1))*((PR-GP)/5+30))
  431. 4350 PD=PD*ABS(PD>0):ON-(GD>.8ORGD>RND(1))GOTO4430
  432. 4360 P$=F$+"[155][217]OUR CASTLE WAS RANSACKED BY"+F$+"A HORDE OF STARVING SERFS!!!"
  433. 4370 GOSUB160:GOTO4390
  434. 4380 A=A-INT(RND(1)*A):RETURN
  435. 4390 FORT=2TO5:A=F(T):GOSUB4380:F(T)=A:NEXT:WA=0:PN=0:GR=0:AF=1
  436. 4400 NB=INT(NB/2):LA=INT(LA/2):SF=INT(SF/2):GOSUB4520:GOSUB3450
  437. 4405 GOSUB230:PRINT#1,C$"[207]N "DA$" AT "TM$;
  438. 4410 P$=F$+"[152]"+D2$+"[155]"+U$(1)+"'S [197]MPIRE WAS [200][193][204][214][197][196]!!":PRINT#1,P$:GOSUB160
  439. 4420 CLOSE1:GOSUB3330:GOTO4540
  440. 4430 DN=INT(RND(1)*(SF/10)+20):BB=INT(RND(1)*(SF/12)+10)
  441. 4440 PI=INT(RND(1)*(SF/15)+20-TR+RND(1)*(LA/1000))
  442. 4450 TP=BB+PI-PD-DN:ZN$="GAINED":IFTP<0THENZN$="LOST"
  443. 4460 P$=F$+""+STR$(PD)+" [150][208]EOPLE STARVED."+F$+STR$(BB)+" [150][194]ABIES WERE BORN."
  444. 4470 P$=P$+F$+STR$(DN)+" [150]DIED NATURALLY."+F$+STR$(PI)+" [150][208]EOPLE IMMIGRATED."
  445. 4480 GOSUB160:P$=F$+"[159][217]OUR POPULATION "+ZN$+STR$(ABS(TP))+" [159]CITIZENS."
  446. 4490 GOSUB160:SF=SF+TP:SF=SF*ABS(SF>0):P$="[206]EW POPULATION IS:"+STR$(SF)+"[159]."
  447. 4500 GOSUB160:AF=0:IFGA<ARTHENAF=1
  448. 4510 IFAF=1THENP$=F$+"[155][217]OUR ARMY IS IMMOBILIZED THIS YEAR!":GOSUB160
  449. 4515 GOTO4540
  450. 4520 OPEN1,D7,5,D7$+":(NEWS2.EMP),S,A":GOSUB220:IFER$="00"THENRETURN
  451. 4530 CLOSE1:OPEN1,D7,5,D7$+":(NEWS2.EMP),S,W":RETURN
  452. 4540 IF(RND(1)*TR<25)OR(RND(1)>.1)THENH=0:GOTO4580
  453. 4550 H=INT(RND(1)*4+1)+2:P$=F$+"[207]N THE WAY BACK FROM THE BANK,"+F$
  454. 4560 P$=P$+"YOU WERE BEATEN UNCONCIOUS BY THIEVES!"+F$
  455. 4570 P$=P$+"[212]HEY TOOK"+STR$(H)+"% OF YOUR CASH....":GOSUB160
  456. 4580 PN=PN-INT(PN*(H/100)):FORT=1TO9:READIN$(T),IN(T):NEXT
  457. 4590 DATA"[211]OLDIER",10,"[205]ARKET",1000,"[205]ILL",2000,"[208]ALACE",10000,"[198]OUNDRY",7000
  458. 4600 DATA"[211]HIPYARD",8000,"[206]OBLE",25000,"[196]IPLOMAT",50000,"[211]HIP",5000
  459. 4610 GOSUB250:P$=F$+"[159][215]HICH [201]NVESTMENT?"+F$+"0)[206]ONE ?)[204]IST [217])OUR [211]TATS: ":GOSUB170
  460. 4620 L=1:GOSUB180:ONCDGOTO2690:IFL$="?"THENGOSUB5010:GOTO4610
  461. 4630 IN=VAL(L$):ON-(L$="0"ORL$="")GOTO4940:IFIN=0THENGOSUB3190:GOTO4610
  462. 4640 IFIN<1ORIN>9THEN4610
  463. 4650 P$=F$+"[155][201]NVESTMENT: "+IN$(IN)+"[155]."+F$+"[194]UY HOW MANY?: [154]":GOSUB170
  464. 4660 L=3:GOSUB180:ONCDGOTO2690:BN=INT(VAL(L$)):IFBN<1THEN4610
  465. 4670 TC=BN*IN(IN):IFTC<=PNTHEN4690
  466. 4680 P$=F$+"[217]OU ONLY HAVE"+STR$(PN)+" DOLLARS!":GOSUB160:GOTO4650
  467. 4690 ONINGOTO4710,4780,4790,4800,4830,4850,4860,4890,4910
  468. 4700 PN=PN-TC:P$=F$+"[158][217]OU NOW HAVE":GOTO170
  469. 4710 IFBN+WA>NB*20THENP$=F$+"[158][217]OU ONLY HAVE"+STR$(NB)+" NOBLES!":GOSUB160:GOTO4610
  470. 4720 IFBN+WA<=(F(4)+1)*100THEN4740
  471. 4730 P$=F$+"[158][217]OU ONLY HAVE"+STR$(F(4))+" FOUNDRIES!":GOSUB160:GOTO4610
  472. 4740 IFBN+WA<=SF/3THEN4770
  473. 4750 P$=F$+"[153][217]OU ONLY HAVE"+STR$(INT(SF/3-WA))+" MORE MALE SERFS"+F$
  474. 4760 P$=P$+"OF FIGHTING AGE![155]":GOSUB160:GOTO4610
  475. 4770 WA=WA+BN:SF=SF-BN:GOSUB4700:P$=STR$(WA)+" "+IN$(IN)+"S.":GOSUB160:GOTO4610
  476. 4780 F(2)=F(2)+BN:GOSUB4700:P$=STR$(F(2))+" "+IN$(IN)+"S.":GOSUB160:GOTO4610
  477. 4790 F(3)=F(3)+BN:GOSUB4700:P$=STR$(F(3))+" "+IN$(IN)+"S.":GOSUB160:GOTO4610
  478. 4800 IFF(1)+BN>10THENP$=F$+"[217]OU CAN ONLY HAVE 100% OF A PALACE!":GOSUB160:GOTO4610
  479. 4810 F(1)=F(1)+BN:GOSUB4700:P$=STR$(F(1)*10)+"% OF THE "+IN$(IN)+","+F$
  480. 4820 NB=NB+BN:P$=P$+"AND"+STR$(NB)+" NOBLES.":GOSUB160:GOTO4610
  481. 4830 F(4)=F(4)+BN:GOSUB4700:P$=STR$(F(4))+" "+IN$(IN)+"\H1IES."
  482. 4840 GOSUB160:GOTO4610
  483. 4850 F(5)=F(5)+BN:GOSUB4700:P$=STR$(F(5))+" "+IN$(IN)+"S.":GOSUB160:GOTO4610
  484. 4860 IFNB+BN<SF/100THENNB=NB+BN:GOSUB4700:P$=STR$(NB)+" [206]OBLES.":GOSUB160:GOTO4610
  485. 4870 P$=F$+"[155][217]OUR SERFS ARE TOO FEW TO SUPPORT"+F$+"THAT MANY NOBLES!"
  486. 4880 GOSUB160:GOTO4610
  487. 4890 IFF(6)+BN>3THENP$=F$+"[154][217]OU CAN ONLY HAVE 3 [196]IPLOMATS.":GOSUB160:GOTO4610
  488. 4900 F(6)=F(6)+BN:GOSUB4700:P$=STR$(F(6))+" "+IN$(IN)+"S.":GOSUB160:GOTO4610
  489. 4910 IFYC+BN>1000THENP$=F$+"[158][217]OU CAN ONLY HAVE 1000 [211]HIPS.":GOSUB160:GOTO4610
  490. 4912 IFYC+BN<=(F(5)+1)*50THEN4930
  491. 4920 P$=F$+"[158][217]OU ONLY HAVE"+STR$(F(5))+" [211]HIPYARDS.":GOSUB160:GOTO4610
  492. 4930 YC=YC+BN:GOSUB4700:P$=STR$(YC)+" "+IN$(IN)+"S.":GOSUB160:GOTO4610
  493. 4940 IFYC<1THEN4990
  494. 4950 P$=F$+"[159][195]OLONY TRIP? (Y/N): ":GOSUB170:L=1:GOSUB180:ONCDGOTO2690
  495. 4960 IFL$<>"Y"ANDL$<>"[217]"THEN4990
  496. 4970 P$=F$+"[150][200]EADING DOWN TO THE SHIPYARDS....":GOSUB160
  497. 4980 POKE251,PEEK(152):LOAD(D7$)+":(EMP2COL)",D7,1
  498. 4990 P$=F$+"[200]EADING TO THE BATTLE GROUNDS....":GOSUB160
  499. 5000 POKE251,PEEK(152):LOAD(D7$)+":(EMP2COM)",D7,1
  500. 5010 P$="[147] [154]"+F$+F$+" [201]NVESTMENT [207]PTIONS"+F$+" [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"+F$
  501. 5020 GOSUB160:FORL=1TO9:P$="[158]["+MID$(STR$(L),2)+"][146] [159]"
  502. 5030 A$=LEFT$(IN$(L)+"[154]..................",19-LEN(STR$(IN(L)))-1)
  503. 5040 P$=P$+A$+MID$(STR$(IN(L)),2):GOSUB160:NEXT:RETURN
  504. 5050 REM  EMPIRE V2 FOR ST/R BBS V3.6/7      CONVERTED FROM IMAGE EMPIRE V4.3
  505. 5060 REM  BY BLACK FIRE!
  506.