X-Git-Url: https://git.cameronkatri.com/bsdgames-darwin.git/blobdiff_plain/cc53fc319970619b25fdfa3545d62eab5ffa55dd..eff6047a366924e7f864e4f19335619f3236fce9:/sail/assorted.c diff --git a/sail/assorted.c b/sail/assorted.c index 1d9d2cbf..7aa68739 100644 --- a/sail/assorted.c +++ b/sail/assorted.c @@ -1,4 +1,4 @@ -/* $NetBSD: assorted.c,v 1.12 2001/01/04 03:21:16 jwise Exp $ */ +/* $NetBSD: assorted.c,v 1.17 2009/03/14 22:52:52 dholland Exp $ */ /* * Copyright (c) 1983, 1993 @@ -12,11 +12,7 @@ * 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. * @@ -38,7 +34,7 @@ #if 0 static char sccsid[] = "@(#)assorted.c 8.2 (Berkeley) 4/28/95"; #else -__RCSID("$NetBSD: assorted.c,v 1.12 2001/01/04 03:21:16 jwise Exp $"); +__RCSID("$NetBSD: assorted.c,v 1.17 2009/03/14 22:52:52 dholland Exp $"); #endif #endif /* not lint */ @@ -46,12 +42,11 @@ __RCSID("$NetBSD: assorted.c,v 1.12 2001/01/04 03:21:16 jwise Exp $"); #include #include "extern.h" -void table(int, int, int, struct ship *, struct ship *, int); -void Cleansnag(struct ship *, struct ship *, int, int); -static void strike (struct ship *, struct ship *); +static void strike(struct ship *, struct ship *); void -table(int rig, int shot, int hittable, struct ship *on, struct ship *from, int roll) +table(struct ship *from, struct ship *on, + int rig, int shot, int hittable, int roll) { int hhits = 0, chits = 0, ghits = 0, rhits = 0; int Ghit = 0, Hhit = 0, Rhit = 0, Chit = 0; @@ -71,9 +66,9 @@ table(int rig, int shot, int hittable, struct ship *on, struct ship *from, int r rigg[1] = on->specs->rig2; rigg[2] = on->specs->rig3; rigg[3] = on->specs->rig4; - if (shot == L_GRAPE) + if (shot == L_GRAPE) { Chit = chits = hittable; - else { + } else { tp = &(rig ? RigTable : HullTable)[hittable][roll-1]; Chit = chits = tp->C; Rhit = rhits = tp->R; @@ -90,7 +85,7 @@ table(int rig, int shot, int hittable, struct ship *on, struct ship *from, int r pc -= (chits + 1) / 2; chits /= 2; } - for (n = 0; n < 3; n++) + for (n = 0; n < 3; n++) { if (chits > crew[n]) { chits -= crew[n]; crew[n] = 0; @@ -98,14 +93,16 @@ table(int rig, int shot, int hittable, struct ship *on, struct ship *from, int r crew[n] -= chits; chits = 0; } - for (n = 0; n < 3; n++) - if (rhits > rigg[n]){ + } + for (n = 0; n < 3; n++) { + if (rhits > rigg[n]) { rhits -= rigg[n]; rigg[n] = 0; } else { rigg[n] -= rhits; rhits = 0; } + } if (rigg[3] != -1 && rhits > rigg[3]) { rhits -= rigg[3]; rigg[3] = 0; @@ -128,7 +125,7 @@ table(int rig, int shot, int hittable, struct ship *on, struct ship *from, int r car -= ghits; ghits = 0; } - if (ghits > guns){ + if (ghits > guns) { ghits -= guns; guns = 0; } else { @@ -136,19 +133,23 @@ table(int rig, int shot, int hittable, struct ship *on, struct ship *from, int r ghits = 0; } hull -= ghits; - if (Ghit) - Write(portside(from, on, 0) ? W_GUNR : W_GUNL, - on, guns, car, 0, 0); + if (Ghit) { + if (portside(from, on, 0)) { + send_gunr(on, guns, car); + } else { + send_gunl(on, guns, car); + } + } hull -= hhits; hull = hull < 0 ? 0 : hull; if (on->file->captured != 0 && Chit) - Write(W_PCREW, on, pc, 0, 0, 0); + send_pcrew(on, pc); if (Hhit) - Write(W_HULL, on, hull, 0, 0, 0); + send_hull(on, hull); if (Chit) - Write(W_CREW, on, crew[0], crew[1], crew[2], 0); + send_crew(on, crew[0], crew[1], crew[2]); if (Rhit) - Write(W_RIGG, on, rigg[0], rigg[1], rigg[2], rigg[3]); + send_rigg(on, rigg[0], rigg[1], rigg[2], rigg[3]); switch (shot) { case L_ROUND: message = "firing round shot on $$"; @@ -216,7 +217,7 @@ table(int rig, int shot, int hittable, struct ship *on, struct ship *from, int r break; case 5: message = "rudder cables shot through"; - Write(W_TA, on, 0, 0, 0, 0); + send_ta(on, 0); break; case 6: message = "shot holes below the water line"; @@ -227,14 +228,16 @@ table(int rig, int shot, int hittable, struct ship *on, struct ship *from, int r makemsg(on, message); } /* - if (Chit > 1 && on->file->readyL&R_INITIAL && on->file->readyR&R_INITIAL) { + if (Chit > 1 && on->file->readyL & R_INITIAL && + on->file->readyR & R_INITIAL) { on->specs->qual--; if (on->specs->qual <= 0) { makemsg(on, "crew mutinying!"); on->specs->qual = 5; Write(W_CAPTURED, on, on->file->index, 0, 0, 0); - } else + } else { makemsg(on, "crew demoralized"); + } Write(W_QUAL, on, on->specs->qual, 0, 0, 0); } */ @@ -246,12 +249,12 @@ void Cleansnag(struct ship *from, struct ship *to, int all, int flag) { if (flag & 1) { - Write(W_UNGRAP, from, to->file->index, all, 0, 0); - Write(W_UNGRAP, to, from->file->index, all, 0, 0); + send_ungrap(from, to->file->index, all); + send_ungrap(to, from->file->index, all); } if (flag & 2) { - Write(W_UNFOUL, from, to->file->index, all, 0, 0); - Write(W_UNFOUL, to, from->file->index, all, 0, 0); + send_unfoul(from, to->file->index, all); + send_unfoul(to, from->file->index, all); } if (!snagged2(from, to)) { if (!snagged(from)) { @@ -274,20 +277,20 @@ strike(struct ship *ship, struct ship *from) if (ship->file->struck) return; - Write(W_STRUCK, ship, 1, 0, 0, 0); + send_struck(ship, 1); points = ship->specs->pts + from->file->points; - Write(W_POINTS, from, points, 0, 0, 0); + send_points(from, points); unboard(ship, ship, 0); /* all offense */ unboard(ship, ship, 1); /* all defense */ switch (dieroll()) { case 3: case 4: /* ship may sink */ - Write(W_SINK, ship, 1, 0, 0, 0); + send_sink(ship, 1); break; case 5: case 6: /* ship may explode */ - Write(W_EXPLODE, ship, 1, 0, 0, 0); + send_explode(ship, 1); break; } - Writestr(W_SIGNAL, ship, "striking her colours!"); + send_signal(ship, "striking her colours!"); }