V10/games/sail/grap.c

Compare this file to the similar file:
Show the results in this format:

#ifndef lint
static	char *sccsid = "@(#)grap.c	1.1 83/03/17";
#endif
#include "externs.h"

ungrap(from,to)
int from, to;
{
	int k;

	if(grapple(from, to)){
		for (k = 0; k < 10; k++){
			if (scene[game].ship[from].file->grapples[k].turnfoul && to == scene[game].ship[from].file->grapples[k].toship && (die() < 3 || scene[game].ship[from].nationality == scene[game].ship[to].nationality)){
				cleangrapple(from, to, k);
				makesignal("ungrappling %s (%c%c)", to, from);
			}
		}
	}
}

grap(from, to)
int from,to;
{
	int number, captured, l;

	if ((captured = scene[game].ship[to].file->captured) < 0)
		captured = to;
	number = die() < 3;
	if (!number && scene[game].ship[from].nationality == scene[game].ship[captured].nationality)
		number = 1;
	if (number){
		for (l=0; l < 10 && scene[game].ship[from].file->grapples[l].turnfoul; l++);
		if (l < 10){
			Write(FILES + from, 0, 124 + l*4, turn);
			Write(FILES + from, 0, 124 + l*4 + 2, to);
		}
		for (l=0; l < 10 && scene[game].ship[to].file->grapples[l].turnfoul; l++);
		if (l < 10){
			Write(FILES + to, 0, 124 + l*4, turn);
			Write(FILES + to, 0, 124 + l*4 + 2, from);
		}
		makesignal("grappled with %s (%c%c)", to, from);
	}
}