X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=src%2Fsst.py;h=99daaa7199a72536fef9d115dbc95069906e70a9;hb=3bfedb00b0cc477d38ea1d8e842d96440540f7e6;hp=f3924cba3bda82f72d4b622a48544d3d551979d0;hpb=a4c88eb2f6ea4d8e82505e84e77544b86745fd8f;p=super-star-trek.git diff --git a/src/sst.py b/src/sst.py index f3924cb..99daaa7 100644 --- a/src/sst.py +++ b/src/sst.py @@ -11,7 +11,7 @@ Stas Sergeev, and Eric S. Raymond. See the doc/HACKING file in the distribution for designers notes and advice ion how to modify (and how not to modify!) this code. """ -import os, sys, math, curses, time, readline, cPickle, random, copy, gettext +import os, sys, math, curses, time, readline, cPickle, random, copy, gettext, getpass SSTDOC = "/usr/share/doc/sst/sst.doc" DOC_NAME = "sst.doc" @@ -373,22 +373,17 @@ FHOLE = 20 FCREW = 21 def withprob(p): - v = random.random() - #logfp.write("# withprob(%s) -> %f (%s) at %s\n" % (p, v, v %s at %s\n" % (args, v, traceback.extract_stack()[-2][1:])) - return v + return random.randrange(*args) def randreal(*args): v = random.random() if len(args) == 1: - v *= args[0] # returns from [0, args[0]) + v *= args[0] # from [0, args[0]) elif len(args) == 2: - v = args[0] + v*(args[1]-args[0]) # returns from [args[0], args[1]) - #logfp.write("# randreal%s -> %s at %s\n" % (args, v, traceback.extract_stack()[-2][1:])) + v = args[0] + v*(args[1]-args[0]) # from [args[0], args[1]) return v # Code from ai.c begins here @@ -963,34 +958,12 @@ def doshield(shraise): def randdevice(): "Choose a device to damage, at random." - # Quoth Eric Allman in the code of BSD-Trek: - # "Under certain conditions you can get a critical hit. This - # sort of hit damages devices. The probability that a given - # device is damaged depends on the device. Well protected - # devices (such as the computer, which is in the core of the - # ship and has considerable redundancy) almost never get - # damaged, whereas devices which are exposed (such as the - # warp engines) or which are particularly delicate (such as - # the transporter) have a much higher probability of being - # damaged." - # - # This is one place where OPTION_PLAIN does not restore the - # original behavior, which was equiprobable damage across - # all devices. If we wanted that, we'd return randrange(NDEVICES) - # and have done with it. Also, in the original game, DNAVYS - # and DCOMPTR were the same device. - # - # Instead, we use a table of weights similar to the one from BSD Trek. - # BSD doesn't have the shuttle, shield controller, death ray, or probes. - # We don't have a cloaking device. The shuttle got the allocation - # for the cloaking device, then we shaved a half-percent off - # everything to have some weight to give DSHCTRL/DDRAY/DDSP. weights = ( 105, # DSRSENS: short range scanners 10.5% 105, # DLRSENS: long range scanners 10.5% 120, # DPHASER: phasers 12.0% 120, # DPHOTON: photon torpedoes 12.0% - 25, # DLIFSUP: life support 2.5% + 25, # DLIFSUP: life support 2.5% 65, # DWARPEN: warp drive 6.5% 70, # DIMPULS: impulse engines 6.5% 145, # DSHIELD: deflector shields 14.5% @@ -4015,7 +3988,7 @@ def timwrp(): # Likewise, if in the original time the Galileo was abandoned, but # was on ship earlier, it would have vanished -- let's restore it. if game.iscraft == "offship" and not gotit and game.damage[DSHUTTL] >= 0.0: - prout(_("Checkov- \"Security reports the Galileo has reappeared in the dock!\"")) + prout(_("Chekov- \"Security reports the Galileo has reappeared in the dock!\"")) game.iscraft = "onship" # There used to be code to do the actual reconstrction here, # but the starchart is now part of the snapshotted galaxy state. @@ -6240,7 +6213,7 @@ if __name__ == '__main__': logfp.write("# seed %s\n" % seed) logfp.write("# options %s\n" % " ".join(arguments)) logfp.write("# recorded by %s@%s on %s\n" % \ - (os.getenv("LOGNAME"),socket.gethostname(),time.ctime())) + (getpass.getuser(),socket.gethostname(),time.ctime())) random.seed(seed) scanner = sstscanner() map(scanner.append, arguments)