diff --git a/src/bomberclone.h b/src/bomberclone.h index 3cd0e3d..580757b 100644 --- a/src/bomberclone.h +++ b/src/bomberclone.h @@ -1,4 +1,4 @@ -/* $Id: bomberclone.h,v 1.41 2003/07/12 23:55:08 stpohle Exp $ */ +/* $Id: bomberclone.h,v 1.42 2003/07/13 22:49:08 stpohle Exp $ */ /* bomberclone.h */ #ifndef _BOMBERCLONE_H_ @@ -293,7 +293,7 @@ extern void init_map_tileset(); // special.c extern void special_use (int p_nr); extern void special_pickup (int p_nr, int s_type); -extern void special_loop (int p_nr); +extern void special_loop (); extern void special_clear (int p_nr); #endif diff --git a/src/game.c b/src/game.c index 1313e67..401d0a0 100644 --- a/src/game.c +++ b/src/game.c @@ -202,7 +202,7 @@ game_loop () restore_players_screen (); dead_playerani (); player_ilness_loop (bman.p_nr); - special_loop(bman.p_nr); + special_loop(); if ((bman.players[bman.p_nr].state & PSFM_alife) == PSFM_alife) move_player (bman.p_nr); diff --git a/src/special.c b/src/special.c index f3fdc1d..4b8e8c0 100644 --- a/src/special.c +++ b/src/special.c @@ -1,4 +1,4 @@ -/* $Id: special.c,v 1.20 2003/07/13 00:08:26 stpohle Exp $ */ +/* $Id: special.c,v 1.21 2003/07/13 22:49:08 stpohle Exp $ */ /* special.c - procedues to control the specials */ #include "bomberclone.h" @@ -24,7 +24,6 @@ special_trigger (int p_nr) if (p_nr == bman.p_nr && GT_MP_PTP && z) net_game_send_special (p_nr, ex_nr); - if (z) { bman.last_ex_nr = ex_nr + 6; p->special.numuse--; @@ -181,57 +180,61 @@ special_pickup (int p_nr, int s_nr) void special_clear (int p_nr) { - if ( bman.players[p_nr].special.type == SP_trigger ) { - _bomb *bomb; - int i; - /* put all bombs to normal and if the timeout is higher as usual - set it to normal */ - for (i = 0; i < MAX_BOMBS; i++) { - bomb = &bman.players[p_nr].bombs[i]; - if (bomb->state == BS_trigger) { - bomb->state = BS_ticking; - if (bomb->to > BOMB_TIMEOUT * TIME_FACTOR) - bomb->to = BOMB_TIMEOUT * TIME_FACTOR; // 5 Secs * 200 - } - } - } - + if (bman.players[p_nr].special.type == SP_trigger) { + _bomb *bomb; + int i; + /* put all bombs to normal and if the timeout is higher as usual + set it to normal */ + for (i = 0; i < MAX_BOMBS; i++) { + bomb = &bman.players[p_nr].bombs[i]; + if (bomb->state == BS_trigger) { + bomb->state = BS_ticking; + if (bomb->to > BOMB_TIMEOUT * TIME_FACTOR) + bomb->to = BOMB_TIMEOUT * TIME_FACTOR; // 5 Secs * 200 + } + } + } + bman.players[p_nr].special.type = 0; bman.updatestatusbar = 1; } void -special_loop (int p_nr) +special_loop () { - _special *s = &bman.players[p_nr].special; - - if (s->use) { - switch (bman.players[p_nr].special.type) { - case SP_trigger: - special_trigger (p_nr); - break; - case SP_row: - if (bman.players[p_nr].m) - special_row (p_nr); - break; - case SP_push: - if (bman.players[p_nr].m) - special_push (p_nr); - break; - case SP_kick: - break; + _special *s; + int p_nr; + + for (p_nr = 0; p_nr < MAX_PLAYERS; p_nr++) { + s = &bman.players[p_nr].special; + if (s->use) { + switch (bman.players[p_nr].special.type) { + case SP_trigger: + special_trigger (p_nr); + break; + case SP_row: + if (bman.players[p_nr].m) + special_row (p_nr); + break; + case SP_push: + if (bman.players[p_nr].m) + special_push (p_nr); + break; + case SP_kick: + break; + } + s->use = 0; } - s->use = 0; - } - if (!s->type) - return; + if (!s->type) + return; - if (s->to) { - s->to--; - if (!s->to) - special_clear (p_nr); + if (s->to) { + s->to--; + if (!s->to) + special_clear (p_nr); + } } } @@ -239,5 +242,5 @@ special_loop (int p_nr) void special_use (int p_nr) { - bman.players[p_nr].special.use = 1; + bman.players[p_nr].special.use = 1; }