Fixed changequest behavior(before: completequest+setquest, now: erasequest+setquest)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14002 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
Inkfish 2009-08-12 07:11:01 +00:00
parent 44d933c0e1
commit dbb80324bc
3 changed files with 5 additions and 15 deletions

View File

@ -3,6 +3,8 @@ 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.
09/08/11
* Fixed changequest behavior(before: completequest+setquest, now: erasequest+setquest) [Inkfish]
09/08/10
* Fixed autospell and autobonus will still trigger even if the chance is 0. [Inkfish]
* Disabled "show_party_share_picker" functioning on client older than 20071002 to prevent from disconnection. (bugreport:3457) [Inkfish]

View File

@ -1198,7 +1198,7 @@ with other command, such as "if", but often used on it's own.
Label:
mes "This will be seen";
Note by FlavioJS: goto's are "evil" and should be avoided if possible (ò_ó)
Note by FlavioJS: goto's are "evil" and should be avoided if possible (ò_?
---------------------------------------
@ -6554,7 +6554,7 @@ Remove the quest of the given <ID> from the user's quest log.
*changequest <ID>,<ID2>;
Remove quest of the given <ID> from the user's quest log, and change state to "complete".
Remove quest of the given <ID> from the user's quest log.
Add quest of the <ID2> to the the quest log, and the state is "active".
---------------------------------------

View File

@ -116,12 +116,6 @@ int quest_change(TBL_PC * sd, int qid1, int qid2)
int i, j, count;
if( sd->num_quests >= MAX_QUEST_DB )
{
ShowError("quest_change: Character %d has got all the quests.(max quests: %d)\n", sd->status.char_id, MAX_QUEST_DB);
return 1;
}
if( quest_check(sd, qid2, HAVEQUEST) >= 0 )
{
ShowError("quest_change: Character %d already has quest %d.\n", sd->status.char_id, qid2);
@ -147,12 +141,6 @@ int quest_change(TBL_PC * sd, int qid1, int qid2)
return -1;
}
// Complete quest
sd->quest_log[i].state = Q_COMPLETE;
memcpy(&sd->quest_log[sd->num_quests], &sd->quest_log[i],sizeof(struct quest));
clif_send_quest_delete(sd, qid1);
// Add new quest
memset(&sd->quest_log[i], 0, sizeof(struct quest));
sd->quest_log[i].quest_id = quest_db[j].id;
if( quest_db[j].time )
@ -162,7 +150,7 @@ int quest_change(TBL_PC * sd, int qid1, int qid2)
sd->quest_log[i].mob[count] = quest_db[j].mob[count];
sd->quest_log[i].num_objectives = count;
sd->num_quests++;
clif_send_quest_delete(sd, qid1);
if( save_settings&64 )
chrif_save(sd,0);