From b1a7decb5f4f88f49ab42f87cd4e770542affd69 Mon Sep 17 00:00:00 2001 From: Kisuka Date: Wed, 18 Feb 2009 23:57:29 +0000 Subject: - 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13537 54d463be-8e91-2dee-dedb-b68131a5f0ec --- db/item_db.txt | 10 +- npc/airports/airships.txt | 7 +- npc/custom/card_remover.txt | 322 +++++++++++++++++---------------------- npc/quests/Lvl4_weapon_quest.txt | 1 + npc/quests/quests_hugel.txt | 1 + npc/quests/thana_quest.txt | 2 +- 6 files changed, 152 insertions(+), 191 deletions(-) diff --git a/db/item_db.txt b/db/item_db.txt index 4a384ba18..dee2c115a 100644 --- a/db/item_db.txt +++ b/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; },{},{} diff --git a/npc/airports/airships.txt b/npc/airports/airships.txt index 02dd7f93f..ba2d7c94f 100644 --- a/npc/airports/airships.txt +++ b/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; diff --git a/npc/custom/card_remover.txt b/npc/custom/card_remover.txt index 27ecd3e6a..035594f25 100644 --- a/npc/custom/card_remover.txt +++ b/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; } \ No newline at end of file diff --git a/npc/quests/Lvl4_weapon_quest.txt b/npc/quests/Lvl4_weapon_quest.txt index ac6772cc7..50af31bb3 100644 --- a/npc/quests/Lvl4_weapon_quest.txt +++ b/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."; diff --git a/npc/quests/quests_hugel.txt b/npc/quests/quests_hugel.txt index a8b3cd25a..386c44bb5 100644 --- a/npc/quests/quests_hugel.txt +++ b/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; diff --git a/npc/quests/thana_quest.txt b/npc/quests/thana_quest.txt index 7e2c9683a..c36bb22e8 100644 --- a/npc/quests/thana_quest.txt +++ b/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"; -- cgit v1.2.3-70-g09d2