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.19 by root, Fri Sep 29 11:53:08 2006 UTC vs.
Revision 1.29 by root, Wed Dec 20 09:14:22 2006 UTC

1
2/* 1/*
3 CrossFire, A Multiplayer game for X-windows 2 CrossFire, A Multiplayer game for X-windows
4 3
5 Copyright (C) 2002 Mark Wedel & Crossfire Development Team 4 Copyright (C) 2002 Mark Wedel & Crossfire Development Team
6 Copyright (C) 1992 Frank Tore Johansen 5 Copyright (C) 1992 Frank Tore Johansen
17 16
18 You should have received a copy of the GNU General Public License 17 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software 18 along with this program; if not, write to the Free Software
20 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 19 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 20
22 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@schmorp.de
23*/ 22*/
24 23
25#define NUM_OUTPUT_BUFS 5 24#define NUM_OUTPUT_BUFS 5
26struct Output_Buf 25struct Output_Buf
27{ 26{
118 maptile *loading; /* When entering a map in progress of loading, not really used */ 117 maptile *loading; /* When entering a map in progress of loading, not really used */
119 rangetype shoottype; /* Which range-attack is being used by player */ 118 rangetype shoottype; /* Which range-attack is being used by player */
120 bowtype_t bowtype; /* which firemode? */ 119 bowtype_t bowtype; /* which firemode? */
121 petmode_t petmode; /* which petmode? */ 120 petmode_t petmode; /* which petmode? */
122 object_ptr ranges[range_size]; /* object for each range. Set up in fix player. Note */ 121 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 */ 122 /* That not all are used, it is just nice to map this 1:1 */
124 /* With the range names */ 123 /* With the range names */
125 uint32 ACC (RW, golem_count); /* To track the golem */
126 usekeytype usekeys; /* Method for finding keys for doors */ 124 usekeytype usekeys; /* Method for finding keys for doors */
127 unapplymode unapply; /* Method for auto unapply */ 125 unapplymode unapply; /* Method for auto unapply */
128 uint32 ACC (RW, count); /* Any numbers typed before a command */ 126 uint32 ACC (RW, count); /* Any numbers typed before a command */
129 uint32 ACC (RW, mode); /* Mode of player for pickup. */ 127 uint32 ACC (RW, mode); /* Mode of player for pickup. */
130 128
147 uint32 ACC (RO, has_hit):1; /* If set, weapon_sp instead of speed will count */ 145 uint32 ACC (RO, has_hit):1; /* If set, weapon_sp instead of speed will count */
148 uint32 ACC (RO, name_changed):1; /* If true, the player has set a name. */ 146 uint32 ACC (RO, name_changed):1; /* If true, the player has set a name. */
149 uint32 ACC (RO, peaceful):1; /* If set, won't attack friendly creatures */ 147 uint32 ACC (RO, peaceful):1; /* If set, won't attack friendly creatures */
150 uint32 ACC (RO, hidden):1; /* If True, player (DM) is hidden from view */ 148 uint32 ACC (RO, hidden):1; /* If True, player (DM) is hidden from view */
151 uint32 ACC (RO, explore):1; /* if True, player is in explore mode */ 149 uint32 ACC (RO, explore):1; /* if True, player is in explore mode */
152 uint32 ACC (RO, no_shout):1; /* if True, player is *not* able to use shout command */
153 150
154 object_ptr last_skill_ob[NUM_SKILLS]; /* the exp object */ 151 object_ptr last_skill_ob[NUM_SKILLS]; /* the exp object */
155 sint64 last_skill_exp[NUM_SKILLS]; /* shadow register. if != exp. obj update client */ 152 sint64 last_skill_exp[NUM_SKILLS]; /* shadow register. if != exp. obj update client */
156 153
157 float ACC (RW, weapon_sp); /* Penalties to speed when fighting w speed >ws/10 */ 154 float ACC (RW, weapon_sp); /* Penalties to speed when fighting w speed >ws/10 */
166 living ACC (RO, last_stats); /* Last stats as sent to client */ 163 living ACC (RO, last_stats); /* Last stats as sent to client */
167 float ACC (RW, last_speed); /* Last speed as sent to client */ 164 float ACC (RW, last_speed); /* Last speed as sent to client */
168 sint16 last_resist[NROFATTACKS]; /* last resist values sent to client */ 165 sint16 last_resist[NROFATTACKS]; /* last resist values sent to client */
169 int Swap_First; /* First stat player has selected to swap */ 166 int Swap_First; /* First stat player has selected to swap */
170 object_ptr ACC (RW, last_used); /* Pointer to object last picked or applied */ 167 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 168
173 sint16 ACC (RW, bed_x), ACC (RW, bed_y); /* x,y - coordinates of respawn (savebed) */ 169 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 */ 170 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? */ 171 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 */ 172 char ACC (RW, spellparam)[MAX_BUF]; /* What param to add to spells */
210}; 206};
211 207
212struct player : zero_initialised, attachable<player>, player_pod 208struct player : zero_initialised, attachable<player>, player_pod
213{ 209{
214 player *next; /* Pointer to next player, NULL if this is last */ 210 player *next; /* Pointer to next player, NULL if this is last */
215 NewSocket socket; /* Socket information for this player */ 211 client *ACC (RO, socket); /* Socket information for this player */
216 Output_Buf outputs[NUM_OUTPUT_BUFS]; /* holds output strings to client */ 212 Output_Buf outputs[NUM_OUTPUT_BUFS]; /* holds output strings to client */
217 shstr invis_race; /* What race invisible to? */ 213 shstr invis_race; /* What race invisible to? */
218 214
219 void clear () 215 void clear ()
220 { 216 {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines