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

Comparing deliantra/server/server/player.C (file contents):
Revision 1.18 by root, Sun Sep 10 15:59:57 2006 UTC vs.
Revision 1.19 by root, Mon Sep 11 23:53:30 2006 UTC

1 1
2/* 2/*
3 * static char *rcsid_player_c = 3 * static char *rcsid_player_c =
4 * "$Id: player.C,v 1.18 2006/09/10 15:59:57 root Exp $"; 4 * "$Id: player.C,v 1.19 2006/09/11 23:53:30 root Exp $";
5 */ 5 */
6 6
7/* 7/*
8 CrossFire, A Multiplayer game for X-windows 8 CrossFire, A Multiplayer game for X-windows
9 9
756 * the map is null or not swapped out. 756 * the map is null or not swapped out.
757 */ 757 */
758 op->map = NULL; 758 op->map = NULL;
759} 759}
760 760
761
762int 761int
763receive_play_again (object *op, char key) 762receive_play_again (object *op, char key)
764{ 763{
765 if (key == 'q' || key == 'Q') 764 if (key == 'q' || key == 'Q')
766 { 765 {
771 else if (key == 'a' || key == 'A') 770 else if (key == 'a' || key == 'A')
772 { 771 {
773 player *pl = op->contr; 772 player *pl = op->contr;
774 shstr name = op->name; 773 shstr name = op->name;
775 774
776 remove_friendly_object (op); 775 op->contr = 0;
777 free_object (op); 776 op->type = 0;
777 op->free (1);
778 pl = get_player (pl); 778 pl = get_player (pl);
779 op = pl->ob; 779 op = pl->ob;
780 add_friendly_object (op); 780 add_friendly_object (op);
781 op->contr->password[0] = '~'; 781 op->contr->password[0] = '~';
782 op->name = op->name_pl = 0; 782 op->name = op->name_pl = 0;
785 get_name (op); 785 get_name (op);
786 op->name = op->name_pl = name; 786 op->name = op->name_pl = name;
787 set_first_map (op); 787 set_first_map (op);
788 } 788 }
789 else 789 else
790 {
791 /* user pressed something else so just ask again... */ 790 /* user pressed something else so just ask again... */
792 play_again (op); 791 play_again (op);
793 } 792
794 return 0; 793 return 0;
795} 794}
796 795
797void 796void
798confirm_password (object *op) 797confirm_password (object *op)
1146 strncpy (op->contr->title, op->arch->clone.name, sizeof (op->contr->title) - 1); 1145 strncpy (op->contr->title, op->arch->clone.name, sizeof (op->contr->title) - 1);
1147 op->contr->title[sizeof (op->contr->title) - 1] = '\0'; 1146 op->contr->title[sizeof (op->contr->title) - 1] = '\0';
1148 add_statbonus (op); 1147 add_statbonus (op);
1149 tmp_loop = allowed_class (op); 1148 tmp_loop = allowed_class (op);
1150 } 1149 }
1150
1151 update_object (op, UP_OBJ_FACE); 1151 update_object (op, UP_OBJ_FACE);
1152 esrv_update_item (UPD_FACE, op, op); 1152 esrv_update_item (UPD_FACE, op, op);
1153 fix_player (op); 1153 fix_player (op);
1154 op->stats.hp = op->stats.maxhp; 1154 op->stats.hp = op->stats.maxhp;
1155 op->stats.sp = op->stats.maxsp; 1155 op->stats.sp = op->stats.maxsp;
1202 delete_map (mp); 1202 delete_map (mp);
1203 } 1203 }
1204 1204
1205 delete_character (op->name, 1); 1205 delete_character (op->name, 1);
1206 } 1206 }
1207
1207 play_again (op); 1208 play_again (op);
1208 return 1; 1209 return 1;
1209} 1210}
1210 1211
1211void 1212void
3297 insert_ob_in_ob (force, op); 3298 insert_ob_in_ob (force, op);
3298 fix_player (op); 3299 fix_player (op);
3299 3300
3300 } 3301 }
3301 3302
3302 /**************************************/
3303 /* */
3304 /* Repaint the characters inv, and */
3305 /* stats, and show a nasty message ;) */
3306 /* */
3307
3308 /**************************************/
3309
3310 new_draw_info (NDI_UNIQUE, 0, op, "YOU HAVE DIED."); 3303 new_draw_info (NDI_UNIQUE, 0, op, "YOU HAVE DIED.");
3311 return; 3304 return;
3312 } /* NOT_PERMADETH */ 3305 } /* NOT_PERMADETH */
3313 else 3306 else
3314 { 3307 {
3357 op->map = map; 3350 op->map = map;
3358 /* please see resurrection.c: peterm */ 3351 /* please see resurrection.c: peterm */
3359 dead_player (op); 3352 dead_player (op);
3360 } 3353 }
3361 else 3354 else
3362 {
3363 delete_character (op->name, 1); 3355 delete_character (op->name, 1);
3364 } 3356 }
3365 } 3357
3366 play_again (op); 3358 play_again (op);
3367 3359
3368 /* peterm: added to create a corpse at deathsite. */ 3360 /* peterm: added to create a corpse at deathsite. */
3369 tmp = arch_to_object (find_archetype ("corpse_pl")); 3361 tmp = arch_to_object (find_archetype ("corpse_pl"));
3370 sprintf (buf, "%s", &op->name); 3362 sprintf (buf, "%s", &op->name);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines