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





                                                                       
 
                                  



                                         
                       
 
      
                                     
                          
                     

                                                                    


                                                      


                         

             
                                                                            
                 

           
                                              
                 

          
                                                                                            



                  
          



                                                                                                 
 
// Variables used: nibble 4 and 5 of QUEST_SouthTulimshar

002-5.gat,93,37,0|script|Supply Chest|377,{

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

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

    if (@state >= 26) goto L_Finished;

    mes "Hrmm... A supply chest.";
    mes "Do you want to try to open it?";
    next;
    menu
        "Yes.", L_Yes,
        "No.", L_Close;

L_Yes:
    if (countitem("TreasureKey") < 3)
        goto L_Not_Enough;
    getinventorylist;
    if (@inventorylist_count == 100 && countitem("TreasureKey") > 3)
        goto L_TooMany;
    mes "You opened the chest and found a short bow!";
    delitem "TreasureKey", 3;
    getitem "ShortBow", 1;
    set @state, 26;
    callsub S_Update_Var;
    goto L_Close;

L_Not_Enough:
    mes "It seems that you do not have the right key for this chest yet...";
    goto L_Close;

L_Finished:
    mes "You have already opened this chest.";
    goto L_Close;

L_TooMany:
    mes "You do not have enough room to loot this chest. Maybe you should try again later.";
    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;
}