summaryrefslogtreecommitdiff
path: root/src/pipe.c
diff options
context:
space:
mode:
authororoborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e>2008-04-15 19:28:48 +0000
committeroroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e>2008-04-15 19:28:48 +0000
commita8bec57e7a9be7b1fa36ef8be618db4e46cbd599 (patch)
tree1af5e651f4ff628f99393109e3352dbd7b1f39f4 /src/pipe.c
parentc8223ce77a4dbf57be272d10c4e1d31f69bd516e (diff)
- oprava chyby #0007 #0006 #0005
- nova zbran bombball - client dostava svoju vlastnu poziciu od servera kazdych 5000 ms git-svn-id: http://opensvn.csie.org/tuxanci_ng@45 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e
Diffstat (limited to 'src/pipe.c')
-rw-r--r--src/pipe.c21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/pipe.c b/src/pipe.c
index 19b12c5..2a85667 100644
--- a/src/pipe.c
+++ b/src/pipe.c
@@ -169,7 +169,7 @@ void eventConflictShotWithPipe(list_t *listPipe, list_t *listShot)
assert( thisShot != NULL );
if( ( thisPipe = isConflictWithListPipe(listPipe, thisShot->x, thisShot->y,
- thisShot->w, thisShot->h) ) != NULL )
+ thisShot->w, thisShot->h) ) != NULL )
{
if( thisShot->author->bonus == BONUS_GHOST &&
thisShot->author->bonus_time > 0 )
@@ -181,8 +181,11 @@ void eventConflictShotWithPipe(list_t *listPipe, list_t *listShot)
{
if( getNetTypeGame() == NET_GAME_TYPE_CLIENT )
{
- delListItem(listShot, i, destroyShot);
- i--;
+ if( thisShot->gun != GUN_BOMBBALL )
+ {
+ delListItem(listShot, i, destroyShot);
+ i--;
+ }
}
else
{
@@ -191,8 +194,16 @@ void eventConflictShotWithPipe(list_t *listPipe, list_t *listShot)
}
else
{
- delListItem(listShot, i, destroyShot);
- i--;
+ if( thisShot->gun == GUN_BOMBBALL && getNetTypeGame() != NET_GAME_TYPE_CLIENT )
+ {
+ boundBombBall(thisShot);
+ continue;
+ }
+ else
+ {
+ delListItem(listShot, i, destroyShot);
+ i--;
+ }
}
}
}