summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt6
-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
6 files changed, 15 insertions, 2 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 715d2e96b..356c33cc7 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -3,6 +3,12 @@ Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
+2007/02/06
+ * 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.
2007/02/05
* Fixed @lvup, #lvup not doing a stat reset and lowering your status points
if you had 0 status points at that time.
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;