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



                
                                                    

                                                                      
 
         
                                                    















                                                                                          
                                              


             

                                                                        
                                                                                    


















                                         










                                                                









                       



























                                                            

                                                









                                                                  



                          
                                       
                         
                             



                                                                              
                              
                              



                                                                                                              
                              



                               










                                                                                                                                                                       



                                                       































                                            















                                                                                                            
                             
                           
























        
 
 
// TMW2 scripts.
// Author:
//    Jesusalva
// Description:
//    The NPCs on this file are for when events end.
// TODO: Unify the script, change the NPC display depending on event
// Use duplicate() command to make it available in other towns as well

// Easter
003-1,47,53,0	script	Lilica#final	NPC_EASTER,{
    if (EASTER_YEAR != gettime(GETTIME_YEAR)) {
        EASTER_YEAR=gettime(GETTIME_YEAR);
        if (strcharinfo(0) == $@easter_name$[0]) {
            makepet BhopFluffy;
            mesn;
            mesc l("For the first place in Easter, you gained a Bhopper Fluffy."), 3;
            mesc l("Remember to give it a balanced diet of Aquadas to make it happy."), 3;
            next;
        }
        else
        {
            .@pos=array_find($@easter_name$, strcharinfo(0));
            // 0 (aka top 1) is not an appliable winner
            if (.@pos > 0) {
                // Reverse it so top 10 value is 2, and top 2 value is 10.
                .@pos=11-.@pos;
                getitem StrangeCoin, .@pos*10;
            }
        }
    }
    mesn;
    mesq l("Easter is over! I am the last chance to get rid of eggs!!");
    mesc l("Note: Golden and Silver Eggs are deleted after the next event end."), 1;

    menu
        l("Trade Silver Eggs"), L_Silver,
        l("Trade Golden Eggs"), L_Golden,
        l("View LeaderBoard"), L_Leader,
        l("Thanks Lilica."), -;
    close;

L_Silver:
    openshop "#eastershop1";
    closedialog;
    close;

L_Golden:
    openshop "#eastershop2";
    closedialog;
    close;

L_Leader:
    mesn l("Easter @@", gettime(GETTIME_YEAR));
	mes("1."+$@easter_name$[0]+" ("+$@easter_value[0]+")");
	mes("2."+$@easter_name$[1]+" ("+$@easter_value[1]+")");
	mes("3."+$@easter_name$[2]+" ("+$@easter_value[2]+")");
	mes("4."+$@easter_name$[3]+" ("+$@easter_value[3]+")");
	mes("5."+$@easter_name$[4]+" ("+$@easter_value[4]+")");
	mes("6."+$@easter_name$[5]+" ("+$@easter_value[5]+")");
	mes("7."+$@easter_name$[6]+" ("+$@easter_value[6]+")");
	mes("8."+$@easter_name$[7]+" ("+$@easter_value[7]+")");
	mes("9."+$@easter_name$[8]+" ("+$@easter_value[8]+")");
	mes("10."+$@easter_name$[9]+" ("+$@easter_value[9]+")");
    close;

OnInit:
    .sex = G_OTHER;
    .distance = 5;

    disablenpc(.name$);
    end;
}























// Valentine Day
003-1,47,53,0	script	Demure#ValentineFinal	NPC_FEMALE,{
    mesn;
    mesq l("Valentine Day is over!");
    if (#VALENTINE_SENT+#VALENTINE_OPENED <= 0)
        close;

    mes "##B"+l("Top 10 - Valentine Day")+"##b";
    mes("1." +$@valentine_name$[0]+" ("+$@valentine_value[0]+")");
    mes("2." +$@valentine_name$[1]+" ("+$@valentine_value[1]+")");
    mes("3." +$@valentine_name$[2]+" ("+$@valentine_value[2]+")");
    mes("4." +$@valentine_name$[3]+" ("+$@valentine_value[3]+")");
    mes("5." +$@valentine_name$[4]+" ("+$@valentine_value[4]+")");
    mes("6." +$@valentine_name$[5]+" ("+$@valentine_value[5]+")");
    mes("7." +$@valentine_name$[6]+" ("+$@valentine_value[6]+")");
    mes("8." +$@valentine_name$[7]+" ("+$@valentine_value[7]+")");
    mes("9." +$@valentine_name$[8]+" ("+$@valentine_value[8]+")");
    mes("10."+$@valentine_name$[9]+" ("+$@valentine_value[9]+")");
    next;
    #VALENTINE_SENT=0;
    #VALENTINE_OPENED=0;
    #VALENTINE_RECEIVED=0;
    if (strcharinfo(0) == .@name$[0]) {
        makepet DoggyDog;
        getitem PrismGift, 1;
    } else if (strcharinfo(0) == .@name$[1] || strcharinfo(0) == .@name$[2]) {
        getitem PrismGift, 1;
        getitem GoldenGift, 1;
    } else if (strcharinfo(0) == .@name$[3] || strcharinfo(0) == .@name$[4]) {
        getitem GoldenGift, 1;
        getitem SilverGift, 1;
    } else if (strcharinfo(0) == .@name$[5] || strcharinfo(0) == .@name$[6]) {
        getitem SilverGift, 1;
        getitem BronzeGift, 1;
    } else if (strcharinfo(0) == .@name$[7] || strcharinfo(0) == .@name$[8] || strcharinfo(0) == .@name$[9]) {
        getitem BronzeGift, 1;
        getitem StrangeCoin, 5;
    } else {
        getitem StrangeCoin, 5;
    }

    getexp #VALENTINE_SENT+#VALENTINE_RECEIVED, #VALENTINE_SENT;
    Zeny=Zeny+#VALENTINE_OPENED;

    if (strcharinfo(0) == .@name$[0])
        mesc l("You gained a @@ for the #1 place on the event. Remember to feed it @@, or it may run away from you.", getitemlink(DoggyDog), getitemlink(AnimalBones));

    close;

OnInit:
    .@npcId = getnpcid(.name$);
    setunitdata(.@npcId, UDT_HEADTOP, Cap);
    setunitdata(.@npcId, UDT_HEADMIDDLE, RedStockings);
    setunitdata(.@npcId, UDT_HEADBOTTOM, BunnyEars);
    setunitdata(.@npcId, UDT_WEAPON, GMRobe);
    setunitdata(.@npcId, UDT_HAIRSTYLE, 14);
    setunitdata(.@npcId, UDT_HAIRCOLOR, 18);

    .sex = G_FEMALE;
    .distance = 5;

    disablenpc(.name$);
    end;
}























// St. Patrick Day
003-1,47,53,0	script	Patrick Saulc	NPC_WEIRDGREEN,{
    mesn;
    mesc l("It's St. Patrick Event!"), 3;
    mes l("At 00:00, 06:00, 12:00, 15:00, 18:00 and 21:00 server time");
    mes l("Several special clovers will show up at forests.");
    next;
    mes l("They have 10x more chance to drop a @@, so it is a great deal!", getitemlink(FourLeafClover));
    mes l("Also, hidden in a forest which is not either hot or cold, is the Gold Pot Cauldron...");
    mes l("You can get daily something from it, but unless you're green like me, you will have no luck...");
    close;

OnInit:
    .sex = G_OTHER;
    .distance = 5;

    if ($EVENT$ != "Patrick")
        disablenpc(.name$);
    end;
}