summaryrefslogblamecommitdiff
path: root/npc/003-1/ched.txt
blob: 0cdefe386dc00312a571782be464c3bf1ca00877 (plain) (tree)
1
2
3
4
5
6
7
8
9
                

           
               

                           
                                                                   
 
                                            
                          
                                                                                            

                          













                                                                






                                                                     




























                                                 

                            


                                            
 


                                                      
 
                                                          







                                          

                






                                                             
 


                                                                              
                                                            
                                                          



                                                                                                                                                





                         



                                                                                                                                                  







                                              
                                                                                                                                                                                                                                               
















                                                                                              
 


                                       
           
             











                                                                                                                                                 


                                                   
                            
                                   
                              
                                         
                            
                                        
                             
                                        
                                 
                                         
                              
                          
                              
                         
                           
 


                                                                                   
 


                                                                     


                                          
                         

                
          

       
                               



                                                           


                                            
                  
                  
        
 
// TMW2 scripts.
// Author:
//    Saulc
//    Jesusalva
// Description:
//    Ched is from a quest.
//    But as he is now unused, he'll become someone else on summer.

003-1,62,48,0	script	Ched	NPC_PLAYER,{
    function	ValidSSC {
        return countitem(CactusCocktail)+countitem(CherryCocktail)+countitem(AppleCocktail);
    }
    function	ScoreSSC {
        mesc l("All leaderboards are refreshed hourly."), 1;
        mesc l("Your current score: @@", getq2(SQuest_Ched)), 3;
        mes "";
        mes b(l("Top 10 - Summer Ched's Event"));
	    mes("1."+$@ched_name$[0]+" ("+$@ched_value[0]+")");
	    mes("2."+$@ched_name$[1]+" ("+$@ched_value[1]+")");
	    mes("3."+$@ched_name$[2]+" ("+$@ched_value[2]+")");
	    mes("4."+$@ched_name$[3]+" ("+$@ched_value[3]+")");
	    mes("5."+$@ched_name$[4]+" ("+$@ched_value[4]+")");
	    mes("6."+$@ched_name$[5]+" ("+$@ched_value[5]+")");
	    mes("7."+$@ched_name$[6]+" ("+$@ched_value[6]+")");
	    mes("8."+$@ched_name$[7]+" ("+$@ched_value[7]+")");
	    mes("9."+$@ched_name$[8]+" ("+$@ched_value[8]+")");
	    mes("10."+$@ched_name$[9]+" ("+$@ched_value[9]+")");
        next;
    }
    function	InfoSSC {
        mesc l("@@ - @@ point(s)", getitemlink(CactusCocktail), "1");
        mesc l("@@ - @@ point(s)", getitemlink(CherryCocktail), "3");
        mesc l("@@ - @@ point(s)", getitemlink(AppleCocktail), "5");
        next;
        mes ".:: " + l("Prizes") + " ::.";
        mes getitemlink(MasterBola);
        mesc l("Min. Position: ")+l("top 1"), 3;
        mesc l("Min. Score: "+1000);
        mes "";
        mes getitemlink(PiouBola);
        mesc l("Min. Position: ")+l("top 3"), 3;
        mesc l("Min. Score: "+1000);
        mes "";
        mes getitemlink(SnakeBola);
        mesc l("Min. Position: ")+l("top 5"), 3;
        mesc l("Min. Score: "+700);
        mes "";
        mes getitemlink(TulimsharBola);
        mesc l("Min. Position: ")+l("top 7"), 3;
        mesc l("Min. Score: "+400);
        mes "";
        mes getitemlink(PurpleBola);
        mesc l("Min. Position: ")+l("top 10"), 3;
        mesc l("Min. Score: "+200);
        mes "";
        mes getitemlink(CandorBola);
        mesc l("Min. Position: ")+l("any"), 3;
        mesc l("Min. Score: "+100);
        mes "";
        mes getitemlink(KidBola);
        mesc l("Min. Position: ")+l("any"), 3;
        mesc l("Min. Score: "+25);
        next;
    }
    function	DepositSSC {
    .@pts=.@pts+countitem(CactusCocktail)*1;
    .@pts=.@pts+countitem(CherryCocktail)*3;
    .@pts=.@pts+countitem(AppleCocktail)*5;

    delitem CactusCocktail, countitem(CactusCocktail);
    delitem CherryCocktail, countitem(CherryCocktail);
    delitem AppleCocktail, countitem(AppleCocktail);

    getexp rand2(.@pts-1, .@pts*11/10), rand2(0,.@pts/25);

    setq2 SQuest_Ched, @ched+.@pts;
    @ched=getq2(SQuest_Ched);
    mesc l("Gained @@ points.", .@pts), 3;
    next;
    mesc l("Your Score: @@", @ched), 1;
    mes "";
    ScoreSSC;
    closedialog;
    goodbye;
    close;
    }

    // Begin: Ched
    .@year=getq(SQuest_Ched);
    if (.@year != (gettime(GETTIME_YEAR)-2000))
        setq SQuest_Ched, (gettime(GETTIME_YEAR)-2000), 0, 0;

    @ched=getq2(SQuest_Ched);
    .@claimed=getq3(SQuest_Ched); // Required to prevent rewriting scoreboards

    if (season() == SUMMER && !$@GM_OVERRIDE) goto L_Summer;
    if ((season() == AUTUMN && !.@claimed)) goto L_Autumn;
    if (rand(0,10) == 6)
        npctalk3("I wanted to go to the beach, but I can't find the cave entrance. They told me to look around here... What am I doing wrong?");
    else
        hello;
    end;

// Summer Event
L_Summer:
    if (BaseLevel < 25) {
        mesn;
        if (rand2(0,10) == 6)
            mesq l("I wanted to go to the beach, but I can't find the cave entrance. They told me to look around here... What am I doing wrong?");
        else
            mesq l("Get Rekt Noob.");
        close;
    }

    // Main Core
    do
    {
        mesn;
        mesc l("Current score: @@", @ched), 1;
        mesc l("Thus far you have collected @@ @@, @@ @@ and @@ @@.", countitem(CactusCocktail), getitemlink(CactusCocktail), countitem(AppleCocktail), getitemlink(AppleCocktail), countitem(CherryCocktail), getitemlink(CherryCocktail)), 2;
        mesc l("You can convert these items in event points and claim rewards at autumn."), 2;
        next;
        select
            l("Scoreboards"),
            l("Information"),
            rif(ValidSSC(), l("Deposit all")),
            l("Abort");
        mes "";
        if (@menu == 1)
            ScoreSSC;
        if (@menu == 2)
            InfoSSC;
        if (@menu == 3)
            DepositSSC;

    } while (@menu < 3);
    close;

// Summer Quest Claim Rewards Time
L_Autumn:
    mesc l("Your Score: @@", @ched), 1;
    mes "";
    ScoreSSC;

    // Ensure you have free space on your inv.
    inventoryplace NPCEyes, 1;

    // Are you entitled for a Boia?
    if (@ched >= 25) {
        mesc l("Boias, unlike common shields, does not have any penalty!");
        mesc l("They are filled with a strange gas which makes they deflect attacks. They are done from a material which cannot be cut easily.");
        mesc l("They can be a bit lacking in defensive power, however.");
        mes "";
    }

    .@pos=array_find($@ched_name$, strcharinfo(0));
    .@pos=(.@pos >= 0 ? .@pos+1 : 0);

    // Give you the due boia
    if (.@pos <= 1 && @ched > 1000)
        getitem MasterBola, 1;
    else if (.@pos <= 3 && @ched >= 1000)
        getitem PiouBola, 1;
    else if (.@pos <= 5 && @ched >= 700)
        getitem SnakeBola, 1;
    else if (.@pos <= 7 && @ched >= 400)
        getitem TulimsharBola, 1;
    else if (.@pos <= 10 && @ched >= 200)
        getitem PurpleBola, 1;
    else if (@ched >= 100)
        getitem CandorBola, 1;
    else if (@ched >= 25)
        getitem KidBola, 1;

    // Give extra on GP and EXP rewards on 2018 Summer due extensive amount of bugs
    if (gettime(7) == 2018)
        @ched=@ched*12/10;

    // Give you experience and money reward.
    // Each cocktail is worth 15~30 gp, so we'll give 10 GP per point
    Zeny+=@ched*10;
    getexp BaseLevel*@ched, @ched;

    // The quest is complete for the year.
    setq3 SQuest_Ched, 1;
    closedialog;
    goodbye;
    close;

OnInit:
    .@npcId = getnpcid(.name$);
    setunitdata(.@npcId, UDT_HEADTOP, SamuraiHelmet);
    setunitdata(.@npcId, UDT_HEADMIDDLE, SilkRobe);
    setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
    setunitdata(.@npcId, UDT_WEAPON, CandorBoots); // Boots
    setunitdata(.@npcId, UDT_HAIRSTYLE, 7);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 17);

    .sex = G_MALE;
    .distance = 5;
    end;
}