summaryrefslogblamecommitdiff
path: root/world/map/npc/002-3/naem.txt
blob: bfcde613477b780659447e57ba2e4db9aa134ba5 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11


                                                                    
 

                                   




                                                                       

                                                            


                                         

                                       







                                          


                                                              
                 

            

                         

                                                                                                   
                 

            

                                                      
                 

              

                         






                                                                                                                     
                 

               

                                                                                                             
                 

              

                         



                                                                       
                 

               

                                                                                         
                 

              

                         



                                     
                 

               

                                                                                              
                 

             

                                                                                                        
                 

              






                                                                                                       

           

                                  
                 

                 

                         

                                                                                                                  
                 

          

                                                                                                                                                                                 
                 

            

                                                                                                                                                                                                                                                                                                                                
                 

              
                     

                                    



                                                                                                                             
                 
 
               

                                                                   
                 

                

                                               



                  
          



                                                                                                 
 
// Variables used:
// - nibble 4 and 5 of QUEST_SouthTulimshar
// - in FLAGS, bits FLAG_GOT_NAEM_GLOVES and FLAG_OPENED_UNDERGROUND

002-3.gat,85,97,6|script|Naem|109,{

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

    set @state, ((QUEST_SouthTulimshar & BYTE_2_MASK) >> BYTE_2_SHIFT);

    if (FLAGS & FLAG_GOT_NAEM_GLOVES) goto L_Naem_Complete;
    if (FLAGS & FLAG_OPENED_UNDERGROUND) goto L_Naem_Gloves;
    if (@state == 22) goto L_Naem_Code;
    if (@state == 21) goto L_Naem_Lt;
    if (@state == 20) goto L_Naem_Memory;
    if ((@state > 17) && (@state < 19))
        goto L_Naem_Great;
    if (@state == 17) goto L_Naem_Waits_3;
    if (@state == 16) goto L_Naem_Help_3;
    if (@state == 15) goto L_Naem_Waits_2;
    if (@state == 14) goto L_Naem_Help_2;
    if (@state == 13) goto L_Naem_Waits_1;
    if (@state == 12) goto L_Naem_Help_1;
    if (@state == 10) goto L_Naem_Cool;
    if (@state == 9) goto L_Naem_Okay;

    mes "[Naem]";
    mes "\"I'm just mining away here.  Lots of work to do.\"";
    goto L_Close;

L_Naem_Okay:
    set @state, 10;
    callsub S_Update_Var;
    mes "[Naem]";
    mes "\"Oh, hello there.  Nickos wanted you to check on me? Yeah, you can tell him I'm okay.\"";
    goto L_Close;

L_Naem_Cool:
    mes "[Naem]";
    mes "\"Yeah, I'm cool.  Just mining away here.\"";
    goto L_Close;

L_Naem_Help_1:
    set @state, 13;
    callsub S_Update_Var;
    mes "[Naem]";
    mes "\"Oh, you are here to help move my bags?  Cool, I've got a few ready to go.  Go ahead and take this one!\"";
    next;
    mes "Naem hands you a bag of ore.";
    next;
    mes "[Naem]";
    mes "\"After you deliver that one to Nathan, come on back, I've got a couple more ready to go.\"";
    goto L_Close;

L_Naem_Waits_1:
    mes "[Naem]";
    mes "\"After you deliver that bag of ore to Nathan, come on back, I've got a couple more ready to go.\"";
    goto L_Close;

L_Naem_Help_2:
    set @state, 15;
    callsub S_Update_Var;
    mes "Naem gives you a bag of ore.";
    next;
    mes "[Naem]";
    mes "\"Just one more after this one and we'll be all caught up!\"";
    goto L_Close;

L_Naem_Waits_2:
    mes "[Naem]";
    mes "\"Just one more bag of ore after the one you got and we'll be all caught up!\"";
    goto L_Close;

L_Naem_Help_3:
    set @state, 17;
    callsub S_Update_Var;
    mes "[Naem]";
    mes "Hands a bag of ore to you.";
    next;
    mes "\"Last one!\"";
    goto L_Close;

L_Naem_Waits_3:
    mes "[Naem]";
    mes "\"You got my last sack already.  Just give it to Nathan and we'll have caught up.\"";
    goto L_Close;

L_Naem_Great:
    mes "[Naem]";
    mes "\"Hi ho!  It's off to work I go!  I work every day for meager pay, a miner's life for me...\"";
    goto L_Close;

L_Naem_Memory:
    mes "You see Naem grimacing in pain as you approach.";
    next;
    mes "[Naem]";
    mes "\"Oh, my head!  Some rocks fell on me and bonked me pretty good.  I'm still a little sore.\"";
    menu
        "Don't you have a key so I can go to the underground palace?", L_Naem_Palace_No,
        "You should be more careful.", L_Naem_Duh;

L_Naem_Duh:
    mes "[Naem]";
    mes "\"I guess I should...\"";
    goto L_Close;

L_Naem_Palace_No:
    set @state, 21;
    callsub S_Update_Var;
    mes "[Naem]";
    mes "\"Oh no!  I lost the key!  Don't worry though, talk to Lieutenant Dausen about getting the spare key.\"";
    goto L_Close;

L_Naem_Lt:
    mes "[Naem]";
    mes "\"I hurt my head pretty bad.  I also lost my key.  If you want to get into the underground palace, you'll have to talk to Lieutenant Dausen about getting the spare.\"";
    goto L_Close;

L_Naem_Code:
    mes "[Naem]";
    mes "\"Oh, you got the key.  That is good!  But my head still hurts...  All I remember about the code is you have to put the key into the key hole buttons around the mine in a certain order and turn them in a certain order and it will unlock the underground palace.  Sorry, that's all I have for you.  Good luck!\"";
    goto L_Close;

L_Naem_Gloves:
    getinventorylist;
    if (@inventorylist_count == 100)
        goto L_Nathan_TooMany;
    set FLAGS, FLAGS | FLAG_GOT_NAEM_GLOVES;
    getitem "MinerGloves", 1;
    mes "[Naem]";
    mes "\"Hey, good job on getting that together!  Take these gloves, they might prove useful in the underground palace.\"";
    goto L_Close;

L_Naem_TooMany:
    mes "[Naem]";
    mes "\"You have too many items for me to give you a reward.\"";
    goto L_Close;

L_Naem_Complete:
    mes "[Naem]";
    mes "\"Yo-ho-ho, a miner's life for me!\"";
    goto L_Close;

L_Close:
    set @state, 0;
    close;

S_Update_Var:
    set QUEST_SouthTulimshar, (QUEST_SouthTulimshar & ~(BYTE_2_MASK) | (@state << BYTE_2_SHIFT));
    return;
}