diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-02-06 17:17:26 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-02-06 17:17:26 +0000 |
commit | 5ca6022c40792a839c62f370c2671d802811f383 (patch) | |
tree | d6763838a3857857368fe0e7a82ee046e2d34ad2 /src | |
parent | fe759b1f276fc8f904da206717a278fefa9a7a17 (diff) | |
download | hercules-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.c | 2 | ||||
-rw-r--r-- | src/char_sql/int_party.c | 2 | ||||
-rw-r--r-- | src/map/atcommand.c | 3 | ||||
-rw-r--r-- | src/map/intif.c | 2 | ||||
-rw-r--r-- | src/map/mob.c | 2 |
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; |