summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/Changelog.txt1
-rw-r--r--npc/merchants/alchemist.txt238
2 files changed, 137 insertions, 102 deletions
diff --git a/npc/Changelog.txt b/npc/Changelog.txt
index 7401dc2c8..80c10d503 100644
--- a/npc/Changelog.txt
+++ b/npc/Changelog.txt
@@ -1,6 +1,7 @@
Date Added
======
2008/02/28
+ * Rev 12259 Updated Alchemist Guild Dealer. [L0ne_W0lf]
* Rev 12258 Implemented several "checkweights" in other NPCs. [L0ne_W0lf]
* Rev 12257 Implemented several "checkweight" NPC merchants. [L0ne_W0lf]
2008/02/27
diff --git a/npc/merchants/alchemist.txt b/npc/merchants/alchemist.txt
index b8c52a0a2..212bc8ab7 100644
--- a/npc/merchants/alchemist.txt
+++ b/npc/merchants/alchemist.txt
@@ -3,9 +3,9 @@
//===== By: ==================================================
//= eAthena Team
//===== Current Version: =====================================
-//= 1.4
+//= 1.5
//===== Compatible With: =====================================
-//= eAthena 1.0+
+//= eAthena SVN
//===== Description: =========================================
//= Selling Alchemist Materials and Manuals
//===== Additional Comments: =================================
@@ -14,117 +14,151 @@
//= Potion Guide. [Lupus]
//= 1.3 Deleted Elemental Potions Guide due to original quest [Lupus]
//= 1.4 Alchemists can now purchase 2000 Medicine Bowls at once. [SinSloth]
+//= 1.5 Updated to Aegis 10.3 Standards. [L0ne_W0lf]
//============================================================
-
-alde_alche,24,188,3 script Gever AI Sharp 740,{
- mes "[Gever AI Sharp]";
- mes "Welcome to the Alchemist Union.";
+alde_alche,24,188,3 script Guild Dealer 740,{
+ if (checkweight(1201,1) == 0) {
+ mes "- Wait a minute! -";
+ mes "- Currently you are carrying -";
+ mes "- too many items with you. -";
+ mes "- Please come back again -";
+ mes "- after you store some items into kafra storage. -";
+ close;
+ }
+ mes "[Gever Al Sharp]";
+ mes "Welcome to the";
+ mes "Alchemist Union.";
mes "How can I assist you today?";
next;
- menu "Purchase materials.",M_Material, "Purchase a production manual.",M_Manual, "Cancel Deal.", M_Bye;
-
- M_Material:
- mes "[Gever AI Sharp]";
+ switch(select("Purchase materials.:Purchase a production manual.:Quit.")) {
+ case 1:
+ mes "[Gever Al Sharp]";
mes "What would you like?";
next;
- menu "Medicine Bowl - 8z",-,"Cancel.",M_Bye;
-
- mes "[Gever AI Sharp]";
- mes "How many do you want?";
+ if (select("Medicine Bowl - 8 Zeny:Cancel.") == 1) {
+ mes "[Gever Al Sharp]";
+ mes "How many do you want?";
mes "Enter '0' if you want to quit.";
next;
- input @num;
- if((@num < 1) || (@num > 2000)) goto M_Bye;
- set @price,@num * 8;
- mes "[Gever AI Sharp]";
- if(Zeny < @price) goto sL_NoZeny;
- if (checkweight(7134,@num) == 0) goto sL_OverW;
- set Zeny,Zeny-@price;
- getitem 7134,@num;//Items: Medicine_Bowl,
- goto L_Bye;
- M_Manual:
- mes "[Gever AI Sharp]";
+ while(1) {
+ input .@input,0,2001;
+ if (.@input == 0) {
+ mes "[Gever Al Sharp]";
+ mes "The deal was cancelled.";
+ mes "Come again next time.";
+ close;
+ }
+ else if (.@input < 1 || .@input > 2000) {
+ mes "[Gever Al Sharp]";
+ mes "The number must";
+ mes "be less than 2000.";
+ next;
+ }
+ else {
+ break;
+ }
+ }
+ set .@sell,.@input * 8;
+ set .@item_weight,.@input * 10;
+ if (Zeny < .@sell) {
+ mes "[Gever Al Sharp]";
+ mes "You don't";
+ mes "have enough zeny.";
+ mes "Check how much zeny";
+ mes "you have first.";
+ close;
+ }
+ if ((MaxWeight - Weight) < .@item_weight) {
+ mes "[Gever Al Sharp]";
+ mes "It doesn't seem like";
+ mes "you can carry everything.";
+ mes "Please check the space";
+ mes "in your inventory.";
+ close;
+ }
+ set zeny,zeny-.@sell;
+ getitem 7134,.@input; //Medicine_Bowl
+ mes "[Gever Al Sharp]";
+ mes "Thank you.";
+ mes "Come again.";
+ close;
+ }
+ mes "[Gever Al Sharp]";
+ mes "Well then,";
+ mes "come again when";
+ mes "you need to purchase";
+ mes "materials related to";
+ mes "Alchemy, alright?";
+ close;
+ case 2:
+ mes "[Gever Al Sharp]";
mes "What do you need?";
- mes "Manuals are generally 100,000 zeny.";
- mes "Except for a couple of special manuals.";
- next;
- menu "Potion Creation Guide",sM_Pot, "Alcohol Creation Guide",sM_Alc, "Bottle Grenade Creation Guide",sM_Gren,
- "Acid Bottle Creation Guide",sM_Acid, "Plant Bottle Creation Guide",sM_Plant, "Marine Sphere Bottle Creation Guide",sM_Mar,
- "Glistening Coat Creation Guide",sM_Coat, "Condensed Potion Creation Guide",sM_Con, "Cancel Deal.",M_Bye;
- sM_Pot:
- set @itemid,7144;
- set @price,100000;
- set @itemname$,"Potion";
- goto L_Choice;
- sM_Alc:
- set @itemid,7127;
- set @price,100000;
- set @itemname$,"Alchohol";
- goto L_Choice;
- sM_Gren:
- set @itemid,7128;
- set @price,100000;
- set @itemname$,"Bottle Grenade";
- goto L_Choice;
- sM_Acid:
- set @itemid,7129;
- set @price,100000;
- set @itemname$,"Acid Bottle";
- goto L_Choice;
- sM_Plant:
- set @itemid,7130;
- set @price,100000;
- set @itemname$,"Plant Bottle";
- goto L_Choice;
- sM_Mar:
- set @itemid,7131;
- set @price,100000;
- set @itemname$,"Marine Sphere Bottle";
- goto L_Choice;
- sM_Coat:
- set @itemid,7132;
- set @price,100000;
- set @itemname$,"Glistening Coat";
- goto L_Choice;
- sM_Con:
- set @itemid,7133;
- set @price,240000;
- set @itemname$,"Condensed Potion";
- goto L_Choice;
-// sM_Ele:
-// set @itemid,7434;
-// set @price,240000;
-// set @itemname$,"Elemental Potion";
-// goto L_Choice;
-
- L_Choice:
- mes "[Gever AI Sharp]";
- mes "An " + @itemname$ + " Creation Guide??";
- mes "That will be "+@price/1000+",000 zeny.";
+ mes "Manuals are generally 100,000 zeny. But there are a couple of special manuals that will cost more.";
next;
- menu "Purchase.",-,"Quit.",M_Bye;
-
- mes "[Gever AI Sharp]";
- if(Zeny < @price) goto sL_NoZeny;
- if (checkweight(@itemid,1) == 0) goto sL_OverW;
- set Zeny,Zeny-@price;
- getitem @itemid,1;
- L_Bye:
- mes "Thank you for buying!";
- mes "Come again.";
+ switch(select("Potion Creation Guide:Alcohol Creation Guide:Bottle Grenade Creation Guide:Acid Bottle Creation Guide:Plant Bottle Creation Guide:Marine Sphere Bottle Creation Guide:Glistening Coat Creation Guide:Condensed Potion Creation Guide:Cancel Deal.")) {
+ case 1:
+ callsub S_SellManual,7144,100000; //Normal_Potion_Book
+ break;
+ case 2:
+ callsub S_SellManual,7127,100000; //Alcol_Create_Book
+ break;
+ case 3:
+ callsub S_SellManual,7128,100000; //FireBottle_Create_Book
+ break;
+ case 4:
+ callsub S_SellManual,7129,100000; //Acid_Create_Book
+ break;
+ case 5:
+ callsub S_SellManual,7130,100000; //Plant_Create_Book
+ break;
+ case 6:
+ callsub S_SellManual,7131,100000; //Mine_Create_Book
+ break;
+ case 7:
+ callsub S_SellManual,7132,100000; //Coating_Create_Book
+ break;
+ case 8:
+ callsub S_SellManual,7133,240000; //Slim_Potion_Create_Book
+ break;
+ case 9:
+ mes "[Gever Al Sharp]";
+ mes "Well then...";
+ mes "Come back if you";
+ mes "ever need to buy";
+ mes "a production manual.";
close;
+ }
+ case 3:
+ mes "[Gever Al Sharp]";
+ mes "Alright then,";
+ mes "have a good day.";
+ close;
+ }
- sL_NoZeny:
- mes "You don't seem to have enough money.";
- close;
- sL_OverW:
- mes "Hmm.... it seems that you are overweight...";
- close;
-
-
- M_Bye:
- mes "[Gever AI Sharp]";
- mes "Then come again next time.";
+S_SellManual:
+ if (Zeny < getarg(1)) {
+ mes "[Gever Al Sharp]";
+ mes "You don't";
+ mes "have enough zeny.";
+ mes "Check how much zeny";
+ mes "you have first.";
+ close;
+ }
+ mes "[Gever Al Sharp]";
+ mes ""+getitemname(getarg(0))+"?";
+ mes "That'll be "+getarg(1)+" zeny.";
+ next;
+ switch(select("Purchase.:Quit.")) {
+ set zeny,zeny-getarg(1);
+ getitem getarg(0),1;
+ mes "[Gever Al Sharp]";
+ mes "Thank you for";
+ mes "your patronage.";
close;
+ }
+ mes "[Gever Al Sharp]";
+ mes "Come again";
+ mes "next time.";
+ close;
}