summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/char_sql/char.c2
-rw-r--r--src/map/chrif.c1
-rw-r--r--src/map/quest.c4
3 files changed, 5 insertions, 2 deletions
diff --git a/src/char_sql/char.c b/src/char_sql/char.c
index 5ba6c6b29..66bb68cec 100644
--- a/src/char_sql/char.c
+++ b/src/char_sql/char.c
@@ -1216,7 +1216,7 @@ int mmo_char_fromsql(int char_id, struct mmo_charstatus* p, bool load_everything
memcpy(&p->quest_log[i].objectives[j], &tmp_quest_obj, sizeof(tmp_quest_obj));
p->quest_log[i].num_objectives = j+1;
}
- p->num_quests = i+1;
+ p->num_quests = i;
strcat(t_msg, " quests");
SqlStmt_Free(stmt2);
diff --git a/src/map/chrif.c b/src/map/chrif.c
index cc75359ef..18c648627 100644
--- a/src/map/chrif.c
+++ b/src/map/chrif.c
@@ -164,7 +164,6 @@ static bool chrif_auth_logout(TBL_PC* sd, enum sd_state state)
if(sd->fd && state == ST_LOGOUT)
{ //Disassociate player, and free it after saving ack returns. [Skotlex]
//fd info must not be lost for ST_MAPCHANGE as a final packet needs to be sent to the player.
- chrif_char_offline(sd);
if (session[sd->fd])
session[sd->fd]->session_data = NULL;
sd->fd = 0;
diff --git a/src/map/quest.c b/src/map/quest.c
index 499d78d6c..f01ff4526 100644
--- a/src/map/quest.c
+++ b/src/map/quest.c
@@ -35,6 +35,10 @@
//Send quest info on login
int quest_pc_login(TBL_PC * sd)
{
+
+ if(sd->num_quests == 0)
+ return 1;
+
clif_send_questlog(sd);
clif_send_questlog_info(sd);
return 0;