Move a comment that really belonged in the design notes.
authorEric S. Raymond <esr@thyrsus.com>
Fri, 20 Oct 2006 21:35:03 +0000 (21:35 +0000)
committerEric S. Raymond <esr@thyrsus.com>
Fri, 20 Oct 2006 21:35:03 +0000 (21:35 +0000)
doc/HACKING
src/sst.py

index 1cef4b4edc3d1f38338f57f01dc0ad5338caae9e..5f03ced08ec47205a6edc92a09dc316266f208bd 100644 (file)
@@ -178,13 +178,33 @@ worlds enabled, they must have one in the quadrant to beam down
 to; otherwise they die in space and this counts heavily against
 your score.  Docking at a starbase replenishes your crew.
 
-8. Still more BSD-Trek: we now have a weighted damage table.
+8. Still more BSD-Trek: we now have a weighted damage table.  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.
+
 Also, the nav subsystem (enabling automatic course
 setting) can be damaged separately from the main computer (which
 handles weapons targeting, ETA calculation, and self-destruct).
 
-After these features were added, I translated this into Python and added
-more:
+After these features were added, I translated this program into Python
+and added more:
 
 9. A long-range scan is done silently whenever you call CHART; thus
 the LRSCAN command is no longer needed.  (Controlled by OPTION_AUTOSCAN
index 09e9ef65924f288ef560dcfb8759e90635ef9a35..99daaa7199a72536fef9d115dbc95069906e70a9 100644 (file)
@@ -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%