ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/server/disease.C
(Generate patch)

Comparing deliantra/server/server/disease.C (file contents):
Revision 1.5 by root, Thu Sep 14 22:34:04 2006 UTC vs.
Revision 1.7 by root, Thu Oct 5 16:50:07 2006 UTC

246/* searches around for more victims to infect */ 246/* searches around for more victims to infect */
247int 247int
248check_infection (object *disease) 248check_infection (object *disease)
249{ 249{
250 int x, y, range, mflags; 250 int x, y, range, mflags;
251 mapstruct *map, *map2; 251 maptile *map, *map2;
252 object *tmp; 252 object *tmp;
253 sint16 i, j, i2, j2;
254 253
255 range = abs (disease->magic); 254 range = abs (disease->magic);
255
256 if (disease->env) 256 if (disease->env)
257 { 257 {
258 x = disease->env->x; 258 x = disease->env->x;
259 y = disease->env->y; 259 y = disease->env->y;
260 map = disease->env->map; 260 map = disease->env->map;
261 } 261 }
262 else 262 else
263 { 263 {
264 x = disease->x; 264 x = disease->x;
265 y = disease->y; 265 y = disease->y;
266 map = disease->map; 266 map = disease->map;
267 } 267 }
268 268
269 if (map == NULL) 269 if (!map)
270 return 0; 270 return 0;
271
271 for (i = x - range; i <= x + range; i++) 272 for (int i = x - range; i <= x + range; i++)
272 {
273 for (j = y - range; j <= y + range; j++) 273 for (int j = y - range; j <= y + range; j++)
274 { 274 {
275 sint16 i2, j2;
275 mflags = get_map_flags (map, &map2, i, j, &i2, &j2); 276 mflags = get_map_flags (map, &map2, i, j, &i2, &j2);
277
276 if (!(mflags & P_OUT_OF_MAP) && (mflags & P_IS_ALIVE)) 278 if (!(mflags & P_OUT_OF_MAP) && (mflags & P_IS_ALIVE))
277 {
278 for (tmp = get_map_ob (map2, i2, j2); tmp; tmp = tmp->above) 279 for (tmp = get_map_ob (map2, i2, j2); tmp; tmp = tmp->above)
279 {
280 infect_object (tmp, disease, 0); 280 infect_object (tmp, disease, 0);
281 }
282 }
283 } 281 }
284 } 282
285 return 1; 283 return 1;
286} 284}
287 285
288 286
289/* check to see if an object is infectable: 287/* check to see if an object is infectable:

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines