+ register struct snag *p = &ship->file->grap[a];
+ if (SHIP(a)->file->dir == 0)
+ break;
+ if (p->sn_count++ == 0)
+ p->sn_turn = turn;
+ ship->file->ngrap++;
+ break;
+ }
+ case W_UNFOUL: {
+ register struct snag *p = &ship->file->foul[a];
+ if (p->sn_count > 0)
+ if (b) {
+ ship->file->nfoul -= p->sn_count;
+ p->sn_count = 0;
+ } else {
+ ship->file->nfoul--;
+ p->sn_count--;
+ }
+ break;
+ }
+ case W_UNGRAP: {
+ register struct snag *p = &ship->file->grap[a];
+ if (p->sn_count > 0)
+ if (b) {
+ ship->file->ngrap -= p->sn_count;
+ p->sn_count = 0;
+ } else {
+ ship->file->ngrap--;
+ p->sn_count--;
+ }