summaryrefslogblamecommitdiff
path: root/npc/001-2-12/oscar.txt
blob: e53f30a57dcc57231e2ecdfe4344257f90ab01fb (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                
          

               
                                                          

                                                           
 

                            
                                                








                                                                                                      



                                 

                         
                                                    
         

                                                                          
             
                             
             
                                   
         
                                                    
         

                                                                          
             
                             
             
                                   
         
                                                    
         

                                                                          
             
                             
             
                                   
         
                                                    
         

                                                                          
             
                             
             
                                   


                               



                                   
                          
 
                                  

                                                     
                                                  

                                                                                                           

                                              
         
                               




                                                                                
                           




                                                                                     
                                                        


                                           
                                                       
 
                                                   



                                                           
                                                        






                                                            
                                   
                                                                                                                            


      



                                              
 
                      

                   
                                         

                      


                                  
                                                                                              


                      
                         
 
                      



            



                  
// Evol scripts.
// Author:
//    Reid
// Description:
//    Old man living in the rich hill, can bleach clothes.

001-2-12,38,30,0	script	Oscar#001-2-12	NPC_OSCAR,{

    function live_here_alone
    {
        speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
            l("Meh!"),
            l("This is a harsh word to use, you are never alone in the beautiful place of Artis."),
            l("Mob is doing its daily noise, nature is singing its sumptuous melody, none is alone.");

        return;
    }

    function item_is_bleachable
    {
        .@item_index = getarg(0);
        if (.@item_index < 0)
            return false;

        getinventorylist;

        if (@inventorylist_card1[.@item_index] != 0)
        {
            if ((@inventorylist_card1[.@item_index] > YellowCottonDye) ||
                (@inventorylist_card1[.@item_index] < CrimsonCashmereDye))
            {
                return false;
            }
            .@is_bleachable = true;
        }
        if (@inventorylist_card2[.@item_index] != 0)
        {
            if ((@inventorylist_card2[.@item_index] > YellowCottonDye) ||
                (@inventorylist_card2[.@item_index] < CrimsonCashmereDye))
            {
                return false;
            }
            .@is_bleachable = true;
        }
        if (@inventorylist_card3[.@item_index] != 0)
        {
            if ((@inventorylist_card3[.@item_index] > YellowCottonDye) ||
                (@inventorylist_card3[.@item_index] < CrimsonCashmereDye))
            {
                return false;
            }
            .@is_bleachable = true;
        }
        if (@inventorylist_card4[.@item_index] != 0)
        {
            if ((@inventorylist_card4[.@item_index] > YellowCottonDye) ||
                (@inventorylist_card4[.@item_index] < CrimsonCashmereDye))
            {
                return false;
            }
            .@is_bleachable = true;
        }

        return .@is_bleachable;
    }

    function remove_cards_from_item
    {
        .@item_index = -1;

        speech S_FIRST_BLANK_LINE,
            l("What item would you like to bleach?");

        narrator S_FIRST_BLANK_LINE | S_LAST_NEXT,
            l("You can drag and drop an item to the NPC window or select an item through your inventory.");

        .@item_index = requestitemindex();
        if (!item_is_bleachable(.@item_index))
        {
            speech S_LAST_NEXT,
                l("You should know this, an item like this can't be bleached.");

            return;
        }

        speech S_LAST_NEXT,
            l("Your mind is set? You will loose the color dye during this process.");

        switch (askyesno())
        {
            case 1:
                speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
                    l("Ok, let me see..."),
                    l("...");

                failedremovecardsindex .@item_index, 1;

                speech S_LAST_NEXT | S_NO_NPC_NAME,
                    l("..."),
                    l("Here it is, clean like a whistle!");
                break;
            case 2:
                speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
                    l("Is it truly a hard choice to make?");
                break;
        }

        return;
    }

    .@hour = gettime(GETTIME_HOUR);
    speech S_LAST_NEXT, (.@hour > 6 && .@hour < 18) ? l("Good day to you.") : lg("Good night milady.", "Good evening sir.");

    do
    {
        select
            l("Could you bleach my clothes?"),
            l("Do you live here alone?"),
            menuaction(l("Quit"));

        switch (@menu)
        {
            case 1:
                remove_cards_from_item();
                break;
            case 2:
                live_here_alone();
                break;
            case 3:
                speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("I wish you a good time in town.");
                break;
        }

    } while (@menu != 3);

    closeclientdialog;
    goodbye;
    close;

OnInit:
    .distance = 3;
    end;
}