|
|
@ -79,6 +79,7 @@ bomb_loop ()
|
|
|
|
bomb = &player->bombs[i];
|
|
|
|
bomb = &player->bombs[i];
|
|
|
|
switch (bomb->state){
|
|
|
|
switch (bomb->state){
|
|
|
|
case BS_ticking:
|
|
|
|
case BS_ticking:
|
|
|
|
|
|
|
|
case BS_trigger:
|
|
|
|
if (GT_MP_PTPM || bman.gametype == GT_single) {
|
|
|
|
if (GT_MP_PTPM || bman.gametype == GT_single) {
|
|
|
|
if (--bomb->to == 0) // bomb will have to explode in the next loop
|
|
|
|
if (--bomb->to == 0) // bomb will have to explode in the next loop
|
|
|
|
bomb_explode (p, i, 1);
|
|
|
|
bomb_explode (p, i, 1);
|
|
|
@ -87,7 +88,10 @@ bomb_loop ()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
else {
|
|
|
|
if (--bomb->to == 0) { // bomb did not explode -> resend bombdata
|
|
|
|
if (--bomb->to == 0) { // bomb did not explode -> resend bombdata
|
|
|
|
bomb->to = BOMB_TIMEOUT * TIME_FACTOR;
|
|
|
|
if (bomb->state==BS_ticking)
|
|
|
|
|
|
|
|
bomb->to = BOMB_TIMEOUT * TIME_FACTOR;
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
bomb->to = SPECIAL_TRIGGER_TIMEOUT * TIME_FACTOR;
|
|
|
|
net_game_send_bomb (bman.p_nr, i);
|
|
|
|
net_game_send_bomb (bman.p_nr, i);
|
|
|
|
bomb->to = bomb->to + ((2 * RESENDCACHE_RETRY) / TIME_FACTOR);
|
|
|
|
bomb->to = bomb->to + ((2 * RESENDCACHE_RETRY) / TIME_FACTOR);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -95,10 +99,6 @@ bomb_loop ()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
b++; // Count ticking Bombs for Return value
|
|
|
|
b++; // Count ticking Bombs for Return value
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case BS_trigger:
|
|
|
|
|
|
|
|
draw_bomb (bomb);
|
|
|
|
|
|
|
|
b++; // Count ticking Bombs for Return value
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case BS_exploding:
|
|
|
|
case BS_exploding:
|
|
|
|
if (bomb->to > 0) {
|
|
|
|
if (bomb->to > 0) {
|
|
|
|
do_explosion (p, i);
|
|
|
|
do_explosion (p, i);
|
|
|
|