illness problem, debuging and fixing.. (hopefully)

origin
stpohle 22 years ago
parent f5a07ece3d
commit c2e967195c

@ -630,7 +630,7 @@ do_playerdata (struct pkg_playerdata *p_dat, _net_addr * addr)
void void
do_ill (struct pkg_ill *ill, _net_addr * addr) do_ill (struct pkg_ill *ill, _net_addr * addr)
{ {
int i; int i, old_to;
if (addr->pl_nr == -1) if (addr->pl_nr == -1)
return; return;
@ -640,8 +640,13 @@ do_ill (struct pkg_ill *ill, _net_addr * addr)
return; return;
for (i = 0; i < PI_max; i++) { for (i = 0; i < PI_max; i++) {
old_to = players[ill->pl_nr].ill[i].to;
players[ill->pl_nr].ill[i].to = I32TOF (NTOH32 (ill->to[i])); players[ill->pl_nr].ill[i].to = I32TOF (NTOH32 (ill->to[i]));
d_printf (" to[%d]:%f\n",i, players[ill->pl_nr].ill[i].to); if (players[ill->pl_nr].ill[i].to <= 0.0f && old_to > 0.0f)
player_clear_ilness (&players[ill->pl_nr], i);
else if (players[ill->pl_nr].ill[i].to > 0.0f && old_to <= 0.0f)
player_set_ilness (&players[ill->pl_nr], i);
d_printf (" to[%d]:%f dataf:%f datai:%d\n",i, players[ill->pl_nr].ill[i].to, players[ill->pl_nr].ill[i].dataf, players[ill->pl_nr].ill[i].datai);
} }
}; };

@ -1,4 +1,4 @@
/* $Id: player.c,v 1.59 2004/01/04 21:14:17 stpohle Exp $ /* $Id: player.c,v 1.60 2004/01/04 21:58:49 stpohle Exp $
* player.c - everything what have to do with the player */ * player.c - everything what have to do with the player */
#include <SDL.h> #include <SDL.h>
@ -689,7 +689,8 @@ player_set_ilness (_player * p, int t)
else else
type = t; type = t;
d_printf ("Ilness : %d\n", type); type = PI_nobomb;
d_printf ("Ilness Player %s : Type:%d\n", p->name, type);
switch (type) { switch (type) {
case PI_slow: case PI_slow:
if (p->ill[type].to <= 0.0f) { if (p->ill[type].to <= 0.0f) {
@ -717,11 +718,13 @@ player_set_ilness (_player * p, int t)
case PI_range: case PI_range:
if (p->ill[type].to == 0) if (p->ill[type].to == 0)
p->ill[type].datai = p->range; p->ill[type].datai = p->range;
printf ("player_set_ilness PI_range %d\n", p->ill[type].datai);
p->range = 1; p->range = 1;
break; break;
case PI_nobomb: case PI_nobomb:
if (p->ill[type].to == 0) if (p->ill[type].to == 0)
p->ill[type].datai = p->bombs_n; p->ill[type].datai = p->bombs_n;
printf ("player_set_ilness PI_nobomb %d\n", p->ill[type].datai);
p->bombs_n = s_random (2); p->bombs_n = s_random (2);
break; break;
} }
@ -736,19 +739,24 @@ player_clear_ilness (_player * p, int type)
{ {
if (type < 0 || type >= PI_max) if (type < 0 || type >= PI_max)
return; return;
d_printf ("player_clear_ilness Player: %s Type: %d\n", p->name, type);
switch (type) { switch (type) {
case PI_slow: case PI_slow:
case PI_fast: case PI_fast:
p->speed = p->ill[type].dataf; p->speed = p->ill[type].dataf;
break; break;
case PI_range: case PI_range:
printf ("player_clear_ilness PI_range to %d\n", p->ill[type].datai);
p->range = p->ill[type].datai; p->range = p->ill[type].datai;
break; break;
case PI_nobomb: case PI_nobomb:
printf ("player_clear_ilness PI_nobomb to %d\n", p->ill[type].datai);
p->bombs_n = p->ill[type].datai; p->bombs_n = p->ill[type].datai;
break; break;
} }
p->ill[type].to = 0; p->ill[type].to = 0.0;
if (GT_MP) if (GT_MP)
net_game_send_ill (bman.p_nr); net_game_send_ill (bman.p_nr);
bman.updatestatusbar = 1; bman.updatestatusbar = 1;

Loading…
Cancel
Save