summaryrefslogblamecommitdiff
path: root/npc/003-1/ched.txt
blob: b82325dc3e574492654d21984c54ad1de41577a3 (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 {
	    .@nb = query_sql("SELECT c.name, i.count2 FROM `quest` AS i, `char` AS c WHERE i.quest_id=305 AND i.char_id=c.char_id ORDER BY i.count2 DESC LIMIT 10", .@name$, .@value);

        mes "##B"+l("Top 10 - Summer Ched's Event")+"##b";
	    mes("1."+.@name$[0]+" ("+.@value[0]+")");
	    mes("2."+.@name$[1]+" ("+.@value[1]+")");
	    mes("3."+.@name$[2]+" ("+.@value[2]+")");
	    mes("4."+.@name$[3]+" ("+.@value[3]+")");
	    mes("5."+.@name$[4]+" ("+.@value[4]+")");
	    mes("6."+.@name$[5]+" ("+.@value[5]+")");
	    mes("7."+.@name$[6]+" ("+.@value[6]+")");
	    mes("8."+.@name$[7]+" ("+.@value[7]+")");
	    mes("9."+.@name$[8]+" ("+.@value[8]+")");
	    mes("10."+.@name$[9]+" ("+.@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;
    }
    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 rand(.@pts-1, .@pts*11/10), rand(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) || is_gm()) goto L_Autumn;
    hello;
    end;

// Summer Event
L_Summer:
    if (BaseLevel < 25) {
        mesn;
        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 "";
    }

    // Give you the due boia
    if (strcharinfo(0) == $@AUTUMN_VICTOR$ && @ched > 1000)
        getitem MasterBola, 1;
    else if (@ched >= 1000)
        getitem PiouBola, 1;
    else if (@ched >= 700)
        getitem SnakeBola, 1;
    else if (@ched >= 400)
        getitem TulimsharBola, 1;
    else if (@ched >= 200)
        getitem PurpleBola, 1;
    else if (@ched >= 60)
        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
    Zeny=Zeny+@ched;
    getexp BaseLevel*@ched, @ched;

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

OnInit:
    .@npcId = getnpcid(0, .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;
}