X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=src%2Fbattle.c;h=d9e815436c0fa415b1e7bd9df81287c5575c5919;hp=387bfa9f88449353b2b5f7bc321669981a0adf45;hb=2c5438d3c22fe863ad8054d214f2afdd061ad43a;hpb=9ae916e9144e84ef1de4a86ea73a45a2bc4cc1be diff --git a/src/battle.c b/src/battle.c index 387bfa9..d9e8154 100644 --- a/src/battle.c +++ b/src/battle.c @@ -241,7 +241,7 @@ void ram(bool ibumpd, feature ienm, coord w) prout(_("***Shields are down.")); if (KLINGREM) { pause_game(true); - dreprt(); + damagereport(); } else finish(FWON); @@ -335,7 +335,7 @@ void torpedo(double course, double r, coord in, double *hit, int i, int n) case IHR: /* Hit a regular enemy */ case IHK: /* find the enemy */ - for_local_enemies(ll) + for (ll = 1; ll <= game.nenhere; ll++) if (same(w, game.ks[ll])) break; kp = fabs(game.kpower[ll]); @@ -380,7 +380,7 @@ void torpedo(double course, double r, coord in, double *hit, int i, int n) case IHB: /* Hit a base */ skip(1); prout(_("***STARBASE DESTROYED..")); - for_starbases(ll) { + for (ll = 1; ll <= game.state.rembase; ll++) { if (same(game.state.baseq[ll], game.quadrant)) { game.state.baseq[ll]=game.state.baseq[game.state.rembase]; break; @@ -399,7 +399,7 @@ void torpedo(double course, double r, coord in, double *hit, int i, int n) prout(_(" destroyed.")); game.state.nplankl++; q->planet = NOPLANET; - DESTROY(&game.state.plnets[game.iplnet]); + game.state.planets[game.iplnet].pclass = destroyed; game.iplnet = 0; invalidate(game.plnet); game.quad[w.x][w.y] = IHDOT; @@ -413,7 +413,7 @@ void torpedo(double course, double r, coord in, double *hit, int i, int n) prout(_(" destroyed.")); game.state.nworldkl++; q->planet = NOPLANET; - DESTROY(&game.state.plnets[game.iplnet]); + game.state.planets[game.iplnet].pclass = destroyed; game.iplnet = 0; invalidate(game.plnet); game.quad[w.x][w.y] = IHDOT; @@ -501,9 +501,9 @@ void torpedo(double course, double r, coord in, double *hit, int i, int n) game.quad[w.x][w.y]=IHDOT; game.quad[jw.x][jw.y]=iquad; prout(_(" displaced by blast to %s "), cramlc(sector, jw)); - for_local_enemies(ll) + for (ll = 1; ll <= game.nenhere; ll++) game.kdist[ll] = game.kavgd[ll] = distance(game.sector,game.ks[ll]); - sortkl(); + sortklings(); return; } skip(1); @@ -538,7 +538,8 @@ static void fry(double hit) if (loop2 < loop1) continue; ktr += 1; - if (ktr==3) skip(1); + if (ktr==3) + skip(1); proutn(_(" and ")); } proutn(device[j]); @@ -569,7 +570,7 @@ void attack(bool torps_ok) /* Tholian gewts to move before attacking */ if (game.ithere) - movetho(); + movetholian(); /* if you have just entered the RNZ, you'll get a warning */ if (game.neutz) { /* The one chance not to be attacked */ @@ -579,7 +580,7 @@ void attack(bool torps_ok) /* commanders get a chance to tac-move towards you */ if ((((game.comhere || game.ishere) && !game.justin) || game.skill == SKILL_EMERITUS) && torps_ok) - movcom(); + moveklings(); /* if no enemies remain after movement, we're done */ if (game.nenhere==0 || (game.nenhere==1 && iqhere && !iqengry)) @@ -596,8 +597,9 @@ void attack(bool torps_ok) if (game.skill <= SKILL_FAIR) where = sector; - for_local_enemies(loop) { - if (game.kpower[loop] < 0) continue; /* too weak to attack */ + for (loop = 1; loop <= game.nenhere; loop++) { + if (game.kpower[loop] < 0) + continue; /* too weak to attack */ /* compute hit strength and diminish shield power */ r = Rand(); /* Increase chance of photon torpedos if docked or enemy energy low */ @@ -617,7 +619,8 @@ void attack(bool torps_ok) (iquad==IHS && r > 0.07) || (iquad==IHQUEST && r > 0.05); if (usephasers) { /* Enemy uses phasers */ - if (game.condition == docked) continue; /* Don't waste the effort! */ + if (game.condition == docked) + continue; /* Don't waste the effort! */ attempt = true; /* Attempt to attack */ dustfac = 0.8+0.05*Rand(); hit = game.kpower[loop]*pow(dustfac,game.kavgd[loop]); @@ -719,9 +722,9 @@ void attack(bool torps_ok) } } /* After attack, reset average distance to enemies */ - for_local_enemies(loop) + for (loop = 1; loop <= game.nenhere; loop++) game.kavgd[loop] = game.kdist[loop]; - sortkl(); + sortklings(); return; } @@ -755,7 +758,7 @@ void deadkl(coord w, feature type, coord mv) switch (type) { case IHC: game.comhere = false; - for_commanders (i) + for (i = 1; i <= game.state.remcom; i++) if (same(game.state.kcmdr[i], game.quadrant)) break; game.state.kcmdr[i] = game.state.kcmdr[game.state.remcom]; @@ -794,7 +797,7 @@ void deadkl(coord w, feature type, coord mv) /* Remove enemy ship from arrays describing local conditions */ if (is_scheduled(FCDBAS) && same(game.battle, game.quadrant) && type==IHC) unschedule(FCDBAS); - for_local_enemies(i) + for (i = 1; i <= game.nenhere; i++) if (same(game.ks[i], w)) break; game.nenhere--; @@ -1135,9 +1138,10 @@ void phasers(void) irec=0; do { chew(); - if (!kz) for_local_enemies(i) - irec+=fabs(game.kpower[i])/(PHASEFAC*pow(0.90,game.kdist[i]))* - (1.01+0.05*Rand()) + 1.0; + if (!kz) + for (i = 1; i <= game.nenhere; i++) + irec += fabs(game.kpower[i])/(PHASEFAC*pow(0.90,game.kdist[i]))* + (1.01+0.05*Rand()) + 1.0; kz=1; proutn(_("%d units required. "), irec); chew(); @@ -1172,7 +1176,7 @@ void phasers(void) if (game.nenhere) { extra = 0.0; powrem = rpow; - for_local_enemies(i) { + for (i = 1; i <= game.nenhere; i++) { hits[i] = 0.0; if (powrem <= 0) continue;