// Variables used: nibble 2 of QUEST_SouthTulimshar
001-1.gat,135,42,0|script|Vincent|113
{
// This NPC previously used the variable TMW_Quest
callfunc "ClearVarTMW_Quest";
set @halloween_npc_id, $@halloween_npc_vincent;
callfunc "TrickOrTreat";
set @state, ((QUEST_SouthTulimshar & NIBBLE_2_MASK) >> NIBBLE_2_SHIFT);
if (@state >= 2) goto L_Done;
if (@state == 1) goto L_Progress;
goto L_Convince_Vincent_First;
L_Convince_Vincent_First:
mes "[Vincent]";
mes "\"I'm making an action figure. I'm almost done with it.\"";
next;
set @TEMP, rand(4);
if(@TEMP == 1) goto L_Opening2;
if(@TEMP == 2) goto L_Opening3;
if(@TEMP == 3) goto L_Opening4;
goto L_Opening1;
L_Opening1:
mes "\"I just need 10 more Bug Legs to finish my action figure!\"";
next;
goto L_Ask;
L_Opening2:
mes "\"This maggot action figure is awesome! I just need to attach 10 Bug Legs.\"";
next;
goto L_Ask;
L_Opening3:
mes "\"This is a great action figure! A must have! All I need is a few parts...\"";
next;
goto L_Ask;
L_Opening4:
mes "\"Can you get me 10 Bug Legs? I need them to replace the action figure parts.\"";
next;
goto L_Ask;
L_Ask:
mes "\"Will you help me find 10 Bug Legs?\"";
next;
menu
"Yes.", L_Sure,
"No.", L_Close;
L_Sure:
set @state, 1;
callsub S_Update_Var;
set @TEMP, rand(4);
if(@TEMP == 1) goto L_Req2;
if(@TEMP == 2) goto L_Req3;
if(@TEMP == 3) goto L_Req4;
goto L_Req1;
L_Req1:
mes "[Vincent]";
mes "\"Thank you!\"";
next;
goto L_Wait;
L_Req2:
mes "[Vincent]";
mes "\"I don't know how to thank you enough!\"";
next;
goto L_Wait;
L_Req3:
mes "[Vincent]";
mes "\"I will thank you when I get them!\"";
next;
goto L_Wait;
L_Req4:
mes "[Vincent]";
mes "\"I'm sure I will give a small reward.\"";
next;
goto L_Wait;
L_Wait:
mes "\"Now please go get me 10 Bug Legs.\"";
goto L_Close;
L_Progress:
if(countitem("BugLeg") >= 10)
goto L_Have;
mes "[Vincent]";
mes "\"Please help me collect 10 Bug Legs! I need them to complete my action figure.\"";
goto L_Close;
L_Have:
mes "[Vincent]";
mes "\"Excellent! Finally I can complete the model!!\"";
next;
if(countitem("BugLeg") < 10)
goto L_Progress;
delitem "BugLeg", 10;
set Zeny, Zeny + 1000;
set @state, 2;
callsub S_Update_Var;
mes "[Vincent]";
mes "\"Here you go, a little of my appreciation!\"";
mes "";
mes "[1000 gold]";
goto L_Close;
L_Done:
mes "[Vincent]";
mes "\"Thanks for your help!\"";
goto L_Close;
L_Close:
set @TEMP, 0;
set @state, 0;
close;
S_Update_Var:
set QUEST_SouthTulimshar, (QUEST_SouthTulimshar & ~(NIBBLE_2_MASK) | (@state << NIBBLE_2_SHIFT));
return;
}