X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=src%2Fsst.py;h=fcbc0597a2610b2eb0b6c2d11fce61b8efcb5b5c;hp=09e9ef65924f288ef560dcfb8759e90635ef9a35;hb=0d68681dbeae4f6b325042e485718eeae1032315;hpb=0e85b75c56382105184723edbab786686b18b8d1 diff --git a/src/sst.py b/src/sst.py index 09e9ef6..fcbc059 100644 --- a/src/sst.py +++ b/src/sst.py @@ -958,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% @@ -4017,7 +3995,7 @@ def timwrp(): prout(_("Spock has reconstructed a correct star chart from memory")) else: # Go forward in time - game.optime = -0.5*game.intime*math.log(randreal()) + game.optime = expran(0.5*game.intime) prout(_("You are traveling forward in time %d stardates.") % int(game.optime)) # cheat to make sure no tractor beams occur during time warp postpone(FTBEAM, game.optime) @@ -5434,12 +5412,10 @@ def setup(): def choose(): "Choose your game type." - global thing while True: - game.tourn = 0 + game.tourn = game.length = 0 game.thawed = False game.skill = SKILL_NONE - game.length = 0 if not scanner.inqueue: # Can start with command line options proutn(_("Would you like a regular, tournament, or saved game? ")) scanner.next() @@ -5807,8 +5783,7 @@ def makemoves(): drawmaps(1) while True: # get a command hitme = False - game.justin = False - game.optime = 0.0 + game.optime = game.justin = False scanner.chew() setwnd(prompt_window) clrscr()