summaryrefslogblamecommitdiff
path: root/npc/000-1/chest.txt
blob: 511023e0cc222efe8d4b7b999f1c8fad0b9c56d0 (plain) (tree)
1
2
3
4
5
6
7
8
9

                
          
          
             
          
               
                                                 
            
                                  
          

                                                 
 
                                                       
 
                      
     







                                                
 
                                                                                           




                                                               
 
           



                                                        
                            














                                                                      
                                                   

                  
        
 
 
       
                  
        
 
// Evol scripts.
// Authors:
//    4144
//    gumi
//    Hal9000
//    Reid
// Description:
//    A treasure chest, with... Treasures inside!
// Variable:
//    x   ShipQuests_TreasureChest
// Values:
//    0   Treasure Chest has not been opened yet.
//    1   Treasure Chest has been opened.

000-1,83,70,0	script	Chest#000-1	NPC_CHEST,3,3,{

   if (.busy == false)
    {
        if (getq(ShipQuests_TreasureChest) == 0)
        {
            inventoryplace OldBook, 1;
            setq ShipQuests_TreasureChest, 1;
            npctalk3 l("Chest opened.");
            Zeny += 100;
            getitem OldBook, 1;
        }

        specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
        .dir = .dir == 0 ? 2 : 6; // closed ? opening : closing
        .busy = true; // lock until available again
        initnpctimer;
    }
    end;

OnTimer160:
    .dir = .dir == 6 ? 0 : 4; // closing ? closed : open
    end;

OnTimer500:
    .busy = false; // unlock

    if (.dir == 0)
    {
        stopnpctimer; // stop here if the chest is closed
    }
    end;

OnUnTouch:
    if (getareausers(.x - 3, .y - 3, .x + 3, .y + 3) > 0 || .dir == 0)
    {
        end;
    }
OnTimer30000:
    .busy = true;
    .dir = 6; // closing
    specialeffect(25, AREA, getnpcid()); // closing
    setnpctimer 0;
OnTouch:
    end;


OnInit:
    .distance = 2;
    end;
}