* Copyright (c) 1980 Regents of the University of California.
* Redistribution and use in source and binary forms are permitted
* provided that the above copyright notice and this paragraph are
* duplicated in all such forms and that any documentation,
* advertising materials, and other materials related to such
* distribution and use acknowledge that the software was developed
* by the University of California, Berkeley. The name of the
* University may not be used to endorse or promote products derived
* from this software without specific prior written permission.
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
static char sccsid
[] = "@(#)autover.c 5.4 (Berkeley) 6/18/88";
** If we should be so unlucky as to be caught in a quadrant
** with a supernova in it, this routine is called. It is
** called from checkcond().
** It sets you to a random warp (guaranteed to be over 6.0)
** and starts sending you off "somewhere" (whereever that is).
** Please note that it is VERY important that you reset your
** warp speed after the automatic override is called. The new
** warp factor does not stay in effect for just this routine.
** This routine will never try to send you more than sqrt(2)
** quadrants, since that is all that is needed.
printf("\07RED ALERT: The %s is in a supernova quadrant\n", Ship
.shipname
);
printf("*** Emergency override attempts to hurl %s to safety\n", Ship
.shipname
);
/* let's get our ass out of here */
Ship
.warp
= 6.0 + 2.0 * franf();
Ship
.warp2
= Ship
.warp
* Ship
.warp
;
Ship
.warp3
= Ship
.warp2
* Ship
.warp
;
dist
= 0.75 * Ship
.energy
/ (Ship
.warp3
* (Ship
.shldup
+ 1));