… | |
… | |
83 | |
83 | |
84 | sint64 ACC (RW, total_exp); |
84 | sint64 ACC (RW, total_exp); |
85 | uint32 ACC (RW, kills); |
85 | uint32 ACC (RW, kills); |
86 | }; |
86 | }; |
87 | |
87 | |
|
|
88 | // used for pet monster logic etc. |
|
|
89 | static bool |
|
|
90 | same_party (partylist *a, partylist *b) |
|
|
91 | { |
|
|
92 | return a == b && a; |
|
|
93 | } |
|
|
94 | |
88 | INTERFACE_CLASS (player) |
95 | INTERFACE_CLASS (player) |
89 | struct player : zero_initialised, attachable |
96 | struct player : zero_initialised, attachable |
90 | { |
97 | { |
91 | client *ACC (RO, ns); /* Socket information for this player */ |
98 | client *ACC (RO, ns); /* Socket information for this player */ |
92 | object *ACC (RW, ob); /* The object representing the player */ |
99 | object *ACC (RW, ob); /* The object representing the player */ |
… | |
… | |
111 | bool ACC (RW, braced); /* Will not move if braced, only attack */ |
118 | bool ACC (RW, braced); /* Will not move if braced, only attack */ |
112 | bool ACC (RW, tmp_invis); /* Will invis go away when we attack ? */ |
119 | bool ACC (RW, tmp_invis); /* Will invis go away when we attack ? */ |
113 | bool ACC (RW, do_los); /* If true, need to call update_los() in draw(), and clear */ |
120 | bool ACC (RW, do_los); /* If true, need to call update_los() in draw(), and clear */ |
114 | bool ACC (RW, fire_on); /* Player should fire object, not move */ |
121 | bool ACC (RW, fire_on); /* Player should fire object, not move */ |
115 | bool ACC (RW, run_on); /* Player should keep moving in dir until run is off */ |
122 | bool ACC (RW, run_on); /* Player should keep moving in dir until run is off */ |
116 | bool ACC (RW, has_hit); /* If set, weapon_sp instead of speed will count */ |
|
|
117 | bool ACC (RW, peaceful); /* If set, won't attack friendly creatures */ |
123 | bool ACC (RW, peaceful); /* If set, won't attack friendly creatures */ |
118 | bool ACC (RW, hidden); /* If True, player (DM) is hidden from view */ |
124 | bool ACC (RW, hidden); /* If True, player (DM) is hidden from view */ |
119 | |
125 | |
120 | float ACC (RW, weapon_sp); /* Penalties to speed when fighting w speed >ws/10 */ |
126 | float ACC (RW, weapon_sp); /* Penalties to speed when fighting w speed >ws/10 */ |
|
|
127 | float ACC (RW, weapon_sp_left); // same as speed_left, but for attacks |
121 | living ACC (RO, orig_stats); /* Permanent real stats of player */ |
128 | living ACC (RO, orig_stats); /* Permanent real stats of player */ |
122 | object_ptr last_skill_ob[NUM_SKILLS]; /* the exp object */ |
129 | object_ptr last_skill_ob[NUM_SKILLS]; /* the exp object */ |
123 | object_ptr ACC (RW, last_used); /* Pointer to object last picked or applied */ |
130 | object_ptr ACC (RW, last_used); /* Pointer to object last picked or applied */ |
124 | |
131 | |
125 | object_ptr ACC (RW, combat_ob); // which weapon/bow/skill to use for direct attacks |
132 | object_ptr ACC (RW, combat_ob); // which weapon/bow/skill to use for direct attacks |
… | |
… | |
161 | /* the player can see. For maps smaller than */ |
168 | /* the player can see. For maps smaller than */ |
162 | /* MAP_CLIENT_.., the upper left is used */ |
169 | /* MAP_CLIENT_.., the upper left is used */ |
163 | |
170 | |
164 | shstr ACC (RW, invis_race); /* What race invisible to? */ |
171 | shstr ACC (RW, invis_race); /* What race invisible to? */ |
165 | |
172 | |
166 | MTH float weapon_speed () const; |
|
|
167 | |
|
|
168 | MTH static player *create (); |
173 | MTH static player *create (); |
169 | |
174 | |
170 | static player *load_pl (object_thawer &thawer); |
175 | static player *load_pl (object_thawer &thawer); |
171 | MTH static player *load_pl (const char *path); |
176 | MTH static player *load_pl (const char *path); |
172 | |
177 | |