summaryrefslogtreecommitdiff
path: root/npc/merchants
diff options
context:
space:
mode:
authorL0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-06-27 03:35:38 +0000
committerL0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-06-27 03:35:38 +0000
commit7e9dc178ce45d14b6b29a880f5b0c02143d91236 (patch)
treed08c6225a390dd2e3edc7c5791c87312c9ac637e /npc/merchants
parentcd9523853d03d6b341219801af8a1d44635ac825 (diff)
downloadhercules-7e9dc178ce45d14b6b29a880f5b0c02143d91236.tar.gz
hercules-7e9dc178ce45d14b6b29a880f5b0c02143d91236.tar.bz2
hercules-7e9dc178ce45d14b6b29a880f5b0c02143d91236.tar.xz
hercules-7e9dc178ce45d14b6b29a880f5b0c02143d91236.zip
* Rev 10815 Updated NPC for Payon.
- Added in the comeplete fortune teller. - Rewrote the Arrow quiver and Gemstone trader NPCs. Moved the Gemstone trader intot he '/merchants' folder. - Updated the information for the Payon Inn accordingly. * Removed an NPC from the Lighthalzen quests. Should fix the "NPC not removed." message when reloading scripts. .Removed because I couldn't find this NPC anywhere it he official file. * Fixed a few over-looked names in the Kafra teleport function. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10815 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc/merchants')
-rw-r--r--npc/merchants/gemstone.txt116
-rw-r--r--npc/merchants/inn.txt9
-rw-r--r--npc/merchants/quivers.txt268
3 files changed, 269 insertions, 124 deletions
diff --git a/npc/merchants/gemstone.txt b/npc/merchants/gemstone.txt
new file mode 100644
index 000000000..de3deb518
--- /dev/null
+++ b/npc/merchants/gemstone.txt
@@ -0,0 +1,116 @@
+//===== eAthena Script =======================================
+//= Gemstone trader
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAhena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Trade various colors of gemstones for other color gemstones.
+//===== Additional Comments: =================================
+//= 1.0 Rescripted to Aegis 10.3 standards. [L0ne_W0lf]
+//= Any notes pertaining to the prior trader may be found
+//= in the cities/payon.txt
+//============================================================
+
+payon,173,238,5 script Jade 754,{
+ //Ensure the player can hold at least one item
+ //set max_max_c,CheckMaxCount;
+ //if (max_max_c == 1) {
+ // mes "^3355FFWait a second! Right now, you're carrying too many items with you. Please come back after putting some of your things into Kafra Storage.^000000";
+ // close;
+ //}
+ mes "[Jade]";
+ mes "Bring me two";
+ mes "Gemstones of the";
+ mes "same color, and I will";
+ mes "change them to Gemstones";
+ mes "of a different color.";
+ next;
+ switch(select("Blue Gemstones into Red ones!:Red Gemstones into Yellow ones!:Yellow Gemstones into Blue ones!")) {
+ case 1: callsub S_TradeGems,717,716;
+ case 2: callsub S_TradeGems,716,715;
+ case 3: callsub S_TradeGems,715,717;
+ }
+
+S_TradeGems:
+ if (countitem(getarg(0)) < 2) {
+ mes "[Jade]";
+ mes "Hah...!";
+ mes "You're kidding me, right?";
+ mes "I can't provide you with this";
+ mes "service if you don't";
+ mes "give me at least";
+ mes "2 "+getitemname(getarg(0))+"s!";
+ close;
+ }
+ else {
+ set .@gems,countitem(getarg(0))/2;
+ mes "[Jade]";
+ mes "I believe I can create";
+ mes "a total of " + .@gems + " " + getitemname(getarg(1)) + "s";
+ mes "using the "+getitemname(getarg(0))+"s";
+ mes "that you currently have.";
+ mes "What do you want to do?";
+ next;
+ switch(select("Give me as many as you can.:I want to set the amount.:I quit.")) {
+ case 1:
+ delitem getarg(0),.@gems * 2;
+ getitem getarg(1),.@gems;
+ mes "[Jade]";
+ mes "There you go.";
+ mes "Feel free to come";
+ mes "back any time.";
+ mes "Hm, what's that look for?";
+ mes "Is there something on my face?";
+ close;
+ case 2:
+ mes "[Jade]";
+ mes "So how many";
+ mes "do you want?";
+ mes "The maximum number";
+ mes "that you can enter is 100.";
+ next;
+ while(1) {
+ input .@input;
+ if (.@input == 0) {
+ mes "[Jade]";
+ mes "None at all?";
+ mes "I guess you";
+ mes "changed your mind...";
+ close;
+ }
+ else if (.@input > 100) {
+ mes "[Jade]";
+ mes "Errm...";
+ mes "I asked you to enter";
+ mes "an amount no greater";
+ mes "than 100, remember...?";
+ next;
+ }
+ else {
+ break;
+ }
+ }
+
+ if (.@gems > .@input) {
+ delitem getarg(0),.@input * 2;
+ getitem getarg(1),.@input;
+ mes "[Jade]";
+ mes "There you go.";
+ mes "Feel free to come";
+ mes "back any time.";
+ mes "Hm, what's that look for?";
+ mes "Is there something on my face?";
+ }
+ close;
+ case 3:
+ mes "[Jade]";
+ mes "Sure, no problem.";
+ mes "Come back any time.";
+ close;
+ }
+ }
+} \ No newline at end of file
diff --git a/npc/merchants/inn.txt b/npc/merchants/inn.txt
index 5eef51dc0..d51ceea57 100644
--- a/npc/merchants/inn.txt
+++ b/npc/merchants/inn.txt
@@ -4,7 +4,7 @@
//= Darkchild (1.1)
//= Playtester (1.2)
//===== Current Version: =====================================
-//= 1.6
+//= 1.7
//===== Compatible With: =====================================
//= eAthena 1.0+
//===== Description: =========================================
@@ -30,6 +30,7 @@
//= - Removed the Cancel dialog.
//= 1.6 More fixed, changed progression of "Rest"ing.
//= - Corrected Morroc NPCs. [L0ne_W0lf]
+//= 1.7 Corrected Payon NPC. [L0ne_W0lf]
//============================================================
@@ -69,10 +70,10 @@ geffen_in,70,64,5 script Inn Maid::Betty 53,{
}
//======================= Payon ======================================
-payon_in01,131,62,5 script Inn Maid::SunHee 53,{
+payon_in01,132,62,5 script Inn Employee::Ahee 53,{
- callfunc "F_InnMaid","[Sun Hee]","Payon Inn","payon_in01",132,56;
- warp "payon_in01",140,15; end;
+ callfunc "F_InnMaid","[Employee Ahee]","Payon Inn","payon_in01",136,61;
+ warp "payon_in01",132,11; end;
}
//======================== Morocc ====================================
diff --git a/npc/merchants/quivers.txt b/npc/merchants/quivers.txt
index a8782c295..f9616fb72 100644
--- a/npc/merchants/quivers.txt
+++ b/npc/merchants/quivers.txt
@@ -1,151 +1,179 @@
//===== eAthena Script =======================================
//= Arrow Quiver Event
//===== By: ==================================================
-//= Muad_Dib (Prometheus Project)
+//= Muad_Dib (Prometheus Project); L0ne_W0lf
//===== Current Version: =====================================
-//= 1.1
+//= 1.2
//===== Compatible With: =====================================
-//= eAthena 1.0+
+//= eAthena SVN
//===== Description: =========================================
+//= [Aegis COnversion]
//= Turns arrows into Arrow Quivers.
+// Breakdown of Subroutine "S_BuyQuiver"
+// arg(0): Type of Arrow to be packaged (item ID)
+// arg(1): How many of each 'getarg(0)' arrow per quiver
+// arg(2): The cost of making a 'getarg(0)' quiver.
+// arg(3): The quiver given by the NPC. (item ID)
//===== Additional Comments: =================================
//= 07/06/05 : Added 1st Version. [Muad_Dib]
//= Converted to eAthena format by Dr.Evil
//= added prize to quest - 500 Zeny
//= Fixed a few spelling errors. [Nexon]
//= 1.1 Added Holy Arrow Quivers [Playtester]
+//= 1.2 Rescripted to Aegis 10.3 standards. [L0ne_W0lf]
+//= Removed "Holy Arrows" from the list.
//============================================================
-
-payon_in01,5,134,4 script Inventor Jaax 89,{
+payon_in01,5,134,5 script Inventor Jaax 89,{
+ //set max_max_c1,CheckMaxCount;
+ //if (max_max_c1 == 1) {
+ // mes "[Inventor Jaax]";
+ // mes "Hey, you're carrying";
+ // mes "way too much stuff. Why don't you stash it away in Kafra Storage? We can talk after you do that, right?";
+ // close;
+ //}
+ set .@now_weight,MaxWeight-Weight;
+ if (.@now_weight < 2000) {
+ mes "[Inventor Jaax]";
+ mes "Hey, you're carrying";
+ mes "way too much stuff. Why don't you stash it away in Kafra Storage? We can talk after you do that, right?";
+ close;
+ }
mes "[Inventor Jaax]";
- mes "My name is Jaax.";
+ mes "My name is Jaxx.";
mes "Without ego, I can";
- mes "sat that I am perhaps the";
- mes "^996600greatest inventor of our time.^000000";
+ mes "say that I am perhaps the";
+ mes "^663300greatest inventor of our time^000000.";
next;
- mes "[Inventor Jaax]";
+ mes "[Inventor Jaxx]";
mes "This time, I've";
mes "created something";
- mes "truly extraordinary. I call them...";
- mes "^996600Magic Quivers^000000 !! This will be";
- mes "remembered in history as an";
+ mes "truly extraordinary. I call them... ^663300Magic Quivers^000000 !! This will be remembered in history as an";
mes "arrow revolution!";
+ Emotion e_no1;
next;
mes "[Inventor Jaax]";
- mes "I've studied magic and quivers for";
- mes "years, working night and day until";
- mes "I finally figured out how to condense";
- mes "arrows with magic! With magic";
- mes "quivers, you'll be carrying more";
- mes "arrows, but with less weight!";
+ mes "I've studied magic and quivers for years, working night and day until I finally figured how to condense arrows with magic! With magic quivers, you'll be carrying more arrows, but with less weight!";
next;
mes "[Inventor Jaax]";
- mes "Would you like to try using one of";
- mes "my arrow quivers? I have no doubt";
- mes "that someone like you can";
- mes "appreciate my genius!";
+ mes "Would you like to try using one of my arrow quivers? I have no doubt that someone like you can appreciate my genius!";
next;
+ switch(select("Quiver:Iron Arrow Quiver:Steel Arrow Quiver:Oridecon Arrow Quiver:Fire Arrow Quiver:Silver Arrow Quiver:Wind Arrow Quiver:Stone Arrow Quiver:Crystal Arrow Quiver:Shadow Arrow Quiver:Immaterial Arrow Quiver:Rusty Arrow Quiver")) {
+ case 1: callsub S_BuyQuiver,1750,500,500,12004;
+ case 2: callsub S_BuyQuiver,1770,500,500,12005;
+ case 3: callsub S_BuyQuiver,1753,500,500,12006;
+ case 4: callsub S_BuyQuiver,1765,500,500,12007;
+ case 5: callsub S_BuyQuiver,1752,500,500,12008;
+ case 6: callsub S_BuyQuiver,1751,500,500,12009;
+ case 7: callsub S_BuyQuiver,1755,500,500,12010;
+ case 8: callsub S_BuyQuiver,1756,500,500,12011;
+ case 9: callsub S_BuyQuiver,1754,500,500,12012;
+ case 10: callsub S_BuyQuiver,1767,500,500,12013;
+ case 11: callsub S_BuyQuiver,1757,500,500,12014;
+ case 12: callsub S_BuyQuiver,1762,500,500,12015;
+ }
+ //This doesn't seem to be accessable...
+ //mes "[Inventor Jaax]";
+ //mes "Is there";
+ //mes "anything you want?";
+ //close;
- menu "Arrow Quiver",-,"Iron Arrow Quiver",Q2,"Steel Arrow Quiver",Q3,"Oridecon Arrow Quiver",Q4,"Fire Arrow Quiver",Q5,"Silver Arrow Quiver",Q6,"Wind Arrow Quiver",Q7,"Stone Arrow Quiver",Q8,"Crystal Arrow Quiver",Q9,"Shadow Arrow Quiver",Q10,"Immaterial Arrow Quiver",Q11,"Rusty Arrow Quiver",Q12,"Holy Arrow Quiver",Q13;
-
-// Arguments
-//===========
- callsub sF_Make, 1750,500,12004, "Arrow Quiver";
- goto M_Menu;
-Q2:
- callsub sF_Make, 1770,500,12005, "Iron Arrow Quiver";
- goto M_Menu;
-Q3:
- callsub sF_Make, 1753,500,12006, "Steel Arrow Quiver";
- goto M_Menu;
-Q4:
- callsub sF_Make, 1765,500,12007, "Oridecon Arrow Quiver";
- goto M_Menu;
-Q5:
- callsub sF_Make, 1752,500,12008, "Fire Arrow Quiver";
- goto M_Menu;
-Q6:
- callsub sF_Make, 1751,500,12009, "Silver Arrow Quiver";
- goto M_Menu;
-Q7:
- callsub sF_Make, 1755,500,12010, "Wind Arrow Quiver";
- goto M_Menu;
-Q8:
- callsub sF_Make, 1756,500,12011, "Stone Arrow Quiver";
- goto M_Menu;
-Q9:
- callsub sF_Make, 1754,500,12012, "Crystal Arrow Quiver";
- goto M_Menu;
-Q10:
- callsub sF_Make, 1767,500,12013, "Shadow Arrow Quiver";
- goto M_Menu;
-Q11:
- callsub sF_Make, 1757,500,12014, "Immaterial Arrow Quiver";
- goto M_Menu;
-Q12:
- callsub sF_Make, 1762,500,12015, "Rusty Arrow Quiver";
- goto M_Menu;
-Q13:
- callsub sF_Make, 1772,500,12183, "Holy Arrow Quiver";
- goto M_Menu;
-
-// Subfunction for making quivers
-//================================
-sF_Make:
- set @arrownum,500;
- if(countitem(getarg(0)) < @arrownum) goto L_NdArrows;
- if(Zeny < getarg(1)) goto L_NdZeny;
- mes "[Inventor Jaax]";
- mes "What do you want me to do?";
- next;
- menu "Give me as many as you can.",-, "I want to set the amount.",sM_0b, "Nevermind",M_End;
-
- set @amount,100;
- if(zeny/getarg(1) < @amount) set @amount, zeny/getarg(1);
- if(countitem(getarg(0))/@arrownum < @amount) set @amount, countitem(getarg(0))/@arrownum;
- if(@amount > 0) goto L_End;
+S_BuyQuiver:
+ if (countitem(getarg(0)) > 499) {
mes "[Inventor Jaax]";
- mes "Jeez... you don't even have the right items.....";
- close;
-
- sM_0b:
- input @amount;
- if(@amount<1 || @amount>100) goto L_BadAmnt;
- if(countitem(getarg(0))/@arrownum < @amount) goto L_NdArrows;
- if(Zeny < (getarg(1)*@amount)) goto L_NdZeny;
-
- L_End:
- set Zeny, Zeny - (getarg(1)*@amount);
- delitem getarg(0), (@amount*@arrownum);
- getitem getarg(2), @amount;
+ mes "Excellent!";
+ mes "Are you carrying any Arrows with you? I'll provide you with a quiver that can carry "+getarg(1)+" of your "+getitemname(getarg(0))+"s for only ^FF3131"+getarg(2)+" Zeny^000000.";
+ next;
+ switch(select("Store as many Arrows in quivers as possible:Purchase 1 quiver:Cancel")) {
+ case 1:
+ set .@arrows,countitem(getarg(0));
+ set .@quiver,.@arrows / getarg(1);
+ set .@arrows_used,.@quiver * getarg(1);
+ set .@arrow_zeny01,.@quiver * getarg(2);
+ mes "Number of";
+ mes "Arrows: ^3131FF"+.@arrows+" ^000000";
+ mes "Maximum Number";
+ mes "of Purchasable";
+ mes "Quivers: ^3131FF"+.@quiver+" ^000000";
+ mes "Zeny required: ^3131FF"+.@arrow_zeny01+" Zeny^000000";
+ next;
+ mes "[Inventor Jaax]";
+ mes "Would you like to";
+ mes "buy as many Quivers";
+ mes "as you can for the Arrows";
+ mes "you are currently carrying?";
+ next;
+ if (select("Yes:Cancel") == 1) {
+ if (.@arrow_zeny01 < Zeny) {
+ mes "[Inventor Jaax]";
+ mes "There you go!";
+ mes "Just remember, ^FF0000you won't be able to use the Quiver when your carried weight is 90% of your maximum weight limit^000000.";
+ set zeny,zeny-.@arrow_zeny01;
+ delitem getarg(0),.@arrows_used; //Arrow
+ getitem getarg(3),.@quiver; //Quiver
+ next;
+ mes "[Inventor Jaax]";
+ mes "So...";
+ mes "Just keep track";
+ mes "of how much you're";
+ mes "carrying from time";
+ mes "to time and you should";
+ mes "be alright.";
+ close;
+ }
+ else {
+ mes "[Inventor Jaax]";
+ mes "I'm sorry, but you don't have enough Zeny. I can't just give these away after working years";
+ mes "to develop this revolutionary technology!";
+ close;
+ }
+ }
+ mes "[Inventor Jaax]";
+ mes "You changed your mind?";
+ mes "When the glory of owning";
+ mes "a quiver is so close?";
+ close;
+ case 2:
+ if (zeny > getarg(2)) {
+ mes "[Inventor Jaax]";
+ mes "There you go!";
+ mes "Just remember, ^FF0000you won't be able to use the Quiver when your carried weight is 90% of your maximum weight limit^000000.";
+ set zeny,zeny-getarg(2);
+ delitem getarg(0),getarg(1); //Arrow
+ getitem getarg(3),1; //Quiver
+ next;
+ mes "[Inventor Jaax]";
+ mes "So...";
+ mes "Just keep track";
+ mes "of how much you're";
+ mes "carrying from time";
+ mes "to time and you should";
+ mes "be alright.";
+ close;
+ }
+ else {
+ mes "[Inventor Jaax]";
+ mes "You don't even";
+ mes "have "+getarg(2)+" Zeny?";
+ mes "I'm so sorry. I had no";
+ mes "idea that you were so...";
+ mes "^333333Destitute^000000.";
+ close;
+ }
+ case 3:
+ mes "[Inventor Jaax]";
+ mes "What...?";
+ mes "Do you not see that this invention can forever change the way Arrows are carried?! The future is now!";
+ close;
+ }
+ }
+ else {
mes "[Inventor Jaax]";
- mes "There you go~!";
- mes "Here are your " +getarg(3)+ ".";
- close;
-
- L_NdArrows:
- mes "[Inventor Jaax]";
- mes "Sorry, but you need 500 Arrows and 500 Zeny to make 1 Arrow Quiver.";
- close;
-
- L_NdZeny:
- mes "[Inventor Jaax]";
- mes "You don't have enough zeny for that many.";
- close;
-
- L_BadAmnt:
+ mes "You can carry a maximum of 500 Arrows within this quiver. It was made using my secret method,";
+ mes "so the total weight of the Arrows and Quiver is less than carrying the Arrows alone.";
+ next;
mes "[Inventor Jaax]";
- mes "Please choose a number between 1 and 100.";
+ mes "It's a miracle of science! One that you can experience for yourself if you bring me at least 500 Arrows and 500 Zeny for each Quiver.";
close;
-
-L_Come:
- mes "[Inventor Jaax]";
- mes "Please, come again whenever you want too.";
- close;
-M_End:
- mes "[Inventor Jaax]";
- mes "Sure, no problem.";
- mes "Come back any time.";
- close;
-}
+ }
+} \ No newline at end of file