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

  
                                        
 





                                                                      












































































































                                                                


                          

                  
                                            
                 

              
                                                              
                 
 
                
                                                          
                 

           
                                                               
                 

                
                                                                          
                 

             
                                   
                 

                  
                                           
                 

             
                                                       
                 

                  
                                                    
                 

         
                                        
                 

           
                                                                  
                 

             
                                                                                                                  
                 

          
                                                                                                   
                 

              
                                                                                          
                 

              
                                                   
                 

          
                                                                        
                 

         
                                                                                                                                    
                 

                  
                                          
                 

           
                                                                 
                 

                        
                         
                                                                                                                                 
                 

           

                                         
                 

          

                                                                                         



                  
          



                                                                                           
 
//

013-3,28,27,0|script|Chest#DemonMask|111
{
    callfunc "ClearVariables";

    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("MaggotSlime") == 0)
        goto L_No_maggot_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("BugLeg") == 0)
        goto L_No_bug_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("MaggotSlime") > 1
        && countitem("BugLeg") > 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 "MaggotSlime", 1;
    delitem "BugLeg", 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_maggot_slime:
    mes "You do not have any maggot 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_bug_leg:
    mes "You do not have part of a bug 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;
}