summaryrefslogblamecommitdiff
path: root/npc/009-2/ryan.txt
blob: db5c196cc0ae9d3ca73ae8292c1398da6aeb7a61 (plain) (tree)
1
2
3
4
5
6
7
8
9







                                            
                                    

                                                           
                 
                        
                      
                            

                            
        
                                          
 







                                                                                                                  
                                                                      





                              
                                                     
 



                                                        
                               

                                                 
                                            



                             
                                                       


                                          
                                            
                           
                         


                                                                                  
     




                          
                    

                                               
                                                                    
     
 







                                  
                                                                 


                                            
                               





                                                                                                                     
                    

                                               
     
















                                    
                    

                                                 
     
                                                                      

                                            
                                
                                 
                                

                                       
                                                   
                                                         

             
                                                                                                                                                 

                                                
     







                                          




                                                                                                          








                                                                                                                  
       
                               


                                                         
                                            




                                            




                                                                              


        
// TMW-2 Script.
// Author:
//    Saulc
//    Jesusalva
// Notes:
//    Buys Tonori Delight

009-2,29,57,0	script	Ryan	NPC_PLAYER,{
    if (BaseLevel < 17) goto L_Weak;
    if (!getq(HalinarzoQuest_LifeDelight)) goto L_Prologue;
    .@q=getq2(HalinarzoQuest_LifeDelight);
    if (.@q < 25)
        .@a=(.@q**2)+18;
    else if (.@q < 40)
        .@a=625+18*(.@q-24);
    else if (.@q < 50)
        .@a=895+10*(.@q-39);
    else
        .@a=1000+(.@q*(.@q < 75 ? 1 : 2));

    if (.@q > 100) goto L_Complete;
    mesn;
    mesq l("Ah, I just wanted @@... Yummy, lovely @@...", getitemlink(TonoriDelight), getitemlink(TonoriDelight));
    next;
    mesn;
    mesq l("If you bring me @@ @@, I'll give you a reward!", .@a, getitemlink(TonoriDelight));
    next;
    select
        rif(countitem(TonoriDelight) >= .@a, l("I have everything!")),
        l("Ah, not now...");
    mes "";
    if (@menu == 2)
        close;

    inventoryplace ChefHat, 1;
    inventoryplace PlatinumIngot, 1, IridiumIngot, 2;

    // Generic rewards: XP Boost (.@l) and GP boost (.p)
    .@l=BaseLevel+JobLevel;

    // Main reward
    delitem TonoriDelight, .@a;
    getexp rand(.@a, .@a*2)+.@q*rand(10,30), .@l;
    Zeny=Zeny+.@a*.p;
    setq2 HalinarzoQuest_LifeDelight, .@q+1;
    mesn;
    mesq l("Hmmm... Yummy!");

    // Landmark rewards
    // Chef hat last stage: 120 Delights - 583 in total
    .@r=getq(HalinarzoQuest_LifeDelight);
    .@q=getq2(HalinarzoQuest_LifeDelight);
    if (.@r < 2 && .@q >= 11) {
        setq1 HalinarzoQuest_LifeDelight, 2;
        getitem ChefHat, 1;
        getexp 13500, 10;
        next;
        mesn;
        mesq l("Ah, you really deserve this @@. Good job!", getitemlink(ChefHat));
    }

    // Bonus stage
    if (.@q == 20)
        getitem Coffee, 1;

    if (.@q >= 21) {
        Zeny+=rand2(1,.@a)*.p;
        getexp rand2(1,.@q)*.@l, rand2(1, .@q);
        Mobpt+=.@q; // From now on, Monster Points will be generated
    }

    // Bonus stage
    if (.@q == 30)
        getitem Manapple, 1;

    // Bonus stage
    if (.@q == 40)
        getitem LoFWarpCrystal, 1;

    // Elixir Of Life last stage: ~995 Delights - 26,385 in total
    if (.@r < 3 && .@q >= 51) {
        setq1 HalinarzoQuest_LifeDelight, 3;
        getitem ElixirOfLife, 1;
        getitem MylarinDust, 1;
        getexp 30000, 5000;
        next;
        mesn;
        mesq l("Hey, take this @@. It heals fully but who cares, I have Tonori Delight!", getitemlink(ElixirOfLife));
    }

    if (.@q >= 51) {
        Zeny+=rand2(.@q,.@a)*.p;
        getexp rand2(1,.@a)*.@l, rand2(1, .@q);
    }

    // Bonus stage
    if (.@q == 60)
        getitem SacredLifePotion, 1;

    // Bonus stage
    if (.@q == 70)
        getitem MercBoxDD, 1;

    // Bonus stage
    if (.@q == 80)
        getitem DivineApple, 1;

    // Bonus stage
    if (.@q == 90)
        getitem MysteriousFruit, 1;

    if (.@q >= 91) {
        Zeny+=rand2(.@a, .@a+.@q)*.p;
        getexp rand2(.@q,.@a)*.@l, rand2(1, .@q);
    }
    // Platinum + Iridium last stage: ~1290 Delights - 86,885 in total
    if (.@r < 4 && .@q == 100) {
        setq1 HalinarzoQuest_LifeDelight, 4;
        getitem SunnyCrystal, 1;
        getitem PlatinumIngot, 1;
        getitem IridiumIngot, 2;
        getitem EquipmentBlueprintE, 2;
        getitem AlchemyBlueprintE, 2;
        Mobpt+=1000000; // 1 Million Monster Points
        getexp 500000, 50000; // Reference: Lv 74 / Lv 38
        next;
        mesn;
        mesq l("Ah, I have enough @@ for a life! Take this EXTREMELY RARE @@. Good job!", getitemlink(TonoriDelight), getitemlink(SunnyCrystal));
        mesc l("Got Master Blueprints!");
        mesc l("Got 1,000,000 Monster Points!");
    }

    close;

L_Complete:
    mesn;
    mesq l("Thanks for the help! Yummy!");
    close;

L_Weak:
    mesn;
    mesq l("How did you even got here? There are dangerous swamps north, and dangerous deserts south...");
    close;

L_Prologue:
    setq HalinarzoQuest_LifeDelight, 1, 0;
    mesn;
    mesq l("Ah, I just wanted @@... Yummy, lovely @@...", getitemlink(TonoriDelight), getitemlink(TonoriDelight));
    next;
    mesn;
    mesq l("There's a big prize in the end... Could you bring me some later?");
    close;

OnInit:
    .@npcId = getnpcid(.name$);
    setunitdata(.@npcId, UDT_HEADTOP, ChefHat);
    setunitdata(.@npcId, UDT_HEADMIDDLE, SilkRobe);
    setunitdata(.@npcId, UDT_HEADBOTTOM, CottonTrousers);
    setunitdata(.@npcId, UDT_WEAPON, Boots);
    setunitdata(.@npcId, UDT_HAIRSTYLE, 26);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 2);

    .sex = G_MALE;
    .distance = 4;
    .p=97; // Price in GP of each Tonori Delight.
    // real price is 556 in ingredients (this gets a x2 sell price)
    // + 120 GP of taxes
    // Total: 676 GP per batch (5~9 units). We consider the average batch (7).
    // NO EXTRA PROFIT IS REQUIRED/ALLOWED.
    end;
}