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

Comparing deliantra/server/server/c_wiz.C (file contents):
Revision 1.20 by root, Mon Dec 11 21:32:18 2006 UTC vs.
Revision 1.21 by root, Tue Dec 12 20:53:03 2006 UTC

342 /* we have nowhere to send the prisoner.... */ 342 /* we have nowhere to send the prisoner.... */
343 new_draw_info (NDI_UNIQUE, 0, op, "can't jail player, there is no map to hold them"); 343 new_draw_info (NDI_UNIQUE, 0, op, "can't jail player, there is no map to hold them");
344 return 0; 344 return 0;
345 } 345 }
346 enter_exit (pl->ob, dummy); 346 enter_exit (pl->ob, dummy);
347 free_object (dummy); 347 dummy->destroy (0);
348 new_draw_info (NDI_UNIQUE, 0, pl->ob, "You have been arrested."); 348 new_draw_info (NDI_UNIQUE, 0, pl->ob, "You have been arrested.");
349 new_draw_info (NDI_UNIQUE, 0, op, "OK."); 349 new_draw_info (NDI_UNIQUE, 0, op, "OK.");
350 LOG (llevInfo, "Player %s arrested by %s\n", &pl->ob->name, &op->name); 350 LOG (llevInfo, "Player %s arrested by %s\n", &pl->ob->name, &op->name);
351 return 1; 351 return 1;
352} 352}
381 dummy = get_object (); 381 dummy = get_object ();
382 EXIT_PATH (dummy) = op->map->path; 382 EXIT_PATH (dummy) = op->map->path;
383 EXIT_X (dummy) = op->x + freearr_x[i]; 383 EXIT_X (dummy) = op->x + freearr_x[i];
384 EXIT_Y (dummy) = op->y + freearr_y[i]; 384 EXIT_Y (dummy) = op->y + freearr_y[i];
385 enter_exit (pl->ob, dummy); 385 enter_exit (pl->ob, dummy);
386 free_object (dummy); 386 dummy->destroy (0);
387 new_draw_info (NDI_UNIQUE, 0, pl->ob, "You are summoned."); 387 new_draw_info (NDI_UNIQUE, 0, pl->ob, "You are summoned.");
388 new_draw_info (NDI_UNIQUE, 0, op, "OK."); 388 new_draw_info (NDI_UNIQUE, 0, op, "OK.");
389 389
390 return 1; 390 return 1;
391} 391}
425 dummy = get_object (); 425 dummy = get_object ();
426 EXIT_PATH (dummy) = pl->ob->map->path; 426 EXIT_PATH (dummy) = pl->ob->map->path;
427 EXIT_X (dummy) = pl->ob->x + freearr_x[i]; 427 EXIT_X (dummy) = pl->ob->x + freearr_x[i];
428 EXIT_Y (dummy) = pl->ob->y + freearr_y[i]; 428 EXIT_Y (dummy) = pl->ob->y + freearr_y[i];
429 enter_exit (op, dummy); 429 enter_exit (op, dummy);
430 free_object (dummy); 430 dummy->destroy (0);
431 if (!op->contr->hidden) 431 if (!op->contr->hidden)
432 new_draw_info (NDI_UNIQUE, 0, pl->ob, "You see a portal open."); 432 new_draw_info (NDI_UNIQUE, 0, pl->ob, "You see a portal open.");
433 new_draw_info (NDI_UNIQUE, 0, op, "OK."); 433 new_draw_info (NDI_UNIQUE, 0, op, "OK.");
434 return 1; 434 return 1;
435} 435}
759 if (out_of_map (op->map, head->x + size_x, head->y + size_y)) 759 if (out_of_map (op->map, head->x + size_x, head->y + size_y))
760 { 760 {
761 if (head->x < size_x || head->y < size_y) 761 if (head->x < size_x || head->y < size_y)
762 { 762 {
763 dm_stack_pop (op->contr); 763 dm_stack_pop (op->contr);
764 free_object (head); 764 head->destroy (0);
765 new_draw_info (NDI_UNIQUE, 0, op, "Object too big to insert in map, or wrong position."); 765 new_draw_info (NDI_UNIQUE, 0, op, "Object too big to insert in map, or wrong position.");
766 free_object (tmp); 766 tmp->destroy (0);
767 return 1; 767 return 1;
768 } 768 }
769 769
770 check = head; 770 check = head;
771 771
793 793
794 esrv_send_item (op, head); 794 esrv_send_item (op, head);
795 } 795 }
796 796
797 /* free the one we used to copy */ 797 /* free the one we used to copy */
798 free_object (tmp); 798 tmp->destroy (0);
799 } 799 }
800 800
801 return 1; 801 return 1;
802} 802}
803 803
1023 dm_stack_pop (op->contr); 1023 dm_stack_pop (op->contr);
1024 1024
1025 /* Always work on the head - otherwise object will get in odd state */ 1025 /* Always work on the head - otherwise object will get in odd state */
1026 if (tmp->head) 1026 if (tmp->head)
1027 tmp = tmp->head; 1027 tmp = tmp->head;
1028 remove_ob (tmp); 1028 tmp->remove ();
1029 return 1; 1029 return 1;
1030} 1030}
1031 1031
1032int 1032int
1033command_free (object *op, char *params) 1033command_free (object *op, char *params)
1048 dm_stack_pop (op->contr); 1048 dm_stack_pop (op->contr);
1049 1049
1050 if (!QUERY_FLAG (tmp, FLAG_REMOVED)) 1050 if (!QUERY_FLAG (tmp, FLAG_REMOVED))
1051 { 1051 {
1052 new_draw_info (NDI_UNIQUE, 0, op, "Warning, item wasn't removed."); 1052 new_draw_info (NDI_UNIQUE, 0, op, "Warning, item wasn't removed.");
1053 remove_ob (tmp); 1053 tmp->remove ();
1054 } 1054 }
1055 1055
1056 if (tmp->head) 1056 if (tmp->head)
1057 tmp = tmp->head; 1057 tmp = tmp->head;
1058 free_object (tmp); 1058 tmp->destroy (0);
1059 return 1; 1059 return 1;
1060} 1060}
1061 1061
1062/** 1062/**
1063 * This adds exp to a player. We now allow adding to a specific skill. 1063 * This adds exp to a player. We now allow adding to a specific skill.
1256 dummy = get_object (); 1256 dummy = get_object ();
1257 dummy->map = NULL; 1257 dummy->map = NULL;
1258 EXIT_X (dummy) = op->x; 1258 EXIT_X (dummy) = op->x;
1259 EXIT_Y (dummy) = op->y; 1259 EXIT_Y (dummy) = op->y;
1260 EXIT_PATH (dummy) = op->map->path; 1260 EXIT_PATH (dummy) = op->map->path;
1261 remove_ob (op); 1261 op->remove ();
1262 op->map = NULL; 1262 op->map = NULL;
1263 tmp = op; 1263 tmp = op;
1264 } 1264 }
1265 swap_map (m); 1265 swap_map (m);
1266 } 1266 }
1274 flush_old_maps (); 1274 flush_old_maps ();
1275 new_draw_info (NDI_UNIQUE, 0, op, "OK."); 1275 new_draw_info (NDI_UNIQUE, 0, op, "OK.");
1276 if (tmp) 1276 if (tmp)
1277 { 1277 {
1278 enter_exit (tmp, dummy); 1278 enter_exit (tmp, dummy);
1279 free_object (dummy); 1279 dummy->destroy (0);
1280 } 1280 }
1281 return 1; 1281 return 1;
1282 } 1282 }
1283 else 1283 else
1284 { 1284 {
1287 1287
1288 /* Need to re-insert player if swap failed for some reason */ 1288 /* Need to re-insert player if swap failed for some reason */
1289 if (tmp) 1289 if (tmp)
1290 { 1290 {
1291 insert_ob_in_map (op, m, NULL, 0); 1291 insert_ob_in_map (op, m, NULL, 0);
1292 free_object (dummy); 1292 dummy->destroy (0);
1293 } 1293 }
1294 1294
1295 new_draw_info (NDI_UNIQUE, 0, op, "Reset failed, couldn't swap map, the following players are on it:"); 1295 new_draw_info (NDI_UNIQUE, 0, op, "Reset failed, couldn't swap map, the following players are on it:");
1296 for (pl = first_player; pl != NULL; pl = pl->next) 1296 for (pl = first_player; pl != NULL; pl = pl->next)
1297 { 1297 {
1563 new_draw_info_format (NDI_UNIQUE, 0, op, "You already know the spell %s.", &tmp->name); 1563 new_draw_info_format (NDI_UNIQUE, 0, op, "You already know the spell %s.", &tmp->name);
1564 return 0; 1564 return 0;
1565 } 1565 }
1566 1566
1567 do_learn_spell (op, tmp, special_prayer); 1567 do_learn_spell (op, tmp, special_prayer);
1568 free_object (tmp); 1568 tmp->destroy (0);
1569 return 1; 1569 return 1;
1570} 1570}
1571 1571
1572int 1572int
1573command_learn_spell (object *op, char *params) 1573command_learn_spell (object *op, char *params)
1985 new_draw_info (NDI_UNIQUE, 0, op, "Can't insert a player into something!"); 1985 new_draw_info (NDI_UNIQUE, 0, op, "Can't insert a player into something!");
1986 return 0; 1986 return 0;
1987 } 1987 }
1988 1988
1989 if (!QUERY_FLAG (right, FLAG_REMOVED)) 1989 if (!QUERY_FLAG (right, FLAG_REMOVED))
1990 remove_ob (right); 1990 right->remove ();
1991 inserted = insert_ob_in_ob (right, left); 1991 inserted = insert_ob_in_ob (right, left);
1992 if (left->type == PLAYER) 1992 if (left->type == PLAYER)
1993 if (inserted == right) 1993 if (inserted == right)
1994 esrv_send_item (left, right); 1994 esrv_send_item (left, right);
1995 else 1995 else

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines