|
|
@ -4,42 +4,49 @@
|
|
|
|
#include "basic.h"
|
|
|
|
#include "basic.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
void
|
|
|
|
special_trigger(int p_nr)
|
|
|
|
special_trigger (int p_nr)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int i;
|
|
|
|
int i;
|
|
|
|
_player *p = &bman.players[p_nr];
|
|
|
|
_player *p = &bman.players[p_nr];
|
|
|
|
// all ticking bombs will explode
|
|
|
|
// all ticking bombs will explode
|
|
|
|
for(i=0;i<MAX_BOMBS;i++)
|
|
|
|
for (i = 0; i < MAX_BOMBS; i++)
|
|
|
|
if (p->bombs[i].state == BS_trigger) {
|
|
|
|
if (p->bombs[i].state == BS_trigger) {
|
|
|
|
bomb_explode (p_nr, i);
|
|
|
|
bomb_explode (p_nr, i);
|
|
|
|
if (GT_MP_PTPS) net_game_send_bomb (p_nr, i);
|
|
|
|
if (GT_MP_PTPS)
|
|
|
|
}
|
|
|
|
net_game_send_bomb (p_nr, i);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
void
|
|
|
|
special_row(int p_nr)
|
|
|
|
special_row (int p_nr)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
_player *p = &bman.players[p_nr];
|
|
|
|
_player *p = &bman.players[p_nr];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;
|
|
|
|
|
|
|
|
|
|
|
|
;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
void
|
|
|
|
special_use (int p_nr)
|
|
|
|
special_use (int p_nr)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
switch (bman.players[p_nr].special) {
|
|
|
|
|
|
|
|
case SP_trigger:
|
|
|
|
if (p_nr == bman.p_nr && GT_MP_PTP)
|
|
|
|
special_trigger(p_nr);
|
|
|
|
net_game_send_special (p_nr);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case SP_row:
|
|
|
|
switch (bman.players[p_nr].special) {
|
|
|
|
if (bman.players[p_nr].m) special_row(p_nr);
|
|
|
|
|
|
|
|
break;
|
|
|
|
case SP_trigger:
|
|
|
|
case SP_push:
|
|
|
|
special_trigger (p_nr);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case SP_kick:
|
|
|
|
case SP_row:
|
|
|
|
break;
|
|
|
|
if (bman.players[p_nr].m)
|
|
|
|
}
|
|
|
|
special_row (p_nr);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case SP_push:
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case SP_kick:
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|