First round of changes from Stas Sergeev.
[super-star-trek.git] / events.c
index 940ad7b54e126d03834a0b118ca1d02f52c52b4c..194901df53c3f9d2e69e1b0d9edca42ab070d6ed 100644 (file)
--- a/events.c
+++ b/events.c
@@ -2,10 +2,8 @@
 #include <math.h>\r
 \r
 void events(void) {\r
-\r
-       int ictbeam=0, ipage=0, istract=0, line, i, j, k, l, ixhold, iyhold;\r
-       double fintim = game.state.date + Time, datemin, xtime, repair, yank;\r
-       \r
+        int ictbeam=0, ipage=0, istract=0, line, i=0, j, k, l, ixhold=0, iyhold=0;\r
+        double fintim = game.state.date + Time, datemin, xtime, repair, yank=0;\r
 \r
 #ifdef DEBUG\r
        if (idebug) prout("EVENTS");\r
@@ -25,7 +23,7 @@ void events(void) {
                if (alldone) return;\r
                datemin = fintim;\r
                for (l=1; l<=NEVENTS; l++)\r
-                       if (game.future[l] <= datemin) {\r
+                       if (game.future[l] < datemin) {\r
                                line = l;\r
                                datemin = game.future[l];\r
                        }\r
@@ -64,7 +62,7 @@ void events(void) {
                                for (j=1; j <= 8; j++)\r
                                        if (game.starch[i][j] > 999) game.starch[i][j] = 1;\r
                        if (iseenit==0) {\r
-                               attakreport();\r
+                               attakreport(0);\r
                                iseenit = 1;\r
                        }\r
                        skip(1);\r
@@ -75,7 +73,7 @@ void events(void) {
                Time -= xtime;\r
                switch (line) {\r
                        case FSNOVA: /* Supernova */\r
-                               if (ipage==0) pause(1);\r
+                               if (ipage==0) pause_game(1);\r
                                ipage=1;\r
                                snova(0,0);\r
                                game.future[FSNOVA] = game.state.date + expran(0.5*intime);\r
@@ -114,7 +112,7 @@ void events(void) {
                                }\r
                                /* tractor beaming cases merge here */\r
                                yank = sqrt(yank);\r
-                               if (ipage==0) pause(1);\r
+                               if (ipage==0) pause_game(1);\r
                                ipage=1;\r
                                Time = (10.0/(7.5*7.5))*yank; /* 7.5 is yank rate (warp 7.5) */\r
                                ictbeam = 1;\r
@@ -170,6 +168,7 @@ void events(void) {
                                newqad(0);\r
                                /* Adjust finish time to time of tractor beaming */\r
                                fintim = game.state.date+Time;\r
+                                attack(0);\r
                                if (game.state.remcom <= 0) game.future[FTBEAM] = 1e30;\r
                                else game.future[FTBEAM] = game.state.date+Time+expran(1.5*intime/game.state.remcom);\r
                                break;\r
@@ -212,12 +211,12 @@ void events(void) {
                                if (game.damage[DRADIO] != 0.0 &&\r
                                        condit != IHDOCKED) break; /* No warning :-( */\r
                                iseenit = 1;\r
-                               if (ipage==0) pause(1);\r
+                               if (ipage==0) pause_game(1);\r
                                ipage = 1;\r
                                skip(1);\r
                                proutn("Lt. Uhura-  \"Captain, the starbase in ");\r
                                prout(cramlc(quadrant, batx, baty));\r
-                               prout("   reports that it is under atttack and that it can");\r
+                               prout("   reports that it is under attack and that it can");\r
                                proutn("   hold out only until stardate %d",\r
                                        (int)game.future[FCDBAS]);\r
                                prout(".\"");\r
@@ -267,7 +266,7 @@ void events(void) {
                                else if (game.state.rembase != 1 &&\r
                                                 (game.damage[DRADIO] <= 0.0 || condit == IHDOCKED)) {\r
                                        /* Get word via subspace radio */\r
-                                       if (ipage==0) pause(1);\r
+                                       if (ipage==0) pause_game(1);\r
                                        ipage = 1;\r
                                        skip(1);\r
                                        prout("Lt. Uhura-  \"Captain, Starfleet Command reports that");\r
@@ -314,7 +313,7 @@ void events(void) {
                                                game.state.galaxy[probecx][probecy] == 1000) {\r
                                                // Left galaxy or ran into supernova\r
                                                if (game.damage[DRADIO]==0.0 || condit == IHDOCKED) {\r
-                                                       if (ipage==0) pause(1);\r
+                                                       if (ipage==0) pause_game(1);\r
                                                        ipage = 1;\r
                                                        skip(1);\r
                                                        proutn("Lt. Uhura-  \"The deep space probe ");\r
@@ -328,7 +327,7 @@ void events(void) {
                                                break;\r
                                        }\r
                                        if (game.damage[DRADIO]==0.0   || condit == IHDOCKED) {\r
-                                               if (ipage==0) pause(1);\r
+                                               if (ipage==0) pause_game(1);\r
                                                ipage = 1;\r
                                                skip(1);\r
                                                proutn("Lt. Uhura-  \"The deep space probe is now in ");\r
@@ -373,7 +372,7 @@ void wait(void) {
        origTime = delay = aaitem;\r
        if (delay <= 0.0) return;\r
        if (delay >= game.state.remtime || nenhere != 0) {\r
-               prout("Are you sure? ");\r
+               proutn("Are you sure? ");\r
                if (ja() == 0) return;\r
        }\r
 \r
@@ -394,7 +393,6 @@ void wait(void) {
                        Time = temp;\r
                }\r
                if (Time < delay) attack(0);\r
-               if (nenhere==0) movetho();\r
                if (alldone) return;\r
                events();\r
                ididit = 1;\r
@@ -412,7 +410,7 @@ void wait(void) {
 void nova(int ix, int iy) {\r
        static double course[] =\r
                {0.0, 10.5, 12.0, 1.5, 9.0, 0.0, 3.0, 7.5, 6.0, 4.5};\r
-       int bot, top, top2, burst, hits[11][3], kount, icx, icy, mm, nn, j;\r
+        int bot, top, top2, hits[11][3], kount, icx, icy, mm, nn, j;\r
        int iquad, iquad1, i, ll, newcx, newcy, ii, jj;\r
        if (Rand() < 0.05) {\r
                /* Wow! We've supernova'ed */\r