X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/0bcf02671961a6a112d6f08332d8543123b36445..71cf91d918ea9df3057794114348f85c1ec4765e:/usr/src/games/sail/parties.c diff --git a/usr/src/games/sail/parties.c b/usr/src/games/sail/parties.c index 5a1824cbf7..eede19e152 100644 --- a/usr/src/games/sail/parties.c +++ b/usr/src/games/sail/parties.c @@ -1,65 +1,43 @@ #ifndef lint -static char *sccsid = "@(#)parties.c 1.1 83/03/17"; +static char *sccsid = "@(#)parties.c 2.2 83/12/17"; #endif + #include "externs.h" meleeing(from, to) -int from, to; -{ - register int n; - - for (n = 0; n < 3; n++) - { - if (scene[game].ship[from].file -> OBP[n].turnsent && scene[game].ship[from].file -> OBP[n].toship == to) - return(1); - } - return(0); -} - -Fouled(shipnum, offset) -int shipnum, offset; +struct ship *from; +register struct ship *to; { - register int n, Fouls = 0; - struct snag *ptr; + register struct BP *p = from->file->OBP; + register struct BP *q = p + NBP; - ptr = offset == 342 ? scene[game].ship[shipnum].file -> fouls : scene[game].ship[shipnum].file -> grapples ; - for (n=0; n < 10; n++){ - if (ptr[n].turnfoul) - Fouls++; - } - return(Fouls); + for (; p < q; p++) + if (p->turnsent && p->toship == to) + return 1; + return 0; } - -Grapple(shipnum, toship, offset) -int shipnum, toship, offset; +boarding(from, isdefense) +register struct ship *from; +char isdefense; { - int test = 0; - register int n, Fouls = 0; - struct snag *ptr; + register struct BP *p = isdefense ? from->file->DBP : from->file->OBP; + register struct BP *q = p + NBP; - if (shipnum >= 100) - { - shipnum -= 100; - test = 1; - } - ptr = offset == 342 ? scene[game].ship[shipnum].file -> fouls : scene[game].ship[shipnum].file -> grapples ; - for (n=0; n < 10; n++) - { - if (ptr[n].turnfoul && ptr[n].toship == toship && (!test || (ptr[n].turnfoul < turn - 1 && (loadwith[shipnum] = GRAPE)))) - Fouls++; - } - return(Fouls); + for (; p < q; p++) + if (p->turnsent) + return 1; + return 0; } -unboard(shipnum, toship, defense) -int shipnum, toship, defense; +unboard(ship, to, isdefense) +register struct ship *ship, *to; +register char isdefense; { - register int n; - struct BP *ptr; + register struct BP *p = isdefense ? ship->file->DBP : ship->file->OBP; + register n; - ptr = defense ? scene[game].ship[shipnum].file -> DBP : scene[game].ship[shipnum].file -> OBP ; - for (n=0; n < 3; n++) - if (ptr[n].turnsent && (ptr[n].toship == toship || defense || shipnum == toship)) - Write(FILES + shipnum, 0, 30 + 18*defense + 6*n, 0); + for (n = 0; n < NBP; p++, n++) + if (p->turnsent && (p->toship == to || isdefense || ship == to)) + Write(isdefense ? W_DBP : W_OBP, ship, 0, n, 0, 0, 0); }