Browse Source

added Halloween Event, fixed seals quest, updated Pavianne KAfra

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8957 54d463be-8e91-2dee-dedb-b68131a5f0ec
Lupus 18 years ago
parent
commit
dc65b3bc38

+ 2 - 2
doc/script_commands.txt

@@ -4797,8 +4797,8 @@ currently has active. Valid types are:
  1 - Pet ID number as per 'db/pet_db.txt' - will tell you what kind of a pet it 
  1 - Pet ID number as per 'db/pet_db.txt' - will tell you what kind of a pet it 
      is.
      is.
  2 - Pet name. Will return "null" if there's no pet. 
  2 - Pet name. Will return "null" if there's no pet. 
- 4 - Pet friendly level (intimacy score). 1000 is full loyalty.
- 3 - Pet hungry level. 100 is completely full.
+ 3 - Pet friendly level (intimacy score). 1000 is full loyalty.
+ 4 - Pet hungry level. 100 is completely full.
 
 
 ---------------------------------------
 ---------------------------------------
 
 

+ 4 - 0
npc/Changelog.txt

@@ -29,6 +29,10 @@ Playtester
 
 
 Date		Added
 Date		Added
 ======
 ======
+10/10
+	* Fixed Seals quest [Lupus]
+	* Updated Kafra Pavianne [Lupus]
+	* Added new custom Halloween Event by Stryker. I made it safe to use 8) [Lupus]
 10/06
 10/06
 	* Fixed Shuriken Rekka requiring Cracked Diamond rather than Steel [Playtester]
 	* Fixed Shuriken Rekka requiring Cracked Diamond rather than Steel [Playtester]
 	* Added official treasure spawn to Novice Castles [Lupus]
 	* Added official treasure spawn to Novice Castles [Lupus]

+ 77 - 66
npc/cities/aldebaran.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //===== By: ================================================== 
 //= eAthena dev team
 //= eAthena dev team
 //===== Current Version: ===================================== 
 //===== Current Version: ===================================== 
-//= 1.8
+//= 1.9a
 //===== Compatible With: ===================================== 
 //===== Compatible With: ===================================== 
 //= eAthena 1.0
 //= eAthena 1.0
 //===== Description: ========================================= 
 //===== Description: ========================================= 
@@ -19,9 +19,9 @@
 //=  with official prizes (80% official, 4-5 entries are made up)
 //=  with official prizes (80% official, 4-5 entries are made up)
 //=  also changed typo Orange Potions -> Red Potions [Lupus]
 //=  also changed typo Orange Potions -> Red Potions [Lupus]
 //= 1.6 Fixed bug (missing label), optimized all menus [Lupus]
 //= 1.6 Fixed bug (missing label), optimized all menus [Lupus]
-//= 1.7 Fixed exploits [Lupus]
-//= 1.8 Removed Duplicates [Silent]
+//= 1.7 Fixed exploits [Lupus] 1.8 Removed Duplicates [Silent]
 //= 1.9 Fixed a bunch of typos with information from Crono/Hollengrhen [Evera]
 //= 1.9 Fixed a bunch of typos with information from Crono/Hollengrhen [Evera]
+//= 1.9a Now Pavianne doesn't sell Kafra Passes. She refunds them [Lupus]
 //============================================================
 //============================================================
 
 
 
 
@@ -791,7 +791,7 @@ aldeba_in.gat,24,245,4	script	 Kafra Jasmine	115,{
 		mes "[Kafra Jasmine]";
 		mes "[Kafra Jasmine]";
 		mes "That... that... that was just an act.... YEAH! An act I put on for the customers. Heh.. heh....";
 		mes "That... that... that was just an act.... YEAH! An act I put on for the customers. Heh.. heh....";
 		emotion e_swt;
 		emotion e_swt;
-		cutin "kafra_03",255;
+		cutin "",255;
 		close;
 		close;
 	M_1:
 	M_1:
 		mes "[Kafra Jasmine]";
 		mes "[Kafra Jasmine]";
@@ -805,7 +805,7 @@ aldeba_in.gat,24,245,4	script	 Kafra Jasmine	115,{
 		mes "[Kafra Jasmine]";
 		mes "[Kafra Jasmine]";
 		mes "So please, DON'T TEMPT ME...!!";
 		mes "So please, DON'T TEMPT ME...!!";
 		emotion e_pif;
 		emotion e_pif;
-		cutin "kafra_03",255;
+		cutin "",255;
 		close;
 		close;
 	M_2:
 	M_2:
 		mes "[Kafra Jasmine]";
 		mes "[Kafra Jasmine]";
@@ -814,7 +814,7 @@ aldeba_in.gat,24,245,4	script	 Kafra Jasmine	115,{
 		mes "[Kafra Jasmine]";
 		mes "[Kafra Jasmine]";
 		mes "Just kidding~~ Tehehe";
 		mes "Just kidding~~ Tehehe";
 		emotion e_heh;
 		emotion e_heh;
-		cutin "kafra_03",255;
+		cutin "",255;
 		close;
 		close;
 }
 }
 
 
@@ -1001,7 +1001,7 @@ M_Menu:
 	M_End:
 	M_End:
 		mes "[Kafra]";
 		mes "[Kafra]";
 		mes "Please come back anytime when you have more reserve points.";
 		mes "Please come back anytime when you have more reserve points.";
-		cutin "kafra_03",255;
+		cutin "",255;
 		close;
 		close;
 }
 }
 
 
@@ -1045,13 +1045,13 @@ aldeba_in.gat,88,161,3	script	Kafra#05	115,{
 			sL_NotEnuf:
 			sL_NotEnuf:
 				mes "[Kafra]";
 				mes "[Kafra]";
 				mes "I'm sorry dear but you do not have enough points for this selection.";
 				mes "I'm sorry dear but you do not have enough points for this selection.";
-				cutin "kafra_03",255;
+				cutin "",255;
 				close;
 				close;
 	M_End:
 	M_End:
 		mes "[Kafra]";
 		mes "[Kafra]";
 		mes "No problem.  Collect more and more special reserve points by using the Kafra Services found throughout Rune Midgard.";
 		mes "No problem.  Collect more and more special reserve points by using the Kafra Services found throughout Rune Midgard.";
 		mes "Thank you for using Kafra Corp. services.";
 		mes "Thank you for using Kafra Corp. services.";
-		cutin "kafra_03",255;
+		cutin "",255;
 		close;
 		close;
 }
 }
 
 
@@ -1087,8 +1087,10 @@ function	script	F_Lottery	{
 		if(@Lotto == 1) getitem 2328,1;//Items: Wooden_Mail,
 		if(@Lotto == 1) getitem 2328,1;//Items: Wooden_Mail,
 		if(@Lotto == 2) getitem 2307,1;//Items: Mantle,
 		if(@Lotto == 2) getitem 2307,1;//Items: Mantle,
 		if(@Lotto == 3) getitem 657,10;//Items: Berserk_Potion,
 		if(@Lotto == 3) getitem 657,10;//Items: Berserk_Potion,
-		if(@Lotto == 4) getitem 607,2;//Items: Yggdrasilberry,
-		if(@Lotto == 4) getitem 608,1;//Items: Yggdrasil_Seed,
+		if(@Lotto == 4) {
+			getitem 607,2;//Items: Yggdrasilberry,
+			getitem 608,1;//Items: Yggdrasil_Seed,
+		}
 		if(@Lotto == 5) getitem 607,3;//Items: Yggdrasilberry,
 		if(@Lotto == 5) getitem 607,3;//Items: Yggdrasilberry,
 		return;
 		return;
 	sL_Prize2:
 	sL_Prize2:
@@ -1098,8 +1100,10 @@ function	script	F_Lottery	{
 		if(@Lotto == 2) getitem 2226,1;//Items: Cap,
 		if(@Lotto == 2) getitem 2226,1;//Items: Cap,
 		if(@Lotto == 3) getitem 2201,1;//Items: Sunglasses,
 		if(@Lotto == 3) getitem 2201,1;//Items: Sunglasses,
 		if(@Lotto == 4) getitem 526,3;//Items: Royal_Jelly,
 		if(@Lotto == 4) getitem 526,3;//Items: Royal_Jelly,
-		if(@Lotto == 5) getitem 608,1;//Items: Yggdrasil_Seed,
-		if(@Lotto == 5) getitem 526,10;//Items: Royal_Jelly,
+		if(@Lotto == 5) {
+			getitem 608,1;//Items: Yggdrasil_Seed,
+			getitem 526,10;//Items: Royal_Jelly,
+		}
 		return;
 		return;
 	sL_Prize3:
 	sL_Prize3:
 		mes "[Kafra]";
 		mes "[Kafra]";
@@ -1147,61 +1151,68 @@ sF_Spin:
 aldeba_in.gat,81,166,4	script	Kafra Pavianee	117,{
 aldeba_in.gat,81,166,4	script	Kafra Pavianee	117,{
 	cutin "kafra_01",2;
 	cutin "kafra_01",2;
 	mes "[Kafra Pavianne]";
 	mes "[Kafra Pavianne]";
-	mes "Welcome! I'm Kafra service's first Kafra type 'Pavianne'";
+	mes "Welcome! I'm Pavianne,";
+	mes "one of the senior Kafra Employees.";
+	mes "The Kafra Corporation Service is";
+	mes "always trying to satisfy 100 % of";
+	mes "our customers' expectations.";
 	next;
 	next;
 	mes "[Kafra Pavianne]";
 	mes "[Kafra Pavianne]";
-	mes "Our Kafra Service is always trying to achieve 100% customer satisfaction based on the 3 principles of Trust, Devotion, and Honesty.";
-	next;
-	mes "[Kafra Pavianne]";
-	mes "With complete service training and supervision, we are able to fully meet the needs of our customers.";
-	next;
-	menu "Buy a Kafra Pass",-,"What is a Kafra Pass",M_1,"Good Bye",M_3,"I have a question...",M_4;
-	
-		if(Zeny < 2000) goto sL_Zeny;
-		mes "[Kafra Pavianne]";
-		mes "Thank you for using our Kafra Service! Have a Nice Day!";
-		getitem 1084,1;
-		set Zeny, Zeny-2000;
-		emotion e_thx;
-		cutin "kafra_01",255;
-		close;
-
-		sL_Zeny:
-			mes "[Kafra Pavianne]";
-			mes "I'm sorry but you don't have enough zeny.";
-			close;
-
-	M_1:
-		mes "[Kafra Pavianne]";
-		mes "It's the best gift you can get yourself and it can only be found at the Kafra Main Office!";
+	mes "Due to a change in customer support";
+	mes "policy, we no longer accept Kafra";
+	mes "Passes. However, we are offering";
+	mes "refunds for our customers who still";
+	mes "possess these passes.";
+	next;
+	menu "Sell Kafra Pass",-,"Alright, bye~",M_BYE;
+
+		set usedKafPass,0; //clear unused global variable
+		mes "[Kafra Pavianne]";	
+		if(!countitem(1084)){
+			mes "I'm sorry,";
+			mes "but you don't";
+			mes "have any Kafra Passes.";
+			emotion e_sry;
+			close2;
+			cutin "",255;
+			end;
+		}
+		mes "Let me see ... You have " + countitem(1084) + " Kafra Passes.";
+		mes "So, you will get " + (countitem(1084)*2000) + " zeny.";
 		next;
 		next;
 		mes "[Kafra Pavianne]";
 		mes "[Kafra Pavianne]";
-		mes "With a Kafra Pass, you could experience the convenience of Kafra Service world-wide! Hassle free! The price is 2000 zeny~~";
+		mes "Do you want to sell these?";
 		next;
 		next;
+		if(select("Sell.:Nevermind.")==1){
+			mes "[Kafra Pavianne]";
+			set @t,countitem(1084);
+			if(!@t){
+				mes "Well, you DON'T have any >.<";
+                    		mes "I understand what you want to do but, I can't help you.";
+				emotion e_sry;
+				close2;
+				cutin "",255;
+				end;
+			}
+			delitem 1084,@t;
+			set Zeny,Zeny+@t*2000;
+			emotion e_thx;
+			mes "We already refunded all THE Kafra Passes that you had..";
+			mes "Thank you for using our service !";
+			mes "I am kafra Pavianne.";
+
+		}
+		close2;
+		cutin "",255;
+		end;
+	M_BYE:
 		mes "[Kafra Pavianne]";
 		mes "[Kafra Pavianne]";
-		mes "Visit any Kafra Service in Rune-Midgard, and you could enjoy Kafra Service any time any where for once.";
-		mes "Ending a conversation with Kafra Service Agent will expire the pass.";
-		cutin "kafra_01",255;
-		close;
-	M_3:
-		mes "[Kafra Pavianne]";
-		mes "Thank you for using Kafra Services! I'm Kafra Pavianne, and it was a pleasure to assist you.";
+		mes "Thank you,";
+		mes "have a good day.";
 		emotion e_thx;
 		emotion e_thx;
-		cutin "kafra_01",255;
-		close;
-
-	M_4:
-		mes "[Kafra Pavianne]";
-		mes "Why? Is there something disturbing you?";
-		next;
-		mes "["+strcharinfo(0)+"]";
-		mes "No, but why is the sun not shining?";
-		next;
-		mes "[Kafra Pavianne]";
-		mes "You will only know when your enjoyment obtains the path to illumination.";
-		cutin "kafra_01",255;
-		close;
-
+		close2;
+		cutin "",255;
+		end;
 }
 }
 
 
 // Kafra Blossom -----------------------------------
 // Kafra Blossom -----------------------------------
@@ -1227,13 +1238,13 @@ aldeba_in.gat,83,244,4	script	Kafra Blossom	116,{
 		mes "[Kafra Blossom]";
 		mes "[Kafra Blossom]";
 		mes "Don't bother to look in your Item Inventory for it.  It won't be there... tehehe... for my autograph will remain within your heart.";
 		mes "Don't bother to look in your Item Inventory for it.  It won't be there... tehehe... for my autograph will remain within your heart.";
 		emotion e_ok;
 		emotion e_ok;
-		cutin "kafra_02",255;
+		cutin "",255;
 		close;
 		close;
 	M_1:
 	M_1:
 		mes "[Kafra Blossom]";
 		mes "[Kafra Blossom]";
 		mes "Huh? . . . . . That's all? Phew~ such a dull customer...";
 		mes "Huh? . . . . . That's all? Phew~ such a dull customer...";
 		emotion e_what;
 		emotion e_what;
-		cutin "kafra_02",255;
+		cutin "",255;
 		close;
 		close;
 }
 }
 
 
@@ -1255,14 +1266,14 @@ aldeba_in.gat,91,244,4	script	Kafra Curly Sue	112,{
 		mes ".... Sob~sob~... WHAT?? I'm NOT some KID!!";
 		mes ".... Sob~sob~... WHAT?? I'm NOT some KID!!";
 		emotion e_sob;
 		emotion e_sob;
 		next;
 		next;
-		cutin "kafra_06",255;
+		cutin "",255;
 		close;
 		close;
 	M_End:
 	M_End:
 		mes "[Kafra Curly Sue]";
 		mes "[Kafra Curly Sue]";
 		mes "Here at Kafra Corp., we're all doing our B-E-S-T to provide our customers with the B-E-S-T service.";
 		mes "Here at Kafra Corp., we're all doing our B-E-S-T to provide our customers with the B-E-S-T service.";
 		mes "We really appreciate your doing business with us.";
 		mes "We really appreciate your doing business with us.";
 		next;
 		next;
-		cutin "kafra_06",255;
+		cutin "",255;
 		close;
 		close;
 }
 }
 
 
@@ -1293,7 +1304,7 @@ aldeba_in.gat,148,244,4	script	Kafra Roxie	114,{
 	mes "[Kafra Roxie]";
 	mes "[Kafra Roxie]";
 	mes "Uh... please ignore what I was talking about earlier. Hahaha.....heh...";
 	mes "Uh... please ignore what I was talking about earlier. Hahaha.....heh...";
 	emotion e_swt;
 	emotion e_swt;
-	cutin "kafra_04",255;
+	cutin "",255;
 	close;
 	close;
 }
 }
 
 

+ 125 - 0
npc/events/custom/hallow06.txt

@@ -0,0 +1,125 @@
+//===== eAthena Script =======================================
+//= Custom Halloween Event 2006
+//===== By: ==================================================
+//= Stryker
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Latest Svn
+//===== Description: =========================================
+//= Halloween Event Script
+//===== Additional Comments: =================================
+//= Version 1.1 - Added trick to script
+//= 1.2 fixed bugs, optimized. Now uses 1 var instead of 3 [Lupus]
+//============================================================
+
+
+prontera.gat,151,190,5	script	Hallows' Eve Event	807,{
+	mes "[Hallows' Eve Event]";
+	if(Class == Job_Novice){
+		mes "I am sorry but you have to got a job to complete the event.";
+		emotion e_swt,1;
+		close;
+	}
+	if(EVENT_HALWN06&1 && EVENT_HALWN06&2){
+		mes "I am sorry but you have already completed the event.";
+		emotion e_sry;
+		close;
+	}
+	mes "Greetings fellow lively human.";
+	next;
+	mes "[Hallows' Eve Event]";
+	mes "Halloween is upon us and it is almost time to adventure out into places few dare go.";
+	next;
+	mes "[Hallows' Eve Event]";
+	mes "Trick or treat, which do you prefer?";
+	next;
+	menu "Trick",-, "Treat",L_Treat;
+
+	mes "[Hallows' Eve Event]";
+	if(EVENT_HALWN06&2){
+		mes "I'm sorry but you have already had a trick. Why don't you go pick a treat now.";
+		emotion e_sry;
+		close;
+	}
+	mes "Give me a min...";
+	next;
+	set BaseExp,BaseExp+BaseLevel*1000;
+	set EVENT_HALWN06,EVENT_HALWN06|2;
+
+	mes "[Hallows' Eve Event]";
+	mes "Here is your treat. Your Base EXP has been slightly increased.";
+	next;
+	mes "[Hallows' Eve Event]";
+	mes "I hope you enjoy your trick and Happy Halloween!";
+	close;
+
+L_Treat:
+	mes "[Hallows' Eve Event]";
+	if(EVENT_HALWN06&1){
+		mes "I'm sorry but you have already had a treat. Why don't you go pick a trick now.";
+		emotion e_sry;
+		close;
+	}
+	if(!(EVENT_HALWN06&4)){
+		mes "Great! This shall be so much fun.";
+		next;
+		mes "[Hallows' Eve Event]";
+		mes "I will be sending you on a scavenger hunt for items.";
+		next;
+		mes "[Hallows' Eve Event]";
+		mes "Bring back all the necessary items, and I will create you a treat.";
+		next;
+		mes "[Hallows' Eve Event]";
+		mes "Not just any normal treat either that you can eat, but it is something you can wear on your head.";
+		next;
+		mes "[Hallows' Eve Event]";
+		mes "But with all things made, some items are required first.";
+		mes "The list:";
+		mes "1 Hat,";
+		mes "30 Pumpkin, and";
+		mes "20 Black Piece of Cloth";
+		next;
+		mes "[Hallows' Eve Event]";
+		mes "Hurry along now.";
+		set EVENT_HALWN06,EVENT_HALWN06|4;
+		close;
+	}
+	mes "Did you get the items I requested or do you need to see the list again?";
+	next;
+	menu "Got'em",-, "Don't Have",L_Dont_Have, "See List",L_List;
+
+	mes "[Hallows' Eve Event]";
+	if((countitem(2220) < 1) || (countitem(535) < 30) || (countitem(7205) < 20)){
+		mes "You don't have enough items. Come back when you do.";
+		emotion e_sry;
+		close;
+	}
+	delitem 2220,1;
+	delitem 535,30;
+	delitem 7205,20;
+	getitem 5134,1;
+	set EVENT_HALWN06,EVENT_HALWN06|1;
+	mes "Good job! I hope you are happy with your item.";
+	emotion e_grat;
+	next;
+	mes "[Hallows' Eve Event]";
+	mes "Enjoy the rest of your halloween.";
+	emotion e_scissors,1;
+	close;
+
+L_Dont_Have:
+	mes "[Hallows' Eve Event]";
+	mes "Go back out and search for them. Would you like to view the list?";
+	next;
+	menu "No",-, "Yes",L_List;
+	close;
+
+L_List:
+	mes "[Hallows' Eve Event]";
+	mes "I require the following items:";
+	mes "1 Hat,";
+	mes "30 Pumpkin, and";
+	mes "20 Black Piece of Cloth.";
+	close;
+}

+ 3 - 2
npc/quests/seals/megingard_seal.txt

@@ -3,13 +3,14 @@
 //===== By: ================================================== 
 //===== By: ================================================== 
 //= SinSloth
 //= SinSloth
 //===== Current Version: ===================================== 
 //===== Current Version: ===================================== 
-//= 1.0
+//= 1.01
 //===== Compatible With: ===================================== 
 //===== Compatible With: ===================================== 
 //= eAthena
 //= eAthena
 //===== Description: ========================================= 
 //===== Description: ========================================= 
 //= Quest for breaking the seal of Megingjard.
 //= Quest for breaking the seal of Megingjard.
 //===== Additional Comments: =================================
 //===== Additional Comments: =================================
 // 1.0 First version. Thanks to SinSloth for scripting it. [MasterOfMuppets]
 // 1.0 First version. Thanks to SinSloth for scripting it. [MasterOfMuppets]
+// 1.1 fixed exploit [Lupus]
 //============================================================
 //============================================================
 
 
 prt_castle.gat,44,151,0	script	Rebarev Doug	56,{
 prt_castle.gat,44,151,0	script	Rebarev Doug	56,{
@@ -506,7 +507,7 @@ else
 
 
 prt_castle.gat,48,164,0	script	Crusader#God	734,{
 prt_castle.gat,48,164,0	script	Crusader#God	734,{
 
 
-if($God1 > 49 && God2 < 100)
+if($God1 > 49 && $God2 < 100)
 {
 {
 	if(god_eremes > 22 && god_eremes < 25)
 	if(god_eremes > 22 && god_eremes < 25)
 	{
 	{

+ 2 - 0
npc/scripts_custom.conf

@@ -140,3 +140,5 @@ npc: npc/custom/adoption.txt
 //npc: npc/custom/quests/kiel_quest.txt
 //npc: npc/custom/quests/kiel_quest.txt
 //Grand Circlet Quest combined with Excalibur Quest
 //Grand Circlet Quest combined with Excalibur Quest
 //npc: npc/events/custom/kings_items.txt
 //npc: npc/events/custom/kings_items.txt
+//Custom Halloween Event (gives )
+//npc: npc/events/custom/hallow06.txt