summaryrefslogtreecommitdiff
path: root/src/emap/map.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emap/map.c')
-rw-r--r--src/emap/map.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/emap/map.c b/src/emap/map.c
index 1c60e8b..473fb2a 100644
--- a/src/emap/map.c
+++ b/src/emap/map.c
@@ -153,7 +153,8 @@ void emap_online_list(int fd)
else
state = (state | BEINGFLAG_GENDER_HIDDEN) & ~BEINGFLAG_GENDER_MALE;
- if (pc_has_permission(sd, permission_send_gm_flag))
+ if (pc_has_permission(sd, permission_send_gm_flag)
+ && data1->clientVersion < 27)
state |= BEINGFLAG_GM;
else
state &= ~BEINGFLAG_GM;
@@ -164,8 +165,10 @@ void emap_online_list(int fd)
*ptr = sd->status.base_level;
ptr ++;
- if (showVersion)
+ if (showVersion && data1->clientVersion < 27)
*ptr = data->clientVersion;
+ else if (data1->clientVersion >= 27)
+ *ptr = pc_get_group_level(sd);
else
*ptr = 0;
ptr ++;
@@ -177,7 +180,11 @@ void emap_online_list(int fd)
}
dbi_destroy(iter);
- send_online_list(fd, buf, (unsigned int)(ptr - buf));
+
+ if (data1->clientVersion >= 27)
+ send_online_list2(fd, buf, (unsigned int)(ptr - buf));
+ else
+ send_online_list(fd, buf, (unsigned int)(ptr - buf));
aFree(buf);
}