summaryrefslogblamecommitdiff
path: root/world/map/npc/001-1/vincent.txt
blob: 4ed4adfcb4bad0a7f37345ecec6805c8a88b9840 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                                                   
 
                                       



                                                                                            
        

                                                      
 



                                                                           

                         

                                                                     
         
 




                                   
 
           


                                                                       
 
           


                                                                                       
 
           


                                                                                       
 
           


                                                                                          

      


                                                 

                       

       


                         



                               
 
       



                         
 
       



                                                    
 
       



                                                
 
       
                    
                                                   

                

       
                                                
                 
 
           

                                 
                    
                                                                                            
                 

       


                                                            

                                
                         
                          

                         




                                                        
                 

       

                                    



                 
                  
          
 



                                                                                                     

                                
                 
 
// Variables used: nibble 2 of QUEST_SouthTulimshar

001-1.gat,135,42,0|script|Vincent|113,{
    set @hw2011_npc_id, $@hw2011_npc_vincent;
    if (gettime(7) == $@hw2011_year && gettime(6) == 10 && gettime(5) >= $@hw2011_start_day)
        goto L_TrickOrTreat;

L_Begin:
    // This NPC previously used the variable TMW_Quest
    callfunc "ClearVarTMW_Quest";

    set @state, ((QUEST_SouthTulimshar & NIBBLE_2_MASK) >> NIBBLE_2_SHIFT);

    if (@state >= 2) goto L_Done;
    if (@state == 1) goto L_Progress;

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 == 0) goto L_Opening1;
    if(@TEMP == 1) goto L_Opening2;
    if(@TEMP == 2) goto L_Opening3;
    if(@TEMP == 3) goto L_Opening4;

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 == 0) goto L_Req1;
    if(@TEMP == 1) goto L_Req2;
    if(@TEMP == 2) goto L_Req3;
    if(@TEMP == 3) goto L_Req4;

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;

L_TrickOrTreat:
    callfunc "TrickOrTreat2011";
    goto L_Begin;
}