// 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 Aurora NPC_FEMALE,{ function handleEaster(); function handleValentine(); function handleStPatrick(); function handleAurora(); mesn; mesq l("Heya."); close; // OnRestore causes OnInit to start again OnRestore: setnpcdisplay .name$, "Aurora", NPC_FEMALE; OnInit: 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; end; // Overloaded OnValentine: setnpcdisplay .name$, "Demure#ValentineFinal", NPC_FEMALE; .@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); end; ///////////////////////////////////////////////////////////////////////////////// function handleEaster { // Handle rewards before anything else 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; // Heartbeat select l("Trade Silver Eggs"), l("Trade Golden Eggs"), l("View LeaderBoard"), l("Thanks Lilica."); mes ""; switch (@menu) { case 1: openshop "#eastershop1"; closedialog; break; case 2: openshop "#eastershop2"; closedialog; break; case 3: 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]+")"); break; } return; } ///////////////////////////////////////////////////////////////////////////////// function handleValentine { mesn; mesq l("Valentine Day is over!"); next; 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]+")"); if (#VALENTINE_SENT+#VALENTINE_OPENED <= 0) close; next; // Handle rewards #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, 10; } 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)); return; } ///////////////////////////////////////////////////////////////////////////////// function handleStPatrick { // Check if St. Patrick day is over D: if ($EVENT$ != "Patrick") goto OnRestore; // Okay, it is still St. Patrick :3 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 hot nor 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..."); return; } ///////////////////////////////////////////////////////////////////////////////// function handleAurora { return; } // DO NOT REMOVE }