summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-02-06 17:17:26 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-02-06 17:17:26 +0000
commit5ca6022c40792a839c62f370c2671d802811f383 (patch)
treed6763838a3857857368fe0e7a82ee046e2d34ad2 /src
parentfe759b1f276fc8f904da206717a278fefa9a7a17 (diff)
downloadhercules-5ca6022c40792a839c62f370c2671d802811f383.tar.gz
hercules-5ca6022c40792a839c62f370c2671d802811f383.tar.bz2
hercules-5ca6022c40792a839c62f370c2671d802811f383.tar.xz
hercules-5ca6022c40792a839c62f370c2671d802811f383.zip
- Fixed char-server not sending party status update when a member logs on/off
- Fixed crash when parsing guild member information change from the char-server when the specified character is not found in the guild. - Fixed MvP mobs giving exp when killed even if they shouldn't git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9802 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r--src/char/int_party.c2
-rw-r--r--src/char_sql/int_party.c2
-rw-r--r--src/map/atcommand.c3
-rw-r--r--src/map/intif.c2
-rw-r--r--src/map/mob.c2
5 files changed, 9 insertions, 2 deletions
diff --git a/src/char/int_party.c b/src/char/int_party.c
index 5b04467b2..b043b8649 100644
--- a/src/char/int_party.c
+++ b/src/char/int_party.c
@@ -661,6 +661,8 @@ int mapif_parse_PartyChangeMap(int fd, int party_id, int account_id, int char_id
p->party.member[i].lv = lv;
int_party_check_lv(p);
}
+ //Send online/offline update.
+ mapif_party_membermoved(&p->party, i);
}
if (p->party.member[i].lv != lv) {
if(p->party.member[i].lv == p->min_lv ||
diff --git a/src/char_sql/int_party.c b/src/char_sql/int_party.c
index 7b6b41b23..054df47a7 100644
--- a/src/char_sql/int_party.c
+++ b/src/char_sql/int_party.c
@@ -750,6 +750,8 @@ int mapif_parse_PartyChangeMap(int fd, int party_id, int account_id, int char_id
p->party.member[i].lv = lv;
int_party_check_lv(p);
}
+ //Send online/offline update.
+ mapif_party_membermoved(&p->party, i);
}
if (p->party.member[i].lv != lv) {
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index 68b1909d0..7304990d6 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -9861,7 +9861,8 @@ int atcommand_fakename(const int fd, struct map_session_data* sd, const char* co
return 0;
}
- memcpy(sd->fakename,name,NAME_LENGTH-1);
+ memcpy(sd->fakename,name,NAME_LENGTH);
+ sd->fakename[NAME_LENGTH-1] = '\0';
clif_charnameack(0, &sd->bl);
clif_displaymessage(sd->fd,"Fake name enabled.");
diff --git a/src/map/intif.c b/src/map/intif.c
index ad749d5f9..d53d6b8f2 100644
--- a/src/map/intif.c
+++ b/src/map/intif.c
@@ -1267,6 +1267,8 @@ int intif_parse_GuildMemberInfoChanged(int fd)
if( g==NULL )
return 0;
idx=guild_getindex(g,account_id,char_id);
+ if (idx == -1)
+ return 0;
switch(type){
case GMI_POSITION:
g->member[idx].position=dd;
diff --git a/src/map/mob.c b/src/map/mob.c
index 7434aae3a..2d8c2591b 100644
--- a/src/map/mob.c
+++ b/src/map/mob.c
@@ -2058,7 +2058,7 @@ int mob_dead(struct mob_data *md, struct block_list *src, int type)
double exp;
//mapflag: noexp check [Lorky]
- if (map[m].flag.nobaseexp || !(type&2))
+ if (map[m].flag.nobaseexp || type&2)
exp =1;
else {
exp = md->db->mexp;