summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authoreuphyy <euphyy@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-08-27 20:37:19 +0000
committereuphyy <euphyy@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-08-27 20:37:19 +0000
commita6df2a0d43963aaeeae2458c08280b9246d085be (patch)
tree5e3bafa4bdaa0f7d698e6fb6a8ba2d166a0975e4 /npc
parent6596b003679c0990d026b0cea82ba8c616d2b8ce (diff)
downloadhercules-a6df2a0d43963aaeeae2458c08280b9246d085be.tar.gz
hercules-a6df2a0d43963aaeeae2458c08280b9246d085be.tar.bz2
hercules-a6df2a0d43963aaeeae2458c08280b9246d085be.tar.xz
hercules-a6df2a0d43963aaeeae2458c08280b9246d085be.zip
* Optimized "3rd Item Seller" script (re\merchants\3rd_trader.txt)
* Optimized Eden Quest lv. 71-85 (re\quests\eden\) * Deleted a duplicate NPC, bugreport:6564 (re\quests\quests_dicastes.txt) * Other small fixes git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16715 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc')
-rw-r--r--npc/other/divorce.txt2
-rw-r--r--npc/other/turbo_track.txt2
-rw-r--r--npc/quests/quests_morocc.txt4
-rw-r--r--npc/re/merchants/3rd_trader.txt560
-rw-r--r--npc/re/quests/eden/71-85.txt604
-rw-r--r--npc/re/quests/magic_books.txt2
-rw-r--r--npc/re/quests/quests_dicastes.txt184
7 files changed, 329 insertions, 1029 deletions
diff --git a/npc/other/divorce.txt b/npc/other/divorce.txt
index 691820c59..21e62013d 100644
--- a/npc/other/divorce.txt
+++ b/npc/other/divorce.txt
@@ -8,7 +8,7 @@
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
-//= [Aegis COnversion]
+//= [Aegis Conversion]
//= Official Divorce script.
//= Added isloggedin() check, even though Aegis doesn't do it;
//= should be able to divorce even when the spouse is not online.
diff --git a/npc/other/turbo_track.txt b/npc/other/turbo_track.txt
index c4040a950..7edb56c18 100644
--- a/npc/other/turbo_track.txt
+++ b/npc/other/turbo_track.txt
@@ -12,7 +12,7 @@
//= - Normal (Non-PVP) - 4/8/16 Person
//= - Expert (PVP) - 4/8/16 Person
//===== Additional Comments: =================================
-//= 0.x Previous authors: L0ne_W0lf, Kisuka, Elias
+//= 0.x Previous authors: L0ne_W0lf, Kisuka, Elias
//= 1.0 Merged Turbo Track. [Joseph]
//============================================================
diff --git a/npc/quests/quests_morocc.txt b/npc/quests/quests_morocc.txt
index d79b02557..ae0c686cb 100644
--- a/npc/quests/quests_morocc.txt
+++ b/npc/quests/quests_morocc.txt
@@ -2033,7 +2033,7 @@ moc_ruins,137,70,3 script Book-Touching Man#garas 48,{
if (barmunt_crow == 0) {
mes "^660000Morroc, the City of the Desert, has been completely devastated by Satan Morroc.^000000";
next;
- mes "^660000The people of Morroc were resilient enough to endure the region�s harsh weather, but their toughness to the weather could not prepare them enough as they witnessed the destruction brought down upon the city by Satan Morroc.^000000";
+ mes "^660000The people of Morroc were resilient enough to endure the region's harsh weather, but their toughness to the weather could not prepare them enough as they witnessed the destruction brought down upon the city by Satan Morroc.^000000";
next;
mes "^660000This man, who looks as dry and thin as a fish dried up under the sun, still has a smile that reminds you of a benevolent god, and is touching a book in his hand.^000000";
next;
@@ -2998,7 +2998,7 @@ yuno_in04,117,102,3 script Old News Scrapbook 844,{
mes "- Culture Page -";
mes "- Please Save My Water -";
mes " ";
- mes "��A recently acclaimed young author,";
+ mes "A recently acclaimed young author,";
mes "Jean Cadoc's new series";
mes "'Please Save My Water' has been ranked at the top";
mes "for the most checked-out book in libraries.";
diff --git a/npc/re/merchants/3rd_trader.txt b/npc/re/merchants/3rd_trader.txt
index 908bc7ad6..1fac05c49 100644
--- a/npc/re/merchants/3rd_trader.txt
+++ b/npc/re/merchants/3rd_trader.txt
@@ -1,356 +1,179 @@
//===== rAthena Script =======================================
//= 3rd Item Seller
//===== By: ==================================================
-//= Masao
-//= Mercurial
+//= Masao, Mercurial
//===== Current Version: =====================================
-//= 1.1
+//= 1.2
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
//= [Aegis Conversion]
-//= Sells some 3rd Job related Items.
+//= Sells some 3rd Job related items.
//===== Additional Comments: =================================
-//= v1.1 Optimized Poison Herb Salesman NPC
-//= v1.0 First Version.
+//= 1.0 First Version.
+//= 1.1 Optimized Poison Herb Salesman NPC
+//= 1.2 Optimized and standardized. [Euphy]
//============================================================
-
job3_guil01,79,96,3 script Poison Herb Salesman::PHS 877,{
-
- // We are unsure about agis script command equivalent please refer to 3rd_trader.sc line 3
- //if( (countitem(1201)>=30000) || checkweight() )
-
- for(set .x,0; .x<getarraysize(.herbs); set .x,.x+1)
- {
- if(!checkweight(.herbs[.x],.maxHerbs))
- {
- mes "- Wait a minute !! -";
- mes "- Currently you're carrying -";
- mes "- too many items with you. -";
- mes "- Please try again -";
- mes "- after you loose some weight. -";
- close;
- }
+ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 20000) {
+ mes "- Wait a minute !! -";
+ mes "- Currently you're carrying -";
+ mes "- too many items with you. -";
+ mes "- Please try again -";
+ mes "- after you lose some weight. -";
+ close;
}
-
- mes .npcName$;
+ mes "[Poison Herb Salesman]";
mes "I am the professional";
mes "poison herb seller.";
mes "Which one do you want?";
- mes "They cost "+.herbCost[0]+" zeny each!";
- set .herbType,select("Nerium:Rantana:Makulata:Seratum:Scopolia:Amoena:Poison Kit")-1;
+ mes "They cost 4,000 zeny each!";
+ set .@i, select("Nerium:Rantana:Makulata:Seratum:Scopolia:Amoena:Poison Kit")-1;
next;
- if(.herbType==(getarraysize(.herbs)-1))
- {
- mes .npcName$;
- mes "You can only buy";
- mes "1 Poison Kit and it costs "+.herbCost[(getarraysize(.herbs)-1)]+" zeny.";
- mes "Will you buy it?";
-
- switch(select("Yes, I will.:No, I won't."))
- {
- case 1:
- if(Zeny < .poisHerbCost)
- {
- next;
- mes .npcName$;
- mes "Please check the money you have.";
- mes "It doesn't seem like you have enough money.";
- close;
- }
- else
- {
- set Zeny,Zeny-.poisHerbCost;
- getitem .herbs[getarraysize(.herbs)-1],1;
- next;
- mes .npcName$;
- mes "Thank you. See you~!";
- close;
- }
- break;
- case 2:
- next;
- mes "[Poison Herb Salesman]";
- mes "Well, I see. See you~!";
- close;
- break;
- }
- }
- else
- {
- mes .npcName$;
+ if (.@i < 6) {
+ mes "[Poison Herb Salesman]";
mes "How many do you want? You can";
- mes "only buy a maximum of "+.maxHerbs+" ea";
+ mes "only buy a maximum of 2000 ea";
mes "and if you want to cancel, enter '0'.";
- input .herbsCount;
- if(.herbsCount<=0) // check if player canceled herb purchase
- {
- next;
- mes .npcName$;
+ next;
+ input .@amount;
+ mes "[Poison Herb Salesman]";
+ if (.@amount == 0) {
mes "You've cancelled the trade.";
close;
}
- else if(.herbsCount>.maxHerbs) // checks if herbs count exceeds maxHerbs limit
- {
- next;
- mes .npcName$;
+ if (.@amount > 2000) {
mes "Please check the maximum";
mes "amount and then try again.";
close;
}
- else if(.herbsCount+countitem(.herbs[.herbType]) > .maxItemStack) // Check item stack according to Aegis script
- {
- mes "- Wait a minute !! -";
- mes "- Currently you're carrying -";
- mes "- too many items with you. -";
- mes "- Please try again -";
- mes "- after you loose some weight. -";
+ if (Zeny < .@amount*4000) {
+ mes "Please check the money you have.";
+ mes "It doesn't seem like you have enough money.";
close;
}
- else
- {
- if(Zeny<(.herbsCount*.herbCost)) // Check if Zeny is enough
- {
- next;
- mes .npcName$;
- mes "Please check the money you have.";
- mes "It doesn't seem like you have enough money.";
- close;
- }
- else // all requirements are met give the item
- {
- set Zeny,Zeny-(.herbsCount*.herbCost);
- getitem .herbs[.herbType],.herbsCount;
- next;
- mes .npcName$;
- mes "Thank you. See you~!";
- close;
- }
+ set Zeny, Zeny-(.@amount*4000);
+ getitem 7932+.@i,.@amount;
+ mes "Thank you. See you~!";
+ close;
+ } else {
+ mes "[Poison Herb Salesman]";
+ mes "You can only buy";
+ mes "1 Poison Kit and it costs 5,000 zeny.";
+ mes "Will you buy it?";
+ next;
+ if(select("Yes, I will.:No, I won't.") == 2) {
+ mes "[Poison Herb Salesman]";
+ mes "Well, I see. See you~!";
+ close;
}
+ mes "[Poison Herb Salesman]";
+ if (Zeny < 5000) {
+ mes "Please check the money you have.";
+ mes "It doesn't seem like you have enough money.";
+ close;
+ }
+ set Zeny, Zeny-5000;
+ getitem 7931,1;
+ mes "[Poison Herb Salesman]";
+ mes "Thank you. See you~!";
+ close;
}
-OnInit:
-// Initialize Item Id's on script engine Init Event
- set .npcName$,"[Poison Herb Salesman]";
- setarray .herbs[0],7932,7933,7934,7935,7936,7937,7931;
- setarray .herbCost[0],4000,4000,4000,4000,4000,4000,5000;
- set .maxHerbs,2000;
- set .poisHerbCost,5000;
- set .maxItemStack,30000;
}
-
+morocc,190,96,4 duplicate(PHS) Poison Herb Salesman#moc 877
+lhz_in02,16,205,4 duplicate(PHS) Poison Herb Salesman#lhz 877
job3_rune01,90,62,3 script Rune Salesman::runesale 853,{
-
- if(checkweight(1201,1) == 0 || MaxWeight - Weight < 20000)
- {
+ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 20000) {
mes "- Wait a minute !! -";
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
- mes "- after you loose some weight. -";
+ mes "- after you lose some weight. -";
close;
}
-
mes "[Rune Salesman]";
mes "Hey, do you need Runes?!";
mes "I sell all kinds of Rune Stones!";
mes "What kind of Rune do you want?";
next;
- switch(select("Buy high-quality Rune Stones.:Buy ordinary Rune Stones."))
- {
- case 1:
- mes "[Rune Salesman]";
+ set .@i, select("Buy high-quality Rune Stones.:Buy ordinary Rune Stones.");
+ mes "[Rune Salesman]";
+ if (.@i == 1) {
mes "High-quality Runes!";
mes "They cost 2,500 zeny each!";
- mes "Tell me how many you want to buy";
- mes "and remember, you can only";
- mes "buy a maximum amount of 2000 ea!";
- next;
- input .@amount;
- if(.@amount == 0)
- {
- mes "[Rune Salesman]";
- mes "You're not buying? Go away!";
- close;
- }
- else if(.@amount > 2000)
- {
- mes "[Rune Salesman]";
- mes "Please check the maximum";
- mes "amount and then come back to me again!";
- close;
- }
- else if(Zeny < .@amount * 2500)
- {
- mes "[Rune Salesman]";
- mes "Money! Money!";
- mes "You are short of money!";
- mes "Check the amount of money you have!!";
- close;
- }
- set .@checkweight,.@amount * 100;
- if (MaxWeight < .@checkweight)
- {
- mes "[Rune Salesman]";
- mes "You're not able to carry it, so why are you trying to buy it?!";
- close;
- }
- set Zeny,Zeny - .@amount * 2500;
- getitem 12734,.@amount;
- mes "[Rune Salesman]";
- mes "You can buy more again.";
- mes "So, see you later.";
- close;
- case 2:
- mes "[Rune Salesman]";
+ setarray .@rune[0],12734,2500;
+ } else {
mes "Ordinary Rune Stones?";
mes "They cost 1,000 zeny each!";
- mes "Tell me how many you want to buy";
- mes "and remember, you can only";
- mes "buy a maximum amount of 2000 ea!";
- next;
- input .@amount;
- if(.@amount == 0)
- {
- mes "[Rune Salesman]";
- mes "You're not buying? Go away!";
- close;
- }
- else if(.@amount > 2000)
- {
- mes "[Rune Salesman]";
- mes "Please check the maximum";
- mes "amount and then come back to me again!";
- close;
- }
- else if(Zeny < .@amount * 1000)
- {
- mes "[Rune Salesman]";
- mes "Money! Money!";
- mes "You are short of money!";
- mes "Check the amount of money you have!!";
- close;
- }
- set .@checkweight,.@amount * 100;
- if (MaxWeight < .@checkweight)
- {
- mes "[Rune Salesman]";
- mes "You're not able to carry it, so why are you trying to buy it?!";
- close;
- }
- set Zeny,Zeny - .@amount * 1000;
- getitem 12737,.@amount;
- mes "[Rune Salesman]";
- mes "You can buy more again.";
- mes "So, see you later.";
+ setarray .@rune[0],12737,1000;
+ }
+ mes "Tell me how many you want to buy";
+ mes "and remember, you can only";
+ mes "buy a maximum amount of 2000 ea!";
+ next;
+ input .@amount;
+ mes "[Rune Salesman]";
+ if (.@amount == 0) {
+ mes "You're not buying? Go away!";
+ close;
+ }
+ if (.@amount > 2000) {
+ mes "Please check the maximum";
+ mes "amount and then come back to me again!";
+ close;
+ }
+ if (Zeny < .@amount*.@rune[1]) {
+ mes "Money! Money!";
+ mes "You are short of money!";
+ mes "Check the amount of money you have!!";
+ close;
+ }
+ if (!checkweight(.@rune[0],.@amount)) {
+ mes "You're not able to carry it, so why are you trying to buy it?!";
close;
}
+ set Zeny, Zeny-(.@amount*.@rune[1]);
+ getitem .@rune[0],.@amount;
+ mes "You can buy more again.";
+ mes "So, see you later.";
+ close;
}
+prontera,168,228,3 duplicate(runesale) Rune Salesman#1 853
job3_guil01,91,93,3 script Rare Herb Collector 49,{
-
- if(checkweight(1201,1) == 0 || MaxWeight - Weight < 20000)
- {
+ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 20000) {
mes "- Wait a minute !! -";
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
- mes "- after you loose some weight. -";
+ mes "- after you lose some weight. -";
close;
}
-
- if (Class == 4059 || Class == 4065)
- {
+ if (Class == Job_Guillotine_Cross || Class == Job_Guillotine_Cross_T || Class == Job_Baby_Cross) {
mes "[Rare Poison Herb Collector]";
mes "I wander around the world and collect rare poison herbs. Recently, I am dealing in the herb called Izidor. If you are interested, you can buy them.";
next;
- switch(select("How can I buy them?:Exchange it with Animal Blood:Exchange it with a Bitter Herb:Exchange it with a Deadly Noxious Herb:Exchange it with a Frozen Rose:Exchange it with Ment:Exchange it with Hinalle"))
- {
- case 1:
+ set .@i, select("How can I buy them?:Exchange it with Animal Blood:Exchange it with a Bitter Herb:Exchange it with a Deadly Noxious Herb:Exchange it with a Frozen Rose:Exchange it with Ment:Exchange it with Hinalle")-1;
+ if (.@i == 0) {
mes "[Rare Poison Herb Collector]";
mes "You can buy any of those items for 10,000 zeny: Animal Blood, Bitter Herb, Deadly Noxious Herb, Frozen Rose, Ment or Hinalle. ";
next;
mes "[Rare Poison Herb Collector]";
mes "Why I ask for money? That is just to pay a little respect to a collector like me. Ha ha ha...";
close;
- case 2:
- if ((countitem(702) > 0) && (Zeny > 9999))
- {
- mes "[Rare Poison Herb Collector]";
- mes "Thank you. I've received your payment.";
- delitem 702,1;
- set Zeny,Zeny - 10000;
- getitem 709,1;
- close;
- }
- mes "[Rare Poison Herb Collector]";
- mes "Hey, try again after you've prepared all the requirements for the exchange.";
- close;
- case 3:
- if ((countitem(621) > 0) && (Zeny > 9999))
- {
- mes "[Rare Poison Herb Collector]";
- mes "Thank you. I've received your payment.";
- delitem 621,1;
- set Zeny,Zeny - 10000;
- getitem 709,1;
- close;
- }
- mes "[Rare Poison Herb Collector]";
- mes "Hey, try again after you've prepared all the requirements for the exchange.";
- close;
- case 4:
- if ((countitem(631) > 0) && (Zeny > 9999))
- {
- mes "[Rare Poison Herb Collector]";
- mes "Thank you. I've received your payment.";
- delitem 631,1;
- set Zeny,Zeny - 10000;
- getitem 709,1;
- close;
- }
- mes "[Rare Poison Herb Collector]";
- mes "Hey, try again after you've prepared all the requirements for the exchange.";
- close;
- case 5:
- if ((countitem(749) > 0) && (Zeny > 9999))
- {
- mes "[Rare Poison Herb Collector]";
- mes "Thank you. I've received your payment.";
- delitem 749,1;
- set Zeny,Zeny - 10000;
- getitem 709,1;
- close;
- }
- mes "[Rare Poison Herb Collector]";
- mes "Hey, try again after you've prepared all the requirements for the exchange.";
- close;
- case 6:
- if ((countitem(605) > 0) && (Zeny > 9999))
- {
- mes "[Rare Poison Herb Collector]";
- mes "Thank you. I've received your payment.";
- delitem 605,1;
- set Zeny,Zeny - 10000;
- getitem 709,1;
- close;
- }
+ } else {
+ setarray .@exchange[1],702,621,631,749,605,703;
mes "[Rare Poison Herb Collector]";
- mes "Hey, try again after you've prepared all the requirements for the exchange.";
- close;
- case 7:
- if ((countitem(703) > 0) && (Zeny > 9999))
- {
- mes "[Rare Poison Herb Collector]";
- mes "Thank you. I've received your payment.";
- delitem 703,1;
- set Zeny,Zeny - 10000;
- getitem 709,1;
+ if (!countitem(.@exchange[.@i]) || Zeny < 10000) {
+ mes "Hey, try again after you've prepared all the requirements for the exchange.";
close;
}
- mes "[Rare Poison Herb Collector]";
- mes "Hey, try again after you've prepared all the requirements for the exchange.";
+ mes "Thank you. I've received your payment.";
+ delitem .@exchange[.@i],1;
+ set Zeny, Zeny-10000;
+ getitem 709,1;
close;
}
}
@@ -360,165 +183,48 @@ job3_guil01,91,93,3 script Rare Herb Collector 49,{
}
gef_tower,105,172,5 script Point Salesman#Sorcerer::pss 700,{
-
- if(checkweight(1201,1) == 0 || MaxWeight - Weight < 20000)
- {
+ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 20000) {
mes "- Wait a minute !! -";
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
- mes "- after you loose some weight. -";
+ mes "- after you lose some weight. -";
close;
}
-
- mes "[Point Salesman]";
- mes "Hello. I'm selling a catalyst that are called ^FF0000Points^000000 for Sorcerers. What would you like?";
+ mes "[Point Salesman]";
+ mes "Hello. I'm selling a catalyst called ^FF0000Points^000000 for Sorcerers. What would you like?";
next;
- switch(select("Scarlet Points - 200z:Lime Green Points - 200z:Indigo Points - 200z:Yellow Wish Points - 200z:Cancel"))
- {
- case 1:
- mes "[Point Salesman]";
- mes "You have chosen Scarlet Points.";
- mes "How many do you want?";
- mes "If you want to cancel, enter 0.";
- next;
- input .@amount;
- if (.@amount == 0)
- {
- mes "[Point Salesman]";
- mes "You've cancelled the trade.";
- close;
- }
- set .@po_weight,.@amount * 10;
- set .@tt_weight,MaxWeight - .@po_weight;
- set .@po_money,.@amount * 200;
- if (.@tt_weight > 0)
- {
- if (Zeny >= .@po_money)
- {
- set Zeny,Zeny - .@po_money;
- getitem 6360,.@amount;
- mes "[Point Salesman]";
- mes "Thank you very much. See you~!";
- close;
- }
- mes "[Point Salesman]";
- mes "You don't seem to have enough money.";
- close;
- }
- mes "[Point Salesman]";
- mes "You don't have enough space in your inventory to buy this amount.";
+ set .@i, select("Scarlet Points - 200z:Lime Green Points - 200z:Indigo Points - 200z:Yellow Wish Points - 200z:Cancel")-1;
+ mes "[Point Salesman]";
+ if (.@i == 4) {
+ mes "You can't find the stuff you need?";
close;
- case 2:
- mes "[Point Salesman]";
- mes "You have chosen Lime Green Points.";
- mes "How many do you want?";
- mes "If you want to cancel, enter 0.";
- next;
- input .@amount;
- if (.@amount == 0)
- {
- mes "[Point Salesman]";
- mes "You've cancelled the trade.";
- close;
- }
- set .@po_weight,.@amount * 10;
- set .@tt_weight,MaxWeight - .@po_weight;
- set .@po_money,.@amount * 200;
- if (.@tt_weight > 0)
- {
- if (Zeny >= .@po_money)
- {
- set Zeny,Zeny - .@po_money;
- getitem 6363,.@amount;
- mes "[Point Salesman]";
- mes "Thank you very much. See you~!";
- close;
- }
- mes "[Point Salesman]";
- mes "You don't seem to have enough money.";
- close;
- }
- mes "[Point Salesman]";
- mes "You don't have enough space in your inventory to buy this amount.";
+ }
+ setarray .@itemid[0],6360,6363,6361,6362;
+ setarray .@color$[0],"Scarlet","Lime Green","Indigo","Yellow Wish";
+ mes "You have chosen "+.@color$[.@i]+" Points.";
+ mes "How many do you want?";
+ mes "If you want to cancel, enter 0.";
+ next;
+ input .@amount;
+ mes "[Point Salesman]";
+ if (.@amount == 0) {
+ mes "You've cancelled the trade.";
close;
- case 3:
- mes "[Point Salesman]";
- mes "You have chosen Indigo Points.";
- mes "How many do you want?";
- mes "If you want to cancel, enter 0.";
- next;
- input .@amount;
- if (.@amount == 0)
- {
- mes "[Point Salesman]";
- mes "You've cancelled the trade.";
- close;
- }
- set .@po_weight,.@amount * 10;
- set .@tt_weight,MaxWeight - .@po_weight;
- set .@po_money,.@amount * 200;
- if (.@tt_weight > 0)
- {
- if (Zeny >= .@po_money)
- {
- set Zeny,Zeny - .@po_money;
- getitem 6361,.@amount;
- mes "[Point Salesman]";
- mes "Thank you very much. See you~!";
- close;
- }
- mes "[Point Salesman]";
- mes "You don't seem to have enough money.";
- close;
- }
- mes "[Point Salesman]";
- mes "You don't have enough space in your inventory to buy this amount.";
+ }
+ if (Zeny < .@amount*200) {
+ mes "You don't seem to have enough money.";
close;
- case 4:
- mes "[Point Salesman]";
- mes "You have chosen Yellow Wish Points.";
- mes "How many do you want?";
- mes "If you want to cancel, enter 0.";
- next;
- input .@amount;
- if (.@amount == 0)
- {
- mes "[Point Salesman]";
- mes "You've cancelled the trade.";
- close;
- }
- set .@po_weight,.@amount * 10;
- set .@tt_weight,MaxWeight - .@po_weight;
- set .@po_money,.@amount * 200;
- if (.@tt_weight > 0)
- {
- if (Zeny >= .@po_money)
- {
- set Zeny,Zeny - .@po_money;
- getitem 6362,.@amount;
- mes "[Point Salesman]";
- mes "Thank you very much. See you~!";
- close;
- }
- mes "[Point Salesman]";
- mes "You don't seem to have enough money.";
- close;
- }
- mes "[Point Salesman]";
+ }
+ if (!checkweight(.@itemid[.@i],.@amount)) {
mes "You don't have enough space in your inventory to buy this amount.";
close;
- case 5:
- mes "[Point Salesman]";
- mes "You can't find the stuff you need?";
- close;
}
+ set Zeny, Zeny-(.@amount*200);
+ getitem .@itemid[.@i],.@amount;
+ mes "Thank you very much. See you~!";
+ close;
}
-
-
-morocc,190,96,4 duplicate(PHS) Poison Herb Salesman#moc 877
-lhz_in02,16,205,4 duplicate(PHS) Poison Herb Salesman#lhz 877
-prontera,168,228,3 duplicate(runesale) Rune Salesman#1 853
comodo,241,103,6 duplicate(pss) Point Salesman#1 700
alberta,105,52,7 duplicate(pss) Point Salesman#2 700
veins,202,128,6 duplicate(pss) Point Salesman#3 700 \ No newline at end of file
diff --git a/npc/re/quests/eden/71-85.txt b/npc/re/quests/eden/71-85.txt
index 6ab3d645c..b6b94e81f 100644
--- a/npc/re/quests/eden/71-85.txt
+++ b/npc/re/quests/eden/71-85.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
-//= 1.1
+//= 1.2
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
@@ -11,6 +11,7 @@
//===== Additional Comments: =================================
//= 1.0 First Version.
//= 1.1 Some little optimization here and there. [Masao]
+//= 1.2 Optimized. [Euphy]
//============================================================
moc_para01,44,38,3 script Mission [71 - 85] 857,{
@@ -33,36 +34,11 @@ moc_para01,44,38,3 script Mission [71 - 85] 857,{
mes "- Dungeon. I will wait for -";
mes "- you in front of the -";
mes "- western gate. -";
- next;
- switch (select("Accept mission.:Decline mission.")) {
- case 1:
- if (slv_quest == 2 || slv_quest == 3 || slv_quest == 4 || slv_quest == 5 || slv_quest == 6) {
- mes "- You are already on -";
- mes "- another mission. -";
- mes "- You can't do multiple -";
- mes "- missions. Finish your -";
- mes "- current mission first. -";
- close;
- }
- if (checkquest(10102) == -1 || checkquest(10102) == 0) {
- setquest 10102;
- set slv_quest,1;
- mes "- Good. Now go find Meidi -";
- mes "- at the western gate -";
- mes "- in Morroc. -";
- close;
- }
- mes "- You are already on -";
- mes "- or have recently -";
- mes "- completed a mission. -";
- mes "- You can't do anymore -";
- mes "- missions right now. -";
- close;
- case 2:
- mes "- I don't want to do -";
- mes "- a mission right now. -";
- close;
- }
+ callsub L_Quest,10102,1;
+ mes "- Good. Now go find Meidi -";
+ mes "- at the western gate -";
+ mes "- in Morroc. -";
+ close;
case 2:
mes "- Glast Heim -";
mes "- I am Ancellia. -";
@@ -70,35 +46,10 @@ moc_para01,44,38,3 script Mission [71 - 85] 857,{
mes "- hunting monsters -";
mes "- in Glast Heim.-";
mes "- Please help me. -";
- next;
- switch (select("Accept mission.:Decline mission.")) {
- case 1:
- if (slv_quest == 1 || slv_quest == 3 || slv_quest == 4 || slv_quest == 5 || slv_quest == 6) {
- mes "- You are already on -";
- mes "- another mission. -";
- mes "- You can't do multiple -";
- mes "- missions. Finish your -";
- mes "- current mission first. -";
- close;
- }
- if (checkquest(10103) == -1 || checkquest(10103) == 0) {
- setquest 10103;
- set slv_quest,2;
- mes "- Look for Ancellia. -";
- mes "- in Geffen. -";
- close;
- }
- mes "- You are already on -";
- mes "- or have recently -";
- mes "- completed a mission. -";
- mes "- You can't do anymore -";
- mes "- missions right now. -";
- close;
- case 2:
- mes "- I don't want to do -";
- mes "- a mission right now. -";
- close;
- }
+ callsub L_Quest,10103,2;
+ mes "- Look for Ancellia. -";
+ mes "- in Geffen. -";
+ close;
case 3:
mes "- Juno Area -";
mes "- I want to go to Juno, -";
@@ -107,35 +58,10 @@ moc_para01,44,38,3 script Mission [71 - 85] 857,{
mes "- strong for me. Come -";
mes "- visit me in Al De Baran. -";
mes "- My name is Jeanbai. -";
- next;
- switch (select("Accept mission.:Decline mission.")) {
- case 1:
- if (slv_quest == 1 || slv_quest == 2 || slv_quest == 4 || slv_quest == 5 || slv_quest == 6) {
- mes "- You are already on -";
- mes "- another mission. -";
- mes "- You can't do multiple -";
- mes "- missions. Finish your -";
- mes "- current mission first. -";
- close;
- }
- if (checkquest(10104) == -1 || checkquest(10104) == 0) {
- setquest 10104;
- set slv_quest,3;
- mes "- Look for Jeanbai -";
- mes "- in Al De Baran. -";
- close;
- }
- mes "- You are already on -";
- mes "- or have recently -";
- mes "- completed a mission. -";
- mes "- You can't do anymore -";
- mes "- missions right now. -";
- close;
- case 2:
- mes "- I don't want to do -";
- mes "- a mission right now. -";
- close;
- }
+ callsub L_Quest,10104,3;
+ mes "- Look for Jeanbai -";
+ mes "- in Al De Baran. -";
+ close;
case 4:
mes "- Clock Tower -";
mes "- A Clock is the best thing! -";
@@ -143,70 +69,20 @@ moc_para01,44,38,3 script Mission [71 - 85] 857,{
mes "- some monster inside of.-";
mes "- the Clock Tower, -";
mes "- Risingeter. -";
- next;
- switch (select("Accept mission.:Decline mission.")) {
- case 1:
- if (slv_quest == 1 || slv_quest == 2 || slv_quest == 4 || slv_quest == 5 || slv_quest == 6) {
- mes "- You are already on -";
- mes "- another mission. -";
- mes "- You can't do multiple -";
- mes "- missions. Finish your -";
- mes "- current mission first. -";
- close;
- }
- if (checkquest(10105) == -1 || checkquest(10105) == 0) {
- setquest 10105;
- set slv_quest,4;
- mes "- Look for Risingeter -";
- mes "- in front of the -";
- mes "- Clock Tower. -";
- close;
- }
- mes "- You are already on -";
- mes "- or have recently -";
- mes "- completed a mission. -";
- mes "- You can't do anymore -";
- mes "- missions right now. -";
- close;
- case 2:
- mes "- I don't want to do -";
- mes "- a mission right now. -";
- close;
- }
+ callsub L_Quest,10105,4;
+ mes "- Look for Risingeter -";
+ mes "- in front of the -";
+ mes "- Clock Tower. -";
+ close;
case 5:
mes "- Localized Islands -";
mes "- I need someone who -";
mes "- can hunt monsters -";
mes "- for Funfi in Alberta. -";
- next;
- switch (select("Accept mission.:Decline mission.")) {
- case 1:
- if (slv_quest == 1 || slv_quest == 2 || slv_quest == 3 || slv_quest == 4 || slv_quest == 6) {
- mes "- You are already on -";
- mes "- another mission. -";
- mes "- You can't do multiple -";
- mes "- missions. Finish your -";
- mes "- current mission first. -";
- close;
- }
- if (checkquest(10106) == -1 || checkquest(10106) == 0) {
- setquest 10106;
- set slv_quest,5;
- mes "- Loof for Funfi -";
- mes "- in Alberta. -";
- close;
- }
- mes "- You are already on -";
- mes "- or have recently -";
- mes "- completed a mission. -";
- mes "- You can't do anymore -";
- mes "- missions right now. -";
- close;
- case 2:
- mes "- I don't want to do -";
- mes "- a mission right now. -";
- close;
- }
+ callsub L_Quest,10106,5;
+ mes "- Loof for Funfi -";
+ mes "- in Alberta. -";
+ close;
}
}
mes "- Only members of the -";
@@ -215,6 +91,32 @@ moc_para01,44,38,3 script Mission [71 - 85] 857,{
mes "- Try to find a board -";
mes "- that suits your level. -";
close;
+L_Quest:
+ next;
+ if(select("Accept mission.:Decline mission.") == 2) {
+ mes "- I don't want to do -";
+ mes "- a mission right now. -";
+ close;
+ }
+ if (slv_quest && slv_quest != getarg(1)) {
+ mes "- You are already on -";
+ mes "- another mission. -";
+ mes "- You can't do multiple -";
+ mes "- missions. Finish your -";
+ mes "- current mission first. -";
+ close;
+ }
+ if (checkquest(getarg(0)) <= 0) {
+ setquest getarg(0);
+ set slv_quest,getarg(1);
+ return;
+ }
+ mes "- You are already on -";
+ mes "- or have recently -";
+ mes "- completed a mission. -";
+ mes "- You can't do anymore -";
+ mes "- missions right now. -";
+ close;
}
morocc,35,174,5 script Meidi 729,{
@@ -232,75 +134,29 @@ morocc,35,174,5 script Meidi 729,{
mes "Wow! How did you come back so fast?";
mes "What monster did you hunt?";
next;
- switch (select("Requiem:Marduk:Pasana")) {
- case 1:
- if (checkquest(10107,HUNTING) == 2) {
- mes "[Meidi]";
- mes "You've hunted all 10 Requim.";
- mes "Thank you very much.";
- next;
- mes "[Meidi]";
- mes "I know it isn't much but here's a small gift.";
- mes "I hope that it will be helpfull to you.";
- next;
- completequest 10107;
- getexp 48000,0;
- mes "[Meidi]";
- mes "Wooohoo!";
- mes "Good luck.";
- close;
- }
+ setarray .@monsters$[0],"Requiem","Marduk","Pasana";
+ set .@i, select(implode(.@monsters$,":"))-1;
+ if (checkquest(10107+.@i,HUNTING) == 2) {
mes "[Meidi]";
- mes "You didn't hunt 10 Requim yet,";
- mes "You should make sure that you hunt all of them.";
- mes "Can you check again?";
- close;
- case 2:
- if (checkquest(10108,HUNTING) == 2) {
- mes "[Meidi]";
- mes "You've hunted all 10 Marduk.";
- mes "Thank you very much.";
- next;
- mes "[Meidi]";
- mes "I know it isn't much but here's a small gift.";
- mes "I hope that it will be helpfull to you.";
- next;
- completequest 10108;
- getexp 48000,0;
- mes "[Meidi]";
- mes "Wooohoo!";
- mes "Good luck.";
- close;
- }
+ mes "You've hunted all 10 "+.@monsters$[.@i]+".";
+ mes "Thank you very much.";
+ next;
mes "[Meidi]";
- mes "You didn't hunt 10 Marduk yet,";
- mes "You should make sure that you hunt all of them.";
- mes "Can you check again?";
- close;
- case 3:
- if (checkquest(10109,HUNTING) == 2) {
- mes "[Meidi]";
- mes "Wow, you've hunted 10 Pasana.";
- mes "Cool.";
- mes "Thank you very much.";
- next;
- mes "[Meidi]";
- mes "I know it isn't much but here's a small gift.";
- mes "I hope that it will be helpfull to you.";
- next;
- completequest 10109;
- getexp 48000,0;
- mes "[Meidi]";
- mes "Wooohoo!";
- mes "Good luck.";
- close;
- }
+ mes "I know it isn't much but here's a small gift.";
+ mes "I hope that it will be helpful to you.";
+ next;
+ completequest 10107+.@i;
+ getexp 48000,0;
mes "[Meidi]";
- mes "You didn't hunt 10 Pasana yet,";
- mes "You should make sure that you hunt all of them.";
- mes "Can you check again?";
+ mes "Wooohoo!";
+ mes "Good luck.";
close;
}
+ mes "[Meidi]";
+ mes "You didn't hunt 10 "+.@monsters$[.@i]+" yet.";
+ mes "You should make sure that you hunt all of them.";
+ mes "Can you check again?";
+ close;
}
if (slv_quest == 6) {
mes "[Meidi]";
@@ -315,8 +171,8 @@ morocc,35,174,5 script Meidi 729,{
mes "That place is very dangerous.";
mes "Someone should go inside an make it safer for everyone.";
mes "Hopefully, very soon!";
- next;
if (slv_quest == 1) {
+ next;
mes "[Meidi]";
mes "Oh! Are you from the Eden Group?";
mes "Are you here for my mission?";
@@ -383,84 +239,26 @@ geffen,146,132,3 script Ancellia 906,{
mes "What monster have you hunted?";
mes "Do you remember its name?";
next;
- switch (select("Dark Frame:Evil Druid:Wraith:Raydric Archer")) {
- case 1:
- if (checkquest(10110,HUNTING) == 2) {
- mes "[Ancellia]";
- mes "Ah, you've hunted 10 Dark Frames.";
- mes "That was pretty difficult!";
- mes "Thank you very much.";
- next;
- completequest 10110;
- getexp 48000,0;
- mes "[Ancellia]";
- mes "Perhaps you can hunt the rest as well.";
- mes "I will wait for you here.";
- close;
- }
- mes "[Ancellia]";
- mes "Hmm... maybe you were confused.";
- mes "You didn't hunt all 10 Dark Frames.";
- mes "Can you check again?";
- close;
- case 2:
- if (checkquest(10111,HUNTING) == 2) {
- mes "[Ancellia]";
- mes "Ah, you've hunted 10 Evil Druids.";
- mes "That was pretty difficult!";
- mes "Thank you very much.";
- next;
- completequest 10111;
- getexp 48000,0;
- mes "[Ancellia]";
- mes "Perhaps you can hunt the rest as well.";
- mes "I will wait for you here.";
- close;
- }
- mes "[Ancellia]";
- mes "Hmm... maybe you were confused.";
- mes "You didn't hunt all 10 Evil Druids.";
- mes "Can you check again?";
- close;
- case 3:
- if (checkquest(10112,HUNTING) == 2) {
- mes "[Ancellia]";
- mes "Ah, you've hunted 10 Wraith.";
- mes "That was pretty difficult!";
- mes "Thank you very much.";
- next;
- completequest 10112;
- getexp 48000,0;
- mes "[Ancellia]";
- mes "Perhaps you can hunt the rest as well.";
- mes "I will wait for you here.";
- close;
- }
+ setarray .@monsters$[0],"Dark Frame","Evil Druid","Wraith","Raydric Archer";
+ set .@i, select(implode(.@monsters$,":"))-1;
+ if (checkquest(10110+.@i,HUNTING) == 2) {
mes "[Ancellia]";
- mes "Hmm... maybe you were confused.";
- mes "You didn't hunt all 10 Wraith.";
- mes "Can you check again?";
- close;
- case 4:
- if (checkquest(10113,HUNTING) == 2) {
- mes "[Ancellia]";
- mes "Ah, you've hunted 10 Raydric Archers.";
- mes "That was pretty difficult!";
- mes "Thank you very much.";
- next;
- completequest 10113;
- getexp 48000,0;
- mes "[Ancellia]";
- mes "Perhaps you can hunt the rest as well.";
- mes "I will wait for you here.";
- close;
- }
+ mes "Ah, you've hunted 10 "+.@monsters$[.@i]+"s.";
+ mes "That was pretty difficult!";
+ mes "Thank you very much.";
+ next;
+ completequest 10110+.@i;
+ getexp 48000,0;
mes "[Ancellia]";
- mes "Hmm... maybe you were confused.";
- mes "You didn't hunt all 10 Raydric Archers.";
- mes "Can you check again?";
+ mes "Perhaps you can hunt the rest as well.";
+ mes "I will wait for you here.";
close;
}
+ mes "[Ancellia]";
+ mes "Hmm... maybe you were confused.";
+ mes "You didn't hunt all 10 "+.@monsters$[.@i]+".";
+ mes "Can you check again?";
+ close;
}
if (slv_quest == 6) {
mes "[Ancellia]";
@@ -478,8 +276,8 @@ geffen,146,132,3 script Ancellia 906,{
mes "[Ancellia]";
mes "One day the came out of the castle and attacked a nearby village, it was terrible.";
mes "That's why I can't stop worrying.";
- next;
if (slv_quest == 2) {
+ next;
mes "[Ancellia]";
mes "Oh, you got my mission";
mes "from the Eden Group. Great~!";
@@ -540,81 +338,25 @@ aldebaran,144,230,3 script Jeanbai 900,{
mes "You amaze me!";
mes "So what monster did you hunt?";
next;
- switch (select("Grand Peco:Sleeper:Goat:Harpy")) {
- case 1:
- if (checkquest(10114,HUNTING) == 2) {
- mes "[Jeanbai]";
- mes "You've hunted 20 Grand Pecos. Perfect!";
- mes "Thanks a lot.";
- next;
- completequest 10114;
- getexp 48000,0;
- mes "[Jeanbai]";
- mes "Please hunt the others as soon as possible.";
- mes "I have faith in you!";
- close;
- }
- mes "[Jeanbai]";
- mes "What? Maybe you were confused.";
- mes "You haven't hunted all 20 Grand Pecos.";
- mes "Please check again.";
- close;
- case 2:
- if (checkquest(10115,HUNTING) == 2) {
- mes "[Jeanbai]";
- mes "You've hunted 20 Sleepers!";
- mes "Thanks a lot.";
- next;
- completequest 10115;
- getexp 48000,0;
- mes "[Jeanbai]";
- mes "Please hunt the others as soon as possible.";
- mes "I have faith in you!";
- close;
- }
+ setarray .@monsters$[0],"Grand Peco","Sleeper","Goat","Harpy";
+ set .@i, select(implode(.@monsters$,":"))-1;
+ if (checkquest(10114+.@i,HUNTING) == 2) {
mes "[Jeanbai]";
- mes "What? Maybe you were confused.";
- mes "You haven't hunted all 20 Sleepers.";
- mes "Please check again.";
- close;
- case 3:
- if (checkquest(10116,HUNTING) == 2) {
- mes "[Jeanbai]";
- mes "You've hunted 20 Goats. Perfect!";
- mes "I checked the amounts and you're right.";
- mes "Thanks a lot.";
- next;
- completequest 10116;
- getexp 48000,0;
- mes "[Jeanbai]";
- mes "Please hunt the others as soon as possible.";
- mes "I have faith in you!";
- close;
- }
- mes "[Jeanbai]";
- mes "What? Maybe you were confused.";
- mes "You haven't hunted all 20 Goats.";
- mes "Please check again.";
- close;
- case 4:
- if (checkquest(10117,HUNTING) == 2) {
- mes "[Jeanbai]";
- mes "You've hunted 20 Harpies. Perfect!";
- mes "Thanks a lot.";
- next;
- completequest 10117;
- getexp 48000,0;
- mes "[Jeanbai]";
- mes "Please hunt the others as soon as possible.";
- mes "I have faith in you!";
- close;
- }
+ mes "You've hunted 20 "+.@monsters$[.@i]+"s. Perfect!";
+ mes "Thanks a lot.";
+ next;
+ completequest 10114+.@i;
+ getexp 48000,0;
mes "[Jeanbai]";
- mes "What? Maybe you were confused.";
- mes "You haven't hunted all 20 Harpies.";
- mes "Please check again.";
+ mes "Please hunt the others as soon as possible.";
+ mes "I have faith in you!";
close;
}
+ mes "[Jeanbai]";
+ mes "What? Maybe you were confused.";
+ mes "You haven't hunted all 20 "+.@monsters$[.@i]+"s.";
+ mes "Please check again.";
+ close;
}
if (slv_quest == 6) {
mes "[Jeanbai]";
@@ -632,8 +374,8 @@ aldebaran,144,230,3 script Jeanbai 900,{
mes "[Jeanbai]";
mes "Monsters are increasing in numbers so travelers like me have a hard time getting around.";
mes "I wish I could travel around without having to worry about that.";
- next;
if (slv_quest == 3) {
+ next;
mes "[Jeanbai]";
mes "Oh, did you get my mission from the Eden Group?";
mes "Great~! We don't have a lot of time.";
@@ -695,68 +437,27 @@ aldebaran,105,116,3 script Risingeter 869,{
mes "You were the right person for this mission.";
mes "Which monster did you hunt?";
next;
- switch (select("Clock:Punk:Rideword")) {
- case 1:
- if (checkquest(10118,HUNTING) == 2) {
- mes "[Risingeter]";
- mes "Good! You've hunted 15 Clocks.";
- mes "Ah, now I can hear the clock sound clearly...";
- mes "Tic!! toc!! tic!! toc!!...";
- next;
- completequest 10118;
- getexp 48000,0;
- mes "[Risingeter]";
- mes "Thanks a lot!";
- mes "I hope you can hunt the rest as well.";
- mes "Go as soon as you can!";
- close;
- }
- mes "[Risingeter]";
- mes "Uh? Something is wrong.";
- mes "15 Clocks, right?";
- mes "You better check how many you've hunted.";
- close;
- case 2:
- if (checkquest(10119,HUNTING) == 2) {
- mes "[Risingeter]";
- mes "Good! You've hunted 15 Punks.";
- mes "Ah, now I can hear the clock sound clearly...";
- mes "Tic!! toc!! tic!! toc!!...";
- next;
- completequest 10119;
- getexp 48000,0;
- mes "[Risingeter]";
- mes "Thanks a lot!";
- mes "I hope you can hunt the rest as well.";
- mes "Go as soon as you can!";
- close;
- }
+ setarray .@monsters$[0],"Clock","Punk","Rideword";
+ set .@i, select(implode(.@monsters$,":"))-1;
+ if (checkquest(10118+.@i,HUNTING) == 2) {
mes "[Risingeter]";
- mes "Uh? Something is wrong.";
- mes "15 Punks, right?";
- mes "You better check how many you've hunted.";
- close;
- case 3:
- if (checkquest(10120,HUNTING) == 2) {
- mes "[Risingeter]";
- mes "Good! You've hunted 15 Ridewords.";
- mes "Ah, now I can hear the clock sound clearly...";
- mes "Tic!! toc!! tic!! toc!!...";
- next;
- completequest 10120;
- getexp 48000,0;
- mes "[Risingeter]";
- mes "Thanks a lot!";
- mes "I hope you can hunt the rest as well.";
- mes "Go as soon as you can!";
- close;
- }
+ mes "Good! You've hunted 15 "+.@monsters$[.@i]+"s.";
+ mes "Ah, now I can hear the clock sound clearly...";
+ mes "Tic!! toc!! tic!! toc!!...";
+ next;
+ completequest 10118+.@i;
+ getexp 48000,0;
mes "[Risingeter]";
- mes "Uh? Something is wrong.";
- mes "15 Ridewords, right?";
- mes "You better check how many you've hunted.";
+ mes "Thanks a lot!";
+ mes "I hope you can hunt the rest as well.";
+ mes "Go as soon as you can!";
close;
}
+ mes "[Risingeter]";
+ mes "Uh? Something is wrong.";
+ mes "15 "+.@monsters$[.@i]+"s, right?";
+ mes "You better check how many you've hunted.";
+ close;
}
if (slv_quest == 6) {
mes "[Risingeter]";
@@ -774,8 +475,8 @@ aldebaran,105,116,3 script Risingeter 869,{
mes "That's why I like the Clock Tower so much.";
mes "It makes a really nice sound.";
mes "I like it so much!";
- next;
if (slv_quest == 4) {
+ next;
mes "[Risingeter]";
mes "Uh? Have you come to help me solve my trouble.";
mes "You already know I like clocks right?";
@@ -827,59 +528,24 @@ alberta,215,111,5 script Funfi 828,{
mes "Unbelievable~! So fast~!";
mes "Which monster did you hunt?";
next;
- switch (select("Kikimora:Miyabi Doll:Mi Gao")) {
- case 1:
- if (checkquest(10121,HUNTING) == 2) {
- mes "[Funfi]";
- mes "Ok! You've hunted 15 Kikimora!";
- mes "You're the best!";
- next;
- completequest 10121;
- getexp 48000,0;
- mes "[Funfi]";
- mes "Please hunt the others as well.";
- mes "I have faith in you!";
- close;
- }
+ setarray .@monsters$[0],"Kikimora","Miyabi Doll","Mi Gao";
+ set .@i, select(implode(.@monsters$,":"))-1;
+ if (checkquest(10121+.@i,HUNTING) == 2) {
mes "[Funfi]";
- mes "Oh~ No no~!!";
- mes "Listen carefully! Hunt 15 Kikimora.";
- close;
- case 2:
- if (checkquest(10122,HUNTING) == 2) {
- mes "[Funfi]";
- mes "Ok! You've hunted 15 Miyabi Dolls!";
- mes "You're the best!";
- next;
- completequest 10122;
- getexp 48000,0;
- mes "[Funfi]";
- mes "Please hunt the others as well.";
- mes "I trust you!";
- close;
- }
- mes "[Funfi]";
- mes "Oh~ No no~!!";
- mes "Listen carefully! Hunt 15 Miyabi Dolls.";
- close;
- case 3:
- if (checkquest(10123,HUNTING) == 2) {
- mes "[Funfi]";
- mes "Ok! You've hunted 15 Mi Gaos!";
- mes "You're the best!";
- next;
- completequest 10123;
- getexp 48000,0;
- mes "[Funfi]";
- mes "Please hunt the others as well.";
- mes "I trust you!";
- close;
- }
+ mes "Ok! You've hunted 15 "+.@monsters$[.@i]+"!";
+ mes "You're the best!";
+ next;
+ completequest 10121+.@i;
+ getexp 48000,0;
mes "[Funfi]";
- mes "Oh~ No no~!!";
- mes "Listen carefully! Hunt 15 Mi Gaos.";
+ mes "Please hunt the others as well.";
+ mes "I have faith in you!";
close;
}
+ mes "[Funfi]";
+ mes "Oh~ No no~!!";
+ mes "Listen carefully! Hunt 15 "+.@monsters$[.@i]+".";
+ close;
}
if (slv_quest == 6) {
mes "[Funfi]";
@@ -894,8 +560,8 @@ alberta,215,111,5 script Funfi 828,{
next;
mes "[Funfi]";
mes "There are a lot of funny things in the world... Wooo!";
- next;
if (slv_quest == 5) {
+ next;
mes "[Funfi]";
mes "Anyway are you from the Eden Group?";
mes "You are? Cool! I've been waiting for you~!";
diff --git a/npc/re/quests/magic_books.txt b/npc/re/quests/magic_books.txt
index 618d3f640..943d0c8dd 100644
--- a/npc/re/quests/magic_books.txt
+++ b/npc/re/quests/magic_books.txt
@@ -693,7 +693,7 @@ dic_in01,25,190,0 script Mysterious Documents 844,{
close;
}
if ((BaseLevel < 140) || (getskilllv(2217) < 1) && (getskilllv(2213) < 1)) {
- mes "The documents in this container aren't legible. It's not use trying to read them.";
+ mes "The documents in this container aren't legible. It's no use trying to read them.";
close;
}
specialeffect2 EF_DISPELL;
diff --git a/npc/re/quests/quests_dicastes.txt b/npc/re/quests/quests_dicastes.txt
index ecc1ed49a..2109678d8 100644
--- a/npc/re/quests/quests_dicastes.txt
+++ b/npc/re/quests/quests_dicastes.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= Gennosuke Kouga
//===== Current Version: =====================================
-//= 1.4
+//= 1.5
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
@@ -18,7 +18,8 @@
//= 1.2a Small bug fix. [Euphy]
//= 1.3 Temporarly disabled Izlude Fish Tail?#33 NPC because of
//= the new Izlude Town Map. [Masao]
-//= 1.4 Fixed minor typos. [Joseph]
+//= 1.4 Fixed minor typos. [Joseph]
+//= 1.5 Removed "Mysterious Documents" duplicated in magic_books. [Euphy]
//============================================================
// Entrance
@@ -217,12 +218,9 @@ function script eldicastes_dv {
close;
}
-dic_dun01,284,102,5 script Dirty Vigilante#ep13_3_ 450,{
- callfunc "eldicastes_dv",1; }
-dic_dun01,294,106,4 script Vigilante#ep13_3_23 492,{
- callfunc "eldicastes_dv",2; }
-dic_dun01,286,104,5 script Vigilante#ep13_3_24 450,{
- callfunc "eldicastes_dv",2; }
+dic_dun01,284,102,5 script Dirty Vigilante#ep13_3_ 450,{ callfunc "eldicastes_dv",1; }
+dic_dun01,294,106,4 script Vigilante#ep13_3_23 492,{ callfunc "eldicastes_dv",2; }
+dic_dun01,286,104,5 script Vigilante#ep13_3_24 450,{ callfunc "eldicastes_dv",2; }
dic_dun01,28,212,0 script Vigilante#ep13_3_26 45,1,1,{
mes "[Vigilante]";
@@ -851,126 +849,56 @@ function script unknown_d {
close;
}
-cmd_fild08,324,163,0 script Stone Heart?#33 844,{
- callfunc "unknown_d",12215,953; }
-moc_fild01,169,62,0 script Cactus Needle?#33 844,{
- callfunc "unknown_d",12214,952; }
-prt_fild02,280,328,0 script Carrot?#33 844,{
- callfunc "unknown_d",12213,515; }
-prt_fild02,97,209,0 script Red Herb?#33 844,{
- callfunc "unknown_d",12212,507; }
-prt_fild02,142,116,0 script Feather?#33 844,{
- callfunc "unknown_d",12211,949; }
-pay_fild07,269,164,0 script Bear's Footskin?#33 844,{
- callfunc "unknown_d",12210,948; }
-prt_fild03,284,190,0 script Raccoon Leaf?#33 844,{
- callfunc "unknown_d",12207,945; }
-prt_fild03,262,201,0 script Yam?#33 844,{
- callfunc "unknown_d",12206,549; }
-prt_fild03,226,170,0 script Solid Shell?#33 844,{
- callfunc "unknown_d",12205,943; }
-prt_fild03,180,163,0 script Yoyo Tail?#33 844,{
- callfunc "unknown_d",12204,942; }
-prt_fild03,64,35,0 script Royal Jelly?#33 844,{
- callfunc "unknown_d",12203,526; }
-prt_fild07,76,122,0 script Grasshopper's Leg?#33 844,{
- callfunc "unknown_d",12202,940; }
-mjolnir_09,99,100,0 script Bee Sting?#33 844,{
- callfunc "unknown_d",12201,939; }
-prt_fild02,102,97,0 script Sticky Mucus?#33 844,{
- callfunc "unknown_d",12200,938; }
-mjolnir_04,162,168,0 script Venom Canine?#33 844,{
- callfunc "unknown_d",12199,937; }
-mjolnir_04,191,154,0 script Scale Shell?#33 844,{
- callfunc "unknown_d",12198,936; }
-iz_dun01,191,92,0 script Shell?#33 844,{
- callfunc "unknown_d",12197,935; }
-iz_dun01,210,77,0 script Tentacle?#33 844,{
- callfunc "unknown_d",12196,962; }
-moc_pryd02,36,75,0 script Decayed Nail?#33 844,{
- callfunc "unknown_d",12194,957; }
-moc_pryd02,134,112,0 script Rotten Bandage?#33 844,{
- callfunc "unknown_d",12193,930; }
-iz_dun02,112,96,0 script Immortal Heart?#33 844,{
- callfunc "unknown_d",12192,929; }
-pay_fild07,126,49,0 script Insect Feeler?#33 844,{
- callfunc "unknown_d",12191,928; }
-pay_fild06,306,233,0 script Snake Scale?#33 844,{
- callfunc "unknown_d",12190,926; }
-moc_fild11,237,273,0 script Bill of Birds?#33 844,{
- callfunc "unknown_d",12189,925; }
-c_tower2,170,9,0 script Evil Horn?#33 844,{
- callfunc "unknown_d",12187,923; }
-pay_fild08,188,153,0 script Mushroom Spore?#33 844,{
- callfunc "unknown_d",12185,921; }
-moc_fild03,175,201,0 script Wolf Claw?#33 844,{
- callfunc "unknown_d",12184,920; }
-mjolnir_08,108,99,0 script Animal Skin?#33 844,{
- callfunc "unknown_d",12183,919; }
-prt_fild04,315,245,0 script Sticky Webfoot?#33 844,{
- callfunc "unknown_d",12182,918; }
-moc_fild12,116,122,0 script Talon?#33 844,{
- callfunc "unknown_d",12181,917; }
-moc_fild07,201,360,0 script Feather of Birds?#33 844,{
- callfunc "unknown_d",12180,916; }
-prt_fild06,127,85,0 script Chrysalis?#33 844,{
- callfunc "unknown_d",12179,915; }
-prt_fild06,182,290,0 script Fluff?#33 844,{
- callfunc "unknown_d",12178,914; }
-mjo_dun01,222,226,0 script Tooth of Bat?#33 844,{
- callfunc "unknown_d",12177,913; }
-iz_dun03,155,165,0 script Gill?#33 844,{
- callfunc "unknown_d",12176,956; }
-prt_fild05,303,169,0 script Worm Peeling?#33 844,{
- callfunc "unknown_d",12175,955; }
-/*izlude,132,136,0 script Fish Tail?#33 844,{
- callfunc "unknown_d",12174,1023; }
-*/
-pay_fild01,152,171,0 script Resin?#33 844,{
- callfunc "unknown_d",12171,907; }
-pay_fild02,105,113,0 script Pointed Scale?#33 844,{
- callfunc "unknown_d",12170,906; }
-pay_fild02,177,108,0 script Stem?#33 844,{
- callfunc "unknown_d",12169,905; }
-pay_fild03,144,95,0 script Tree Root?#33 844,{
- callfunc "unknown_d",12166,902; }
-prt_fild08,299,332,0 script Jellopy?#33 844,{
- callfunc "unknown_d",12173,909; }
-prt_fild09,352,241,0 script Scorpion Tail?#33 844,{
- callfunc "unknown_d",12168,904; }
-prt_fild09,371,255,0 script Reptile Tongue?#33 844,{
- callfunc "unknown_d",12167,903; }
-prt_fild03,366,237,0 script Horn?#33 844,{
- callfunc "unknown_d",12209,947; }
-moc_pryd02,148,184,0 script Horrendous Mouths?#33 844,{
- callfunc "unknown_d",12195,958; }
-gef_fild03,251,109,0 script Orc's Fangs?#33 844,{
- callfunc "unknown_d",12186,922; }
-gef_fild01,104,111,0 script Spawn?#33 844,{
- callfunc "unknown_d",12172,908; }
-gef_fild09,67,46,0 script Snail's Shell#33 844,{
- callfunc "unknown_d",12208,946; }
-gef_fild05,111,96,0 script Powder of Butterfly?#33 844,{
- callfunc "unknown_d",12188,924; }
-
-dic_in01,25,190,0 script Mysterious Documents#00 844,{
- if (isequipped(2782)) {
- if (ep13_3_invite == 5) {
- if (checkquest(12165,PLAYTIME) == 2) {
- mes "You don't feel as nauseous anymore. It should be safe to proceed now.";
- erasequest 12165;
- close;
- } else if (checkquest(12165,PLAYTIME) != -1) {
- mes "The documents are making you feel nauseous. You should come back later after your stomach settles.";
- close; }
- mes "The documents in this container aren't legible. It's not use trying to read them.";
- close; }
- mes "- When you approach the documents,";
- mes "an Evil Giant that looks like the archive manager tries to call Guard Galton. You should get out of here quickly. -";
- close; }
- mes "¡ö¡ø¡ó ¢£ ¡ö¡ñ¡ï ¡ù ¡ð¢²¢£";
- close;
-}
+cmd_fild08,324,163,0 script Stone Heart?#33 844,{ callfunc "unknown_d",12215,953; }
+moc_fild01,169,62,0 script Cactus Needle?#33 844,{ callfunc "unknown_d",12214,952; }
+prt_fild02,280,328,0 script Carrot?#33 844,{ callfunc "unknown_d",12213,515; }
+prt_fild02,97,209,0 script Red Herb?#33 844,{ callfunc "unknown_d",12212,507; }
+prt_fild02,142,116,0 script Feather?#33 844,{ callfunc "unknown_d",12211,949; }
+pay_fild07,269,164,0 script Bear's Footskin?#33 844,{ callfunc "unknown_d",12210,948; }
+prt_fild03,284,190,0 script Raccoon Leaf?#33 844,{ callfunc "unknown_d",12207,945; }
+prt_fild03,262,201,0 script Yam?#33 844,{ callfunc "unknown_d",12206,549; }
+prt_fild03,226,170,0 script Solid Shell?#33 844,{ callfunc "unknown_d",12205,943; }
+prt_fild03,180,163,0 script Yoyo Tail?#33 844,{ callfunc "unknown_d",12204,942; }
+prt_fild03,64,35,0 script Royal Jelly?#33 844,{ callfunc "unknown_d",12203,526; }
+prt_fild07,76,122,0 script Grasshopper's Leg?#33 844,{ callfunc "unknown_d",12202,940; }
+mjolnir_09,99,100,0 script Bee Sting?#33 844,{ callfunc "unknown_d",12201,939; }
+prt_fild02,102,97,0 script Sticky Mucus?#33 844,{ callfunc "unknown_d",12200,938; }
+mjolnir_04,162,168,0 script Venom Canine?#33 844,{ callfunc "unknown_d",12199,937; }
+mjolnir_04,191,154,0 script Scale Shell?#33 844,{ callfunc "unknown_d",12198,936; }
+iz_dun01,191,92,0 script Shell?#33 844,{ callfunc "unknown_d",12197,935; }
+iz_dun01,210,77,0 script Tentacle?#33 844,{ callfunc "unknown_d",12196,962; }
+moc_pryd02,36,75,0 script Decayed Nail?#33 844,{ callfunc "unknown_d",12194,957; }
+moc_pryd02,134,112,0 script Rotten Bandage?#33 844,{ callfunc "unknown_d",12193,930; }
+iz_dun02,112,96,0 script Immortal Heart?#33 844,{ callfunc "unknown_d",12192,929; }
+pay_fild07,126,49,0 script Insect Feeler?#33 844,{ callfunc "unknown_d",12191,928; }
+pay_fild06,306,233,0 script Snake Scale?#33 844,{ callfunc "unknown_d",12190,926; }
+moc_fild11,237,273,0 script Bill of Birds?#33 844,{ callfunc "unknown_d",12189,925; }
+c_tower2,170,9,0 script Evil Horn?#33 844,{ callfunc "unknown_d",12187,923; }
+pay_fild08,188,153,0 script Mushroom Spore?#33 844,{ callfunc "unknown_d",12185,921; }
+moc_fild03,175,201,0 script Wolf Claw?#33 844,{ callfunc "unknown_d",12184,920; }
+mjolnir_08,108,99,0 script Animal Skin?#33 844,{ callfunc "unknown_d",12183,919; }
+prt_fild04,315,245,0 script Sticky Webfoot?#33 844,{ callfunc "unknown_d",12182,918; }
+moc_fild12,116,122,0 script Talon?#33 844,{ callfunc "unknown_d",12181,917; }
+moc_fild07,201,360,0 script Feather of Birds?#33 844,{ callfunc "unknown_d",12180,916; }
+prt_fild06,127,85,0 script Chrysalis?#33 844,{ callfunc "unknown_d",12179,915; }
+prt_fild06,182,290,0 script Fluff?#33 844,{ callfunc "unknown_d",12178,914; }
+mjo_dun01,222,226,0 script Tooth of Bat?#33 844,{ callfunc "unknown_d",12177,913; }
+iz_dun03,155,165,0 script Gill?#33 844,{ callfunc "unknown_d",12176,956; }
+prt_fild05,303,169,0 script Worm Peeling?#33 844,{ callfunc "unknown_d",12175,955; }
+//izlude,132,136,0 script Fish Tail?#33 844,{ callfunc "unknown_d",12174,1023; }
+pay_fild01,152,171,0 script Resin?#33 844,{ callfunc "unknown_d",12171,907; }
+pay_fild02,105,113,0 script Pointed Scale?#33 844,{ callfunc "unknown_d",12170,906; }
+pay_fild02,177,108,0 script Stem?#33 844,{ callfunc "unknown_d",12169,905; }
+pay_fild03,144,95,0 script Tree Root?#33 844,{ callfunc "unknown_d",12166,902; }
+prt_fild08,299,332,0 script Jellopy?#33 844,{ callfunc "unknown_d",12173,909; }
+prt_fild09,352,241,0 script Scorpion Tail?#33 844,{ callfunc "unknown_d",12168,904; }
+prt_fild09,371,255,0 script Reptile Tongue?#33 844,{ callfunc "unknown_d",12167,903; }
+prt_fild03,366,237,0 script Horn?#33 844,{ callfunc "unknown_d",12209,947; }
+moc_pryd02,148,184,0 script Horrendous Mouths?#33 844,{ callfunc "unknown_d",12195,958; }
+gef_fild03,251,109,0 script Orc's Fangs?#33 844,{ callfunc "unknown_d",12186,922; }
+gef_fild01,104,111,0 script Spawn?#33 844,{ callfunc "unknown_d",12172,908; }
+gef_fild09,67,46,0 script Snail's Shell#33 844,{ callfunc "unknown_d",12208,946; }
+gef_fild05,111,96,0 script Powder of Butterfly?#33 844,{ callfunc "unknown_d",12188,924; }
dic_in01,137,225,5 script Diel Guard#ep133_19 450,{
mes "[Diel Guard]";