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

Comparing deliantra/server/server/pets.C (file contents):
Revision 1.51 by root, Thu Jan 1 16:05:13 2009 UTC vs.
Revision 1.52 by root, Fri Sep 25 18:13:03 2009 UTC

338 if (!on_same_map (ob, owner) && !owner->flag [FLAG_REMOVED]) 338 if (!on_same_map (ob, owner) && !owner->flag [FLAG_REMOVED])
339 { 339 {
340 follow_owner (ob, owner); 340 follow_owner (ob, owner);
341 return; 341 return;
342 } 342 }
343
343 /* Calculate Direction */ 344 /* Calculate Direction */
344 if (owner->type == PLAYER && owner->contr->petmode == pet_sad) 345 if (owner->type == PLAYER && owner->contr->petmode == pet_sad)
345 { 346 {
346 /* in S&D mode, if we have no enemy, run randomly about. */ 347 /* in S&D mode, if we have no enemy, run randomly about. */
347 for (i = 0; i < 15; i++) 348 for (i = 0; i < 15; i++)
363 struct rv_vector rv; 364 struct rv_vector rv;
364 365
365 get_rangevector (ob, ob->owner, &rv, 0); 366 get_rangevector (ob, ob->owner, &rv, 0);
366 dir = rv.direction; 367 dir = rv.direction;
367 } 368 }
369
368 ob->direction = dir; 370 ob->direction = dir;
369 371
370 /* move_ob returns 0 if the object couldn't move. If that is the 372 /* move_ob returns 0 if the object couldn't move. If that is the
371 * case, lets do some other work. 373 * case, lets do some other work.
372 */ 374 */
389 for (ob2 = GET_MAP_OB (m, dx, dy); ob2 != NULL; ob2 = ob2->above) 391 for (ob2 = GET_MAP_OB (m, dx, dy); ob2 != NULL; ob2 = ob2->above)
390 { 392 {
391 object *new_ob; 393 object *new_ob;
392 394
393 new_ob = ob2->head ? ob2->head : ob2; 395 new_ob = ob2->head ? ob2->head : ob2;
396
394 if (new_ob == ob) 397 if (new_ob == ob)
395 break; 398 break;
399
396 if (new_ob == ob->owner) 400 if (new_ob == ob->owner)
397 return; 401 return;
402
398 if (new_ob->owner == ob->owner) 403 if (new_ob->owner == ob->owner)
399 break; 404 break;
400 405
401 /* Hmm. Did we try to move into an enemy monster? If so, 406 /* Hmm. Did we try to move into an enemy monster? If so,
402 * make it our enemy. 407 * make it our enemy.
417 } 422 }
418 } 423 }
419 } 424 }
420 /* Try a different course */ 425 /* Try a different course */
421 dir = absdir (dir + 4 - (rndm (5)) - (rndm (5))); 426 dir = absdir (dir + 4 - (rndm (5)) - (rndm (5)));
422 (void) move_ob (ob, dir, ob); 427 move_ob (ob, dir, ob);
423 } 428 }
424 return;
425} 429}
426 430
427/**************************************************************************** 431/****************************************************************************
428 * 432 *
429 * GOLEM SPELL CODE 433 * GOLEM SPELL CODE

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines