|
|
|
@ -1,9 +1,9 @@
|
|
|
|
|
/* $Id: special.c,v 1.20 2003/07/13 00:08:26 stpohle Exp $ */
|
|
|
|
|
/* special.c - procedues to control the specials */
|
|
|
|
|
|
|
|
|
|
#include "bomberclone.h"
|
|
|
|
|
#include "basic.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
|
special_trigger (int p_nr)
|
|
|
|
|
{
|
|
|
|
@ -181,6 +181,21 @@ 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
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bman.players[p_nr].special.type = 0;
|
|
|
|
|
bman.updatestatusbar = 1;
|
|
|
|
|
}
|
|
|
|
|