X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=src%2Fai.c;h=d222f70fc0c89ddb0c1dff14f3c150ce472d400b;hp=99024df9acddcd8b0c05c7ae222de6fad5ee2f9d;hb=74121a21cca010c891ef19a178f9b9acf4d473eb;hpb=9ae916e9144e84ef1de4a86ea73a45a2bc4cc1be diff --git a/src/ai.c b/src/ai.c index 99024df..d222f70 100644 --- a/src/ai.c +++ b/src/ai.c @@ -12,7 +12,8 @@ static bool tryexit(coord look, int ienm, int loccom, bool irun) game.state.galaxy[iq.x][iq.y].supernova || game.state.galaxy[iq.x][iq.y].klingons > MAXKLQUAD-1) return false; /* no can do -- neg energy, supernovae, or >MAXKLQUAD-1 Klingons */ - if (ienm == IHR) return false; /* Romulans cannot escape! */ + if (ienm == IHR) + return false; /* Romulans cannot escape! */ if (!irun) { /* avoid intruding on another commander's territory */ if (ienm == IHC) { @@ -134,7 +135,8 @@ static void movebaddy(coord com, int loccom, feature ienm) */ forces = game.kpower[loccom]+100.0*game.nenhere+400*(nbaddys-1); - if (!game.shldup) forces += 1000; /* Good for enemy if shield is down! */ + if (!game.shldup) + forces += 1000; /* Good for enemy if shield is down! */ if (!damaged(DPHASER) || !damaged(DPHOTON)) { if (damaged(DPHASER)) /* phasers damaged */ forces += 300.0; @@ -169,9 +171,12 @@ static void movebaddy(coord com, int loccom, feature ienm) } /* calculate preferred number of steps */ nsteps = motion < 0 ? -motion : motion; - if (motion > 0 && nsteps > mdist) nsteps = mdist; /* don't overshoot */ - if (nsteps > QUADSIZE) nsteps = QUADSIZE; /* This shouldn't be necessary */ - if (nsteps < 1) nsteps = 1; /* This shouldn't be necessary */ + if (motion > 0 && nsteps > mdist) + nsteps = mdist; /* don't overshoot */ + if (nsteps > QUADSIZE) + nsteps = QUADSIZE; /* This shouldn't be necessary */ + if (nsteps < 1) + nsteps = 1; /* This shouldn't be necessary */ if (idebug) { proutn("NSTEPS = %d:", nsteps); } @@ -267,7 +272,7 @@ static void movebaddy(coord com, int loccom, feature ienm) } } -void movcom(void) +void moveklings(void) /* move a commander */ { coord w; @@ -307,7 +312,7 @@ void movcom(void) sortkl(); } -static bool movescom(coord iq, bool flag, bool *ipage) +static bool movescom(coord iq, bool flag) /* commander movement helper */ { int i; @@ -351,15 +356,13 @@ static bool movescom(coord iq, bool flag, bool *ipage) } /* check for a helpful planet */ for (i = 0; i < game.inplan; i++) { - if (same(game.state.plnets[i].w, game.state.kscmdr) && - game.state.plnets[i].crystals == present) { + if (same(game.state.planets[i].w, game.state.kscmdr) && + game.state.planets[i].crystals == present) { /* destroy the planet */ - DESTROY(&game.state.plnets[i]); + DESTROY(&game.state.planets[i]); game.state.galaxy[game.state.kscmdr.x][game.state.kscmdr.y].planet = NOPLANET; if (!damaged(DRADIO) || game.condition == docked) { - if (!*ipage) - pause_game(true); - *ipage = true; + pause_game(true); prout(_("Lt. Uhura- \"Captain, Starfleet Intelligence reports")); proutn(_(" a planet in ")); proutn(cramlc(quadrant, game.state.kscmdr)); @@ -372,7 +375,7 @@ static bool movescom(coord iq, bool flag, bool *ipage) return false; /* looks good! */ } -void scom(bool *ipage) +void scom(void) /* move the Super Commander */ { int i, i2, j, ideltax, ideltay, ifindit, iwhichb; @@ -453,7 +456,8 @@ void scom(bool *ipage) break; } } - if (ifindit==0) return; /* Nothing suitable -- wait until next time*/ + if (ifindit==0) + return; /* Nothing suitable -- wait until next time*/ ibq = game.state.baseq[iwhichb]; /* decide how to move toward base */ ideltax = ibq.x - game.state.kscmdr.x; @@ -472,32 +476,32 @@ void scom(bool *ipage) /* try moving in both x and y directions */ iq.x = game.state.kscmdr.x + ideltax; iq.y = game.state.kscmdr.y + ideltax; - if (movescom(iq, flag, ipage)) { + if (movescom(iq, flag)) { /* failed -- try some other maneuvers */ if (ideltax==0 || ideltay==0) { /* attempt angle move */ if (ideltax != 0) { iq.y = game.state.kscmdr.y + 1; - if (movescom(iq, flag, ipage)) { + if (movescom(iq, flag)) { iq.y = game.state.kscmdr.y - 1; - movescom(iq, flag, ipage); + movescom(iq, flag); } } else { iq.x = game.state.kscmdr.x + 1; - if (movescom(iq, flag, ipage)) { + if (movescom(iq, flag)) { iq.x = game.state.kscmdr.x - 1; - movescom(iq, flag, ipage); + movescom(iq, flag); } } } else { /* try moving just in x or y */ iq.y = game.state.kscmdr.y; - if (movescom(iq, flag, ipage)) { + if (movescom(iq, flag)) { iq.y = game.state.kscmdr.y + ideltay; iq.x = game.state.kscmdr.x; - movescom(iq, flag, ipage); + movescom(iq, flag); } } } @@ -509,7 +513,8 @@ void scom(bool *ipage) ibq = game.state.baseq[i]; if (same(ibq, game.state.kscmdr) && same(game.state.kscmdr, game.battle)) { /* attack the base */ - if (flag) return; /* no, don't attack base! */ + if (flag) + return; /* no, don't attack base! */ game.iseenit = false; game.isatb = 1; schedule(FSCDBAS, 1.0 +2.0*Rand()); @@ -518,9 +523,7 @@ void scom(bool *ipage) if (damaged(DRADIO) && game.condition != docked) return; /* no warning */ game.iseenit = true; - if (!*ipage) - pause_game(true); - *ipage = true; + pause_game(true); proutn(_("Lt. Uhura- \"Captain, the starbase in ")); proutn(cramlc(quadrant, game.state.kscmdr)); skip(1); @@ -544,9 +547,7 @@ void scom(bool *ipage) (damaged(DRADIO) && game.condition != docked) || !game.state.galaxy[game.state.kscmdr.x][game.state.kscmdr.y].charted)) return; - if (!*ipage) - pause_game(true); - *ipage = true; + pause_game(true); prout(_("Lt. Uhura- \"Captain, Starfleet Intelligence reports")); proutn(_(" the Super-commander is in ")); proutn(cramlc(quadrant, game.state.kscmdr));