summaryrefslogtreecommitdiff
path: root/src/map/quest.c
diff options
context:
space:
mode:
authorInkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec>2009-10-27 13:54:23 +0000
committerInkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec>2009-10-27 13:54:23 +0000
commit5612c2738964c0747ecf754b7cf5f834b3e09cef (patch)
treecc99b8951fbcce5503b1df3762fbf6ef17790c3f /src/map/quest.c
parent8868ae19d71ef5b73fe54d08471da78e0b2e9b38 (diff)
downloadhercules-5612c2738964c0747ecf754b7cf5f834b3e09cef.tar.gz
hercules-5612c2738964c0747ecf754b7cf5f834b3e09cef.tar.bz2
hercules-5612c2738964c0747ecf754b7cf5f834b3e09cef.tar.xz
hercules-5612c2738964c0747ecf754b7cf5f834b3e09cef.zip
Fixed quest will never get erased when it's the only quest you have.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14105 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/quest.c')
-rw-r--r--src/map/quest.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/map/quest.c b/src/map/quest.c
index f73beb902..6e6bdb76c 100644
--- a/src/map/quest.c
+++ b/src/map/quest.c
@@ -92,6 +92,7 @@ int quest_add(TBL_PC * sd, int quest_id)
sd->quest_index[i] = j;
sd->num_quests++;
sd->avail_quests++;
+ sd->save_quest = true;
clif_quest_add(sd, &sd->quest_log[i], sd->quest_index[i]);
@@ -138,6 +139,7 @@ int quest_change(TBL_PC * sd, int qid1, int qid2)
sd->quest_log[i].state = Q_ACTIVE;
sd->quest_index[i] = j;
+ sd->save_quest = true;
clif_quest_delete(sd, qid1);
clif_quest_add(sd, &sd->quest_log[i], sd->quest_index[i]);
@@ -169,6 +171,7 @@ int quest_delete(TBL_PC * sd, int quest_id)
}
memset(&sd->quest_log[sd->num_quests], 0, sizeof(struct quest));
sd->quest_index[sd->num_quests] = 0;
+ sd->save_quest = true;
clif_quest_delete(sd, quest_id);
@@ -213,6 +216,7 @@ void quest_update_objective(TBL_PC * sd, int mob)
if( quest_db[sd->quest_index[i]].mob[j] == mob && sd->quest_log[i].count[j] < quest_db[sd->quest_index[i]].count[j] )
{
sd->quest_log[i].count[j]++;
+ sd->save_quest = true;
clif_quest_update_objective(sd,&sd->quest_log[i],sd->quest_index[i]);
}
}
@@ -231,6 +235,7 @@ int quest_update_status(TBL_PC * sd, int quest_id, quest_state status)
}
sd->quest_log[i].state = status;
+ sd->save_quest = true;
if( status < Q_COMPLETE )
{