1 | /* |
1 | /* |
2 | * static char *rcsid_swamp_c = |
2 | * static char *rcsid_swamp_c = |
3 | * "$Id: swamp.c,v 1.1.1.1 2006/02/03 07:14:41 root Exp $"; |
3 | * "$Id: swamp.c,v 1.1.1.2 2006/02/22 18:03:26 elmex Exp $"; |
4 | */ |
4 | */ |
5 | |
5 | |
6 | /* |
6 | /* |
7 | CrossFire, A Multiplayer game for X-windows |
7 | CrossFire, A Multiplayer game for X-windows |
8 | |
8 | |
… | |
… | |
49 | object *above = op->above; |
49 | object *above = op->above; |
50 | object *nabove; |
50 | object *nabove; |
51 | |
51 | |
52 | while(above) { |
52 | while(above) { |
53 | nabove = above->above; |
53 | nabove = above->above; |
54 | if (above->type == PLAYER && !(above->move_type & MOVE_FLYING) && above->stats.hp >= 0) { |
54 | if (above->type == PLAYER && !(above->move_type & MOVE_FLYING) && above->stats.hp >= 0 && !QUERY_FLAG(above,FLAG_WIZ)) { |
55 | if (op->stats.food < 1) { |
55 | if (op->stats.food < 1) { |
56 | LOG (llevDebug, "move_deep_swamp(): player is here, but state is " |
56 | LOG (llevDebug, "move_deep_swamp(): player is here, but state is " |
57 | "%d\n", op->stats.food); |
57 | "%d\n", op->stats.food); |
58 | op->stats.food = 1; |
58 | op->stats.food = 1; |
59 | } |
59 | } |
… | |
… | |
99 | "You almost drowned in the swamp! You survived due to your woodsman skill."); |
99 | "You almost drowned in the swamp! You survived due to your woodsman skill."); |
100 | } |
100 | } |
101 | } |
101 | } |
102 | break; |
102 | break; |
103 | } |
103 | } |
104 | } else if (!QUERY_FLAG(above, FLAG_ALIVE) && !(above->move_type & MOVE_FLYING)) { |
104 | } else if (!QUERY_FLAG(above, FLAG_ALIVE) && !(above->move_type & MOVE_FLYING) && |
|
|
105 | !(QUERY_FLAG(above,FLAG_IS_FLOOR)) && !(QUERY_FLAG(above,FLAG_OVERLAY_FLOOR)) && |
|
|
106 | !(QUERY_FLAG(above, FLAG_NO_PICK))) { |
105 | if (rndm(0, 2) == 0) decrease_ob(above); |
107 | if (rndm(0, 2) == 0) decrease_ob(above); |
106 | } |
108 | } |
107 | above = nabove; |
109 | above = nabove; |
108 | } |
110 | } |
109 | } |
111 | } |