billr@saab.CNA.TEK.COM (Bill Randle) (05/04/90)
Submitted-by: Chris Rende <rphroy!trux!car@uunet.uu.net>
Posting-number: Volume 9, Issue 47
Archive-name: ctrek/Part02
#! /bin/sh
# This is a shell archive. Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file". To overwrite existing
# files, type "sh file -c". You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g.. If this archive is complete, you
# will see the following message at the end:
# "End of archive 2 (of 2)."
# Contents: ctrek.p2
# Wrapped by billr@saab on Thu May 3 15:21:23 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'ctrek.p2' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'ctrek.p2'\"
else
echo shar: Extracting \"'ctrek.p2'\" \(30263 characters\)
sed "s/^X//" >'ctrek.p2' <<'END_OF_FILE'
X
X ********************************************
X * 7100-nav thru 7800-int execute various *
X * commands from the user, and present the *
X * results and consequences of each command *
X * *
X * Called from 2000-process or 3000-com-fun *
X ********************************************
X
X 7100-nav.
X perform 8340-ck-fl thru 8340-exit.
X compute fuel-count = fuel-count - (200 * warp-a).
X if warp-a > 0
X move warp-a to rx-s
X else
X compute rx-s rounded = warp-b / 100.
X move mrctr to srctr.
X move mkctr to skctr.
X compute warp1 rounded = (warp-a * 5) + (warp-b * .05).
X compute warp2 rounded = (warp-a * 8) + (warp-b * .08).
X compute warp3 rounded = (course-b * .05) * rx-s.
X compute warp4 rounded = (course-b * .03) * rx-s.
X go to
X 7110-nav
X 7120-nav
X 7130-nav
X 7140-nav
X 7150-nav
X 7160-nav
X 7170-nav
X 7180-nav
X depending on course-a.
X display "INVALID COURSE".
X go to 7100-exit.
X 7110-nav.
X compute srctr = srctr - warp2 + warp4.
X compute skctr = skctr + warp3.
X perform 7000-nav-ck thru 7000-exit.
X go to 7100-exit.
X 7120-nav.
X compute srctr = srctr - warp1 + warp3.
X compute skctr = skctr + warp1 + warp4.
X perform 7000-nav-ck thru 7000-exit.
X go to 7100-exit.
X 7130-nav.
X compute srctr = srctr + warp3.
X compute skctr = skctr + warp2 - warp4.
X perform 7000-nav-ck thru 7000-exit.
X go to 7100-exit.
X 7140-nav.
X compute srctr = srctr + warp1 + warp4.
X compute skctr = skctr + warp1 - warp3.
X perform 7000-nav-ck thru 7000-exit.
X go to 7100-exit.
X 7150-nav.
X compute srctr = srctr + warp2 - warp4.
X compute skctr = skctr - warp3.
X perform 7000-nav-ck thru 7000-exit.
X go to 7100-exit.
X 7160-nav.
X compute srctr = srctr + warp1 - warp3.
X compute skctr = skctr - warp1 - warp4.
X perform 7000-nav-ck thru 7000-exit.
X go to 7100-exit.
X 7170-nav.
X compute srctr = srctr - warp3.
X compute skctr = skctr - warp2 + warp4.
X perform 7000-nav-ck thru 7000-exit.
X go to 7100-exit.
X 7180-nav.
X compute srctr = srctr - warp1 - warp4.
X compute skctr = skctr - warp1 + warp3.
X perform 7000-nav-ck thru 7000-exit.
X go to 7100-exit.
X 7100-exit. exit.
X
X 7200-pha.
X if klgns < 1 and romulons < 1
X display "Science Officer Spock reports no enemy "
X display "vessels in this quadrant, " name-x
X go to 7200-exit.
X perform 8340-ck-fl thru 8340-exit.
X if fuel-count < 9999
X move fuel-count to fuel-co
X display "Maximum of " fuel-co " units available to phasers ".
X display "How many units to phaser banks? ".
X accept var4-an.
X perform 7210-rep-bl thru 7210-exit.
X perform 7220-compute-dist thru 7220-exit.
X compute var2 = 450000 / (shield-cnt + 100).
X perform 8150-test-agn thru 8150-exit.
X if klgns > 1 and trap-vec
X display "*ENTERPRISE DESTROYED* "
X display "Direct hits from " klgns " klingons "
X move 1 to indicate-x.
X perform 8200-ck-done thru 8200-exit.
X compute dm-var4 = var4 - (damage-cnt / 15).
X compute var3 = var2 / 2.
X if romulons > 0
X display "*ROMULON VESSELS PRESENT IN QUADRANT* "
X display "Do you want to fire on Romulons? "
X accept lst-reply
X if yes-lst
X perform 7250-romulon-ck thru 7250-exit
X go to 7200-exit.
X if klgns > 0
X compute var2 = var2 / (dist-x / 10)
X subtract var4 from fuel-count
X move dm-var4 to var4
X add kh-tl to var4
X if var4 < 400
X perform 4700-disp-hit thru 4700-exit
X display "*KLINGON DISABLED* "
X perform 4500-disp-hit thru 4500-exit
X compute var4 = .75 * var4
X add var4 to kh-tl
X add var2 to damage-cnt
X subtract var3 from shield-cnt
X else
X perform 7201-replace thru 7201-exit
X varying rep-ctr from 1 by 1 until rep-ctr > rx
X inspect mini-table replacing first "K" by " "
X inspect mini-table replacing all "x" by "K"
X compute var4 = var4 / (dist-x ** .224)
X perform 4700-disp-hit thru 4700-exit
X display "*KLINGON DESTROYED* "
X move 0 to kh-tl
X subtract 1 from klgns
X subtract 1 from klingons
X perform 5400-trans-back thru 5400-exit
X if klgns > 0
X perform 4500-disp-hit thru 4500-exit
X add var2 to damage-cnt
X compute var2 = .75 * var2
X subtract var2 from shield-cnt
X else
X move var3 to var2
X perform 4500-disp-hit thru 4500-exit
X add var3 to damage-cnt
X subtract var3 from shield-cnt
X else
X display "There are 0 Klingons in this quadrant, " name-x.
X perform 8120-dam-com thru 8120-exit.
X perform 8300-ck-fuel-damage thru 8300-exit.
X perform 8200-ck-done thru 8200-exit.
X 7200-exit. exit.
X
X 7201-replace.
X inspect mini-table replacing first "K" by "x".
X 7201-exit. exit.
X
X 7202-replace.
X inspect mini-table replacing first "R" by "x".
X 7202-exit. exit.
X
X 7210-rep-bl.
X move 0 to tal4.
X inspect var4-an tallying tal4 for all " ".
X if tal4 > 0
X inspect var4-an replacing all " " by zeros
X if var4-an numeric
X move var4-an to var4
X compute var4 = var4 / (10 ** tal4)
X else
X move 300 to var4
X else
X if var4-an numeric
X move var4-an to var4
X else
X move 300 to var4.
X if var4 < 300
X move 300 to var4.
X 7210-exit. exit.
X
X 7220-compute-dist.
X move 30 to dist-b.
X move 30 to dist-x.
X move 30 to dist-r.
X move 0 to ct-k.
X move 0 to ct-r.
X perform 7225-find-e thru 7225-exit
X varying rcntr from 1 by 1 until rcntr > 14
X after kcntr from 1 by 1 until kcntr > 14.
X perform 7230-compute thru 7230-exit
X varying rcntr from 1 by 1 until rcntr > 14
X after kcntr from 1 by 1 until kcntr > 14.
X perform 7247-est-nbr thru 7247-exit.
X 7220-exit. exit.
X
X 7225-find-e.
X if mcol (rcntr , kcntr) = "E"
X move rcntr to e1
X move kcntr to e2.
X 7225-exit. exit.
X
X 7230-compute.
X if mcol (rcntr , kcntr) = "K"
X move rcntr to k1
X move kcntr to k2
X add 1 to ct-k
X move dist-x to str-a
X perform 7240-dist-k thru 7240-exit
X if dist-x > str-a
X move str-a to dist-x.
X if mcol (rcntr , kcntr) = "R"
X move rcntr to r1
X move kcntr to r2
X add 1 to ct-r
X move dist-r to str-r
X perform 7243-dist-r thru 7243-exit
X if dist-r > str-r
X move str-r to dist-r.
X if mcol (rcntr , kcntr) = "B"
X move rcntr to b1
X move kcntr to b2
X move dist-b to str-x
X perform 7245-dist-b thru 7245-exit
X if dist-b > str-x
X move str-x to dist-b.
X 7230-exit. exit.
X
X 7240-dist-k.
X if k1 > e1
X compute k1 = k1 - e1
X else
X compute k1 = e1 - k1.
X if k2 > e2
X compute k2 = k2 - e2
X else
X compute k2 = e2 - k2.
X compute dist-x rounded = ((k1 ** 2) + (k2 ** 2)) ** .5.
X move dist-x to dkc (ct-k).
X 7240-exit. exit.
X
X 7243-dist-r.
X if r1 > e1
X compute r1 = r1 - e1
X else
X compute r1 = e1 - r1.
X if r2 > e2
X compute r2 = r2 - e2
X else
X compute r2 = e2 - r2.
X compute dist-r rounded = ((r1 ** 2) + (r2 ** 2)) ** .5.
X move dist-r to drc (ct-r).
X 7243-exit. exit.
X
X 7245-dist-b.
X if b1 > e1
X compute b1 = b1 - e1
X else
X compute b1 = e1 - b1.
X if b2 > e2
X compute b2 = b2 - e2
X else
X compute b2 = e2 - b2.
X compute dist-b rounded = ((b1 ** 2) + (b2 ** 2)) ** .5.
X 7245-exit. exit.
X
X 7247-est-nbr.
X move 30 to str-x.
X perform 7248-est-k thru 7248-exit
X
X varying rt from 1 by 1 until rt > ct-k.
X perform 7249-est-r thru 7249-exit
X varying qt from 1 by 1 until qt > ct-r.
X 7247-exit. exit.
X
X 7248-est-k.
X if dkc (rt) < str-x
X move dkc (rt) to str-x
X compute rx = rt - 1.
X 7248-exit. exit.
X
X 7249-est-r.
X if drc (qt) < str-r
X move drc (qt) to str-r
X compute qx = qt - 1.
X 7249-exit. exit.
X
X 7250-romulon-ck.
X if romulons > 2 and no-way
X display "*ENTERPRISE FIRING ON ROMULONS*"
X display "*ROMULONS RETURNING FIRE* "
X display "Simultaneous hits from " romulons " Romulons "
X display "*ENTERPRISE DESTROYED*"
X move 1 to indicate-x
X perform 8200-ck-done thru 8200-exit
X else
X perform 8400-generate thru 8400-exit
X display "*ENTERPRISE FIRING ON ROMULONS* "
X subtract var4 from fuel-count
X if no-way or var4 < 447
X compute var4 = var4 / (dist-r ** .224)
X move var4 to var5
X display var5 " unit hit on Romulon "
X display "*ROMULON RETURNING FIRE*"
X perform 8400-generate thru 8400-exit
X if no-way
X display "*ENTERPRISE DESTROYED BY ROMULON TORPEDO* "
X move 1 to indicate-x
X perform 8200-ck-done thru 8200-exit
X else
X compute var2 = 3 * var2 / (dist-r / 10)
X perform 4500-disp-hit thru 4500-exit
X add var2 to damage-cnt
X compute var3 = var2 / 2
X if var3 < 9999
X subtract var3 from shield-cnt
X else
X move 0 to shield-cnt
X
X else
X compute var4 = var4 / (dist-x ** .125)
X move var4 to var5
X display var5 " unit hit on Romulon "
X display "*ROMULON DESTROYED*"
X perform 7202-replace thru 7202-exit
X varying rep-ctr from 1 by 1 until rep-ctr > qx
X inspect mini-table replacing first "R" by " "
X inspect mini-table replacing all "x" by "R"
X subtract 1 from romulons
X perform 5400-trans-back thru 5400-exit.
X perform 8100-dmg-com thru 8100-exit.
X perform 8300-ck-fuel-damage thru 8300-exit.
X perform 8200-ck-done thru 8200-exit.
X 7250-exit. exit.
X
X 7300-tor.
X if klgns < 1 and romulons < 1
X display "There are 0 enemy vessels in this quadrant, " name-x
X go to 7300-exit.
X perform 8400-generate thru 8400-exit.
X compute var2 = 250000 / (shield-cnt + 100).
X perform 8150-test-agn thru 8150-exit.
X perform 7220-compute-dist thru 7220-exit.
X if klgns > 2
X compute var2 = var2 * (klgns + 1) / 2.
X compute var3 = .75 * var2.
X if romulons > 0 and torps > 0
X display "*ROMULONS PRESENT IN QUADRANT*"
X display "Do you want to fire on them? "
X accept lst-reply
X if yes-lst
X perform 7350-romulon-ck thru 7350-exit
X go to 7300-exit.
X if torps > 0
X if klgns > 0
X if shield-cnt < 475 and no-way
X display "*ENTERPRISE DESTROYED*"
X display "Low shields at time of enemy attack "
X move 1 to indicate-x
X perform 8200-ck-done thru 8200-exit
X else
X if no-way and dist-x > 4
X compute var2 = var2 / (dist-x / 10)
X display "torpedo missed "
X perform 4500-disp-hit thru 4500-exit
X add var2 to damage-cnt
X subtract 1 from torps
X subtract var3 from shield-cnt
X perform 8120-dam-com thru 8120-exit
X else
X display "*KLINGON DESTROYED*"
X subtract var3 from damage-cnt
X perform 7201-replace thru 7201-exit
X varying rep-ctr from 1 by 1 until rep-ctr > rx
X inspect mini-table replacing first "K" by " "
X inspect mini-table replacing all "x" by "K"
X subtract 1 from torps
X subtract 1 from klgns
X subtract 1 from klingons
X perform 5400-trans-back thru 5400-exit
X if klgns > 0
X perform 4500-disp-hit thru 4500-exit
X add var2 to damage-cnt
X subtract var3 from shield-cnt
X perform 8120-dam-com thru 8120-exit
X else
X perform 8120-dam-com thru 8120-exit
X else
X display "There are 0 Klingon vessels in this quadrant, " name-x
X else
X display "0 torpedoes remaining, " name-x.
X perform 8300-ck-fuel-damage thru 8300-exit.
X perform 8200-ck-done thru 8200-exit.
X 7300-exit. exit.
X
X 7350-romulon-ck.
X if romulons > 1 and no-way
X display "*ENTERPRISE FIRING ON ROMULONS*"
X display "*ROMULONS RETURNING FIRE*"
X display "Simultaneous hits from " romulons " Romulons "
X display "*ENTERPRISE DESTROYED*"
X move 1 to indicate-x
X perform 8200-ck-done thru 8200-exit
X else
X display "*ENTERPRISE FIRING ON ROMULONS*"
X subtract 1 from torps
X if no-way and dist-r > 4
X display "torpedo missed "
X display "*ROMULONS RETURNING FIRE*"
X perform 8400-generate thru 8400-exit
X if no-way and shield-cnt < 4000
X display "*ENTERPRISE DESTROYED BY ROMULON TORPEDO*"
X move 1 to indicate-x
X perform 8200-ck-done thru 8200-exit
X else
X compute var2 = 3 * var2 / (dist-r / 10)
X perform 4500-disp-hit thru 4500-exit
X add var2 to damage-cnt
X compute var3 = var2 / 2
X subtract var3 from shield-cnt
X else
X display "*ROMULON DESTROYED*"
X perform 7202-replace thru 7202-exit
X varying rep-ctr from 1 by 1 until rep-ctr > qx
X inspect mini-table replacing first "R" by " "
X inspect mini-table replacing all "x" by "R"
X subtract 1 from romulons
X perform 5400-trans-back thru 5400-exit.
X perform 8300-ck-fuel-damage thru 8300-exit.
X perform 8200-ck-done thru 8200-exit.
X 7350-exit. exit.
X
X 7400-sta.
X compute var3 = (damage-cnt / 60).
X move var3 to var6.
X move fuel-count to fuel-co.
X move shield-cnt to shield-co.
X display " ".
X display "FUEL UNITS DAMAGE ".
X display "REMAINING LEVEL ".
X display " ".
X display " " fuel-co " " var6 "%".
X display " ".
X display "===================".
X display " ".
X display " PHOTON SHIELD ".
X display "TORPEDOES LEVEL ".
X display " ".
X display " " torps " " shield-co.
X display " ".
X perform 8100-dmg-com thru 8100-exit.
X perform 8300-ck-fuel-damage thru 8300-exit.
X perform 8200-ck-done thru 8200-exit.
X 7400-exit. exit.
X
X 7500-def.
X add shield-cnt to fuel-count.
X display "How many units to shields (0 - 9999)? ".
X perform 7520-asc thru 7520-exit.
X if shield-cnt < fuel-count
X subtract shield-cnt from fuel-count
X else
X move fuel-count to fuel-co
X display "Maximum amount to shields: " fuel-co
X display "How many units to shields? "
X perform 7520-asc thru 7520-exit
X subtract shield-cnt from fuel-count.
X move shield-cnt to shield-co.
X display "Shields at " shield-co " per your command ".
X 7500-exit. exit.
X
X 7520-asc.
X accept shield-cnt-an.
X move 0 to sbl.
X inspect shield-cnt-an tallying sbl for all " ".
X inspect shield-cnt-an replacing all " " by zeros.
X if shield-cnt-an not numeric
X move 0 to sbl
X display "INVALID - Entry must be numeric "
X display "How many units to shields? "
X accept shield-cnt-an
X inspect shield-cnt-an tallying sbl for all " "
X inspect shield-cnt-an replacing all " " by zeros
X if shield-cnt-an not numeric
X move 0 to shield-cnt
X go to 7520-exit.
X move shield-cnt-an to shield-cnt.
X if sbl > 0
X compute shield-cnt = shield-cnt / (10 ** sbl).
X 7520-exit. exit.
X
X 7600-doc.
X perform 8400-generate thru 8400-exit.
X if base-cnt > 0
X perform 7220-compute-dist thru 7220-exit
X if dist-b < 7
X if no-way
X display "*UNSUCCESSFUL DOCKING ATTEMPT* "
X display "Star base reports all bays in use "
X perform 8100-dmg-com thru 8100-exit
X else
X move 5 to torps
X move 25000 to fuel-count
X move 0 to damage-cnt
X move 0 to shield-cnt
X display "Shields dropped to dock at star base "
X display "*DOCK SUCCESSFUL* "
X else
X display "The nearest star base is " dist-b " parsecs "
X display "You must maneuver to within 6 parsecs to dock "
X else
X display "There are 0 star bases in this quadrant, " name-x.
X perform 8300-ck-fuel-damage thru 8300-exit.
X perform 8200-ck-done thru 8200-exit.
X 7600-exit. exit.
X
X 7650-trans-star.
X if q1 = 1
X move 2 to q9
X else
X if q1 = 9
X move 8 to q9
X else
X move q1 to q9.
X if q2 = 1
X move 2 to r9
X else
X if q2 = 9
X move 8 to r9
X else
X move q2 to r9.
X compute w = (q9 - 2) * 14.
X compute z = (r9 - 2) * 14.
X perform 7670-strans thru 7670-exit
X varying rctr from 1 by 1 until rctr > 42
X after kctr from 1 by 1 until kctr > 42.
X 7650-exit. exit.
X
X 7670-strans.
X compute a = z + rctr.
X compute b = w + kctr.
X move macol (a , b) to kolumn (rctr , kctr).
X 7670-exit. exit.
X
X 7700-lrs.
X perform 7650-trans-star thru 7650-exit.
X move zeros to scan-keep.
X move 0 to scan-ctr.
X if q1 = 1
X move 1 to qt1
X move 3 to qt3
X else
X if q1 = 9
X move 7 to qt1
X move 9 to qt3
X else
X compute qt1 = q1 - 1
X compute qt3 = q1 + 1.
X if q2 = 1
X move 1 to qt2
X move 3 to qt4
X else
X if q2 = 9
X move 7 to qt2
X move 9 to qt4
X else
X compute qt2 = q2 - 1
X compute qt4 = q2 + 1.
X perform 7730-trade-tbl thru 7730-exit
X varying tr2 from 0 by 1 until tr2 > 2
X after tr1 from 0 by 1 until tr1 > 2.
X display " ".
X display "=========================".
X display "= = = =".
X display "= " cv (1) "," cv (2) " = " cv (3) "," cv (4) " = " cv (5) "," cv (6) " = ".
X display "= = = =".
X display "=========================".
X display "= = = =".
X display "= " cv (7) "," cv (8) " = " cv (9) "," cv (10) " = " cv (11) "," cv (12) " =".
X display "= = = =".
X display "=========================".
X display "= = = =".
X display "= " cv (13) "," cv (14) " = " cv (15) "," cv (16) " = " cv (17) "," cv (18) " =".
X display "= = = =".
X display "=========================".
X display "KEY: ".
X display "Quadrants " qt1 "," qt2 " thru " qt3 "," qt4.
X display "Format - KLINGONS,STAR BASES ".
X if q1 = 1 or q1 = 9 or q2 = 1 or q2 = 9
X display "*ENTERPRISE ON GALACTIC BOUNDARY*".
X display "Enterprise in quadrant " q1 "," q2.
X display " ".
X perform 8100-dmg-com thru 8100-exit.
X perform 8300-ck-fuel-damage thru 8300-exit.
X perform 8200-ck-done thru 8200-exit.
X 7700-exit. exit.
X
X 7730-trade-tbl.
X compute qt = (tr1 * 14).
X compute rt = (tr2 * 14).
X perform 7750-trade-act thru 7750-exit
X varying ktctr from 1 by 1 until ktctr > 14
X after rtctr from 1 by 1 until rtctr > 14.
X perform 7770-inspect-scan thru 7770-exit.
X 7730-exit. exit.
X
X 7750-trade-act.
X compute qx = qt + ktctr.
X compute rx = rt + rtctr.
X move kolumn (rx , qx) to scan-col (rtctr , ktctr).
X 7750-exit. exit.
X
X 7770-inspect-scan.
X add 1 to scan-ctr.
X inspect scan-table tallying cv (scan-ctr) for all "K".
X add 1 to scan-ctr.
X inspect scan-table tallying cv (scan-ctr) for all "B".
X 7770-exit. exit.
X
X 7800-int.
X if klingons > 0
X move 1 to cx
X move 1 to dx
X perform 7850-search thru 7850-exit
X until macol (cx , dx) = "K" or dx > 126
X compute cx-1 = (dx - 1) / 14 + 1
X compute dx-1 = (cx - 1) / 14 + 1
X display " "
X display "Latest intelligence gathering reports "
X display "indicate 1 or more Klingon vessels "
X display "in the vicinity of quadrant " cx-1 "," dx-1
X display " "
X display "Enterprise in quadrant " q1 "," q2
X display " ".
X 7800-exit. exit.
X
X 7850-search.
X add 1 to cx.
X if cx > 126
X add 1 to dx
X move 1 to cx.
X 7850-exit. exit.
X
X 8000-bomb.
X if macol (mrctr , mkctr) = "K"
X display "*ENTERPRISE DESTROYED IN COLLISION WITH KLINGON*"
X else
X if macol (mrctr , mkctr) = "R"
X display "*ENTERPRISE DESTROYED IN COLLISION WITH ROMULON*"
X else
X display "*ENTERPRISE DESTROYED IN COLLISION WITH STAR BASE*".
X move 1 to indicate-x.
X perform 8200-ck-done thru 8200-exit.
X 8000-exit. exit.
X
X ****************************************************
X * 8100-dmg-com and 8120-dam-com calculate and dis- *
X * play hits on the enterprise from enemy vessels *
X * in quadrant. -- Called following possible con- *
X * tact with enemy vessels. *
X ****************************************************
X
X 8100-dmg-com.
X if klgns > 0
X compute var2 = (k-or - klingons) * klgns * fuel-count / (shield-cnt + 21)
X perform 8150-test-agn thru 8150-exit
X compute var3 = .75 * var2
X display "*ENTERPRISE ENCOUNTERING KLINGON FIRE*"
X perform 4500-disp-hit thru 4500-exit
X add var2 to damage-cnt
X subtract var3 from shield-cnt.
X 8100-exit. exit.
X
X 8120-dam-com.
X if romulons > 0
X compute var2 = romulons * fuel-count / (shield-cnt + 7)
X perform 8160-test-agn thru 8160-exit
X compute var3 = .75 * var2
X display "*ENTERPRISE ENCOUNTERING ROMULON FIRE*"
X perform 4500-disp-hit thru 4500-exit
X add var2 to damage-cnt
X subtract var3 from shield-cnt.
X 8120-exit. exit.
X
X 8150-test-agn.
X if var2 < 325 and klgns > 0
X add 177 to var2
X compute var2 = (klgns * var2 / 2.7) + (var2 * damage-cnt / 980).
X 8150-exit. exit.
X
X 8160-test-agn.
X if var2 < 525 and romulons > 0
X add 254 to var2
X compute var2 = (romulons * var2 / 4.7) + (var2 * damage-cnt / 365).
X 8160-exit. exit.
X
X 8200-ck-done.
X if bye-bye
X go to 2000-exit.
X 8200-exit. exit.
X
X *************************************************
X * 8300-ck-fuel-damage checks and notifies the *
X * user of low shields, low fuel reserves, or *
X * high damage to the ship, in order that he may *
X * attempt to dock before the enterprise is *
X * disabled. -- Called following possible *
X * contact with enemy vessels. *
X *************************************************
X
X 8300-ck-fuel-damage.
X if fuel-count < 4500 and fuel-count > 0
X display "Lt. Scott reports fuel is running low, " name-x
X else
X if fuel-count not > 0
X display "Fuel reserves depleted "
X display "the Enterprise is drifting in space "
X perform 8350-ck-shift thru 8350-exit.
X if damage-cnt > 6000
X display "Enterprise stranded because of heavy damage "
X move 1 to indicate-x
X perform 8200-ck-done thru 8200-exit.
X if damage-cnt > 4500
X display "Damage Control reports heavy damage to Enterprise, " name-x.
X if shield-cnt < 800 and (klgns > 0 or romulons > 0)
X display "Lt. Sulu reports shields dangerously low, " name-x.
X 8300-exit. exit.
X
X 8340-ck-fl.
X if fuel-count not > 180
X display "*INSUFFICIENT FUEL TO CONTINUE*"
X perform 8350-ck-shift thru 8350-exit
X go to 2000-exit.
X 8340-exit. exit.
X
X 8350-ck-shift.
X if shield-cnt > 200
X display "Lt. Sulu advises you lower shields "
X display "to increase fuel supply, " name-x
X else
X move 1 to indicate-x
X perform 8200-ck-done thru 8200-exit.
X 8350-exit. exit.
X
X 8400-generate.
X if nx > 24
X move 0 to nx.
X add 1 to nx.
Xnote. used to be if char (nx) numeric
X if nx equal nx
X move 1 to genrte-result
X else
X move 0 to indicate-y
X move 0 to genrte-result
X if char (nx) = "f"
X move 1 to indicate-y.
X 8400-exit. exit.
X
X 8500-finish-game.
X display " ".
X if bye-bye
X if s-date > ds-date
X move klingons to vae1
X move ws-date to ds-date
X display "It is now star date " s-date
X display "STAR DATE " ds-date " Star Fleet HQ"
X display "was destroyed by " vae1 " klingon vessels"
X display name-x " COURT MARTIALED"
X else
X display name-x " COURT MARTIALED"
X else
X display "Congratulations on a job well done. "
X display "The Federation is proud of you, " name-x.
X display " ".
X 8500-exit. exit.
X
X 9000-end-of-job-section section.
X 9000-end-of-job.
X display " ".
X 9000-exit. exit.
END_OF_FILE
if test 30263 -ne `wc -c <'ctrek.p2'`; then
echo shar: \"'ctrek.p2'\" unpacked with wrong size!
fi
# end of 'ctrek.p2'
fi
echo shar: End of archive 2 \(of 2\).
cp /dev/null ark2isdone
MISSING=""
for I in 1 2 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked both archives.
echo Building source file
cat ctrek.p1 ctrek.p2 >ctrek.cob
rm -f ctrek.p1 ctrek.p2
rm -f ark[1-9]isdone
else
echo You still need to unpack the following archives:
echo " " ${MISSING}
fi
## End of shell archive.
exit 0