-+-+-+-+-+-+-+-+ START OF PART 14 -+-+-+-+-+-+-+-+ X data"Federation" X data"Front Pulse Laser",300,"Rear Pulse Laser",300,"Front Beam Laser", V & X`09 600,"Rear Beam Laser",600,"Front Military Laser",1200, & X "Rear Military Laser",1100,"Escape Capsule",400, & X`09 "Large Cargo hold",300,"Energy Bomb",50,"Rear Mining Laser",330,& X "Energy Unit",400,"Extra Missile Rack",100,"Missile",5, & X "Front Excimer Laser",2300,"Multi-Fire Racks",3100, & X "Long Range Scanner",2900,"Front X-Ray Laser",5300, & X "Energy Bomb Shield",1130,"ECM System",1540,"LSJ System",2300, & X "Cloaking Device",3600,"Fire-Control Comp.",7500, & X`09 "Trading Computer",60, "Sand Blaster", 750 X data "food",2,1,81,"tonne","slaves (*)",20,1,6417,"head","textiles", & X`098,2,1160, & X "tonne","minerals",15,1,3617,"tonne","alloys",20,4,7488,"tonne" X data "luxuries",200,1,640017,"tonne","narcotics (*)",150,1,360017,"kilo V" X data "computers",100,8,168704,"unit","machinery",60,7,63431,"unit", & X`09"gold",80,1,102417,"kilo" X data "clean","mild offender","offender","fugitive","outlaw" X data "Viper class GalPol ship",70,2,3,50,3,9,200000,1,8,85,70,-75181, & X "Cobra Class free trader",100,1,5,200,3,0,200000,1,10,95,85,-66898 X data "Python class transport",95,1,2,350,2,3,200000,.75,12,95,80,9150, V & X "Adder class fighter",50,2,5,50,4,200500,-500,1.25,8,90,65,80116872 X data "Ophidion class scout ship",110,2,4,100,4,7,204000,1.5,15,95,90, & X -115908, "Asp class luxury yacht",120,2,4,150,3,5,205000,1,10,83,70,-2 V7437 X data"Krait class fighter",30,3,5,50,4,6,199950,1.25,7,80,70,-62742, & X "Fer de Lance",150,3,5,130,4,7,400000,1.25,12,95,90,-102452 X data"Thargoid ship",250,3,5,100,4,8.5,500000,1,10,80,90,-65094, & X "Asteroid",5,0,0,0,0,9,0,0,0,0,0,3615, & X "Imperial Destroyer",200,3,5,170,5,8,450000,1,12,80,70,-8618 X data"Imperial Cruiser",300,4,5,400,6,8.8,1200000,1.25,13,80,70,93865, & X "Imperial Battlestar",420,5,5,1000,9,8.95,5200000,1.25,14,80,70,3585 V44 X data"Missile",5,0,0,0,0,9,0,1.5,0,0,0,4927 X data"Exploration ship",340,4,5,200,8,8.9,2200000,1.5,14,99,93,-88484, & X "Heavy Battle Carrier",650,2,3,100,3,8.7,1700000,.75,10,82,80,-5764 V6 X data"Death Star",3000,5,20,500,20,9,9200000,.75,15,65,50,201231, & X "GalPol Commando ship",230,3,6,200,6,9,500000,1,11,80,85,-14333, & X "Boa Class Bounty Hunter",135,2,5,400,3,4,225000,1.25,12,55,55,1603 V60,& X "Federation Starbase",50000,7,50,10000,5,9,10200000,0,0,90,50,44650 V27,& X "Thargoid Mothership",850,6,20,1000,6,9,6000000,1,10,98,92,270071, V & X "Sand Cloud",1000,0,0,0,0,9,0,0,0,0,0, 6600,& X`09 "Yugo class Rescue ship",15,1,1,8,1,6,195000,.75,5,80,35,-37819 X data"Rookie",0,"Novice",250,"Average",800,"Dangerous",2000, & X "Deadly",5000,"ELITE",12000 X data"MASTER",30000,"SUPREME",60000,"ULTIMATE",150000,"GAL GOD",500000 X data"j","m","re","f","ah","m","ab","m","a","m","c","f","t","m", & X`09 "o","f","m","c","r","c","f","c","bo","m","d","m","e","c","s", & X`09 "f","b","f","fl","m","sa","c","ec","c","?","f","cl","c","ls","c" X `20 X X use ! *************** GLOBAL ERROR HANDLER ******************* X if debug%=1 then`20 X`09 a$= "ERR:"+str$(err)`20 X`09 call display(23,a$) X end if X if err=52 or err=50 then X call display(23, "Numeric input expected - Re-enter.") X a$="0" X`09 b=0 X`09 a=0 X continue X end if X if err=28 then X call display(23,"CTRL-C TRAP! Auto-SUing game.") X aa$="s" X! call display(23,"Q) Quit - Terminate game immediately") X! call display(23,"S) SU - Suspend game and DISABLE IT FOR A WEE VK") X! call display(23,"R) Resume - Resume play at current point") X! aa$ = "Enter Q,S or R >" X! while (aa$<>"Q" and aa$<>"S" and aa$<>"R") X! call display(1,aa$) X! next X select aa$ X case "q" X`09 quit=1 X continue 8000 X case "r" X`09 continue X case "s" X pr::date(1)=11 X continue 5100 X end select X end if X X ! error cannot be recovered from - attempt to save situation X if err=15 then X a$="A File Lock condition has been detected for 60 seconds." X`09 call display(23,a$) X a$="SUing game and exiting - please wait a while and try again." X call display(23,a$) X end if X call display(23,"**************************************************** V**") X call display(23,"* FATAL ELECTRONICS ERROR - LIFE SUPPORT GONE V *") X call display(23,"* CRYOSTAT ACTIVATED - SUSPENDED ANIMATION ACHIEVED V *") X call display(23,"* ERRORS WRITTEN TO GAL-TRADER.DMP V *") X call display(23,"**************************************************** V**") X open "gal-trader.dmp" for output as file #5% X print #5%;"Gal-Trader v. 4.55 crash log "+date$(0%)+" "+time$(0%)+"." X print #5%;"Error =";err;" Loc = ";erl;" Module = ";ern$;"." X print #5%;ert$(err) X print #5% X print #5%;"Please send this file to HONY@CRNLVAX5.BITNET if you expec Vt " X print #5%;"it to be useful for debugging purposes." X continue 5100 X end when X X10000 close #1%\close #2%\close #3%\close #4%\close #5% X X end program $ CALL UNPACK GAL_TRADER4.BAS;1 508687615 $ create 'f' Xgal.exe : gal_trader4.obj, display.obj, pname.obj X`09link gal_trader4,display,pname/exe=gal.exe X Xgal_trader4.obj : gal_trader4.bas, gal-trader.h X`09basic gal_trader4/variant=0 X Xdisplay.obj : display.bas, display.e X`09basic display X Xpname.obj : pname.bas X`09basic pname $ CALL UNPACK MAKEFILE.;3 892763200 $ create 'f' X! ************************************************************************ X! * Planet Name Generation Routine`09`09N. Utzig `20 X! * Args: 1 dummy string X! * Returns: String (20 character max) X! * Uses external data list - should be independent of main prog DATA X! ************************************************************************ X XFUNCTION STRING Pnamegen( STRING Ptype ) X X! Returns Random Planet Name X! Ptype is a dummy variable, but could be used to alter the generation X! routine for things other than planet names (I made a random corporation X! name gen routine using this algorithm also) X! Ptype is also used in a recursive call procedure, below X X st_limit=170 ! planet-name-prefix data limit (increase as data added)`20 X en_limit=160 ! planet-name-suffix data limit (increase as data added) X sf_limit=30 ! optional ending planet name word X XRedoit: X RANDOMIZE X RESTORE X X FOR x=1 to INT(st_limit*RND)+1 ! pick a random starting string X READ d1$ X NEXT x X Xd4$="" XIF RND<.05 then`09`09`09! 5% chance of concatinating another prefix XRESTORE`09`09`09`09! to the planet name X FOR x=1 to INT(st_limit*RND)+1 X READ d4$ X NEXT x XEND IF X Xrloop1: X READ x$ X if x$<>"***" then goto rloop1 ! skip to endings X END IF X X X X FOR x=1 to INT(en_limit*RND)+1 ! pick a random ending X READ d2$ X NEXT x X Xif Ptype="one" then goto skipit XEND IF Xif rnd<.05 then d2$=d2$+"-"+Pnamegen("one") ! 5% chance of hyphenated double XEND IF`09`09`09`09`09 ! planet name - genreated via a X`09`09`09`09`09 ! recursive call to Pname X Xd3$="" X!IF RND<.05 then`09`09 `20 X`09`09`09`09`09 ! 5% chance of optional ending X`09`09`09`09`09 ! word such as 'world', 'base', etc. X!Rloop2: X! READ x$ X! if x$<>"**2" then goto rloop2 X! END IF X! X! FOR x=1 to INT(sf_limit*RND)+1 X! READ d3$ X! NEXT x X!END IF X XSkipit: Xd0$=d1$+d4$+d2$+" "+d3$`09`09 ! concatinate substrings into full name Xif len(d0$)>10 then goto redoit ! strings large than 20 chars thrown out XEND IF XPnamegen=d0$`09`09`09 ! return Pname X! X! Planet name prefixes - ten per line can be modified to alter the X! distribution and flavor of the names X! Xdata alpha,beta,gamma,omega,tri,duo,spectra,bina,hydra,cano Xdata expo,mega,do,ma,bi,qua,pen,load,test,mono Xdata ursa,cepha,leo,aqua,tau,span,neo,sex,dra,dil Xdata poly,ban,ben,pre,excel,homo,tel,fru,micro,mini Xdata sim,cim,cut,cru,ja,ki,lar,bung,ever,god Xdata wonder,water,necro,win,sun,sola,luna,stella,o,i Xdata zo,zone,plane,top,out,off,in,other,xeno,thar Xdata bo,no,oni,uni,doo,boo,snea,tar,dia,yu Xdata en,eg,my,hol,jar,kli,kro,mole,pi,ro Xdata xero,ya,in,ib,cy,zy,by,rhino,anti,omni Xdata gli,cla,pro,re,spu,ana,fun,fore,ga,go Xdata pha,pho,terra,vo,vul,snow,blood,mar,ven,mer Xdata gore,aa,ee,ii,oo,uu,gna,who,bur,sala Xdata reci,reta,pyro,ultra,bul,ir,hemo,co,hyper,meso Xdata emi,dark,slave,narco,fighter,last,first,second,third,mid Xdata main,dog,cat,fish,sky,hunter,pitt,crown,king,queen Xdata flex,cor,proto,pola,equi,lata,longi,ad,at,ith X! X! planet name suffixes - ten per line X! Xdata *** Xdata con,lex,ni,peia,ces,cron,gus,tax,nor,ceros Xdata ris,sus,sos,sis,can,goid,star,num,nus,bis Xdata culum,culus,dar,dis,dun,don,dill,den,fu,fus Xdata vid,vun,xor,xon,zian,sian,scior,xior,sion,tion Xdata pus,-world,land,go,axx,star,a,i,o,y Xdata hole,pit,put,dud,du,pu,ono,unu,nu,home Xdata center,-one,ex,ox,ix,mania,manx,end,cross,jun Xdata ov,s,x,dolar,nius,as,less,bie,ker,di Xdata to,utu,ufi,obi,ab,ble,ree,some,pe,it Xdata shi,l,ne,le,re,ap,tron,eki,ki,cho Xdata gr,ikh,okka,zoa,era,na,th,ch,sh,tch Xdata angulum,rrus,alis,lios,line,tech,lf,stock,bar,bone Xdata mander,pori,c,k,nk,full,ot,rt,gle,glo Xdata vis,vane,ac,ack,new,dee,-planet,jip,gen,gan Xdata dock,port,-landing,harbor,bay,cove,-island,field,city,town Xdata vus,ibod,inor,ivin,haven,nest,pot,ng,gh,tk X! X! optional ending words to planet names - ten per line X! Xdata **2 Xdata major,minor,prime,1,2,3,4,5,6,7 Xdata port,base,ring,cluster,point,stop,8,9,outpost,nebula Xdata quasar,cloud,nova,cluster,prime,major,minor,base,outpost,landing XEND FUNCTION $ CALL UNPACK PNAME.BAS;1 68713938 $ v=f$verify(v) $ EXIT