Bläddra i källkod

- Small fix to zeny check in airships.txt (bugreport:2763)
- Fixed a typo in thana_quest.txt (bugreport:2783)
- Added missing dialog to Biological Weapon Quest. (bugreport:2778)
- Optimized and fixed getequipname() in card_remover.txt (bugreport:2156)
- Added missing npc name in Lvl4_weapon_quest.txt (bugreport:2764)
- Updated item scripts for 12294 to 12297. (bugreport:2766)
- Updated item 1483 (Ivory Lance). (bugreport:2753)

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

Kisuka 16 år sedan
förälder
incheckning
d95ad1e02a

+ 5 - 5
db/item_db.txt

@@ -731,7 +731,7 @@
 1480,Gae_Bolg_,Gae Bolg,4,20,,2000,160,,3,2,0x00004082,7,2,34,4,60,1,5,{ bonus bIgnoreDefRace,RC_Dragon; bonus2 bAddRace,RC_Boss,10; },{},{}
 1481,Zephyrus_,Zephyrus,4,20,,2000,170,,3,3,0x00004082,7,2,34,4,48,1,5,{ bonus bAtkEle,Ele_Wind; bonus2 bAddEff,Eff_Silence,200; bonus3 bAutoSpell,"MG_THUNDERSTORM",3,100; },{},{}
 1482,Assaulter's_Lance,Assaulter's Lance,4,,,0,160,,3,0,0x00004082,7,2,34,3,80,1,5,{ bonus bStr,2; bonus2 bAddRace,RC_DemiHuman,25; bonus bIgnoreDefRace,RC_DemiHuman; bonus bUnbreakableWeapon,0; },{},{}
-//1483#Ivory_Lance#
+1483,Ivory_Lance,Ivory Lance,4,,,1000,160,,3,0,0x00004082,7,2,34,3,50,1,5,{ bonus bAgi,2; bonus bAspdRate,3; bonus2 bAddEff,Eff_Bleeding,100; bonus3 bAutoSpell,"LK_JOINTBEAT",1,100; skill 58,5; },{},{}
 //1484#Carled#
 //1485#Battle_Fork#
 // Maces
@@ -3635,10 +3635,10 @@
 12288,Squillroll_Magic_Powder,Squillroll Angel Magic Powder,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 12289,Gogo_Magic_Powder,Gogo Magic Powder,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
 //
-12294,PC-Room_Coin_Box1,PC-Room Coin Box,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12295,PC-Room_Coin_Box2,PC-Room Coin Box,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12296,PC-Room_Coin_Box3,PC-Room Coin Box,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
-12297,PC-Room_Coin_Box4,PC-Room Coin Box,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
+12294,PC-Room_Coin_Box1,PC-Room Coin Box,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 2740,1; },{},{}
+12295,PC-Room_Coin_Box2,PC-Room Coin Box,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 2739,1; },{},{}
+12296,PC-Room_Coin_Box3,PC-Room Coin Box,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 2738,1; },{},{}
+12297,PC-Room_Coin_Box4,PC-Room Coin Box,2,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 2738,2; },{},{}
 //Net Cafe Premium
 12298,SP_Reduction_Potion,SP Reduction Potion,0,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SPCOST_RATE,36000000,15; },{},{}
 12299,Status_Resist_Potion,Status Resistance Potion,0,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_COMMONSC_RESIST,36000000,10; },{},{}

+ 4 - 3
npc/airports/airships.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= eAthena Dev Team
 //===== Current Version: ===================================== 
-//= 1.1a
+//= 1.1b
 //===== Compatible With: ===================================== 
 //= eAthena SVN 3422+(Requires jA Script System)
 //===== Description: ========================================= 
@@ -30,6 +30,7 @@
 //= 1.0 Fixed bad NPC header data to comply with rev. 11603. [L0ne_W0lf]
 //= 1.1 Touch-ups, and changed references of "Yuno" to "Juno",  [L0ne_W0lf]
 //= 1.1a Small fix to comparison check. [Paradox924X]
+//= 1.1b Small fix to zeny check. [Kisuka]
 //============================================================ 
 
 //============================================================ 
@@ -858,7 +859,7 @@ izlude,201,54,3	script	Airship Staff#izl	91,{
 				warp "airplane_01",224,64;
 				close;
 			}
-			if(Zeny > 1200) {
+			if(Zeny >= 1200) {
 				set Zeny, Zeny - 1200;
 				warp "airplane_01",224,64;
 				close;
@@ -897,7 +898,7 @@ hugel,182,150,3	script	Airship Staff#hu	91,{
 				warp "airplane",224,64;
 				close;
 			}
-			if(Zeny > 1200) {
+			if(Zeny >= 1200) {
 				set Zeny, Zeny - 1200;
 				warp "airplane",224,64;
 				close;

+ 140 - 182
npc/custom/card_remover.txt

@@ -1,187 +1,145 @@
-// Card removal NPC by TyrNemesis^
-// DANGEROUS! TODO: Think.. think 8) [Lupus]
-
-
-prt_in,28,73,4	script	Wise Old Woman	78,{
-
-UPGRADEROOT:
+//===== eAthena Script ======================================= 
+//= Card Removal NPC
+//===== By: ================================================== 
+//= TyrNemesis^
+//===== Current Version: ===================================== 
+//= 1.2
+//===== Compatible With: ===================================== 
+//= eAthena SVN
+//===== Description: ========================================= 
+//= Removes cards from equipped items.
+//===== Additional Comments: ================================= 
+//= 1.0 First version. [TyrNemesis^]
+//= 1.2 Optimized and fixed getequipname menu. [Kisuka]
+//============================================================ 
+
+prt_in,28,73,4	script	Wise Old Woman#eAcustom	78,{
 	mes "[Wise Old Woman]";
 	mes "Good day, young one. I have the power to remove cards that you have compounded onto your equipment. Does this idea please you?";
 	next;
-	menu "Yes, it does.",REMOVEMENU,
-	     "What do you charge?",REMOVEPRICE,
-	     "No thanks.",CLOSEOUT;
-
-REMOVEPRICE:
-	mes "[Wise Old Woman]";
-	mes "I charge a flat fee of 200000 zeny, plus 25000 zeny for each card I remove from the item. In addition, I need a star crumb and a yellow gemstone to work my magic.";
-	next;
-	menu "Very well. Let's do it.",REMOVEMENU,
-	     "No thanks.",CLOSEOUT;
-
-REMOVEMENU:
-	mes "[Wise Old Woman]";
-	mes "Very well. Which item shall I examine for you?";
-	next;
-	menu "I changed my mind.",CLOSEOUT,
-	     getequipname(1),SLOT1,
-	     getequipname(2),SLOT2,
-	     getequipname(3),SLOT3,
-	     getequipname(4),SLOT4,
-	     getequipname(5),SLOT5,
-	     getequipname(6),SLOT6,
-	     getequipname(7),SLOT7,
-	     getequipname(8),SLOT8,
-	     getequipname(9),SLOT9,
-	     getequipname(10),SLOT10;
-
-SLOT1:
-	set @part,1;
-	goto CARDNUMCHECK;
-
-SLOT2:
-	set @part,2;
-	goto CARDNUMCHECK;
-
-SLOT3:
-	set @part,3;
-	goto CARDNUMCHECK;
-
-SLOT4:
-	set @part,4;
-	goto CARDNUMCHECK;
-
-SLOT5:
-	set @part,5;
-	goto CARDNUMCHECK;
-
-SLOT6:
-	set @part,6;
-	goto CARDNUMCHECK;
-
-SLOT7:
-	set @part,7;
-	goto CARDNUMCHECK;
-
-SLOT8:
-	set @part,8;
-	goto CARDNUMCHECK;
-
-SLOT9:
-	set @part,9;
-	goto CARDNUMCHECK;
-
-SLOT10:
-	set @part,10;
-	goto CARDNUMCHECK;
-
-CARDNUMCHECK:
-	if(getequipcardcnt(@part) == 0) goto DENYCARDCOUNT;
-	set @cardcount,getequipcardcnt(@part);
-
-	// Ensure there is room for the items.
-	if (!checkweight(1202,(@cardcount+1))) { 
-		mes "^3355FFJust a minute!";
-		mes "I can't offer any of my";
-		mes "services to you because";
-		mes "you're carrying too much";
-		mes "stuff. Put your extra items in";
-		mes "Kafra Storage and come again~";
-		close;
+	switch(select("Yes, it does.:What do you charge?:No thanks.")) {
+		case 1:
+			mes "[Wise Old Woman]";
+			mes "Very well. Which item shall I examine for you?";
+			next;
+
+			setarray .@position$[1], "Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3";
+			set .@menu$,"";
+			for( set .@i,1; .@i <= 10; set .@i,.@i+1 )
+			{
+				if( getequipisequiped(.@i) )
+					set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]";
+
+				set .@menu$, .@menu$ + ":";
+			}
+			set .@part,select(.@menu$);
+			if(!getequipisequiped(.@part)) {
+				mes "[Wise Old Woman]";
+				mes "Young one... Your not wearing anything there that I can remove cards from.";
+				close;
+			}
+			if(getequipcardcnt(.@part) == 0) {
+				mes "[Wise Old Woman]";
+				mes "Young one... There are no cards compounded on this item. I can do nothing with it, I'm afraid.";
+				close;
+			}
+			set .@cardcount,getequipcardcnt(.@part);
+			
+			if (!checkweight(1202,(.@cardcount+1))) { 
+				mes "^3355FFJust a minute!";
+				mes "I can't offer any of my";
+				mes "services to you because";
+				mes "you're carrying too much";
+				mes "stuff. Put your extra items in";
+				mes "Kafra Storage and come again~";
+				close;
+			}
+			mes "[Wise Old Woman]";
+			mes "This item has " + .@cardcount + " cards compounded on it. To perform my magic, I will need " + (200000+(.@cardcount * 25000)) + " zeny, a ^0000FFStar Crumb^000000, and a ^0000FFYellow Gemstone^000000.";
+			next;
+			if(select("Very well. Do it.:Nevermind.") == 2) {
+				mes "[Wise Old Woman]";
+				mes "Very well. Return at once if you seek my services.";
+				close;
+			}
+			if((zeny < (200000+(.@cardcount * 25000))) || (countitem(1000) < 1) || (countitem(715) < 1)) {
+				mes "[Wise Old Woman]";
+				mes "You do not have all the items I require to work my magic, child. Come again when you do.";
+				close;
+			}
+			mes "[Wise Old Woman]";
+			mes "Before I begin, I must warn you--I may fail. If I do, I may destroy the cards, the item, or both. I do not give refunds. That being said, which is more important to you: The cards, or the item?";
+			next;
+			switch(select("I changed my mind about this.:The item.:The cards.")) {
+				case 1:
+					mes "[Wise Old Woman]";
+					mes "Very well. Return at once if you seek my services.";
+					close;
+				case 2:
+					set .@failtype,1;
+					break;
+				case 3:
+					set .@failtype,2;
+			}
+			mes "[Wise Old Woman]";
+			mes "Very well. I shall begin.";
+			set zeny,zeny - (200000+(.@cardcount * 25000));
+			delitem 1000,1;
+			delitem 715,1;
+			
+			// Replace the constants in the next 3 lines with failure chance values defined in refine_db.txt
+			// First value = Total failure chance (item and cards destroyed)
+			// Second value = Partial failure chance (one or the other is destroyed, player decides which one is safe)
+			// Third value = Harmless failure chance (all that's lost is your investment)
+
+			set .@failchance,rand(100);
+		/*	
+			if(.@failchance < 2) {
+				next;
+				failedremovecards .@part,0;
+				mes "[Wise Old Woman]";
+				mes "The process was a total failure. I am afraid the item and the cards were destroyed.";
+				close;
+			}
+
+			if(.@failchance < 8) {
+				if (.@failtype == 1) {
+					next;
+					failedremovecards .@part,1;					
+					mes "[Wise Old Woman]";
+					mes "While I have managed to remove the cards from the item, they were destroyed in the process. The item, however, is okay.";
+					close;
+				}
+
+				if (.@failtype == 2) {
+					next;
+					failedremovecards .@part,2;
+					mes "[Wise Old Woman]";
+					mes "Most unfortunate. I succeeded at removing the cards, but the item itself was destroyed in the process.";
+					close;	
+				}
+			}
+		*/
+
+			if(.@failchance < 10) {
+				next;
+				failedremovecards .@part,3;				
+				mes "[Wise Old Woman]";
+				mes "I have failed to remove the cards. Luckily, however, both the item and the cards are still okay.";
+				close;	
+			}
+			next;
+			successremovecards .@part;
+			mes "[Wise Old Woman]";
+			mes "The process was a success. Here are your cards and your item. Farewell.";
+			close;			
+		case 2:
+			mes "[Wise Old Woman]";
+			mes "I charge a flat fee of 200000 zeny, plus 25000 zeny for each card I remove from the item. In addition, I need a star crumb and a yellow gemstone to work my magic.";
+			close;
+		case 3:
+			mes "[Wise Old Woman]";
+			mes "Very well. Return at once if you seek my services.";
+			close;
 	}
-
-	if(@cardcount > 1) goto CARDNUMMULTIMSG;
-	mes "[Wise Old Woman]";
-	mes "This item has " + @cardcount + " card compounded on it. To perform my magic, I will need 225000 zeny, a ^0000FFStar Crumb^000000, and a ^0000FFYellow Gemstone^000000.";
-	goto CARDNUMPOSTMSG;
-CARDNUMMULTIMSG:
-	mes "[Wise Old Woman]";
-	mes "This item has " + @cardcount + " cards compounded on it. To perform my magic, I will need " + (200000+(@cardcount * 25000)) + " zeny, a ^0000FFStar Crumb^000000, and a ^0000FFYellow Gemstone^000000.";
-CARDNUMPOSTMSG:
-	next;
-	menu "Very well. Do it.",REMOVECARDWARNING,
-	     "Never mind.",CLOSEOUT;
-
-REMOVECARDWARNING:
-	mes "[Wise Old Woman]";
-	mes "Before I begin, I must warn you--I may fail. If I do, I may destroy the cards, the item, or both. I do not give refunds. That being said, which is more important to you: The cards, or the item?";
-	next;
-	menu "I changed my mind about this.",CLOSEOUT,
-	     "The item.",PRIORITYITEM,
-	     "The cards.",PRIORITYCARD;
-
-PRIORITYITEM:
-	set @failtype,1;
-	goto REMOVECARD;
-
-PRIORITYCARD:
-	set @failtype,2;
-	goto REMOVECARD;
-
-REMOVECARD:
-	mes "[Wise Old Woman]";
-	mes "Very well. I shall begin.";
-	if((zeny < (200000+(@cardcount * 25000))) || (countitem(1000) < 1) || (countitem(715) < 1)) goto DENYMATERIAL;
-	set zeny,zeny - (200000+(@cardcount * 25000));
-	delitem 1000,1;
-	delitem 715,1;
-// Replace the constants in the next 3 lines with failure chance values defined in refine_db.txt
-// First value = Total failure chance (item and cards destroyed)
-// Second value = Partial failure chance (one or the other is destroyed, player decides which one is safe)
-// Third value = Harmless failure chance (all that's lost is your investment)
-
-	set @failchance,rand(100);
-//	if(@failchance < 2) goto FAILREMOVECARD0;
-//	if((@failchance < 8) && (@failtype == 1)) goto FAILREMOVECARD1;
-//	if((@failchance < 8) && (@failtype == 2)) goto FAILREMOVECARD2;
-	if(@failchance < 10) goto FAILREMOVECARD3;
-	successremovecards @part;
-	next;
-	mes "[Wise Old Woman]";
-	mes "The process was a success. Here are your cards and your item. Farewell.";
-	close;
-
-FAILREMOVECARD0:
-	failedremovecards @part,0;
-	next;
-	mes "[Wise Old Woman]";
-	mes "The process was a total failure. I am afraid the item and the cards were destroyed.";
-	close;
-
-FAILREMOVECARD1:
-	failedremovecards @part,1;
-	next;
-	mes "[Wise Old Woman]";
-	mes "While I have managed to remove the cards from the item, they were destroyed in the process. The item, however, is okay.";
-	close;
-
-FAILREMOVECARD2:
-	failedremovecards @part,2;
-	next;
-	mes "[Wise Old Woman]";
-	mes "Most unfortunate. I succeeded at removing the cards, but the item itself was destroyed in the process.";
-	close;
-
-FAILREMOVECARD3:
-	failedremovecards @part,3;
-	next;
-	mes "[Wise Old Woman]";
-	mes "I have failed to remove the cards. Luckily, however, both the item and the cards are still okay.";
-	close;
-
-DENYCARDCOUNT:
-	mes "[Wise Old Woman]";
-	mes "Young one... There are no cards compounded on this item. I can do nothing with it, I'm afraid.";
-	close;
-
-DENYMATERIAL:
-	next;
-	mes "[Wise Old Woman]";
-	mes "You do not have all the items I require to work my magic, child. Come again when you do.";
-	close;
-
-CLOSEOUT:
-	mes "[Wise Old Woman]";
-	mes "Very well. Return at once if you seek my services.";
-	close;
 }

+ 1 - 0
npc/quests/Lvl4_weapon_quest.txt

@@ -113,6 +113,7 @@ LV4_0:
 			mes "enough to handle my products.";
 			mes "They are charged with evil power.";
 			next;
+			mes "[Bazo]";
 			mes "That means if their owners are not powerful";
 			mes "and not experienced enough,";
 			mes "they will drive the owners insane.";

+ 1 - 0
npc/quests/quests_hugel.txt

@@ -1914,6 +1914,7 @@ lhz_in03,193,28,3	script	Makkie	83,{
 		mes "[Makkie]";
 		mes "Oh, that? Yeah, that was";
 		mes "taken when Dono, Morriphen";
+		mes "and I worked for the";
 		mes "Rekenber Corporation. I know";
 		mes "they look eccentric, but they're really good guys, trust me.";
 		next;

+ 1 - 1
npc/quests/thana_quest.txt

@@ -1208,7 +1208,7 @@ tha_t06,43,152,0	script	Machine Device#thana4	111,{
 						mes "wheels to make them rotate.^000000";
 						next;
 						mes "^3355FFJudging from the machine's";
-						mes "shaking and jittery joises, the";
+						mes "shaking and jittery noises, the";
 						mes "wheels may be misaligned.";
 						mes "You might be able to activate";
 						mes "the machine by properly";