Home | History | Annotate | Download | only in huntd

Lines Matching refs:pp

56 mon_execute(PLAYER *pp)
60 ch = pp->p_cbuf[pp->p_ncount++];
63 sendcom(pp, REDRAW);
66 (void) strcpy(pp->p_death, "| Quit |");
77 execute(PLAYER *pp)
81 ch = pp->p_cbuf[pp->p_ncount++];
84 if (pp->p_flying >= 0) {
87 sendcom(pp, REDRAW);
90 (void) strcpy(pp->p_death, "| Quit |");
99 sendcom(pp, REDRAW);
102 move_player(pp, LEFTS);
105 turn_player(pp, LEFTS);
108 move_player(pp, BELOW);
111 turn_player(pp, BELOW);
114 move_player(pp, ABOVE);
117 turn_player(pp, ABOVE);
120 move_player(pp, RIGHT);
123 turn_player(pp, RIGHT);
127 fire(pp, 0); /* SHOT */
131 fire(pp, 1); /* GRENADE */
135 fire(pp, 2); /* SATCHEL */
139 fire(pp, 3); /* 7x7 BOMB */
142 fire(pp, 4); /* 9x9 BOMB */
145 fire(pp, 5); /* 11x11 BOMB */
148 fire(pp, 6); /* 13x13 BOMB */
151 fire(pp, 7); /* 15x15 BOMB */
154 fire(pp, 8); /* 17x17 BOMB */
157 fire(pp, 9); /* 19x19 BOMB */
160 fire(pp, 10); /* 21x21 BOMB */
164 fire_slime(pp, 0); /* SLIME */
167 fire_slime(pp, 1); /* SSLIME */
170 fire_slime(pp, 2);
173 fire_slime(pp, 3);
177 scan(pp);
180 cloak(pp);
183 (void) strcpy(pp->p_death, "| Quit |");
193 move_player(PLAYER *pp, int dir)
200 y = pp->p_y;
201 x = pp->p_x;
236 if (dir == pp->p_face)
237 pickup(pp, y, x, 2, Maze[y][x]);
238 else if (opposite(dir, pp->p_face))
239 pickup(pp, y, x, 95, Maze[y][x]);
241 pickup(pp, y, x, 50, Maze[y][x]);
265 if (dir != pp->p_face)
266 sendcom(pp, BELL);
269 checkdam(newp, pp, pp->p_ident, STABDAM, KNIFE);
276 message(pp, "You couldn't quite reach him!");
283 pp->p_nboots++;
285 pp->p_nboots += 2;
295 if (pp->p_nboots == 2)
296 message(pp, "Wow! A pair of boots!");
298 message(pp, "You can hobble around on one boot.");
305 if (pp->p_ncshot > 0)
306 if (--pp->p_ncshot == MAXNCSHOT) {
307 cgoto(pp, STAT_GUN_ROW, STAT_VALUE_COL);
308 outstr(pp, " ok", 3);
310 if (pp->p_undershot) {
311 fixshots(pp->p_y, pp->p_x, pp->p_over);
312 pp->p_undershot = false;
314 drawplayer(pp, false);
315 pp->p_over = Maze[y][x];
316 pp->p_y = y;
317 pp->p_x = x;
318 drawplayer(pp, true);
327 turn_player(PLAYER *pp, int dir)
329 if (pp->p_face != dir) {
330 pp->p_face = dir;
331 drawplayer(pp, true);
340 fire(PLAYER *pp, int req_index)
342 if (pp == NULL)
346 message(pp, "What you do?");
348 while (req_index >= 0 && pp->p_ammo < shot_req[req_index])
351 message(pp, "Not enough charges.");
354 if (pp->p_ncshot > MAXNCSHOT)
356 if (pp->p_ncshot++ == MAXNCSHOT) {
357 cgoto(pp, STAT_GUN_ROW, STAT_VALUE_COL);
358 outstr(pp, " ", 3);
360 pp->p_ammo -= shot_req[req_index];
361 (void) snprintf(Buf, sizeof(Buf), "%3d", pp->p_ammo);
362 cgoto(pp, STAT_AMMO_ROW, STAT_VALUE_COL);
363 outstr(pp, Buf, 3);
365 add_shot(shot_type[req_index], pp->p_y, pp->p_x, pp->p_face,
366 shot_req[req_index], pp, false, pp->p_face);
367 pp->p_undershot = true;
372 showexpl(pp->p_y, pp->p_x, shot_type[req_index]);
373 for (pp = Player; pp < End_player; pp++)
374 sendcom(pp, REFRESH);
376 for (pp = Monitor; pp < End_monitor; pp++)
377 sendcom(pp, REFRESH);
387 fire_slime(PLAYER *pp, int req_index)
389 if (pp == NULL)
393 message(pp, "What you do?");
395 while (req_index >= 0 && pp->p_ammo < slime_req[req_index])
398 message(pp, "Not enough charges.");
401 if (pp->p_ncshot > MAXNCSHOT)
403 if (pp->p_ncshot++ == MAXNCSHOT) {
404 cgoto(pp, STAT_GUN_ROW, STAT_VALUE_COL);
405 outstr(pp, " ", 3);
407 pp->p_ammo -= slime_req[req_index];
408 (void) snprintf(Buf, sizeof(Buf), "%3d", pp->p_ammo);
409 cgoto(pp, STAT_AMMO_ROW, STAT_VALUE_COL);
410 outstr(pp, Buf, 3);
412 add_shot(SLIME, pp->p_y, pp->p_x, pp->p_face,
413 slime_req[req_index] * SLIME_FACTOR, pp, false, pp->p_face);
414 pp->p_undershot = true;
419 showexpl(pp->p_y, pp->p_x, SLIME);
420 for (pp = Player; pp < End_player; pp++)
421 sendcom(pp, REFRESH);
423 for (pp = Monitor; pp < End_monitor; pp++)
424 sendcom(pp, REFRESH);
502 cloak(PLAYER *pp)
504 if (pp->p_ammo <= 0) {
505 message(pp, "No more charges");
509 if (pp->p_nboots > 0) {
510 message(pp, "Boots are too noisy to cloak!");
514 (void) snprintf(Buf, sizeof(Buf), "%3d", --pp->p_ammo);
515 cgoto(pp, STAT_AMMO_ROW, STAT_VALUE_COL);
516 outstr(pp, Buf, 3);
518 pp->p_cloak += CLOAKLEN;
520 if (pp->p_scan >= 0)
521 pp->p_scan = -1;
523 showstat(pp);
531 scan(PLAYER *pp)
533 if (pp->p_ammo <= 0) {
534 message(pp, "No more charges");
537 (void) snprintf(Buf, sizeof(Buf), "%3d", --pp->p_ammo);
538 cgoto(pp, STAT_AMMO_ROW, STAT_VALUE_COL);
539 outstr(pp, Buf, 3);
541 pp->p_scan += SCANLEN;
543 if (pp->p_cloak >= 0)
544 pp->p_cloak = -1;
546 showstat(pp);
554 pickup(PLAYER *pp, int y, int x, int prob, int obj)
569 add_shot(obj, y, x, LEFTS, req, NULL, true, pp->p_face);
571 pp->p_ammo += req;
572 (void) snprintf(Buf, sizeof(Buf), "%3d", pp->p_ammo);
573 cgoto(pp, STAT_AMMO_ROW, STAT_VALUE_COL);
574 outstr(pp, Buf, 3);