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.21 by root, Tue Dec 12 20:53:03 2006 UTC vs.
Revision 1.22 by root, Tue Dec 12 21:39:57 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 dummy->destroy (0); 347 dummy->destroy ();
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}
376 { 376 {
377 new_draw_info (NDI_UNIQUE, 0, op, "Can not find a free spot to place summoned player."); 377 new_draw_info (NDI_UNIQUE, 0, op, "Can not find a free spot to place summoned player.");
378 return 1; 378 return 1;
379 } 379 }
380 380
381 dummy = get_object (); 381 dummy = object::create ();
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 dummy->destroy (0); 386 dummy->destroy ();
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}
420 { 420 {
421 new_draw_info (NDI_UNIQUE, 0, op, "Can not find a free spot to teleport to."); 421 new_draw_info (NDI_UNIQUE, 0, op, "Can not find a free spot to teleport to.");
422 return 1; 422 return 1;
423 } 423 }
424 424
425 dummy = get_object (); 425 dummy = object::create ();
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 dummy->destroy (0); 430 dummy->destroy ();
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}
722 * so just copying it over should be fine. 722 * so just copying it over should be fine.
723 */ 723 */
724 if (!head) 724 if (!head)
725 { 725 {
726 head = dup; 726 head = dup;
727 copy_object (tmp, dup); 727 tmp->copy_to (dup);
728 } 728 }
729 729
730 if (settings.real_wiz == FALSE) 730 if (settings.real_wiz == FALSE)
731 SET_FLAG (dup, FLAG_WAS_WIZ); 731 SET_FLAG (dup, FLAG_WAS_WIZ);
732 732
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 head->destroy (0); 764 head->destroy ();
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 tmp->destroy (0); 766 tmp->destroy ();
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 tmp->destroy (0); 798 tmp->destroy ();
799 } 799 }
800 800
801 return 1; 801 return 1;
802} 802}
803 803
1053 tmp->remove (); 1053 tmp->remove ();
1054 } 1054 }
1055 1055
1056 if (tmp->head) 1056 if (tmp->head)
1057 tmp = tmp->head; 1057 tmp = tmp->head;
1058
1058 tmp->destroy (0); 1059 tmp->destroy ();
1059 return 1; 1060 return 1;
1060} 1061}
1061 1062
1062/** 1063/**
1063 * This adds exp to a player. We now allow adding to a specific skill. 1064 * This adds exp to a player. We now allow adding to a specific skill.
1251 * Only attempt to remove the player that is doing the reset, and not other 1252 * Only attempt to remove the player that is doing the reset, and not other
1252 * players or wiz's. 1253 * players or wiz's.
1253 */ 1254 */
1254 if (op->map == m) 1255 if (op->map == m)
1255 { 1256 {
1256 dummy = get_object (); 1257 dummy = object::create ();
1257 dummy->map = NULL; 1258 dummy->map = NULL;
1258 EXIT_X (dummy) = op->x; 1259 EXIT_X (dummy) = op->x;
1259 EXIT_Y (dummy) = op->y; 1260 EXIT_Y (dummy) = op->y;
1260 EXIT_PATH (dummy) = op->map->path; 1261 EXIT_PATH (dummy) = op->map->path;
1261 op->remove (); 1262 op->remove ();
1271 1272
1272 /* setting this effectively causes an immediate reload */ 1273 /* setting this effectively causes an immediate reload */
1273 m->reset_time = 1; 1274 m->reset_time = 1;
1274 flush_old_maps (); 1275 flush_old_maps ();
1275 new_draw_info (NDI_UNIQUE, 0, op, "OK."); 1276 new_draw_info (NDI_UNIQUE, 0, op, "OK.");
1277
1276 if (tmp) 1278 if (tmp)
1277 { 1279 {
1278 enter_exit (tmp, dummy); 1280 enter_exit (tmp, dummy);
1279 dummy->destroy (0); 1281 dummy->destroy ();
1280 } 1282 }
1283
1281 return 1; 1284 return 1;
1282 } 1285 }
1283 else 1286 else
1284 { 1287 {
1285 player *pl; 1288 player *pl;
1287 1290
1288 /* Need to re-insert player if swap failed for some reason */ 1291 /* Need to re-insert player if swap failed for some reason */
1289 if (tmp) 1292 if (tmp)
1290 { 1293 {
1291 insert_ob_in_map (op, m, NULL, 0); 1294 insert_ob_in_map (op, m, NULL, 0);
1292 dummy->destroy (0); 1295 dummy->destroy ();
1293 } 1296 }
1294 1297
1295 new_draw_info (NDI_UNIQUE, 0, op, "Reset failed, couldn't swap map, the following players are on it:"); 1298 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) 1299 for (pl = first_player; pl != NULL; pl = pl->next)
1297 { 1300 {
1563 new_draw_info_format (NDI_UNIQUE, 0, op, "You already know the spell %s.", &tmp->name); 1566 new_draw_info_format (NDI_UNIQUE, 0, op, "You already know the spell %s.", &tmp->name);
1564 return 0; 1567 return 0;
1565 } 1568 }
1566 1569
1567 do_learn_spell (op, tmp, special_prayer); 1570 do_learn_spell (op, tmp, special_prayer);
1568 tmp->destroy (0); 1571 tmp->destroy ();
1569 return 1; 1572 return 1;
1570} 1573}
1571 1574
1572int 1575int
1573command_learn_spell (object *op, char *params) 1576command_learn_spell (object *op, char *params)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines