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.35 by root, Mon Jun 4 12:19:09 2007 UTC vs.
Revision 1.36 by root, Mon Jun 4 13:04:00 2007 UTC

487 } 487 }
488 488
489 if (!head) 489 if (!head)
490 head = tmp; 490 head = tmp;
491 491
492 tmp->x = op->x + freearr_x[dir] + tmp->arch->clone.x; 492 tmp->x = op->x + freearr_x[dir] + tmp->arch->x;
493 tmp->y = op->y + freearr_y[dir] + tmp->arch->clone.y; 493 tmp->y = op->y + freearr_y[dir] + tmp->arch->y;
494 tmp->map = op->map; 494 tmp->map = op->map;
495 495
496 if (tmp->invisible) 496 if (tmp->invisible)
497 tmp->invisible = 0; 497 tmp->invisible = 0;
498 498
677 LOG (llevError, "Spell %s lacks other_arch\n", &spob->name); 677 LOG (llevError, "Spell %s lacks other_arch\n", &spob->name);
678 return 0; 678 return 0;
679 } 679 }
680 680
681 if (!dir) 681 if (!dir)
682 dir = find_free_spot (&at->clone, op->map, op->x, op->y, 1, SIZEOFFREE1 + 1); 682 dir = find_free_spot (at, op->map, op->x, op->y, 1, SIZEOFFREE1 + 1);
683 683
684 if (dir < 0 || ob_blocked (&at->clone, op->map, op->x + freearr_x[dir], op->y + freearr_y[dir])) 684 if (dir < 0 || ob_blocked (at, op->map, op->x + freearr_x[dir], op->y + freearr_y[dir]))
685 { 685 {
686 new_draw_info (NDI_UNIQUE, 0, op, "There is something in the way."); 686 new_draw_info (NDI_UNIQUE, 0, op, "There is something in the way.");
687 return 0; 687 return 0;
688 } 688 }
689 689
992 { 992 {
993 ndir = dir; 993 ndir = dir;
994 dir = absdir (dir + 1); 994 dir = absdir (dir + 1);
995 } 995 }
996 else 996 else
997 ndir = find_free_spot (&summon_arch->clone, op->map, op->x, op->y, 1, SIZEOFFREE); 997 ndir = find_free_spot (summon_arch, op->map, op->x, op->y, 1, SIZEOFFREE);
998 998
999 if (ndir > 0) 999 if (ndir > 0)
1000 { 1000 {
1001 x = freearr_x[ndir]; 1001 x = freearr_x[ndir];
1002 y = freearr_y[ndir]; 1002 y = freearr_y[ndir];
1003 } 1003 }
1004 1004
1005 if (ndir < 0 || ob_blocked (&summon_arch->clone, op->map, op->x + x, op->y + y)) 1005 if (ndir < 0 || ob_blocked (summon_arch, op->map, op->x + x, op->y + y))
1006 { 1006 {
1007 new_draw_info (NDI_UNIQUE, 0, op, "There is something in the way."); 1007 new_draw_info (NDI_UNIQUE, 0, op, "There is something in the way.");
1008 if (nrof > 1) 1008 if (nrof > 1)
1009 new_draw_info (NDI_UNIQUE, 0, op, "No more pets for this casting."); 1009 new_draw_info (NDI_UNIQUE, 0, op, "No more pets for this casting.");
1010 1010
1052 tmp->head = head; 1052 tmp->head = head;
1053 prev->more = tmp; 1053 prev->more = tmp;
1054 } 1054 }
1055 1055
1056 prev = tmp; 1056 prev = tmp;
1057 tmp->x = op->x + x + tmp->arch->clone.x; 1057 tmp->x = op->x + x + tmp->arch->x;
1058 tmp->y = op->y + y + tmp->arch->clone.y; 1058 tmp->y = op->y + y + tmp->arch->y;
1059 tmp->map = op->map; 1059 tmp->map = op->map;
1060 } 1060 }
1061 1061
1062 head->direction = freedir[ndir]; 1062 head->direction = freedir[ndir];
1063 head->stats.exp = 0; 1063 head->stats.exp = 0;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines