summaryrefslogblamecommitdiff
path: root/world/map/npc/013-3/mask_chest.txt
blob: ebc9f7f78480296e13b7a740ba276c0c1276bfbb (plain) (tree)
1
2
3
4
5
6
7
8
9

  
                                        
 



                                                                      
 
                                    
                               
                                      
                           
                                  
                             
                              
                        
                                  
                             
                               
                          
                                    
                               



                                              
                              
                                    
                               
                                  
                      



                                        
                            
                                  
                             
                                      
                       
                                
                           


                                                
                               
                                   
                       
                                 
                      
                                    
                               
                                      


                                   


























                                              

                           


























                                    

                                                                
                         
                                         


                          
 

                                            
                 

              
                                                              
                 
 
                
                                                          
                 

           
                                                               
                 

                
                                                                          
                 

             
                                   
                 

                  
                                           
                 

             
                                                       
                 

                  
                                                    
                 
 
         
                                        
                 

           
                                                                  
                 
 

                                                                                                                     
                 

          
                                                                                                   
                 

              
                                                                                          
                 

              
                                                   
                 

          
                                                                        
                 

         
                                                                                                                                    
                 

                  
                                          
                 

           
                                                                 
                 

                        
                         
                                                                                                                                 
                 

           

                                         
                 

          

                                                                                         



                  
          



                                                                                           
 
//

013-3,28,27,0|script|Chest#DemonMask|111
{
    set @state, ((QUEST_Hurnscald & NIBBLE_2_MASK) >> NIBBLE_2_SHIFT);

    if (@state < 2) goto L_This_shouldn_t_happen;
    if (@state == 3) goto L_Finished;

    if (countitem(InsectSlime) == 0)
        goto L_No_insect_slime;
    if (countitem(SmallMushroom) == 0)
        goto L_No_mushroom;
    if (countitem(PinkPetal) == 0)
        goto L_No_pink_petal;
    if (countitem(Pearl) == 0)
        goto L_No_pearl;
    if (countitem(HardSpike) == 0)
        goto L_No_hard_spike;
    if (countitem(RawLog) == 0)
        goto L_No_raw_log;
    if (countitem(PinkAntenna) == 0)
        goto L_No_pink_antenna;
    if (countitem(SnakeTongue) == 0
        || countitem(MountainSnakeTongue) == 0
        || countitem(GrassSnakeTongue) == 0
        || countitem(CaveSnakeTongue) == 0)
            goto L_No_tongues;
    if (countitem(TreasureKey) == 0)
        goto L_No_treasure_key;
    if (countitem(PileOfAsh) == 0)
        goto L_no_ash;
    if (countitem(MauveHerb) == 0
        || countitem(CobaltHerb) == 0
        || countitem(GambogeHerb) == 0
        || countitem(AlizarinHerb) == 0)
            goto L_No_herbs;
    if (countitem(InsectLeg) == 0)
        goto L_No_insect_leg;
    if (countitem(CaveSnakeLamp) == 0)
        goto L_No_lamp;
    if (countitem(IronOre) == 0)
        goto L_No_iron_ore;
    if (countitem(ScorpionStinger) == 0
        || countitem(RedScorpionStinger) == 0
        || countitem(BlackScorpionStinger) == 0)
            goto L_No_stingers;
    if (countitem(SilkCocoon) == 0)
        goto L_No_silk;
    if (countitem(WhiteFur) == 0)
        goto L_No_fur;
    if (countitem(DarkCrystal) == 0)
        goto L_No_dark_crystal;
    if (countitem(BottleOfWater) == 0)
        goto L_No_water;
    getinventorylist;
    if (@inventorylist_count == 100
        && countitem(InsectSlime) > 1
        && countitem(InsectLeg) > 1
        && countitem(SilkCocoon) > 1
        && countitem(SmallMushroom) > 1
        && countitem(PinkPetal) > 1
        && countitem(Pearl) > 1
        && countitem(HardSpike) > 1
        && countitem(RawLog) > 1
        && countitem(PinkAntenna) > 1
        && countitem(DarkCrystal) > 1
        && countitem(IronOre) > 1
        && countitem(ScorpionStinger) > 1
        && countitem(RedScorpionStinger) > 1
        && countitem(BlackScorpionStinger) > 1
        && countitem(SnakeTongue) > 1
        && countitem(MountainSnakeTongue) > 1
        && countitem(GrassSnakeTongue) > 1
        && countitem(CaveSnakeTongue) > 1
        && countitem(MauveHerb) > 1
        && countitem(CobaltHerb) > 1
        && countitem(GambogeHerb) > 1
        && countitem(AlizarinHerb) > 1
        && countitem(TreasureKey) > 1
        && countitem(CaveSnakeLamp) > 1
        && countitem(PileOfAsh) > 1
        && countitem(WhiteFur) > 1
        && countitem(BottleOfWater) > 1)
            goto L_TooMany;

    delitem InsectSlime, 1;
    delitem InsectLeg, 1;
    delitem SilkCocoon, 1;
    delitem SmallMushroom, 1;
    delitem PinkPetal, 1;
    delitem Pearl, 1;
    delitem HardSpike, 1;
    delitem RawLog, 1;
    delitem PinkAntenna, 1;
    delitem DarkCrystal, 1;
    delitem IronOre, 1;
    delitem ScorpionStinger, 1;
    delitem RedScorpionStinger, 1;
    delitem BlackScorpionStinger, 1;
    delitem SnakeTongue, 1;
    delitem MountainSnakeTongue, 1;
    delitem GrassSnakeTongue, 1;
    delitem CaveSnakeTongue, 1;
    delitem MauveHerb, 1;
    delitem CobaltHerb, 1;
    delitem GambogeHerb, 1;
    delitem AlizarinHerb, 1;
    delitem TreasureKey, 1;
    delitem CaveSnakeLamp, 1;
    delitem WhiteFur, 1;
    delitem PileOfAsh, 1;
    delitem BottleOfWater, 1;

    mes "You managed to perform the ritual and open the chest.";
    getitem DemonMask, 1;
    mes "You found a demon mask inside.";
    set @state, 3;
    callsub S_Update_Mask;
    goto L_Close;

L_No_insect_slime:
    mes "You do not have any insect slime.";
    goto L_Close;

L_No_mushroom:
    mes "You do not have a mushroom, neither big, nor small.";
    goto L_Close;

L_No_pink_petal:
    mes "You can't seem to find that pink petal you had.";
    goto L_Close;

L_No_pearl:
    mes "You do not have a pearl, let alone one from the sea.";
    goto L_Close;

L_No_hard_spike:
    mes "You weren't able to find a hard spike in the stuff you brought.";
    goto L_Close;

L_No_raw_log:
    mes "You don't have any wood.";
    goto L_Close;

L_No_pink_antenna:
    mes "You aren't carrying any antenna.";
    goto L_Close;

L_No_tongues:
    mes "You don't have four different snake tongues.";
    goto L_Close;

L_No_treasure_key:
    mes "No treasure chest key, no opening ritual.";
    goto L_Close;

L_no_ash:
    mes "You still need a pile of ash.";
    goto L_Close;

L_No_herbs:
    mes "Four different herbs are needed to get this thing open.";
    goto L_Close;

L_No_insect_leg:
    mes "You do not have part of a insect on you. That is rather odd considering what you went through to get here.";
    goto L_Close;

L_No_lamp:
    mes "You do not have a lamp. Yet, somehow, you were able to get this far into this dark cave.";
    goto L_Close;

L_No_iron_ore:
    mes "\"Rock and metal, as one.\" You don't seem to have anything that fits the bill.";
    goto L_Close;

L_No_stingers:
    mes "Three scorpion deaths are still missing.";
    goto L_Close;

L_No_silk:
    mes "You could not find the womb for a butterfly among your stuff.";
    goto L_Close;

L_No_fur:
    mes "You wonder how you can carry the \"gentle caress of a creature without blemish.\" But you need it to get this thing open.";
    goto L_Close;

L_No_dark_crystal:
    mes "A piece of darkness is missing.";
    goto L_Close;

L_No_water:
    mes "Just one bottle of water and you can start the ritual.";
    goto L_Close;

L_This_shouldn_t_happen:
    warp "013-3", 71, 25;
    // You need to go through the barrier to get to the chest, so this shouldn't happen. So just warp them like the barrier does.
    goto L_Close;

L_Finished:
    mes "[Chest]";
    mes "You already opened this chest.";
    goto L_Close;

L_TooMany:
    mes "[Chest]";
    mes "You don't have room for what ever is inside. Maybe you should try again later.";
    goto L_Close;

L_Close:
    set @state, 0;
    close;

S_Update_Mask:
    set QUEST_Hurnscald, (QUEST_Hurnscald & ~(NIBBLE_2_MASK)) | (@state << NIBBLE_2_SHIFT);
    return;
}