Annotation of researchv10no/games/trek/checkcond.c, revision 1.1.1.1

1.1       root        1: # include      "trek.h"
                      2: 
                      3: 
                      4: int    overide;        /*set during autoveride*/
                      5: 
                      6: /**
                      7:  **    check for condition after a move
                      8:  **/
                      9: 
                     10: checkcond()
                     11: {
                     12:        /* see if we are still alive and well */
                     13:        if (Status.reserves < 0.0)
                     14:                lose(L_NOLIFE);
                     15:        if (Status.energy <= 0)
                     16:                lose(L_NOENGY);
                     17:        if (Status.crew <= 0)
                     18:                lose(L_NOCREW);
                     19:        /* if in auto override mode, ignore the rest */
                     20:        if (overide)
                     21:                return;
                     22:        /* call in automatic override if appropriate */
                     23:        if (Quad[Quadx][Quady].stars < 0)
                     24:                autover();
                     25:        if (Quad[Quadx][Quady].stars < 0)
                     26:                lose(L_SNOVA);
                     27:        /* nullify distress call if appropriate */
                     28:        if (Nkling <= 0)
                     29:                killd(Quadx, Quady);
                     30: 
                     31:        /* set condition code */
                     32:        if (Status.cond == DOCKED)
                     33:                return;
                     34: 
                     35:        if (Nkling > 0)
                     36:        {
                     37:                Status.cond = RED;
                     38:                return;
                     39:        }
                     40:        if (Status.energy < 1000)
                     41:        {
                     42:                if(Status.cond!=YELLOW)
                     43:                        printf("Condition YELLOW\n");
                     44:                Status.cond = YELLOW;
                     45:                return;
                     46:        }
                     47:        Status.cond = GREEN;
                     48:        return;
                     49: }
                     50: 
                     51: 
                     52: /**
                     53:  **    automatic override in case of a supernova
                     54:  **/
                     55: 
                     56: autover()
                     57: {
                     58:        float                   dist;
                     59:        int                     course;
                     60: 
                     61:        printf("*** RED ALERT: The %s is in a supernova quadrant\n", Status.shipname);
                     62:        printf("***  Emergency override attempts to hurl %s to safety\n", Status.shipname);
                     63:        if (Damage[WARP]) {
                     64:                printf("Warp engines damaged\n");
                     65:                return;
                     66:        }
                     67:        /* let's get our ass out of here */
                     68:        Status.warp = 6.0 + 2.0 * franf();
                     69:        Status.warp2 = Status.warp * Status.warp;
                     70:        Status.warp3 = Status.warp2 * Status.warp;
                     71:        dist = 0.75 * Status.energy / (Status.warp3 * (Status.shldup + 1));
                     72:        if (dist > 1.4142)
                     73:                dist = 1.4142;
                     74:        course = ranf(360);
                     75:        Status.cond = RED;
                     76:        overide++;
                     77:        warp(0, course, dist);
                     78:        overide=0;
                     79: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.