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

Comparing deliantra/server/common/player.C (file contents):
Revision 1.7 by root, Tue Dec 12 20:53:02 2006 UTC vs.
Revision 1.10 by root, Sat Dec 16 03:08:25 2006 UTC

25#include <funcpoint.h> 25#include <funcpoint.h>
26 26
27void 27void
28free_player (player *pl) 28free_player (player *pl)
29{ 29{
30
31 if (first_player != pl) 30 if (first_player != pl)
32 { 31 {
33 player *prev = first_player; 32 player *prev = first_player;
34 33
35 while (prev != NULL && prev->next != NULL && prev->next != pl) 34 while (prev != NULL && prev->next != NULL && prev->next != pl)
46 else 45 else
47 first_player = pl->next; 46 first_player = pl->next;
48 47
49 if (pl->ob) 48 if (pl->ob)
50 { 49 {
51 if (!QUERY_FLAG (pl->ob, FLAG_REMOVED))
52 pl->ob->remove ();
53
54 pl->ob->contr = 0; 50 pl->ob->contr = 0;
55 pl->ob->destroy (); 51 pl->ob->destroy ();
52 }
53
54 if (pl->socket)
55 {
56 pl->socket->pl = 0;
57 pl->socket->send_packet ("goodbye");
58 pl->socket->destroy ();
56 } 59 }
57 60
58 /* Clear item stack */ 61 /* Clear item stack */
59 if (pl->stack_items) 62 if (pl->stack_items)
60 free (pl->stack_items); 63 free (pl->stack_items);
61
62 free (pl->socket.faces_sent);
63 64
64 delete pl; 65 delete pl;
65} 66}
66 67
67 68
74atnr_is_dragon_enabled (int attacknr) 75atnr_is_dragon_enabled (int attacknr)
75{ 76{
76 if (attacknr == ATNR_MAGIC || attacknr == ATNR_FIRE || 77 if (attacknr == ATNR_MAGIC || attacknr == ATNR_FIRE ||
77 attacknr == ATNR_ELECTRICITY || attacknr == ATNR_COLD || attacknr == ATNR_ACID || attacknr == ATNR_POISON) 78 attacknr == ATNR_ELECTRICITY || attacknr == ATNR_COLD || attacknr == ATNR_ACID || attacknr == ATNR_POISON)
78 return 1; 79 return 1;
80
79 return 0; 81 return 0;
80} 82}
81 83
82/* 84/*
83 * returns true if the adressed object 'ob' is a player 85 * returns true if the adressed object 'ob' is a player

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines