X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=sst;h=cb64fd5cd2d14e429b82ff122eafb560cc9764d0;hb=ea1ec724c5d45d0a64c909e2925647537291a9a3;hp=f3d7e31cd52e0cd827243f55ae29c730205bccc2;hpb=e39bb08c83d5e5c26ee1ea4fbe783dc3f51082e5;p=super-star-trek.git diff --git a/sst b/sst index f3d7e31..cb64fd5 100755 --- a/sst +++ b/sst @@ -215,9 +215,6 @@ class Thingy(): "Do not anger the Space Thingy!" def __init__(self): self.location = Coord() - self.angered = False - def angry(self): - self.angered = True def at(self, q): return (q.i, q.j) == (self.location.i, self.location.j) @@ -301,7 +298,6 @@ OPTION_CURSES = 0x00000002 # new interface OPTION_IOMODES = 0x00000003 # cover both interfaces OPTION_PLANETS = 0x00000004 # planets and mining OPTION_THOLIAN = 0x00000008 # Tholians and their webs (UT 1979 version) -OPTION_THINGY = 0x00000010 # Space Thingy can shoot back (Stas, 2005) OPTION_PROBE = 0x00000020 # deep-space probes (DECUS version, 1980) OPTION_SHOWME = 0x00000040 # bracket Enterprise in chart OPTION_RAMMING = 0x00000080 # enemies may ram Enterprise (Almy) @@ -323,8 +319,6 @@ option_names = { "TTY": OPTION_TTY, "IOMODES": OPTION_IOMODES, "PLANETS": OPTION_PLANETS, - "THOLIAN": OPTION_THOLIAN, - "THINGY": OPTION_THINGY, "PROBE": OPTION_PROBE, "SHOWME": OPTION_SHOWME, "RAMMING": OPTION_RAMMING, @@ -688,7 +682,7 @@ def movebaddy(enemy): if game.condition == "docked" and (game.options & OPTION_BASE): # protected by base -- back off ! motion -= game.skill*(2.0-rnd.real()**2) if game.idebug: - proutn("=== MOTION = %d, FORCES = %1.2f, " % (motion, forces)) + proutn("=== MOTION = %d, FORCES = %1.2f, " % (motion, forces)) # pragma: no cover # don't move if no motion if motion == 0: return [] @@ -705,7 +699,7 @@ def movebaddy(enemy): nsteps = min(nsteps, QUADSIZE) # This shouldn't be necessary nsteps = max(nsteps, 1) # This shouldn't be necessary if game.idebug: - proutn("NSTEPS = %d:" % nsteps) + proutn("NSTEPS = %d:" % nsteps) # pragma: no cover # Compute preferred values of delta X and Y m = game.sector - enemy.location if 2.0 * abs(m.i) < abs(m.j): @@ -717,7 +711,7 @@ def movebaddy(enemy): # main move loop for ll in range(nsteps): if game.idebug: - proutn(" %d" % (ll+1)) + proutn(" %d" % (ll+1)) # pragma: no cover # Check if preferred position available look = goto + m if m.i < 0: @@ -765,11 +759,11 @@ def movebaddy(enemy): if success: goto = look if game.idebug: - proutn(repr(goto)) + proutn(repr(goto)) # pragma: no cover else: break # done early if game.idebug: - skip(1) + skip(1) # pragma: no cover # Enemy moved, but is still in sector return [(False, enemy, old_dist, goto)] @@ -845,7 +839,7 @@ def supercommander(): idelta = Coord() basetbl = [] if game.idebug: - prout("== SUPERCOMMANDER") + prout("== SUPERCOMMANDER") # pragma: no cover # Decide on being active or passive avoid = ((game.incom - len(game.state.kcmdr) + game.inkling - game.remkl())/(game.state.date+0.01-game.indate) < 0.1*game.skill*(game.skill+1.0) or \ (game.state.date-game.indate) < 3.0) @@ -1420,21 +1414,15 @@ def torpedo(origin, bearing, dispersion, number, nburst): prout(crmena(True, '*', "sector", w) + _(" unaffected by photon blast.")) return None elif iquad == '?': # Hit a thingy - if not (game.options & OPTION_THINGY) or rnd.withprob(0.3): - skip(1) - prouts(_("AAAAIIIIEEEEEEEEAAAAAAAAUUUUUGGGGGHHHHHHHHHHHH!!!")) - skip(1) - prouts(_(" HACK! HACK! HACK! *CHOKE!* ")) - skip(1) - proutn(_("Mr. Spock-")) - prouts(_(" \"Fascinating!\"")) - skip(1) - deadkl(w, iquad, w) - else: - # Stas Sergeev added the possibility that - # you can shove the Thingy and piss it off. - # It then becomes an enemy and may fire at you. - thing.angry() + skip(1) + prouts(_("AAAAIIIIEEEEEEEEAAAAAAAAUUUUUGGGGGHHHHHHHHHHHH!!!")) + skip(1) + prouts(_(" HACK! HACK! HACK! *CHOKE!* ")) + skip(1) + proutn(_("Mr. Spock-")) + prouts(_(" \"Fascinating!\"")) + skip(1) + deadkl(w, iquad, w) return None elif iquad == ' ': # Black hole skip(1) @@ -1553,7 +1541,7 @@ def attack(torps_ok): prout("Sector %s." % goto) sortenemies() # if no enemies remain after movement, we're done - if len(game.enemies) == 0 or (len(game.enemies) == 1 and thing.at(game.quadrant) and not thing.angered): + if len(game.enemies) == 0 or (len(game.enemies) == 1 and thing.at(game.quadrant)): return # set up partial hits if attack happens during shield status change pfac = 1.0/game.inshld @@ -1573,7 +1561,7 @@ def attack(torps_ok): r *= 0.25 if enemy.power < 500: r *= 0.25 - if enemy.type == 'T' or (enemy.type == '?' and not thing.angered): + if enemy.type in ('T', '?'): continue # different enemies have different probabilities of throwing a torp usephasers = not torps_ok or \ @@ -1916,8 +1904,6 @@ def hittem(hits): else: proutn(_("Very small hit on ")) ienm = game.quad[w.i][w.j] - if ienm == '?': - thing.angry() proutn(crmena(False, ienm, "sector", w)) skip(1) if kpow == 0: @@ -2610,8 +2596,8 @@ def events(): break else: # can't seem to find one; ignore this call - if game.idebug: # pragma: no cover - prout("=== Couldn't find location for distress event.") + if game.idebug: + prout("=== Couldn't find location for distress event.") # pragma: no cover continue # got one!! Schedule its enslavement ev = schedule(FENSLV, expran(game.intime)) @@ -4269,7 +4255,7 @@ def warp(wcourse, involuntary): # Decide if time warp will occur if 0.5*wcourse.distance*math.pow(7.0,game.warpfac-10.0) > rnd.real(): twarp = True - if game.idebug and game.warpfac==10 and not twarp: + if game.idebug and game.warpfac==10 and not twarp: # pragma: no cover blooey = False proutn("=== Force time warp? ") if ja(): @@ -5828,7 +5814,7 @@ def setup(): game.state.galaxy[i][j].stars = k # Locate star bases in galaxy if game.idebug: - prout("=== Allocating %d bases" % game.inbase) + prout("=== Allocating %d bases" % game.inbase) # pragma: no cover for i in range(game.inbase): while True: while True: @@ -5844,15 +5830,15 @@ def setup(): if distq < 6.0*(BASEMAX+1-game.inbase) and rnd.withprob(0.75): contflag = True if game.idebug: - prout("=== Abandoning base #%d at %s" % (i, w)) + prout("=== Abandoning base #%d at %s" % (i, w)) # pragma: no cover break elif distq < 6.0 * (BASEMAX+1-game.inbase): if game.idebug: - prout("=== Saving base #%d, close to #%d" % (i, j)) + prout("=== Saving base #%d, close to #%d" % (i, j)) # pragma: no cover if not contflag: break if game.idebug: - prout("=== Placing base #%d in quadrant %s" % (i, w)) + prout("=== Placing base #%d in quadrant %s" % (i, w)) # pragma: no cover game.state.baseq.append(w) game.state.galaxy[w.i][w.j].starbase = game.state.chart[w.i][w.j].starbase = True # Position ordinary Klingon Battle Cruisers @@ -6062,11 +6048,11 @@ def choose(): scanner.nexttok() if scanner.sees("plain"): # Approximates the UT FORTRAN version. - game.options &=~ (OPTION_THOLIAN | OPTION_PLANETS | OPTION_THINGY | OPTION_PROBE | OPTION_RAMMING | OPTION_MVBADDY | OPTION_BLKHOLE | OPTION_BASE | OPTION_WORLDS | OPTION_COLOR | OPTION_CAPTURE | OPTION_CLOAK | OPTION_DOTFILL | OPTION_ALPHAMERIC) + game.options &=~ (OPTION_THOLIAN | OPTION_PLANETS | OPTION_PROBE | OPTION_RAMMING | OPTION_MVBADDY | OPTION_BLKHOLE | OPTION_BASE | OPTION_WORLDS | OPTION_COLOR | OPTION_CAPTURE | OPTION_CLOAK | OPTION_DOTFILL | OPTION_ALPHAMERIC) game.options |= OPTION_PLAIN elif scanner.sees("almy"): # Approximates Tom Almy's version. - game.options &=~ (OPTION_THINGY | OPTION_BLKHOLE | OPTION_BASE | OPTION_WORLDS | OPTION_COLOR | OPTION_DOTFILL | OPTION_ALPHAMERIC) + game.options &=~ (OPTION_BLKHOLE | OPTION_BASE | OPTION_WORLDS | OPTION_COLOR | OPTION_DOTFILL | OPTION_ALPHAMERIC) game.options |= OPTION_ALMY elif scanner.sees("fancy") or scanner.sees("\n"): pass @@ -6553,7 +6539,7 @@ def makemoves(): if game.alldone: break if game.idebug: - prout("=== Ending") + prout("=== Ending") # pragma: no cover def cramen(ch): "Emit the name of an enemy or feature." @@ -6718,7 +6704,7 @@ def debugme(): # pragma: no cover proutn("Toggle debug flag? ") if ja(): game.idebug = not game.idebug - if game.idebug: + if game.idebug: # pragma: no cover prout("Debug output ON") else: prout("Debug output OFF") @@ -6840,9 +6826,9 @@ if __name__ == '__main__': else: # pragma: no cover sys.stderr.write("usage: sst [-t] [-x] [startcommand...].\n") raise SystemExit(1) - except getopt.GetoptError as e: - print(e) - raise SystemExit(1) + except getopt.GetoptError as err: + print(err) + raise SystemExit(1) from err # where to save the input in case of bugs if "TMPDIR" in os.environ: # pragma: no cover tmpdir = os.environ['TMPDIR']