diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 378aec88f7..aa93b1a501 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -8211,9 +8211,9 @@ This command must be used after 'questinfo'. Add 'req_quest_id' as requirement for quest info with quest id 'quest_id'. Value os 'state' are: - 0: Player doesn't have 'req_quest_id'. - 1: Player has 'req_quest_id'. - 2: //! TODO + 0: Player doesn't started 'req_quest_id'. + 1: Player has 'req_quest_id' (state is either "inactive" or "active"). + 2: Player has 'req_quest_id' completed This command must be used after 'questinfo'. diff --git a/npc/re/jobs/novice/academy.txt b/npc/re/jobs/novice/academy.txt index 9448f0e5bf..eb0689e92d 100644 --- a/npc/re/jobs/novice/academy.txt +++ b/npc/re/jobs/novice/academy.txt @@ -23,7 +23,7 @@ iz_int,100,91,3 script Captain Carocc#iz_int 4_M_REINDEER,{ if (!isbegin_quest(7471)) { mes "[Captain Carocc]"; mes "Had a good dream?"; - mes "Soon, we will get to ^4d4fffIzlude^000000"; + mes "Soon, we will get to ^4d4fffIzlude^000000."; next; mes "[Captain Carocc]"; mes "And you can talk to other people like you just talked to me."; @@ -229,7 +229,7 @@ izlude,198,213,3 script Captain Carocc#iz 4_M_REINDEER,5,5,{ mes "Founded by the Rune Midgard lineage to help out new adventurers."; next; mes "[Carocc]"; - mes "A friend of mine works there, so I 'll give you the introduction to him."; + mes "A friend of mine works there, so I'll give you the introduction to him."; mes "He could make a lot of things easier for you."; next; mes "[Carocc]"; @@ -257,7 +257,7 @@ izlude,198,213,3 script Captain Carocc#iz 4_M_REINDEER,5,5,{ next; cutin "", 255; mes "[Carocc]"; - mes "If you need more help with the map, press [Hun]izlude,122,207here"; + mes "If you need more help with the map, press [Hun]izlude,122,207 here"; mes "Yes, the part that says 'Hun'."; next; mes "!- Information -!"; @@ -324,7 +324,7 @@ izlude,198,213,3 script Captain Carocc#iz 4_M_REINDEER,5,5,{ viewpoint 1,122,207,0,0x4d4dff; next; mes "[Carocc]"; - mes "If you need more help with the map, press [Hun]izlude,122,207here"; + mes "If you need more help with the map, press [Hun]izlude,122,207 here"; mes "Yes, the part that says ''Hun''."; next; mes "!- Information -!"; @@ -2074,10 +2074,7 @@ iz_ac01,59,43,3 script Therapist#ac 4_M_6THPRIN1,{ OnInit: questinfo 7478, QTYPE_QUEST, 0; - setquestinfo_req 7478,4269,1;// TODO! need more infos - - // AddQuestInfo 7478 0 0 - // SetQuestQuest 7478 4269 2 + setquestinfo_req 7478,4269,2; end; } @@ -2828,7 +2825,7 @@ iz_ac01,134,47,5 script Trainer Mainz#ac 4_M_KY_KNT,4,4,{ mes "Please keep in mind that I really wanted to have it but since you look exhausted I offered it to you first!"; emotion e_no1; next; - mes "- You open the lunchbox and there is some type of food inside ¡©"; + mes "- You open the lunchbox and there is some type of food inside -"; next; mes "[Mainz]"; mes "Wahahahat! Don't hesitate and just take it!"; @@ -4069,11 +4066,11 @@ iz_ac01,147,50,3 script Dacquoise#ac 4_COOK,{ mes "[Mille Feuille]"; mes "Ingredients- ^0000cd1 Clover, 1 Green Herb, 1 Red Herb^000000."; next; - cutin "اӪƽī֥.bmp", 3; + cutin "·ç³ªÆ½Ä«µå.bmp", 3; mes "[Dacquoise]"; mes "Clover and the Red Herb are dropped by Lunatic or Fabre monsters wandering everywhere on the field outside Izlude."; next; - cutin "?۪أī֥.bmp", 3; + cutin "ÆÄºê¸£Ä«µå.bmp", 3; mes "[Eclaire]"; mes "Green Herbs are dropped by Fabres."; next; @@ -4095,11 +4092,11 @@ iz_ac01,147,50,3 script Dacquoise#ac 4_COOK,{ mes "[Mille Feuille]"; mes "Ingredients are ^0000cd1 Apple & 2 Carrots^000000."; next; - cutin "Ƿصī֥.bmp", 3; + cutin "Æ÷¸µÄ«µå.bmp", 3; mes "[Dacquoise]"; mes "Apples are dropped by Porings bouncing around the field outside of Izlude."; next; - cutin "اӪƽī֥.bmp", 3; + cutin "·ç³ªÆ½Ä«µå.bmp", 3; mes "[Eclaire]"; mes "Carrots are given by Lunatics."; next; @@ -4121,15 +4118,15 @@ iz_ac01,147,50,3 script Dacquoise#ac 4_COOK,{ mes "[Mille Feuille]"; mes "Ingredients are ^0000cd1 Jellopy, 1 Fluff, 1 Feather^000000."; next; - cutin "Ƿصī֥.bmp", 3; + cutin "Æ÷¸µÄ«µå.bmp", 3; mes "[Dacquoise]"; mes "Jellopy are dropped by Porings bouncing around the field of Izlude."; next; - cutin "?۪أī֥.bmp", 3; + cutin "ÆÄºê¸£Ä«µå.bmp", 3; mes "[Eclaire]"; mes "Fluff can be received from Fabre or Lunatic."; next; - cutin "اӪƽī֥.bmp", 3; + cutin "·ç³ªÆ½Ä«µå.bmp", 3; mes "[Mille Feuille]"; mes "Feathers are dropped by Lunatics or Fabres."; next; @@ -4151,11 +4148,11 @@ iz_ac01,147,50,3 script Dacquoise#ac 4_COOK,{ mes "[Mille Feuille]"; mes "Ingredients are-^0000cd 1 Apple & 1 Clover^000000."; next; - cutin "Ƿصī֥.bmp", 3; + cutin "Æ÷¸µÄ«µå.bmp", 3; mes "[Dacquoise]"; mes "Apple can be found in Porings in the field outside of Izlude."; next; - cutin "اӪƽī֥.bmp", 3; + cutin "·ç³ªÆ½Ä«µå.bmp", 3; mes "[Eclaire]"; mes "Clovers are dropped by Lunatics or Fabre in the field outside Izlude."; next; @@ -4539,7 +4536,15 @@ L_Quest: OnInit: questinfo 11339, QTYPE_QUEST ,0 ,Job_Novice; - setquestinfo_req 11339,4269,1; + questinfo 11340, QTYPE_QUEST ,0 ,Job_Novice; + questinfo 11341, QTYPE_QUEST ,0 ,Job_Novice; + questinfo 11342, QTYPE_QUEST ,0 ,Job_Novice; + questinfo 11344, QTYPE_QUEST ,0 ,Job_Novice; + setquestinfo_req 11339,4269,2; + setquestinfo_req 11340,4269,2; + setquestinfo_req 11341,4269,2; + setquestinfo_req 11342,4269,2; + setquestinfo_req 11344,4269,2; end; } @@ -10662,13 +10667,12 @@ iz_ac02,52,136,3 script Guest Lecturer Mayssel#0 4_F_MAYSEL,{ OnInit: questinfo 7480, QTYPE_QUEST, 0, Job_Novice; - setquestinfo_req 7480,4269,1; + setquestinfo_req 7480,4269,2; questinfo 7483, QTYPE_QUEST, 0; - setquestinfo_req 7483,7481,1; - setquestinfo_req 7483,7482,1; + setquestinfo_req 7483,7481,1,7482,1; + // questinfo 7495, QTYPE_QUEST, 0;// officially disabled - // setquestinfo_req 7495,7484,2; - // setquestinfo_req 7495,7485,3; + // setquestinfo_req 7495,7484,2,7485,3; end; } @@ -10903,7 +10907,7 @@ iz_ac02,49,134,5 script Vicente#ac 4_M_HUMAN_02,{ case 2: mes "[Vicente]"; mes "Correct!"; - mes "You have a good memory£¡"; + mes "You have a good memory."; cutin "sc_vicente03.bmp", 2; next; break; @@ -10969,7 +10973,7 @@ iz_ac02,49,134,5 script Vicente#ac 4_M_HUMAN_02,{ case 2: mes "[Vicente]"; mes "Correct!"; - mes "You have a good memory£¡"; + mes "You have a good memory."; cutin "sc_vicente03.bmp", 2; next; break; @@ -14123,7 +14127,7 @@ new_1-1,53,114,3 script Training Instructor#1a 4_F_03,{ mes "I will send you to Izlude."; close2; for (.@i = 7117; .@i < 7128; .@i++) - erasequest 7117; + erasequest .@i; if (strnpcinfo(4) == "new_1-1" || strnpcinfo(4) == "new_1-2" || strnpcinfo(4) == "new_1-3" || strnpcinfo(4) == "new_1-4") { .@warp$ = "iz_int"; } else if (strnpcinfo(4) == "new_2-1" || strnpcinfo(4) == "new_2-2" || strnpcinfo(4) == "new_2-3" || strnpcinfo(4) == "new_2-4") { diff --git a/src/map/pc.c b/src/map/pc.c index 510bebce0e..53edae7e66 100755 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -11734,7 +11734,8 @@ void pc_show_questinfo(struct map_session_data *sd) { #if PACKETVER >= 20090218 struct questinfo *qi = NULL; unsigned short i; - uint8 j, state = 0, mystate = 0; + uint8 j, state = 0; + int8 mystate = 0; bool failed = false; nullpo_retv(sd); @@ -11765,12 +11766,9 @@ void pc_show_questinfo(struct map_session_data *sd) { if (qi->req_count) { failed = false; for (j = 0; j < qi->req_count; j++) { - //!TODO: Confirm all states means - // Currently only confirmed, if required quest is '0: doesn't have', and '1: have' - // Maybe something like, if (quest_check(sd, qi->req[j].quest_id, HAVEQUEST) + 1 != qi->req[j].state) ? - state = (qi->req[j].state > 0) ? 1 : 0; - mystate = (quest_check(sd, qi->req[j].quest_id, HAVEQUEST) == -1) ? 0 : 1; - if (mystate != state) { + mystate = quest_check(sd, qi->req[j].quest_id, HAVEQUEST); + mystate = mystate + (mystate < 1); + if (mystate != qi->req[j].state) { failed = true; break; } diff --git a/src/map/script.c b/src/map/script.c index 1f6ab82678..741028e81c 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -21233,7 +21233,7 @@ BUILDIN_FUNC(setquestinfo_req) { for (i = 3; i <= num; i += 2) { RECREATE(qi->req, struct questinfo_req, qi->req_count+1); qi->req[qi->req_count].quest_id = script_getnum(st, i); - qi->req[qi->req_count].state = script_getnum(st, i+1); + qi->req[qi->req_count].state = (script_getnum(st, i+1) >= 2) ? 2 : (script_getnum(st, i+1) <= 0) ? 0 : 1; qi->req_count++; }