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

Comparing deliantra/server/socket/request.C (file contents):
Revision 1.132 by elmex, Sun Jun 15 19:34:31 2008 UTC vs.
Revision 1.137 by root, Sun Aug 31 02:01:41 2008 UTC

912 << uint32 (pl->ob->face) 912 << uint32 (pl->ob->face)
913 << data8 (pl->ob->name); 913 << data8 (pl->ob->name);
914 914
915 pl->ns->last_weight = weight; 915 pl->ns->last_weight = weight;
916 pl->ns->send_packet (sl); 916 pl->ns->send_packet (sl);
917 SET_FLAG (pl->ob, FLAG_CLIENT_SENT);
918} 917}
919 918
920/****************************************************************************** 919/******************************************************************************
921 * 920 *
922 * Start of map related commands. 921 * Start of map related commands.
1177 1176
1178 int d = pl->blocked_los[ax][ay]; 1177 int d = pl->blocked_los[ax][ay];
1179 1178
1180 if (d > 3) 1179 if (d > 3)
1181 { 1180 {
1182
1183 int need_send = 0, count; 1181 int need_send = 0, count;
1184 1182
1185 /* This block deals with spaces that are not visible for whatever 1183 /* This block deals with spaces that are not visible for whatever
1186 * reason. Still may need to send the head for this space. 1184 * reason. Still may need to send the head for this space.
1187 */ 1185 */
1193 if (lastcell.count != -1) 1191 if (lastcell.count != -1)
1194 need_send = 1; 1192 need_send = 1;
1195 1193
1196 count = -1; 1194 count = -1;
1197 1195
1198 /* properly clear a previously sent big face */
1199 if (lastcell.faces[0] || lastcell.faces[1] || lastcell.faces[2] 1196 if (lastcell.faces[0] || lastcell.faces[1] || lastcell.faces[2]
1200 || lastcell.stat_hp || lastcell.flags || lastcell.player) 1197 || lastcell.stat_hp || lastcell.flags || lastcell.player)
1201 need_send = 1; 1198 need_send = 1;
1202 1199
1200 /* properly clear a previously sent big face */
1203 map_clearcell (&lastcell, count); 1201 map_clearcell (&lastcell, count);
1204 1202
1205 if ((mask & 0xf) || need_send) 1203 if ((mask & 0xf) || need_send)
1206 sl[oldlen + 1] = mask & 0xff; 1204 sl[oldlen + 1] = mask & 0xff;
1207 else 1205 else
1263 { 1261 {
1264 if (op->stats.maxhp > op->stats.hp 1262 if (op->stats.maxhp > op->stats.hp
1265 && op->stats.maxhp > 0 1263 && op->stats.maxhp > 0
1266 && (op->type == PLAYER 1264 && (op->type == PLAYER
1267 || op->type == DOOR // does not work, have maxhp 0 1265 || op->type == DOOR // does not work, have maxhp 0
1268 || QUERY_FLAG (op, FLAG_MONSTER) || QUERY_FLAG (op, FLAG_ALIVE) || QUERY_FLAG (op, FLAG_GENERATOR))) 1266 || QUERY_FLAG (op, FLAG_MONSTER)
1267 || QUERY_FLAG (op, FLAG_ALIVE)
1268 || QUERY_FLAG (op, FLAG_GENERATOR)))
1269 { 1269 {
1270 stat_hp = 255 - (op->stats.hp * 255 + 254) / op->stats.maxhp; 1270 stat_hp = 255 - (op->stats.hp * 255 + 254) / op->stats.maxhp;
1271 stat_width = op->arch->max_x - op->arch->x; //TODO: should be upper-left edge 1271 stat_width = op->arch->max_x - op->arch->x; //TODO: should be upper-left edge
1272 } 1272 }
1273 1273
1274 if (op->msg && op->msg[0] == '@') 1274 if (op->has_dialogue ())
1275 flags |= 1; 1275 flags |= 1;
1276 1276
1277 if (op->type == PLAYER && op != ob) 1277 if (op->type == PLAYER)
1278 player = op->count; 1278 player = op == ob ? pl->ob->count
1279 : op == pl->ob ? ob->count
1280 : op->count;
1279 } 1281 }
1280 1282
1281 if (lastcell.stat_hp != stat_hp) 1283 if (lastcell.stat_hp != stat_hp)
1282 { 1284 {
1283 lastcell.stat_hp = stat_hp; 1285 lastcell.stat_hp = stat_hp;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines