Browse Source

* Added kunai_maker.txt to make elemental kunais. [erKURITA]
* Added new npcs @ que_ng.gat ninja map portion. [erKURITA]
* Added new shops @ que_ng.gat ninja map portion. [erKURITA]
* Commented wrong shops @ amatsu.txt. [erKURITA]
* Added que_ng.gat ninja map portion's warp. [erKURITA]
* Modified and corrected the gunslinger quest. [erKURITA]
* Changed the prices of the ninja stones according to kRO. [erKURITA]

All the kRO related info is thanks to RockmanEXE

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6448 54d463be-8e91-2dee-dedb-b68131a5f0ec

eaac 19 years ago
parent
commit
686cba8151

+ 1 - 0
db/Changelog.txt

@@ -27,6 +27,7 @@
 
 =========================
 05/02
+	* Changed the prices of the ninja stones according to official. [erKURITA]
 	* Linking skills now have their cast-time reduced by dex. [Skotlex]
 	* Lowered the duration of Speed Potion to 5 seconds [Playtester]
 	- now it's doubled speed for 5 seconds

+ 4 - 4
db/item_db.txt

@@ -2138,10 +2138,10 @@
 7517,Gold_Coin,Golden Coin,3,,10,100,,,,,,0,2,,,,,,{},{},{}
 7518,Women's_Medal,Women's Medal,3,,10,10,,,,,,0,2,,,,,,{},{},{}
 // Ninja Stones
-7521,Burning_Stone,Burning Stone,3,70,,10,,,,,,7,2,,,,,,{},{},{}
-7522,Freezing_Stone,Freezing Stone,3,70,,10,,,,,,7,2,,,,,,{},{},{}
-7523,Windchime_Stone,Windchime Stone,3,70,,10,,,,,,7,2,,,,,,{},{},{}
-7524,Fang_,Fang,3,70,,20,,,,,,7,2,,,,,,{},{},{}
+7521,Burning_Stone,Burning Stone,3,150,,10,,,,,,7,2,,,,,,{},{},{}
+7522,Freezing_Stone,Freezing Stone,3,150,,10,,,,,,7,2,,,,,,{},{},{}
+7523,Windchime_Stone,Windchime Stone,3,150,,10,,,,,,7,2,,,,,,{},{},{}
+7524,Fang_,Fang,3,300,,20,,,,,,7,2,,,,,,{},{},{}
 //
 7525,Summer_Festival_Ticket,Summer Festival Ticket,3,,10,10,,,,,,,,,,,,,{},{},{}
 7526,Application,Application,3,,10,0,,,,,,,,,,,,,{},{},{}

+ 7 - 0
npc/Changelog.txt

@@ -27,6 +27,13 @@ Nexon
 
 Date		Added
 ======
+05/02
+	* Added kunai_maker.txt to make elemental kunais. [erKURITA]
+	* Added new npcs @ que_ng.gat ninja map portion. [erKURITA]
+	* Added new shops @ que_ng.gat ninja map portion. [erKURITA]
+	* Commented wrong shops @ amatsu.txt. [erKURITA]
+	* Added que_ng.gat ninja map portion's warp. [erKURITA]
+	* Modified and corrected the gunslinger quest. [erKURITA]
 05/01
 	* Fixed an NPC in Morroc who still said the Dragon Fly is North [Playtester]
 04/30

+ 7 - 0
npc/cities/amatsu.txt

@@ -1473,3 +1473,10 @@ amatsu.gat,261,197,4	script	Legendary Sakura Tree	111,{
 	mes "they always reach an agreement^000000";
 	close;
 }
+
+//| Ninja map portion dummy npcs, commented by default.
+//que_ng.gat,27,18,3	script	Seaman	709,{end;}
+//que_ng.gat,28,45,3	script	Man	86,{end;}
+//que_ng.gat,28,50,3	script	Seaman2	709,{end;}
+//que_ng.gat,22,62,3	script	Seaman2	709,{end;}
+//que_ng.gat,30,65,3	script	Ninja Sensei	730,{end;}

+ 46 - 50
npc/cities/hugel.txt

@@ -18,6 +18,8 @@
 //=	Moved the old lady to npc\guides\guides_hu.txt, since it's Hugel's guard [erKURITA]
 //=	Special thanks to RockmanEXE who provided all necesary info =3
 //=	Abducted/Moved Yan and Yalmire(temp names) to npc\events\custom\p_track. [erKURITA]
+//= 1.1 Commented out the whole list of dummy npcs. They're there for nothing anyway,
+//=	  just using up memory. [erKURITA]
 //============================================================
 
 hu_in01.gat,23,311,4	script	Johsh	898,{
@@ -26,81 +28,75 @@ set @npcname$, "[Josh]";
 mes @npcname$;
 mes "Hi ho~ I sell some awesome firecrackers, would you like to buy one?";
 mes "Only 500z and you get 5 ^FF0000firecrackers^000000!";
-switch(select("Yes Please","No thanks")) {
+switch(select("Yes Please:No thanks")) {
 	case 1:
 		if (Zeny < 500) {
 			mes @npcname$;
 			mes "Err sir, you don't have 500z zeny. I can't sell you anything";
-			close2;
-			set @npcname$,NULL;
-			end;
+			close;
 		} else 
 		set Zeny,Zeny-500;
 		getitem 12018,5;
 		mes @npcname$;
 		mes "Good! here you go! Have fun with them!";
-		close2;
-		set @npcname$,NULL;
-		end;
+		close;
 	case 2:
 		mes @npcname$;
 		mes "Aww~~ you miss it";
-		close2;
-		set @npcname$,NULL;
-		end;
+		close;
 	}
 }
 
 //Should be moved later on to Bulletin Boards.txt
-hugel.gat,91,152,4	script	Bulletin Board	837,{end;}
+//hugel.gat,91,152,4	script	Bulletin Board	837,{end;}
 
 
 //= New Npcs
-hugel.gat,76,134,4	script	Yahna	101,{end;}
-hugel.gat,71,137,5	script	Jamira	879,{end;}
+//hugel.gat,76,134,4	script	Yahna	101,{end;}
+//hugel.gat,71,137,5	script	Jamira	879,{end;}
 
-hugel.gat,175,115,5	script	Anhi Anh	897,{end;}
-hugel.gat,191,172,4	script	Yanhe	895,{end;}
-hugel.gat,196,164,3	script	Amnot	50,{end;}
-hugel.gat,203,166,0	script	Star#1	111,{
+//hugel.gat,175,115,5	script	Anhi Anh	897,{end;}
+//hugel.gat,191,172,4	script	Yanhe	895,{end;}
+//hugel.gat,196,164,3	script	Amnot	50,{end;}
+//hugel.gat,203,166,0	script	Star#1	111,{
 //invisible but clickeable npc
-end;
-}
-hugel.gat,209,164,0	script	Star#2	111,{
+//end;
+//}
+//hugel.gat,209,164,0	script	Star#2	111,{
 //invisible but clickeable npc
-end;
-}
-hugel.gat,216,158,0	script	Shellfish	111,{
+//end;
+//}
+//hugel.gat,216,158,0	script	Shellfish	111,{
 //invisible but clickeable npc
-end;
-}
-hugel.gat,168,183,5	script	Thief	118,{end;}
-hugel.gat,126,151,4	script	Tanyee	90,{end;}
-hugel.gat,88,168,4	script	Zondaman	874,{end;}
-hugel.gat,71,198,3	script	Kampia	90,{end;}
-hugel.gat,84,125,4	script	Anzian	700,{end;}
+//end;
+//}
+//hugel.gat,168,183,5	script	Thief	118,{end;}
+//hugel.gat,126,151,4	script	Tanyee	90,{end;}
+//hugel.gat,88,168,4	script	Zondaman	874,{end;}
+//hugel.gat,71,198,3	script	Kampia	90,{end;}
+//hugel.gat,84,125,4	script	Anzian	700,{end;}
 //= End of new npcs
 
-hugel.gat,102,161,3	script	Young Sailor	100,{end;}
-hugel.gat,85,139,3	script	Yoko	86,{end;}
-hugel.gat,100,102,3	script	Grandpa Hohi	866,{end;}
-hugel.gat,85,93,3	script	Grandpa Hiho	866,{end;}
-hugel.gat,85,165,5	script	Cudy	896,{end;}
-hugel.gat,107,67,3	script	Kiddy the Kid	706,{end;}
+//hugel.gat,102,161,3	script	Young Sailor	100,{end;}
+//hugel.gat,85,139,3	script	Yoko	86,{end;}
+//hugel.gat,100,102,3	script	Grandpa Hohi	866,{end;}
+//hugel.gat,85,93,3	script	Grandpa Hiho	866,{end;}
+//hugel.gat,85,165,5	script	Cudy	896,{end;}
+//hugel.gat,107,67,3	script	Kiddy the Kid	706,{end;}
 
-hugel.gat,71,83,4	script	Hon Kiki	900,{end;}
-hugel.gat,56,103,4	script	Sarko	709,{end;}
-hugel.gat,68,99,2	script	Billy the Bull	889,{end;}
-hugel.gat,169,112,5	script	Sani	892,{end;}
-hu_in01.gat,26,77,4	script	Bokie	50,{end;}
-hu_in01.gat,18,94,2	script	Katsuki	95,{end;}
-hu_in01.gat,16,20,4	script	Jamie	70,{end;}
-hu_in01.gat,14,11,4	script	Jana	49,{end;}
-hu_in01.gat,19,161,2	script	Matilda	803,{end;}
-hu_in01.gat,18,167,4	script	Gin	86,{end;}
-hu_in01.gat,381,304,5	script	Soldier	105,{end;}
-hu_in01.gat,111,386,4	script	Jino	86,{end;}
+//hugel.gat,71,83,4	script	Hon Kiki	900,{end;}
+//hugel.gat,56,103,4	script	Sarko	709,{end;}
+//hugel.gat,68,99,2	script	Billy the Bull	889,{end;}
+//hugel.gat,169,112,5	script	Sani	892,{end;}
+//hu_in01.gat,26,77,4	script	Bokie	50,{end;}
+//hu_in01.gat,18,94,2	script	Katsuki	95,{end;}
+//hu_in01.gat,16,20,4	script	Jamie	70,{end;}
+//hu_in01.gat,14,11,4	script	Jana	49,{end;}
+//hu_in01.gat,19,161,2	script	Matilda	803,{end;}
+//hu_in01.gat,18,167,4	script	Gin	86,{end;}
+//hu_in01.gat,381,304,5	script	Soldier	105,{end;}
+//hu_in01.gat,111,386,4	script	Jino	86,{end;}
 //Johsh was here!
-hu_in01.gat,246,107,2	script	Receptionist	53,{end;}
-hu_in01.gat,256,40,2	script	Garud	897,{end;}
+//hu_in01.gat,246,107,2	script	Receptionist	53,{end;}
+//hu_in01.gat,256,40,2	script	Garud	897,{end;}
 

+ 116 - 68
npc/jobs/1-1e/gunslinger.txt

@@ -15,6 +15,8 @@
 //= but it does the things it has to do :P
 //===== Additional Comments: ================================= 
 //= 1.0 Made the NPC [erKURITA]
+//= 1.5 Couple fixes to the npc, aswell as adding the missing
+//=	  3 green herbs. [erKURITA]
 //============================================================ 
 
 que_ng.gat,152,167,3	script	Gunslinger Jobchanger	901,{
@@ -27,7 +29,7 @@ if (Class == Job_Novice) {
 		mes @npcname$;
 		mes "So, you've comeback?";
 		next;
-		if (gs_quest == 3) {
+		if (gs_quest == 5) {
 			if (SkillPoint > 0) {
 				mes @npcname$;
 				mes "Err, excuse me, but you still have Skill Points left. You have to use them all first before I can turn you into a Gunslinger";
@@ -60,12 +62,14 @@ if (Class == Job_Novice) {
 		mes "But you still haven't done what I told you, need me to repeat it?";
 		switch (select ("Yes, Please:No, Thanks")) {
 			case 1:
+				next;
 				mes @npcname$;
 				mes "You need to go to Payon. At the small wooden wall and in the south exit, Mr. Tanieh will be there waiting to ask you a few things. Go now then";
 				close2;
 				set @npcname$,0;
 				end;
 			case 2:
+				next;
 				mes @npcname$;
 				mes "Then GET GOING! Don't you want to become a gunslinger, do you?";
 				close2;
@@ -78,6 +82,7 @@ if (Class == Job_Novice) {
 	mes "Hi ^0000CC"+strcharinfo(0)+"^000000,I need you to do something for me first, will you?";
 	switch (select ("Yes:No")) {
 			case 1:
+			next;
 			mes @npcname$;
 			mes "Good, I need you to go to Payon and do a few things from Mr. Tanieh";
 			next;
@@ -88,6 +93,7 @@ if (Class == Job_Novice) {
 			set @npcname$,0;
 			end;
 		case 2:
+			next;
 			mes @npcname$;
 			mes "Too bad for you son";
 			close2;
@@ -116,25 +122,27 @@ if (gs_quest == 1) {
 	mes "So, will you do it, please?";
 	switch (select ("Yes, I will:Sorry I can't now")) {
 		case 1:
+			next;
 			mes @npcname$;
 			mes "Thanks very much!! Ok, here's what I need:";
 			mes "^33CCFF 3 Feathers^000000";
 			mes "^009933 3 Zargons^000000";
 			mes "^660066 3 Rainbow Shells^000000";
-			set @randtrunk,rand(1,5);
-			if (@randtrunk == 1) {
+			mes "^009900 3 Green Herbs^000000";
+			set randtrunk,rand(1,5);
+			if (randtrunk == 1) {
 				mes "^663300 1 Trunk^000000";
 				set trunk,1019;
-			} else if (@randtrunk == 2) {
+			} else if (randtrunk == 2) {
 				mes "^663300 1 Fine-Grained Trunk^000000";
 				set trunk,1066;
-			} else if (@randtrunk == 3) {
+			} else if (randtrunk == 3) {
 				mes "^663300 1 Solid Trunk^000000";
 				set trunk,1067;
-			} else if (@randtrunk == 4) {
+			} else if (randtrunk == 4) {
 				mes "^663300 1 Barren Trunk^000000";
 				set trunk,1068;
-			} else if (@randtrunk == 5) {
+			} else if (randtrunk == 5) {
 				mes "^663300 1 Thin Trunk";
 				set trunk,7186;
 			} 
@@ -143,14 +151,15 @@ if (gs_quest == 1) {
 			mes @npcname$;
 			mes "Hurry please, I am not sure if my wife will last any longer... oh dear";
 			close2;
-			set @npcname$,0;
+			set @npcname$,"";
 			set gs_quest,2;
 			end;
 		case 2:
+			next;
 			mes @npcname$;
 			mes "Oh, what am I going to do now...";
 			close2;
-			set @npcname$,0;
+			set @npcname$,"";
 			end;
 		}
 
@@ -160,72 +169,82 @@ if (gs_quest == 1) {
 		next;
 		switch (select("Yes I did:No I forgot which items I had to bring")) {
 			case 1:
-				if (countitem(949) < 3) {
-				mes @npcname$;
-				mes "Sorry, you're missing a few Feathers";
-				close2;
-				set @npcname$,0;
-				end;
-			} else if (countitem(912) < 3) {
-				mes @npcname$;
-				mes "Sorry, you're missing a few Zargons";
-				close2;
-				set @npcname$,0;
-				end;
-			} else if (countitem(1013) < 3) {
-				mes @npcname$;
-				mes "Sorry, you're missing a few Rainbow Shells";
-				close2;
-				set @npcname$,0;
-				end;
-			} else if (countitem(trunk) < 1) {
-				mes @npcname$;
-				mes "Sorry, you don't have the exact Trunk";
-				close2;
-				set @npcname$,0;
-				end;
-			} else if (countitem(935) < 10) {
-				mes @npcname$;
-				mes "Sorry, you're missing a few Shells";
-				close2;
-				set @npcname$,0;
-				end;
-			} else
-				mes @npcname$;
-				mes "GREAT! You brought them all! Thanks very much!";
-				delitem 949,3;
-				delitem 912,3;
-				delitem 1013,3;
-				delitem trunk,1;
-				delitem 935,10;
 				next;
-				mes @npcname$;
-				mes "Oh my~~ You've been of great help. I'll recommend you to the Einbroch Armory for your job change. Go talk again with the Einbroch Armsmith. He'll change you. Thanks again and see you.";
-				close2;
-				set gs_quest,3;
-				set @npcname$,0;
-				set trunk,0;
-				end;
+				if (countitem(949) < 3) {
+					mes @npcname$;
+					mes "Sorry, you're missing a few Feathers";
+					close2;
+					set @npcname$,"";
+					end;
+				} else if (countitem(912) < 3) {
+					mes @npcname$;
+					mes "Sorry, you're missing a few Zargons";
+					close2;
+					set @npcname$,"";
+					end;
+				} else if (countitem(1013) < 3) {
+					mes @npcname$;
+					mes "Sorry, you're missing a few Rainbow Shells";
+					close2;
+					set @npcname$,"";
+					end;
+				} else if (countitem(trunk) < 1) {
+					mes @npcname$;
+					mes "Sorry, you don't have the exact Trunk";
+					close2;
+					set @npcname$,"";
+					end;
+				} else if (countitem(511) < 3) {
+						mes @npcname$;
+						mes "Sorry, you're missing a few Green Herbs";
+						close2;
+						set @npcname$,"";
+						end;
+				} else if (countitem(935) < 10) {
+					mes @npcname$;
+					mes "Sorry, you're missing a few Shells";
+					close2;
+					set @npcname$,"";
+					end;
+				} else
+					mes @npcname$;
+					mes "GREAT! You brought them all! Thanks very much!";
+					delitem 949,3;
+					delitem 912,3;
+					delitem 1013,3;
+					delitem trunk,1;
+					delitem 935,10;
+					delitem 511,3;
+					next;
+					mes @npcname$;
+					mes "Oh my~~ You've been of great help. I'll recommend you to the Einbroch Armory for your job change.";
+					close2;
+					set gs_quest,3;
+					set @npcname$,0;
+					set trunk,0;
+					set randtrunk,0;
+					end;
 			case 2:
+			next;
 				mes @npcname$;
 				mes "Ok, I'll tell you again, so please take note!:";
 				mes "^33CCFF 3 Feathers^000000";
 				mes "^009933 3 Zargons^000000";
 				mes "^660066 3 Rainbow Shells^000000";
-				set @randtrunk,rand(1,5);
-			if (@randtrunk == 1) {
+				mes "^009900 3 Green Herbs^000000";
+			if (randtrunk == 1) {
 				mes "^663300 1 Trunk^000000";
 				set trunk,1019;
-			} else if (@randtrunk == 2) {
+			} else if (randtrunk == 2) {
 				mes "^663300 1 Fine-Grained Trunk^000000";
 				set trunk,1066;
-			} else if (@randtrunk == 3) {
+			} else if (randtrunk == 3) {
 				mes "^663300 1 Solid Trunk^000000";
 				set trunk,1067;
-			} else if (@randtrunk == 4) {
+			} else if (randtrunk == 4) {
 				mes "^663300 1 Barren Trunk^000000";
 				set trunk,1068;
-			} else if (@randtrunk == 5) {
+			} else if (randtrunk == 5) {
 				mes "^663300 1 Thin Trunk";
 				set trunk,7186;
 			} 
@@ -234,16 +253,45 @@ if (gs_quest == 1) {
 				mes @npcname$;
 				mes "Hurry please, I am not sure if my wife will last any longer... oh dear";
 				close2;
-				set @npcname$,0;
+				set @npcname$,"";
 				end;
 			}
-	} else if (Class == 24) || (gs_quest == 3) {
-	mes @npcname$;
-	mes "Hi ^0000CC"+strcharinfo(0)+"^000000!, how have you been doing? My wife sends you regards and thanks for the ingredients";
-	close2;
-	set @npcname$,0;
-	end;
-	}
+	} else if (gs_quest == 3) || (gs_quest == 4) {
+		if (countitem(519) > 1) && (gs_quest == 4) {
+			mes @npcname$;
+			mes "THAT'S IT!! I was missing the Milk! Oh yes, thanks so much, will you give it to me?";
+			switch(select("Yes, take it please:Sorry but I need it)) {
+				case 1:
+					next;
+					mes @npcname$;
+					mes "Thanks so much! Go talk again with the Einbroch Armsmith. He'll change you. Thanks again and see you.";
+					delitem 519,1;
+					close2;
+					set gs_quest,5;
+					set @npcname$,"";
+					end;
+				case 2:
+					next;
+					mes @npcname$;
+					mes "OH please, I need it so much, thing about it please";
+					close2;
+					set @npcname$,"";
+					end;
+			}
+		} else					
+		mes @npcname$;
+		mes "*sigh* All I need now is wait. Thanks for your help... but I believe there's something missing.."
+		close2;
+		set @npcname$,"";
+		set gs_quest,4;
+		end;
+	} else if (Class == 24) || (gs_quest == 5) {
+		mes @npcname$;
+		mes "Hi ^0000CC"+strcharinfo(0)+"^000000!, how have you been doing? My wife sends you regards and thanks for the ingredients";
+		close2;
+		set @npcname$,0;
+		end;
+	} 
 mes @npcname$;
 mes "Hi son, how you doing? Nice day eh?";
 close2;

+ 104 - 0
npc/merchants/kunai_maker.txt

@@ -0,0 +1,104 @@
+//===== eAthena Script =======================================
+//= Kunai "Trader" @ que_ng.gat
+//===== By: ==================================================
+//= erKURITA
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//= NPC that trades you a few shurikens + ninja stones for 
+//= elemental kunais.
+//===== Additional Comments: =================================
+//= 1.0 Added the npc. It uses a function that sends the item 
+//=	  id of the 2 required items plus the amount. Can trade
+//= 	  up to 500 units (5,000 kunais) at once. [erKURITA]
+//============================================================
+que_ng.gat,72,29,3	script	Kunai Seller	83,{
+mes "[Jin]";
+mes "Hi, I sell elemental enchanted kunais. I'll trade you some elemental stones and one kind of shurikens for a determined elemental Kunai";
+next;
+mes "[Jin]";
+mes "What would you like to trade some? It's free";
+switch(select("10 Poison Kunais:10 Icycle Kunais:10 Rough Wind Kunais:10 Black Soil Kunai:10 Explosion Kunai:Nothing at the Moment")) {
+//Callfunc usage: callfunc "Kunai_Trade",itemreqid1,itemreqct1,itemreqid2,itemreqct2,itemidtrade;
+	case 1:
+		next;
+		callfunc "Kunai_Trade",13250,20,7524,1,13259;
+		close;
+	case 2:
+		next;
+		callfunc "Kunai_Trade",13251,8,7522,2,13255;
+		goto L_Bye;
+	case 3:
+		next;
+		callfunc "Kunai_Trade",13252,4,7523,2,13257;
+		goto L_Bye;
+	case 4:
+		next;
+		callfunc "Kunai_Trade",13253,2,7524,1,13256;
+		goto L_Bye;
+	case 5:
+		next;
+		callfunc "Kunai_Trade",13254,1,7521,2,13258;
+		goto L_Bye;
+	case 6:
+		next;
+		goto L_Bye;
+	}
+L_Bye:
+	next;
+	mes "[Jin]";
+	mes "Good bye and hope to see you again then";
+	close;
+}
+
+function	script	Kunai_Trade	-1,{
+
+mes "[Jin]";
+if (MaxWeight*50/100 < Weight) {
+	if (MaxWeight*90/100 < Weight) {
+		mes "Sorry but you have more than 90% weight. Your kunais might drop. I can't give you anything.";
+		next;
+		goto L_Menu;
+	} else
+	mes "You have 50% or more weight, do you still want to continue?";
+	menu "Yes",-,"No, thanks",L_Return;
+}
+
+mes "Would you like to trade my 10 "+getitemname(getarg(4))+" for yours "+getarg(1)+" "+getitemname(getarg(0))+" and "+getarg(3)+" "+getitemname(getarg(2))+" ?";
+switch(select("Yes:I'll think about it")) {
+	case 1:
+		next; 
+		mes "[Jin]";
+		if (countitem(getarg(0)) < getarg(1) || countitem(getarg(2)) < getarg(3)) {
+			mes "Sorry but you're missing one of the required items. Please get them";
+			close;
+		} else
+		mes "How many do you want to trade? I can only trade you 500 units at once, and remember 1 unit = 10 kunais of your wish";
+		input @trade;
+		next;
+		mes "[Jin]";
+		if (@trade > 500) {
+			mes "Sorry, but I told you I could only trade you 500 units at once. Try again";
+			close;
+		} else if (@trade == 0) {
+			mes "Sorry, but 1 unit is the minimun I can trade. Try again please.";
+			close;
+		} else if ((countitem(getarg(0)) < @trade*getarg(1)) || (countitem(getarg(2)) < @trade*getarg(3))) {
+ 			mes "Sorry, but you don't have enough items to trade "+@trade+" unit(s). Get more please";
+			close;
+		} else
+		mes "Here you go, enjoy them";
+		delitem getarg(0),getarg(1)*@trade;
+		delitem getarg(2),getarg(3)*@trade;
+		getitem getarg(4),10*@trade;
+		next;
+		return;
+	case 2:
+		return;
+	}
+L_Bye:
+return;
+
+}

+ 18 - 22
npc/merchants/shops.txt

@@ -16,6 +16,9 @@
 //= 1.4 Added an ingredient seller to Morroc, thanks to Muad_Dib [MasterOfMuppets]
 //= a Removed doubled Morocc Ing.Seller, arranged the rest Ing.Sellers according to the city names [Lupus]
 //= 1.4b Commented out temp Gunslinger shops. [Lupus]
+//= 1.5 Removed Temp gunslinger shops and moved up the official ones. [erKURITA]
+//=	  Added Official Ninja shops in their correct location and commented a few
+//=	  shops. Thanks to RockmanEXE and Muad_Dib [erKURITA]
 //============================================================ 
 
 
@@ -46,22 +49,25 @@ aldebaran.gat,166,109,7	shop	Ingredient Seller	750,580:-1,7482:-1	//temp goods
 //=======================================================
 //AMATSU
 //=======================================================
-//Fruit merchant opens a zeny exploit (due to Juice Maker NPC)
-amatsu.gat,176,126,4	shop	Fruit Merchant	53,512:-1,513:-1,515:-1,516:-1
+//|Removed the following shops according to RockmanEXe's info. Some were removed anyway.
+//amatsu.gat,176,126,4	shop	Fruit Merchant	53,512:-1,513:-1,515:-1,516:-1
 //amatsu.gat,169,111,6	shop	Tool Dealer	83,611:-1,1750:-1,501:-1,502:-1,503:-1,504:-1,506:-1,525:-1,601:-1,602:-1,1065:-1,2239:-1
-amatsu.gat,180,102,3	shop	Flower Girl	96,712:-1,744:-1,2612:-1
-amatsu.gat,189,99,7	shop	Butcher	49,517:-1,528:-1,540:-1,541:-1
-amatsu.gat,169,119,6	shop	Gift Merchant	91,734:-1,735:-1,736:-1,737:-1,746:-1
-amatsu.gat,183,127,5	shop	Milk Merchant	90,519:-1
-//1st set
+//amatsu.gat,180,102,3	shop	Flower Girl	96,712:-1,744:-1,2612:-1
+//amatsu.gat,189,99,7	shop	Butcher	49,517:-1,528:-1,540:-1,541:-1
+//amatsu.gat,169,119,6	shop	Gift Merchant	91,734:-1,735:-1,736:-1,737:-1,746:-1
+//amatsu.gat,183,127,5	shop	Milk Merchant	90,519:-1
 //ama_in01.gat,96,28,4	shop	Weapon Dealer	54,1750:-1,1751:-1,1701:-1,1201:-1,1204:-1,1207:-1,1601:-1,1101:-1,1104:-1,1107:-1,1110:-1,1113:-1,1122:-1,1119:-1,1123:-1,1126:-1,1157:-1,1129:-1,1116:-1,1301:-1,1771:-1
 //ama_in01.gat,103,24,1	shop	Armor Dealer	48,2101:-1,2103:-1,2401:-1,2403:-1,2501:-1,2503:-1,2220:-1,2226:-1,2301:-1,2303:-1,2305:-1,2328:-1,2307:-1,2309:-1,2312:-1,2314:-1
-ama_in01.gat,101,18,8	shop	Weapon Dealer	47,1401:-1,1404:-1,1407:-1,1451:-1,1454:-1,1457:-1,1460:-1,1463:-1,1410:-1
+//ama_in01.gat,101,18,8	shop	Weapon Dealer	47,1401:-1,1404:-1,1407:-1,1451:-1,1454:-1,1457:-1,1460:-1,1463:-1,1410:-1
 //2nd set
+//|<= end of removed shops
 ama_in01.gat,89,28,4	shop	Armor Dealer	757,2211:-1,2401:-1,2403:-1,2501:-1,2503:-1,2101:-1,2103:-1,2305:-1,2321:-1,2332:-1,2314:-1,2627:-1
 ama_in01.gat,102,28,4	shop	Weapon Dealer	766,1207:-1,1216:-1,1107:-1,1122:-1,1116:-1,1154:-1,1407:-1,1457:-1,1354:-1,1519:-1
 ama_in01.gat,24,30,4	shop	Tool Dealer	763,1750:-1,1770:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1
-amatsu.gat,205,150,2	shop	Ingredient Seller	750,7453:-1,579:-1
+amatsu.gat,205,150,2	shop	Ingredient Seller	83,7453:-1,579:-1
+//| Official Ninja Shops
+que_ng.gat,72,31,2	shop	Shuriken Dealer	83,13250:-1,13251:-1,13252:-1,13253:-1,13254:-1
+que_ng.gat,73,26,5	shop	Tool Dealer	83,2117:-1,7521:-1,7522:-1,7523:-1,7524:-1
 
 //=======================================================
 //AYOTHAYA
@@ -94,11 +100,9 @@ ein_in01.gat,109,27,4	shop	Two-Hand Weapon Dealer	850,1116:-1,1151:-1,1154:-1,11
 ein_in01.gat,119,26,4	shop	Weapon Dealer	855,1247:-1,1248:-1,1249:-1,13000:-1
 einbroch.gat,138,66,3	shop	Head Gear Dealer	850,5114,:-1,2218:-1
 einbroch.gat,82,199,3	shop	Paddler	855,512:-1,645:-1,1750:-1,501:-1
-//Temp shops! Normally you can't buy all the equipment & ammo.
-//Use official GUNSLINGER SHOPS
-//einbroch.gat,235,106,3	shop	Ammo Dealer	847,13200:-1,13201:-1,13202:-1,13203:-1,13204:-1,13205:-1,13206:-1,13207:-1
-//einbroch.gat,232,106,3	shop	Gun Dealer	847,13150:-1,13100:-1,13101:-1,13102:-1,13103:-1,13104:-1,13105:-1,13106:-1,13151:-1,13152:-1,13153:-1,13154:-1,13155:-1,13156:-1,13157:-1,13158:-1,13159:-1,13160:-1,13161:-1,13162:-1
-
+//Official Gunslingers shops.
+que_ng.gat,179,91,4	shop	Gunner#Gun Seller	900,13150:-1,13102:-1,13151:-1,13154:-1,13155:-1
+que_ng.gat,180,79,4	shop	Gunner#Ammo Seller	900,13200:-1,13201:-1,13202:-1
 //=======================================================
 //GEFFEN
 //=======================================================
@@ -296,14 +300,6 @@ yuno.gat,133,171,2	shop	Ingredient Seller	750,7457:-1,7482:-1
 //=======================================================
 prt_monk.gat,135,263,3	shop	Blacksmith	726,1801:-1,1803:-1,1805:-1
 
-
-//=======================================================
-// GUNSLINGER SHOPS
-//=======================================================
-que_ng.gat,179,91,4	shop	Gunner#Gunner1	900,13150:-1,13102:-1,13151:-1,13154:-1,13155:-1
-que_ng.gat,180,79,4	shop	Gunner#Gunner2	900,13200:-1,13201:-1,13202:-1
-
-
 //===== Additional Comments(old): ================================= 
 //= swapped shop titles in GONRYUN, thanks to Kashy
 //= 1.3a Fixed Louyang map name. Added additional shops in Yuno. [kobra_k88]

+ 1 - 0
npc/scripts_athena.conf

@@ -50,6 +50,7 @@ npc: npc/merchants/renters.txt
 npc: npc/merchants/alchemist.txt
 npc: npc/merchants/icecream.txt
 npc: npc/merchants/quivers.txt
+npc: npc/merchants/kunai_maker.txt
 // Temp Shops
 // Removed in kRO (because Scrolls have been added into mobs drops)
 //npc: npc/merchants/scrolls_arrows.txt

+ 11 - 2
npc/warps/cities/amatsu.txt

@@ -4,13 +4,14 @@
 //= Athena (1.0)
 //= Nana (1.1)
 //===== Current Version: =====================================
-//= 1.3
+//= 1.4
 //===== Compatible With: =====================================
 //= Any Athena Version; RO Episode 6+
 //===== Description: =========================================
 //= Warp Points for Amatsu
 //===== Additional Comments: =================================
 //= 1.3 Fixed a warp-back [erKURITA]
+//= 1.4 Added Ninja's Warps. Thanks to RockmanEXE for the info. [erKURITA]
 //============================================================
 
 //= Amatsu ===================================================
@@ -50,4 +51,12 @@ amatsu.gat,52,148,0	warp	warp1994	1,1,ama_in01.gat,88,97
 amatsu.gat,85,235,0	warp	warp1972	1,1,ama_in02.gat,224,45
 //removed
 //amatsu.gat,95,148,0	warp	warp1990	1,1,ama_in01.gat,88,97
-amatsu.gat,96,117,0	warp	warp1962	1,1,ama_in01.gat,29,23
+amatsu.gat,96,117,0	warp	warp1962	1,1,ama_in01.gat,29,23
+
+//| Ninja quest warps
+amatsu.gat,149,140,0	warp	ninja01	1,1,que_ng.gat,20,142
+que_ng.gat,20,138,0	warp	ninja02	1,1,amatsu.gat,147,136
+que_ng.gat,10,183,0	warp	ninja03	1,1,que_ng.gat,33,64
+que_ng.gat,37,64,0	warp	ninja04	1,1,que_ng.gat,15,182
+que_ng.gat,30,37,0	warp	ninja05	1,1,que_ng.gat,67,28
+que_ng.gat,63,30,0	warp	ninja06	1,1,que_ng.gat,25,37