summaryrefslogblamecommitdiff
path: root/world/map/npc/002-4/naem.txt
blob: 08bf005696a2dab88fbe5a0d07124880de73778c (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-4.gat,91,96,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_Naem_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_Complete:
    mes "[Naem]";
    mes "\"Yo-ho-ho, a miner's life for me!\"";
    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_Close:
    set @state, 0;
    close;

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