1 | /* |
|
|
2 | * static char *rcsid_player_h = |
|
|
3 | * "$Id: player.h,v 1.10 2006/08/29 08:01:36 root Exp $"; |
|
|
4 | */ |
|
|
5 | |
|
|
6 | /* |
1 | /* |
7 | CrossFire, A Multiplayer game for X-windows |
2 | CrossFire, A Multiplayer game for X-windows |
8 | |
3 | |
9 | Copyright (C) 2002 Mark Wedel & Crossfire Development Team |
4 | Copyright (C) 2002 Mark Wedel & Crossfire Development Team |
10 | Copyright (C) 1992 Frank Tore Johansen |
5 | Copyright (C) 1992 Frank Tore Johansen |
… | |
… | |
26 | The authors can be reached via e-mail at crossfire-devel@real-time.com |
21 | The authors can be reached via e-mail at crossfire-devel@real-time.com |
27 | */ |
22 | */ |
28 | |
23 | |
29 | #define NUM_OUTPUT_BUFS 5 |
24 | #define NUM_OUTPUT_BUFS 5 |
30 | typedef struct { |
25 | typedef struct { |
31 | const char *buf; /* Actual string pointer */ |
26 | shstr buf; /* Actual string pointer */ |
32 | uint32 first_update; /* First time this message was stored */ |
27 | uint32 first_update; /* First time this message was stored */ |
33 | uint16 count; /* How many times we got this message */ |
28 | uint16 count; /* How many times we got this message */ |
34 | } Output_Buf; |
29 | } Output_Buf; |
35 | |
30 | |
36 | |
31 | |
… | |
… | |
105 | sint64 total_exp; |
100 | sint64 total_exp; |
106 | uint32 kills; |
101 | uint32 kills; |
107 | } partylist; |
102 | } partylist; |
108 | |
103 | |
109 | // memsettable part of player |
104 | // memsettable part of player |
110 | struct player_memset |
105 | struct player_memset : zero_initialised |
111 | { |
106 | { |
112 | object *ob; /* The object representing the player */ |
107 | object *ob; /* The object representing the player */ |
113 | mapstruct *loading; /* When entering a map in progress of loading, not really used */ |
108 | mapstruct *loading; /* When entering a map in progress of loading, not really used */ |
114 | rangetype shoottype; /* Which range-attack is being used by player */ |
109 | rangetype shoottype; /* Which range-attack is being used by player */ |
115 | bowtype_t bowtype; /* which firemode? */ |
110 | bowtype_t bowtype; /* which firemode? */ |
… | |
… | |
134 | sint8 last_level; /* Last level we sent to client */ |
129 | sint8 last_level; /* Last level we sent to client */ |
135 | |
130 | |
136 | /* Try to put all the bitfields together - saves some small amount of memory */ |
131 | /* Try to put all the bitfields together - saves some small amount of memory */ |
137 | uint32 braced:1; /* Will not move if braced, only attack */ |
132 | uint32 braced:1; /* Will not move if braced, only attack */ |
138 | uint32 tmp_invis:1; /* Will invis go away when we attack ? */ |
133 | uint32 tmp_invis:1; /* Will invis go away when we attack ? */ |
139 | const char *invis_race; /* What race invisible to? */ |
134 | shstr invis_race; /* What race invisible to? */ |
140 | uint32 do_los:1; /* If true, need to call update_los() in draw(), and clear */ |
135 | uint32 do_los:1; /* If true, need to call update_los() in draw(), and clear */ |
141 | uint32 fire_on:1; /* Player should fire object, not move */ |
136 | uint32 fire_on:1; /* Player should fire object, not move */ |
142 | uint32 run_on:1; /* Player should keep moving in dir until run is off */ |
137 | uint32 run_on:1; /* Player should keep moving in dir until run is off */ |
143 | uint32 has_hit:1; /* If set, weapon_sp instead of speed will count */ |
138 | uint32 has_hit:1; /* If set, weapon_sp instead of speed will count */ |
144 | uint32 name_changed:1; /* If true, the player has set a name. */ |
139 | uint32 name_changed:1; /* If true, the player has set a name. */ |