Another step in subsuming navigation into the course object.
[super-star-trek.git] / src / sst.py
index bf72de50cf9bf89b3c40115bb8eb4029bbc63e2b..6056bb287fb26552a974bb525355ca55a4c68e9f 100644 (file)
@@ -1283,7 +1283,7 @@ def torpedo(origin, bearing, dispersion, number, nburst):
        if iquad==IHDOT:
            continue
        # hit something 
-       if damaged(DSRSENS) and not game.condition=="docked":
+       if not damaged(DSRSENS) or game.condition == "docked":
            skip(1);    # start new line after text track 
        if iquad in (IHE, IHF): # Hit our ship 
            skip(1)
@@ -3521,7 +3521,7 @@ def tracktorpedo(origin, w, step, i, n, iquad):
        if step == 1:
            if n != 1:
                skip(1)
-               proutn(_("Track for %s torpedo number %d-  ") % (game.quad[origin.i][origin.j],i+1))
+               proutn(_("Track for torpedo number %d-  ") % (i+1))
            else:
                skip(1)
                proutn(_("Torpedo track- "))
@@ -3619,9 +3619,9 @@ def imove(course=None, novapush=False):
     game.quad[game.sector.i][game.sector.j] = IHDOT
     x = game.sector.i
     y = game.sector.j
-    n = int(10.0*course.distance*bigger+0.5)
+    n = course.moves
     if n > 0:
-       for m in range(1, n+1):
+       for m in range(n):
             x += deltax
             y += deltay
            w.i = int(round(x))
@@ -3941,7 +3941,7 @@ class course:
         self.increment = coord(-math.sin(self.angle), math.cos(self.angle))
         bigger = max(abs(self.increment.i), abs(self.increment.j))
         self.increment /= bigger
-        self.moves = 10*self.distance*bigger +0.5
+        self.moves = int(round(10*self.distance*bigger))
     def next(self, grain=1):
         "Next step on course."
         self.moves -=1