-/* $NetBSD: attack.c,v 1.4 1997/10/12 21:24:26 christos Exp $ */
+/* $NetBSD: attack.c,v 1.9 2009/05/24 22:55:03 dholland Exp $ */
/*
* Copyright (c) 1980, 1993
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
+ * 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
#if 0
static char sccsid[] = "@(#)attack.c 8.1 (Berkeley) 5/31/93";
#else
-__RCSID("$NetBSD: attack.c,v 1.4 1997/10/12 21:24:26 christos Exp $");
+__RCSID("$NetBSD: attack.c,v 1.9 2009/05/24 22:55:03 dholland Exp $");
#endif
#endif /* not lint */
** entry for the particular device.
**
** Casualties can also occur.
+**
+** resting -- set if attack while resting
*/
void
-attack(resting)
-int resting; /* set if attack while resting */
+attack(int resting)
{
int hit, i, l;
int maxhit, tothit, shldabsb;
return;
/* move before attack */
klmove(0);
- if (Ship.cond == DOCKED)
- {
+ if (Ship.cond == DOCKED) {
if (!resting)
- printf("Starbase shields protect the %s\n", Ship.shipname);
+ printf("Starbase shields protect the %s\n",
+ Ship.shipname);
return;
}
/* setup shield effectiveness */
hitflag = 0;
/* let each Klingon do his damndest */
- for (i = 0; i < Etc.nkling; i++)
- {
+ for (i = 0; i < Etc.nkling; i++) {
/* if he's low on power he won't attack */
if (Etc.klingon[i].power < 20)
continue;
- if (!hitflag)
- {
+ if (!hitflag) {
printf("\nStardate %.2f: Klingon attack:\n",
Now.date);
hitflag++;
hit = Etc.klingon[i].power * pow(dustfac, tothe) * Param.hitfac;
/* deplete his energy */
dustfac = Etc.klingon[i].power;
- Etc.klingon[i].power = dustfac * Param.phasfac * (1.0 + (franf() - 0.5) * 0.2);
+ Etc.klingon[i].power = dustfac * Param.phasfac *
+ (1.0 + (franf() - 0.5) * 0.2);
/* see how much of hit shields will absorb */
shldabsb = 0;
- if (Ship.shldup || Move.shldchg)
- {
+ if (Ship.shldup || Move.shldchg) {
propor = Ship.shield;
propor /= Param.shield;
shldabsb = propor * chgfac * hit;
Ship.shield -= shldabsb;
}
/* actually do the hit */
- printf("\aHIT: %d units", hit);
+ printf("\aHIT: %d units", hit);
if (!damaged(SRSCAN))
- printf(" from %d,%d", Etc.klingon[i].x, Etc.klingon[i].y);
+ printf(" from %d,%d",
+ Etc.klingon[i].x, Etc.klingon[i].y);
cas = (shldabsb * 100) / hit;
hit -= shldabsb;
if (shldabsb > 0)
maxhit = hit;
Ship.energy -= hit;
/* see if damages occurred */
- if (hit >= (15 - Game.skill) * (25 - ranf(12)))
- {
- printf("\aCRITICAL HIT!!!\a\n");
+ if (hit >= (15 - Game.skill) * (25 - ranf(12))) {
+ printf("\aCRITICAL HIT!!!\a\n");
/* select a device from probability vector */
cas = ranf(1000);
for (l = 0; cas >= 0; l++)
cas -= Param.damprob[l];
l -= 1;
/* compute amount of damage */
- extradm = (hit * Param.damfac[l]) / (75 + ranf(25)) + 0.5;
+ extradm = (hit * Param.damfac[l]) /
+ (75 + ranf(25)) + 0.5;
/* damage the device */
damage(l, extradm);
- if (damaged(SHIELD))
- {
+ if (damaged(SHIELD)) {
if (Ship.shldup)
- printf("Sulu: Shields knocked down, captain.\n");
+ printf("Sulu: Shields knocked down, "
+ "captain.\n");
Ship.shldup = 0;
Move.shldchg = 0;
}
}
/* see what our casualities are like */
- if (maxhit >= 200 || tothit >= 500)
- {
+ if (maxhit >= 200 || tothit >= 500) {
cas = tothit * 0.015 * franf();
- if (cas >= 2)
- {
- printf("McCoy: we suffered %d casualties in that attack.\n",
+ if (cas >= 2) {
+ printf("McCoy: we suffered %d casualties in that "
+ "attack.\n",
cas);
Game.deaths += cas;
Ship.crew -= cas;