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

Comparing deliantra/server/include/player.h (file contents):
Revision 1.18 by root, Wed Sep 20 21:53:50 2006 UTC vs.
Revision 1.26 by root, Fri Dec 15 20:07:02 2006 UTC

17 17
18 You should have received a copy of the GNU General Public License 18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software 19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 20 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 21
22 The authors can be reached via e-mail at crossfire-devel@real-time.com 22 The authors can be reached via e-mail at crossfire.de
23*/ 23*/
24 24
25#define NUM_OUTPUT_BUFS 5 25#define NUM_OUTPUT_BUFS 5
26struct Output_Buf 26struct Output_Buf
27{ 27{
118 maptile *loading; /* When entering a map in progress of loading, not really used */ 118 maptile *loading; /* When entering a map in progress of loading, not really used */
119 rangetype shoottype; /* Which range-attack is being used by player */ 119 rangetype shoottype; /* Which range-attack is being used by player */
120 bowtype_t bowtype; /* which firemode? */ 120 bowtype_t bowtype; /* which firemode? */
121 petmode_t petmode; /* which petmode? */ 121 petmode_t petmode; /* which petmode? */
122 object_ptr ranges[range_size]; /* object for each range. Set up in fix player. Note */ 122 object_ptr ranges[range_size]; /* object for each range. Set up in fix player. Note */
123 /* That not all are used, it is just nice to map this 1:1 */ 123 /* That not all are used, it is just nice to map this 1:1 */
124 /* With the range names */ 124 /* With the range names */
125 uint32 ACC (RW, golem_count); /* To track the golem */
126 usekeytype usekeys; /* Method for finding keys for doors */ 125 usekeytype usekeys; /* Method for finding keys for doors */
127 unapplymode unapply; /* Method for auto unapply */ 126 unapplymode unapply; /* Method for auto unapply */
128 uint32 ACC (RW, count); /* Any numbers typed before a command */ 127 uint32 ACC (RW, count); /* Any numbers typed before a command */
129 uint32 ACC (RW, mode); /* Mode of player for pickup. */ 128 uint32 ACC (RW, mode); /* Mode of player for pickup. */
130 129
166 living ACC (RO, last_stats); /* Last stats as sent to client */ 165 living ACC (RO, last_stats); /* Last stats as sent to client */
167 float ACC (RW, last_speed); /* Last speed as sent to client */ 166 float ACC (RW, last_speed); /* Last speed as sent to client */
168 sint16 last_resist[NROFATTACKS]; /* last resist values sent to client */ 167 sint16 last_resist[NROFATTACKS]; /* last resist values sent to client */
169 int Swap_First; /* First stat player has selected to swap */ 168 int Swap_First; /* First stat player has selected to swap */
170 object_ptr ACC (RW, last_used); /* Pointer to object last picked or applied */ 169 object_ptr ACC (RW, last_used); /* Pointer to object last picked or applied */
171 uint32 last_used_id; /* Safety measures to be sure it's the same */
172 170
173 sint16 ACC (RW, bed_x), ACC (RW, bed_y); /* x,y - coordinates of respawn (savebed) */ 171 sint16 ACC (RW, bed_x), ACC (RW, bed_y); /* x,y - coordinates of respawn (savebed) */
174 char ACC (RW, savebed_map)[MAX_BUF]; /* map where player will respawn after death */ 172 char ACC (RW, savebed_map)[MAX_BUF]; /* map where player will respawn after death */
175 char ACC (RW, maplevel)[MAX_BUF]; /* On which level is the player? */ 173 char ACC (RW, maplevel)[MAX_BUF]; /* On which level is the player? */
176 char ACC (RW, spellparam)[MAX_BUF]; /* What param to add to spells */ 174 char ACC (RW, spellparam)[MAX_BUF]; /* What param to add to spells */
177 175
178 char ACC (RW, own_title)[MAX_NAME]; /* Title the player has chosen for themself */ 176 char ACC (RW, own_title)[MAX_NAME]; /* Title the player has chosen for themself */
179 /* Note that for dragon players, this is filled in for them */ 177 /* Note that for dragon players, this is filled in for them */
180 char ACC (RW, title)[BIG_NAME]; /* Default title, like fighter, wizard, etc */ 178 char ACC (RW, title)[64]; /* Default title, like fighter, wizard, etc */
181 179
182 sint8 levhp[11]; /* What the player gained on that level */ 180 sint8 levhp[11]; /* What the player gained on that level */
183 sint8 levsp[11]; /* Same for sp */ 181 sint8 levsp[11]; /* Same for sp */
184 sint8 levgrace[11]; /* And same for grace */ 182 sint8 levgrace[11]; /* And same for grace */
185 183
186 char ACC (RW, killer)[BIG_NAME]; /* Who killed this player. */ 184 char ACC (RW, killer)[64]; /* Who killed this player. */
187 185
188 char write_buf[MAX_BUF]; /* Holds arbitrary input from client */ 186 char write_buf[MAX_BUF]; /* Holds arbitrary input from client */
189 char input_buf[MAX_BUF]; /* Holds command to run */ 187 char input_buf[MAX_BUF]; /* Holds command to run */
190 char ACC (RW, password)[16]; /* 2 (seed) + 11 (crypted) + 1 (EOS) + 2 (safety) = 16 */ 188 char ACC (RW, password)[16]; /* 2 (seed) + 11 (crypted) + 1 (EOS) + 2 (safety) = 16 */
191 189
210}; 208};
211 209
212struct player : zero_initialised, attachable<player>, player_pod 210struct player : zero_initialised, attachable<player>, player_pod
213{ 211{
214 player *next; /* Pointer to next player, NULL if this is last */ 212 player *next; /* Pointer to next player, NULL if this is last */
215 NewSocket socket; /* Socket information for this player */ 213 client *ACC (RO, socket); /* Socket information for this player */
216 Output_Buf outputs[NUM_OUTPUT_BUFS]; /* holds output strings to client */ 214 Output_Buf outputs[NUM_OUTPUT_BUFS]; /* holds output strings to client */
217 shstr invis_race; /* What race invisible to? */ 215 shstr invis_race; /* What race invisible to? */
218 216
219 void clear () 217 void clear ()
220 { 218 {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines