summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshennetsind <ind@henn.et>2013-06-06 16:46:27 -0300
committershennetsind <ind@henn.et>2013-06-06 16:46:27 -0300
commitb98ea9eb62b4f0c7bf121e2c67638ea7e9726110 (patch)
tree318d8f0091daafbba25159dd157387e327b72fdf
parent6ff1728e17198fdba40f5edbee833ed500bf9ebc (diff)
parent12d73b792e8bfe09224ddc5f899b7afe30bf157e (diff)
downloadhercules-b98ea9eb62b4f0c7bf121e2c67638ea7e9726110.tar.gz
hercules-b98ea9eb62b4f0c7bf121e2c67638ea7e9726110.tar.bz2
hercules-b98ea9eb62b4f0c7bf121e2c67638ea7e9726110.tar.xz
hercules-b98ea9eb62b4f0c7bf121e2c67638ea7e9726110.zip
Merge branch 'master' of https://github.com/HerculesWS/Hercules
-rw-r--r--npc/re/instances/HazyForest.txt1193
-rw-r--r--npc/re/merchants/enchan_mora.txt2356
-rw-r--r--npc/re/scripts.conf3
3 files changed, 3551 insertions, 1 deletions
diff --git a/npc/re/instances/HazyForest.txt b/npc/re/instances/HazyForest.txt
new file mode 100644
index 000000000..cb65f11d7
--- /dev/null
+++ b/npc/re/instances/HazyForest.txt
@@ -0,0 +1,1193 @@
+//===== rAthena Script =======================================
+//= Hazy Forest
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= [Official Conversion]
+//= Cross through the Hazy Forest to reach the Bifrost.
+//= Contains the Wandering Guardian quest.
+//===== Additional Comments: =================================
+//= 1.0 First version. [Euphy]
+//============================================================
+
+// Instance Creation
+//============================================================
+bif_fild01,158,340,5 script Laphine Soldier#mist 447,{
+
+ set .@party_id,getcharid(1);
+ set .@md_name$,"Mistwood Maze";
+
+ mes "[Laphine Soldier]";
+ mes "Are you going into the forest?";
+ next;
+ if (!.@party_id) {
+ mes "[Laphine Soldier]";
+ mes "Well, well, well, aren't you being too rash?";
+ mes "Why don't you at least organize a party?";
+ close;
+ }
+ set .@playtime, checkquest(7211,PLAYTIME);
+ if (getcharid(0) == getpartyleader(.@party_id,2)) {
+ if (.@playtime == 0 || .@playtime == 1) {
+ mes "[Laphine Soldier]";
+ mes "...Are you sure you're not doing too much?";
+ mes "I think you'd better get some rest.";
+ mes "You'll only wear yourself out by trying to do too much";
+ next;
+ mes "[Laphine Soldier]";
+ mes "I don't think the authority will give you permission, either.";
+ mes "...Even a Sapha would be stopped from entering the forest.";
+ next;
+ select("You speak our language quite well, don't you?");
+ mes "[Laphine Soldier]";
+ mes "...Do I?";
+ mes "Actually I'm not speaking your language.";
+ mes "I'm speaking Laphine language.";
+ next;
+ mes "[Laphine Soldier]";
+ mes "But it's one of the mysteries of Bifrost.";
+ mes "That we can understand each other even if we speak different languages.";
+ next;
+ mes "[Laphine Soldier]";
+ mes "To be able to talk with everybody...";
+ mes "Perhaps that's the power of Bifrost.";
+ close;
+ } else if (.@playtime == 2) {
+ mes "[Laphine Soldier]";
+ mes "Great, great.";
+ mes "Now the forest won't reject you.";
+ mes "What are you going to do now?";
+ erasequest 7211;
+ } else {
+ mes "[Laphine Soldier]";
+ mes "You human adventurers are incredible.";
+ mes "You're always going into the forest, where no one else dares to go.";
+ next;
+ mes "[Laphine Soldier]";
+ mes "Phew. But I have to report to the authority";
+ mes "everyone who goes into the forest, just in case.";
+ next;
+ mes "[Laphine Soldier]";
+ mes "You'll get permission";
+ mes "after you register.";
+ mes "Are you going to venture into the Hazy Forest?";
+ }
+ next;
+ switch(select("Venture into the Hazy Forest.:Give up.")) {
+ case 1:
+ set .@instance, instance_create(.@md_name$,.@party_id);
+ if (.@instance >= 0) {
+ if (instance_attachmap("1@mist",.@instance) != "") {
+
+ instance_attach(.@instance);
+ instance_set_timeout 7200,300,.@instance;
+ instance_init(.@instance);
+
+ donpcevent instance_npcname("#Whisper_mist", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Tom's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Tomba's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Remi's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Tired Rem's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Ron's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Rover's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Mona's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Namon's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Sad Neoron's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Spyder's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Tito's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Pumba's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Tete's Garden Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("The Gardeners' Tree", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("#Dragon Herder", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Mysterious Young Man#mis", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Loki#mist", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("Collapsed Girl#mist", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("#Mist Mobs Respawn1", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("#Mist Mobs Respawn2", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("#Mist Mobs Respawn3", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("#Mist Mobs Respawn4", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("#Mist Mobs Respawn5", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("#Fragments of Memory", instance_id())+"::OnInstanceInit";
+ donpcevent instance_npcname("#mist_warp_init", instance_id())+"::OnInstanceInit";
+
+ mes "[Laphine Soldier]";
+ mes "Party Name "+getpartyname(.@party_id)+"...";
+ mes "Party Leader "+strcharinfo(0)+"...";
+ mes "I've got it. I've written them down on the report here.";
+ next;
+ mes "[Laphine Soldier]";
+ mes "You'll get permission soon.";
+ mes "Now go to the log tunnel, the only way to get into the Hazy Forest.";
+ mes "You understand?";
+ next;
+ mes "[Laphine Soldier]";
+ mes "We can't go against the forest,";
+ mes "but maybe you humans can.";
+ mes "Good luck!";
+ close;
+ } else
+ instance_destroy(.@instance);
+ }
+ mes "[Laphine Soldier]";
+ mes "Party Name "+getpartyname(.@party_id)+"...";
+ mes "Party Leader "+strcharinfo(0)+"...";
+ mes "Hmm...";
+ next;
+ mes "[Laphine Soldier]";
+ if (.@playtime == -1)
+ mes "It's dangerous in the forest.";
+ else
+ mes "The atmosphere is somewhat tense in the forest.";
+ mes "...Why don't you just go back today?";
+ close;
+ case 2:
+ mes "[Laphine Soldier]";
+ mes "Well, you've made the right decision.";
+ if (.@playtime == -1)
+ mes "That's what's good for you.";
+ close;
+ }
+ } else {
+ mes "[Laphine Soldier]";
+ mes "Where's your party leader?";
+ mes "It's dangerous in there.";
+ next;
+ if (.@playtime == 2) {
+ mes "[Laphine Soldier]";
+ mes "I see you've been into the forest before.";
+ mes "Okay, at least the forest won't reject you.";
+ mes "However...";
+ erasequest 7211;
+ next;
+ }
+ mes "[Laphine Soldier]";
+ mes "Put yourself in my shoes, the entrance guard, and let me meet the representative of your party.";
+ mes "I have to discuss some things with him/her.";
+ close;
+ }
+}
+
+bif_fild01,161,355,0 script Log Tunnel 844,{
+ mes "I see the forest through the log tunnel.";
+ mes "It looks like I can enter the forest through the log tunnel.";
+ next;
+ if(select("Enter the tunnel.:Give up.") == 2)
+ close;
+ // TODO: Add official MD_Enter cases.
+ if (!getcharid(1)) {
+ mes "[Laphine Soldier]";
+ mes "Hey, look!";
+ mes "Are you going alone?";
+ mes "That's impossible. Too rash.";
+ mes "Team up with some friends and go together!";
+ close;
+ }
+ set .@playtime, checkquest(7211,PLAYTIME);
+ if (has_instance("1@mist") == "") {
+ if (.@playtime == 0 || .@playtime == 1) {
+ mes "You try to crawl into the log, but some mysterious power pushes you back with a gush of wind.";
+ mes "It seems like you can't force your way into the forest.";
+ close;
+ }
+ mes "The world beyond the log tunnel looks dark and suffocating.";
+ mes "Your instinct is screaming that this forest is dangerous.";
+ close;
+ }
+ if (.@playtime == 2) erasequest 7211;
+ if (checkquest(7211,PLAYTIME) == -1) setquest 7211;
+ mapannounce "bif_fild01",getpartyname(getcharid(1))+" party's "+strcharinfo(0)+" member is entering the Mistwood Maze.",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0
+ warp "1@mist",89,29;
+ close;
+}
+
+// Instance Scripts
+//============================================================
+1@mist,89,29,0 script #Whisper_mist 844,1,1,{
+ end;
+OnInstanceInit:
+ enablenpc instance_npcname("#Whisper_mist", instance_id());
+ end;
+OnTouch:
+ disablenpc instance_npcname("#Whisper_mist", instance_id());
+ initnpctimer;
+ end;
+OnTimer10000:
+OnTimer20000:
+ instance_announce 0,"Whisper: Who's this? Who's this!? The forest is open! Tom, Tomba, Tired Rem, Remi! Wake up!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ end;
+OnTimer60000:
+ instance_announce 0,"Loud Whisper: What are the forest keepers doing? What are the gardeners doing??",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ end;
+OnTimer120000:
+ instance_announce 0,"Loud Whisper: Don't go out, wander around forever, and play with us!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ end;
+OnTimer180000:
+ instance_announce 0,"Loud Whisper: Useless, useless. Wandering around and around, you'll meet your end!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ stopnpctimer;
+ end;
+}
+
+// callfunc "F_Mora_Mist",<warp to enable>,<success message>,<fail message>{,<end flag>}
+function script F_Mora_Mist {
+ if (mobcount("1@mist",instance_npcname(strnpcinfo(0), instance_id())+"::OnMyMobDead") == 0) {
+ mes "Obviously no one is taking care of it.";
+ mes "It seems like you can chop down the garden tree.";
+ next;
+ if(select("Chop down the garden tree.:Give up.") == 2)
+ close;
+ mes "You chop down the tree, which was blocking the path of the maze, "+((getarg(3,0))?"clearing the way out of the forest.":"so now you can continue.");
+ instance_announce 0,getarg(1),bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ enablenpc instance_npcname(getarg(0), instance_id());
+ disablenpc instance_npcname(strnpcinfo(0), instance_id());
+ close;
+ } else
+ instance_announce 0,((getarg(3,0))?getarg(2):getarg(2)+"'s Cry: Huh? Who's doing bad things to my tree?!"),bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ end;
+}
+
+1@mist,251,121,3 script Tom's Garden 858,{ end; }
+1@mist,247,123,0 script Tom's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "a25_a18-1",
+ "Roaring Cry: Tom's bolt is broken! Watch out, Tomba! Watch out, Tomba!",
+ "Tom";
+ end;
+OnInstanceInit:
+ monster "1@mist",249,120,"Tom",2136,1,instance_npcname("Tom's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,226,95,3 script Tomba's Garden 858,{ end; }
+1@mist,225,98,0 script Tomba's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "a27-2_af1-2",
+ "Roaring Cry: Tomba's Garden Tree is gone with Tomba. Remi, what are you going to do now?",
+ "Tomba";
+ end;
+OnInstanceInit:
+ monster "1@mist",200,64,"Tomba",2136,1,instance_npcname("Tomba's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,157,183,3 script Remi's Garden 858,{ end; }
+1@mist,159,184,0 script Remi's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "a15-2_a4-1",
+ "Roaring Cry: Remi, Remi's Garden Tree was chopped down- Rem, it's your turn next. Poor Rem!",
+ "Remi";
+ end;
+OnInstanceInit:
+ monster "1@mist",154,184,"Remi the Tired",2137,1,instance_npcname("Remi's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,58,39,3 script Tired Rem's Garden 858,{ end; }
+1@mist,61,39,0 script Tired Rem's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "a4-2_a11",
+ "Rem's Desperate Cry: Argh... Rem will sleep. Rem will sleep now, and won't wake up forever!",
+ "Rem";
+ end;
+OnInstanceInit:
+ monster "1@mist",101,107,"Rem the Gardener",2136,1,instance_npcname("Tired Rem's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnTimer10000:
+ instance_announce 0,"Whisper of the Forest: So Tom's, Tomba's, Remi's, and Rem's garden trees were all chopped down?",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ end;
+OnTimer15000:
+ instance_announce 0,"Whisper of the Forest: Trouble, trouble, we're in big trouble.",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ end;
+OnTimer20000:
+ instance_announce 0,"Loud Whisper: They've come to the second deepest forest. Gardeners of the deep forest, watch out!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ stopnpctimer;
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,227,179,3 script Ron's Garden 858,{ end; }
+1@mist,230,179,0 script Ron's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "b4-2_b2",
+ "Ron the Gardener's Cry: I'm getting off work! Don't look for Ron, the second gardener, any more!!",
+ "Ron";
+ end;
+OnInstanceInit:
+ monster "1@mist",227,178,"Ron the Gardener",2134,1,instance_npcname("Ron's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,288,226,3 script Rover's Garden 858,{ end; }
+1@mist,285,225,0 script Rover's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "b7_bf1-2",
+ "Roaring Whisper: Ron's, and Rover's trees were chopped down as well. Who is forcing his way into the forest? Who is it?",
+ "Rover";
+ end;
+OnInstanceInit:
+ monster "1@mist",304,237,"Rover the Strutter",2134,1,instance_npcname("Rover's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,159,318,3 script Mona's Garden 858,{ end; }
+1@mist,161,316,0 script Mona's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "b31_b16",
+ "Clamoring Whisper: Mona the Seedseeker's garden tree is gone! Mona is gone too! Namon will be okay, because he is brave, right? Namon, are you okay?",
+ "Mona";
+ end;
+OnInstanceInit:
+ monster "1@mist",239,253,"Mona the Seedseeker",2133,1,instance_npcname("Mona's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,205,300,3 script Namon's Garden 858,{ end; }
+1@mist,204,299,0 script Namon's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "b27-3_bN-1",
+ "Clamoring Whisper: Brave Namon met his fate not so bravely... *giggle*",
+ "Namon";
+ end;
+OnInstanceInit:
+ monster "1@mist",89,173,"Brave Namon",2134,1,instance_npcname("Namon's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,219,232,3 script Sad Neoron's Garden 858,{ end; }
+1@mist,221,236,0 script Sad Neoron's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "b6-1_b33",
+ "Lamenting Whisper: Sad Neoron has become cheerful! Spyder the Superior Spider, what are you going to do? What are you going to do now?",
+ "Neoron";
+ end;
+OnInstanceInit:
+ monster "1@mist",143,265,"Sad Neoron",2137,1,instance_npcname("Sad Neoron's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,206,202,3 script Spyder's Garden 858,{ end; }
+1@mist,206,200,0 script Spyder's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "b5_b14",
+ "Depressed Whisper: Now it's all over with the second deepest forest. Gardeners are dying out-",
+ "Spyder";
+ end;
+OnInstanceInit:
+ monster "1@mist",209,200,"Spyder the Eight-Legged",2132,1,instance_npcname("Spyder's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnTimer5000:
+ instance_announce 0,"Roaring Whisper: The path is about to open. The tight bolts have been removed!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ end;
+OnTimer9000:
+ instance_announce 0,"Roaring Whisper: A forest opened, another opened, and the other is going to open as well. Tito and Pumba, they are heading your way!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ end;
+OnTimer13000:
+ instance_announce 0,"Roaring Whisper: Where you get after wandering around, around and around, everybody you've met while wandering around, around and around,",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ end;
+OnTimer17000:
+ instance_announce 0,"Roaring Whisper: all the gardeners will be waiting for you, with their clippers in their hands-!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0
+ stopnpctimer;
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,96,288,3 script Tito's Garden 858,{ end; }
+1@mist,95,287,0 script Tito's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "c1_c13-1",
+ "Tito's Cry: *sob* *sob* Tito's gone now! Tito's done for! Boo hoo!!",
+ "Tito";
+ end;
+OnInstanceInit:
+ monster "1@mist",264,291,"Tito the Flipper",2133,1,instance_npcname("Tito's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,326,325,3 script Pumba's Garden 858,{ end; }
+1@mist,324,325,0 script Pumba's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "c13-3_c4",
+ "Roaring Whisper: Tito the Hard Worker was defeated! Stop playing and go to work, Tete! Start working!",
+ "Pumba";
+ end;
+OnInstanceInit:
+ monster "1@mist",309,165,"Diligent Pumba",2134,1,instance_npcname("Pumba's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,278,345,3 script Tete's Garden 858,{ end; }
+1@mist,280,344,0 script Tete's Garden Tree 527,{
+ callfunc "F_Mora_Mist",
+ "c19_c4",
+ "Whisper: They are strong, strong indeed. What are we going to do now? Are there any gardeners left? Are there any?",
+ "Tete";
+ end;
+OnInstanceInit:
+ monster "1@mist",277,343,"Carefree Tete",2136,1,instance_npcname("Tete's Garden Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,345,186,0 script The Gardeners' Tree 527,{
+ callfunc "F_Mora_Mist",
+ "#to_bif02",
+ "Roaring Whisper: The forest will remember you! It will remember you, the one who broke the clippers of all the gardeners!",
+ "Gardeners: We're not dead, yet!!!!",1;
+ end;
+OnInstanceInit:
+ monster "1@mist",318,137,"Baby Tom",2136,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",321,137,"Tomba the Baby",2136,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",324,137,"Exhausted Remi",2137,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",319,135,"Rem the Exhausted",2136,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",323,135,"Ron the Ex-Gardener",2134,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",320,133,"Rover the Strutter",2134,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",323,133,"Mona the Seedpicker",2133,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",317,132,"Timid Namon",2134,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",326,132,"Indifferent Neoron",2137,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",317,129,"Spyder the Seven-Legged",2132,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",320,129,"Tito the Flapper",2133,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",324,129,"Lazy Pumba",2134,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ monster "1@mist",327,129,"Careless Tete",2136,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ end;
+}
+
+1@mist,73,290,0 script Mysterious Flower#1 844,{
+ specialeffect EF_LEVEL99_4;
+ disablenpc instance_npcname(strnpcinfo(0), instance_id());
+ getitem 12561,1; //Mysterious_Seed
+ end;
+}
+1@mist,69,295,0 duplicate(Mysterious Flower#1) Mysterious Flower#2 844
+1@mist,62,291,0 duplicate(Mysterious Flower#1) Mysterious Flower#3 844
+1@mist,54,293,0 duplicate(Mysterious Flower#1) Mysterious Flower#4 844
+1@mist,48,286,0 duplicate(Mysterious Flower#1) Mysterious Flower#5 844
+1@mist,54,277,0 duplicate(Mysterious Flower#1) Mysterious Flower#6 844
+1@mist,52,270,0 duplicate(Mysterious Flower#1) Mysterious Flower#7 844
+1@mist,62,268,0 duplicate(Mysterious Flower#1) Mysterious Flower#8 844
+1@mist,72,271,0 duplicate(Mysterious Flower#1) Mysterious Flower#9 844
+1@mist,72,276,0 duplicate(Mysterious Flower#1) Mysterious Flower#10 844
+1@mist,118,194,0 duplicate(Mysterious Flower#1) Mysterious Flower#11 844
+1@mist,122,204,0 duplicate(Mysterious Flower#1) Mysterious Flower#12 844
+1@mist,137,209,0 duplicate(Mysterious Flower#1) Mysterious Flower#13 844
+1@mist,144,203,0 duplicate(Mysterious Flower#1) Mysterious Flower#14 844
+1@mist,146,186,0 duplicate(Mysterious Flower#1) Mysterious Flower#15 844
+1@mist,142,182,0 duplicate(Mysterious Flower#1) Mysterious Flower#16 844
+1@mist,132,179,0 duplicate(Mysterious Flower#1) Mysterious Flower#17 844
+1@mist,123,184,0 duplicate(Mysterious Flower#1) Mysterious Flower#18 844
+1@mist,194,118,0 duplicate(Mysterious Flower#1) Mysterious Flower#19 844
+1@mist,188,109,0 duplicate(Mysterious Flower#1) Mysterious Flower#20 844
+1@mist,193,94,0 duplicate(Mysterious Flower#1) Mysterious Flower#21 844
+1@mist,205,92,0 duplicate(Mysterious Flower#1) Mysterious Flower#22 844
+1@mist,213,96,0 duplicate(Mysterious Flower#1) Mysterious Flower#23 844
+1@mist,216,103,0 duplicate(Mysterious Flower#1) Mysterious Flower#24 844
+1@mist,212,116,0 duplicate(Mysterious Flower#1) Mysterious Flower#25 844
+1@mist,207,120,0 duplicate(Mysterious Flower#1) Mysterious Flower#26 844
+1@mist,169,310,0 duplicate(Mysterious Flower#1) Mysterious Flower#27 844
+1@mist,172,296,0 duplicate(Mysterious Flower#1) Mysterious Flower#28 844
+1@mist,191,301,0 duplicate(Mysterious Flower#1) Mysterious Flower#30 844
+1@mist,195,301,0 duplicate(Mysterious Flower#1) Mysterious Flower#31 844
+1@mist,192,316,0 duplicate(Mysterious Flower#1) Mysterious Flower#32 844
+1@mist,187,320,0 duplicate(Mysterious Flower#1) Mysterious Flower#33 844
+1@mist,174,318,0 duplicate(Mysterious Flower#1) Mysterious Flower#34 844
+1@mist,308,136,0 duplicate(Mysterious Flower#1) Mysterious Flower#35 844
+1@mist,314,122,0 duplicate(Mysterious Flower#1) Mysterious Flower#36 844
+1@mist,321,118,0 duplicate(Mysterious Flower#1) Mysterious Flower#37 844
+1@mist,331,123,0 duplicate(Mysterious Flower#1) Mysterious Flower#38 844
+1@mist,335,126,0 duplicate(Mysterious Flower#1) Mysterious Flower#39 844
+1@mist,332,141,0 duplicate(Mysterious Flower#1) Mysterious Flower#40 844
+1@mist,328,144,0 duplicate(Mysterious Flower#1) Mysterious Flower#41 844
+1@mist,314,144,0 duplicate(Mysterious Flower#1) Mysterious Flower#42 844
+1@mist,238,224,0 duplicate(Mysterious Flower#1) Mysterious Flower#43 844
+1@mist,244,231,0 duplicate(Mysterious Flower#1) Mysterious Flower#44 844
+1@mist,257,232,0 duplicate(Mysterious Flower#1) Mysterious Flower#45 844
+1@mist,262,229,0 duplicate(Mysterious Flower#1) Mysterious Flower#46 844
+1@mist,265,216,0 duplicate(Mysterious Flower#1) Mysterious Flower#47 844
+1@mist,260,214,0 duplicate(Mysterious Flower#1) Mysterious Flower#48 844
+1@mist,252,206,0 duplicate(Mysterious Flower#1) Mysterious Flower#49 844
+1@mist,244,211,0 duplicate(Mysterious Flower#1) Mysterious Flower#50 844
+
+// Wandering Guardian Quest
+//============================================================
+1@mist,2,2,0 script #Dragon Herder 844,{
+ end;
+OnInstanceInit:
+ switch(rand(1,6)) {
+ case 1: setarray .@c[0],77,240; break;
+ case 2: setarray .@c[0],147,261; break;
+ case 3: setarray .@c[0],182,263; break;
+ case 4: setarray .@c[0],194,350; break;
+ case 5: setarray .@c[0],268,183; break;
+ case 6: setarray .@c[0],65,278; break;
+ }
+ monster "1@mist",.@c[0],.@c[1],"Wandering Purple Dragon",2131,1,instance_npcname("#Dragon Herder", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ if (mobcount("1@mist",instance_npcname("#Dragon Herder", instance_id())+"::OnMyMobDead") == 0) {
+ donpcevent instance_npcname("Collapsed Girl#mist", instance_id())+"::OnEnable";
+ donpcevent instance_npcname("Mysterious Young Man#mis", instance_id())+"::OnEnable";
+ donpcevent instance_npcname("Loki#mist", instance_id())+"::OnEnable";
+ instance_announce 0,"The Dragon's Cry: Am I being punished... for abandoning the way... of the guardian...?",bc_map,"0xffff00"; //FW_NORMAL 12 0 0
+ disablenpc instance_npcname("#Dragon Herder", instance_id());
+ initnpctimer;
+ }
+ end;
+OnTimer3000:
+ stopnpctimer;
+ instance_announce 0,"Voice in your head: ...Will you... save... me... please......?",bc_map,"0xffff00"; //FW_NORMAL 12 0 0
+ end;
+}
+
+1@mist,97,30,3 script Mysterious Young Man#mis 512,{
+ if (BaseLevel < 98) {
+ mes "[Mysterious Young Man]";
+ mes "Huh? Do you plan to pass through here?";
+ mes ".....I'm afraid it's beyond your ability, but I won't meddle in your affairs.";
+ mes "We'll meet again, if you survive.";
+ close;
+ }
+ if (ep14_1_mistwoods == 0) {
+ if (ep13_3_secret > 23) {
+ mes "[Mysterious Young Man]";
+ mes "You... I remember seeing you at the camp.";
+ mes "The information you gave on Ahat was useful.";
+ mes "Thanks!";
+ next;
+ mes "[Mysterious Young Man]";
+ mes "But do you plan to pass through here?";
+ mes "What good is it to go across Bifrost?";
+ next;
+ } else {
+ mes "[Mysterious Young Man]";
+ mes "Do you plan to pass through here?";
+ mes "I will advise against it if you're just curious.";
+ mes "It will only bring about your untimely death...";
+ next;
+ }
+ mes "[Mysterious Young Man]";
+ mes "If you are determined to pass through here,";
+ mes "I will ask for your help with something.";
+ next;
+ select("Who are you?");
+ mes "[Loki]";
+ mes "Loki... from the Assassin's Guild.";
+ mes "That's my name.";
+ mes "And yours?";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "....";
+ mes "...."+strcharinfo(0)+" sir.";
+ next;
+ mes "[Loki]";
+ mes "I see. "+strcharinfo(0)+".";
+ mes "I'm asking you again.";
+ mes "Do you plan to pass through this forest?";
+ next;
+ switch(select("Yes, I do.:No, I don't.")) {
+ case 1:
+ mes "[Loki]";
+ mes "Then I'll ask you a question.";
+ mes "Have you ever seen a guard... a girl with purple hair?";
+ next;
+ switch(select("No, I haven't.:Yes, I might have...")) {
+ case 1:
+ mes "[Loki]";
+ mes "So you haven't.";
+ mes "You're telling the truth.";
+ next;
+ break;
+ case 2:
+ mes "[Loki]";
+ mes "Wait.";
+ mes "(Loki comes closer.)";
+ mes "... No.";
+ mes "You're telling the truth.";
+ next;
+ break;
+ }
+ mes "[Loki]";
+ mes "Now we have to say goodbye here.";
+ mes "If you survive this forest, of course.";
+ set ep14_1_mistwoods,2;
+ setquest 7212;
+ close;
+ case 2:
+ mes "[Loki]";
+ mes "I understand.";
+ mes "Step back if you aren't ready.";
+ mes "This forest doesn't like strangers.";
+ set ep14_1_mistwoods,1;
+ close;
+ }
+ } else if (ep14_1_mistwoods == 1) {
+ mes "[Loki]";
+ mes "I told you - step back if you don't want to die.";
+ mes "It's not easy going through the forest.";
+ mes "It may cost you your life.";
+ next;
+ switch(select("Okay.:What do you want?")) {
+ case 1:
+ mes "- When you step back,";
+ mes "Loki nods slightly and then looks away. -";
+ close;
+ case 2:
+ mes "[Loki]";
+ mes "I'm looking for somebody.";
+ mes "Have you ever seen a guard... a girl with purple hair?";
+ next;
+ switch(select("No, I haven't.:Yes, I might have...")) {
+ case 1:
+ mes "[Loki]";
+ mes "So you haven't.";
+ mes "You're telling the truth.";
+ next;
+ break;
+ case 2:
+ mes "[Loki]";
+ mes "Wait.";
+ mes "(Loki comes closer.)";
+ mes "... No.";
+ mes "You're telling the truth.";
+ next;
+ break;
+ }
+ mes "[Loki]";
+ mes "Now we have to say goodbye here.";
+ mes "Hopefully, we will see each other again in Mora.";
+ set ep14_1_mistwoods,2;
+ setquest 7212;
+ close;
+ }
+ } else if (ep14_1_mistwoods == 2) {
+ mes "[Loki]";
+ mes "I don't want to go with you.";
+ mes "Hopefully, we will see each other again in Mora.";
+ close;
+ } else if (ep14_1_mistwoods == 3) {
+ mes "[Loki]";
+ mes "So we meet again.";
+ mes "Are you used to this place?";
+ mes "Come to the inn in Mora.";
+ mes "I have something to give to you.";
+ close;
+ } else {
+ mes "[Loki]";
+ mes "We're seeing a lot of each other these days.";
+ mes "It seems you are completely comfortable with the place.";
+ mes "You'd better not be too proud of yourself.";
+ close;
+ }
+ end;
+OnInstanceInit:
+OnEnable:
+ enablenpc instance_npcname("Mysterious Young Man#mis", instance_id());
+ end;
+OnDisable:
+ disablenpc instance_npcname("Mysterious Young Man#mis", instance_id());
+ end;
+}
+
+1@mist,183,304,3 script Loki#mist 512,{
+ if (ep14_1_mistwoods < 2) {
+ mes "[Loki]";
+ mes "An adventurer in the forest.";
+ mes ".....";
+ mes "You can go to Mora through this forest.";
+ close;
+ } else if (ep14_1_mistwoods == 2) {
+ mes "[Loki]";
+ mes "Is it you that took care of this unruly girl?";
+ mes "I guess I have to thank you.";
+ mes "You've calmed her down.";
+ next;
+ select("What's happening?:This girl...?");
+ mes "[Loki]";
+ mes "You might be able to change your appearance, but you cannot change your unique, innate light.";
+ mes "A scent strong enough to burn your nose.";
+ next;
+ mes "[Loki]";
+ mes "This is Nydhogg, the Guardian of Yggdrasil,";
+ mes "whom I was looking for.";
+ mes "Now she won't wander around crazy any more.";
+ next;
+ select("What are you going to do now?");
+ mes "[Loki]";
+ mes "I'll wait for her to wake up and get out of this forest.";
+ mes "I can manage it on my own.";
+ mes "I'll see you in Mora.";
+ set ep14_1_mistwoods,3;
+ erasequest 7212;
+ setquest 7213;
+ close;
+ } else if (ep14_1_mistwoods == 3) {
+ mes "[Loki]";
+ mes "I don't want to go with you.";
+ mes "I can manage her on my own.";
+ mes "If you have something to say, say it after we get out of the forest.";
+ close;
+ } else {
+ mes "[Loki]";
+ mes "I don't want to go with you.";
+ mes "If you have something to say, say it after we get out of the forest.";
+ close;
+ }
+ end;
+OnInstanceInit:
+OnDisable:
+ disablenpc instance_npcname("Loki#mist", instance_id());
+ end;
+OnEnable:
+ enablenpc instance_npcname("Loki#mist", instance_id());
+ end;
+}
+
+1@mist,181,303,3 script Collapsed Girl#mist 511,{
+ mes "You see a girl with mysterious hair collapsed on the ground.";
+ mes "As you approach her, you smell the scent of flowers so strong that it makes you dizzy.";
+ close;
+OnInstanceInit:
+OnDisable:
+ disablenpc instance_npcname("Collapsed Girl#mist", instance_id());
+ end;
+OnEnable:
+ enablenpc instance_npcname("Collapsed Girl#mist", instance_id());
+ end;
+}
+
+mora,46,152,5 script Flower Smelling Lady 510,{
+ if (ep14_1_mistwoods < 3) {
+ mes "[Flower Smell Lady]";
+ mes "I need rest.";
+ mes "I'm too tired to talk to you.";
+ mes "I'm sorry.";
+ close;
+ } else if (ep14_1_mistwoods == 3) {
+ mes "[Nydhogg the Guardian]";
+ mes "I've been waiting for you.";
+ mes "I'm still confused, but I know what I did wrong.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "If it weren't for you, I would still be wandering in the abyssal darkness.";
+ mes "I thank you, from the bottom of my heart.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "I'm ashamed of myself, falling for the sweet but empty words that came to me in my loneliness.";
+ mes "....";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "I don't deserve to be a guardian any more.";
+ mes "A dragon gone crazy is not a guardian any more.";
+ next;
+ mes "[Loki]";
+ mes "Yggdrasil doesn't think so.";
+ mes "Nidi, don't forget your duties.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "Are you...?";
+ mes "I see...";
+ mes "I thought I was forsaken...";
+ next;
+ mes "The Guardian slowly looked away as if deep in thought.";
+ set ep14_1_mistwoods,4;
+ close2;
+ } else if (ep14_1_mistwoods == 4) {
+ mes "- He seems to be deep in thought. -";
+ close;
+ } else {
+ mes "[Nydhogg the Guardian]";
+ mes "I haven't gotten all of my powers back.";
+ mes "I'm sorry I can't protect you.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "Loki said...";
+ mes "that I won't cry from loneliness again,";
+ mes "that I will always have new friends like you...";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "...I've lost everything, but I'm happy now.";
+ close;
+ }
+}
+
+mora,48,152,3 script Sharp Eyed Man 512,{
+ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 1000) {
+ mes "- You have too many items to do this quest. -";
+ close;
+ }
+ if (ep14_1_mistwoods < 3) {
+ mes "He won't look at you. It's like he's not interested at all.";
+ close;
+ } else if (ep14_1_mistwoods == 3) {
+ mes "[Loki]";
+ mes "So you've passed through the forest.";
+ mes "It seems Niddy has something to say to you.";
+ close;
+ } else if (ep14_1_mistwoods == 4) {
+ mes "[Loki]";
+ mes "Nydhogg was one of the guardians of the World Tree.";
+ mes "But he abandoned his duties as a guardian when he gave in to Morroc's temptation.";
+ next;
+ mes "[Loki]";
+ mes "Some fools performed a ritual to break the seal that held Morroc.";
+ mes "But the ritual didn't work right. The servant of Morroc failed to break the seal.";
+ next;
+ mes "[Loki]";
+ mes "But the seal is so weak that it can break open any time.";
+ mes "It's Yggdrasil the World Tree's will that has kept the seal from breaking.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "That's right. The power of the World Tree is linked to the whole world.";
+ mes "When the bond between the guardians and Yggdrasil broke, Yggdrasil became unstable.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "That's why all those disasters happened to Yggdrasil.";
+ mes "As the World Tree became unstable, the influence it had on the seal grew weak.";
+ next;
+ mes "[Loki]";
+ mes "And Morroc broke himself free from the seal.";
+ mes "Although it seems like he used most of his powers just to break the seal...";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "It's all my fault.";
+ mes "I couldn't break free from Morroc's temptation.";
+ mes "For too... too long...";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "...I wanted to be relieved of my thousands of years of loneliness.";
+ mes "I wasn't in my right mind then.";
+ mes "It was none other than I that broke my bond with Yggdrasil.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "I lost control of myself, and did what I shouldn't have done.";
+ mes "The other side of me became a shadow and a reckless tyrant.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "Facing the world, I realized...";
+ mes "I felt too great a sense of loss... it was much more painful than the loneliness I had endured for thousands of years.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "That's how I was left alone.";
+ mes "I felt too great a sense of loss... it was much more painful than the loneliness I had endured for thousands of years.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "So I became a sinner, forgotten to the world.";
+ next;
+ mes "[Loki]";
+ mes "It's not too late.";
+ mes "You're still a guardian.";
+ mes "You still have things to do.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "... Oh, yes. It's late, but I have to fulfill my duties as a guardian.";
+ mes "Now I know. I'll destroy Morroc with my own hands.";
+ mes "I will fulfill my duties as a guardian.";
+ next;
+ switch(select("You're not alone.:Those are very important duties.")) {
+ case 1:
+ mes "[Nydhogg the Guardian]";
+ mes "You're right.";
+ mes "It may be why I haven't been forsaken - to realize that I'm not alone.";
+ mes "You are a kind soul.";
+ next;
+ break;
+ case 2:
+ mes "[Nydhogg the Guardian]";
+ mes "But this is my atonement.";
+ mes "I'm happy, though.";
+ mes "I don't have to fight the loneliness any more.";
+ next;
+ break;
+ }
+ mes "[Nydhogg the Guardian]";
+ mes strcharinfo(0)+"...";
+ mes "Thanks for listening to my long story.";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "It's what I always have with me.";
+ mes "I'm sure it will protect you someday.";
+ next;
+ mes "[Loki]";
+ mes "(Removes his scarf from around his neck and hands it to you.)";
+ next;
+ mes "[Nydhogg the Guardian]";
+ mes "May the blessing of Mother Yggdrasil be with you...";
+ set ep14_1_mistwoods,10;
+ completequest 7213;
+ getitem 2568,1; //Muffler_Of_Roki
+ getitem 2858,1; //Pendant_Of_Guardian
+ getexp 400000,400000;
+ close;
+ } else {
+ mes "[Loki]";
+ mes "I'll be staying here for a while.";
+ mes "We may meet again.";
+ next;
+ mes "[Loki]";
+ mes "The day when Morroc reveals his despicable nature...";
+ mes "I will be waiting for him.";
+ close;
+ }
+}
+
+// Monster Spawns
+//============================================================
+1@mist,1,1,0 script #Mist Mobs Respawn1 844,{
+ end;
+OnInstanceInit:
+ monster "1@mist",0,0,"Miming",2137,15,instance_npcname("#Mist Mobs Respawn1", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ set .@num_mobs, 15 - mobcount("1@mist",instance_npcname("#Mist Mobs Respawn1", instance_id())+"::OnMyMobDead");
+ if (.@num_mobs > 0)
+ monster "1@mist",0,0,"Miming",2137,.@num_mobs,instance_npcname("#Mist Mobs Respawn1", instance_id())+"::OnMyMobDead";
+ end;
+}
+
+1@mist,1,2,0 script #Mist Mobs Respawn2 844,{
+ end;
+OnInstanceInit:
+ monster "1@mist",0,0,"Pom Spider",2132,35,instance_npcname("#Mist Mobs Respawn2", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ set .@num_mobs, 35 - mobcount("1@mist",instance_npcname("#Mist Mobs Respawn2", instance_id())+"::OnMyMobDead");
+ if (.@num_mobs > 0)
+ monster "1@mist",0,0,"Pom Spider",2132,.@num_mobs,instance_npcname("#Mist Mobs Respawn2", instance_id())+"::OnMyMobDead";
+ end;
+}
+
+1@mist,1,3,0 script #Mist Mobs Respawn3 844,{
+ end;
+OnInstanceInit:
+ monster "1@mist",0,0,"Angra Mantis",2133,35,instance_npcname("#Mist Mobs Respawn3", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ set .@num_mobs, 35 - mobcount("1@mist",instance_npcname("#Mist Mobs Respawn3", instance_id())+"::OnMyMobDead");
+ if (.@num_mobs > 0)
+ monster "1@mist",0,0,"Angra Mantis",2133,.@num_mobs,instance_npcname("#Mist Mobs Respawn3", instance_id())+"::OnMyMobDead";
+ end;
+}
+
+1@mist,1,4,0 script #Mist Mobs Respawn4 844,{
+ end;
+OnInstanceInit:
+ monster "1@mist",0,0,"Parus",2134,35,instance_npcname("#Mist Mobs Respawn4", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ set .@num_mobs, 35 - mobcount("1@mist",instance_npcname("#Mist Mobs Respawn4", instance_id())+"::OnMyMobDead");
+ if (.@num_mobs > 0)
+ monster "1@mist",0,0,"Parus",2134,.@num_mobs,instance_npcname("#Mist Mobs Respawn4", instance_id())+"::OnMyMobDead";
+ end;
+}
+
+1@mist,1,5,0 script #Mist Mobs Respawn5 844,{
+ end;
+OnInstanceInit:
+ monster "1@mist",0,0,"Little Fatum",2136,15,instance_npcname("#Mist Mobs Respawn5", instance_id())+"::OnMyMobDead";
+ end;
+OnMyMobDead:
+ set .@num_mobs, 15 - mobcount("1@mist",instance_npcname("#Mist Mobs Respawn5", instance_id())+"::OnMyMobDead");
+ if (.@num_mobs > 0)
+ monster "1@mist",0,0,"Little Fatum",2136,.@num_mobs,instance_npcname("#Mist Mobs Respawn5", instance_id())+"::OnMyMobDead";
+ end;
+}
+
+1@mist,1,6,0 script #Fragments of Memory 844,{
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname("#Fragments of Memory", instance_id());
+ monster "1@mist",0,0,"Guardian's Fragments of Memory",2138,15;
+ end;
+}
+
+// Warp Portals
+//============================================================
+bif_fild01,38,374,0 script Mysterious Flower#ep14_1 844,{
+ mes "It's a giant flower with mysterious energy.";
+ if (countitem(12561)) {
+ mes "It's reacting to the Mysterious Flower Seeds you have with you.";
+ next;
+ switch(select("Observe the reaction.:Stop the reaction.")) {
+ case 1:
+ mes "The flower started to shake violently";
+ mes "and swing forward as if trying to send the seeds as far away as possible!!!";
+ close2;
+ delitem 12561,1; //Mysterious_Seed
+ warp "bif_fild02",160,230;
+ end;
+ case 2:
+ mes "As you hold onto the Mysterious Flower Seeds tightly,";
+ mes "the flower shook violently and then became calm again.";
+ close;
+ }
+ }
+ mes "It looks like it has some special use, but you're not sure what.";
+ close;
+}
+
+1@mist,104,23,0 warp #to_bif01 1,1,bif_fild01,160,352
+
+1@mist,109,70,0 script a1_a2 45,1,1,{
+ end;
+OnTouch:
+ if (checkquest(7211,PLAYTIME) == -1)
+ setquest 7211;
+ warp "1@mist",116,40;
+ end;
+}
+
+1@mist,113,40,0 warp a2_a7 1,1,1@mist,90,81
+1@mist,93,81,0 warp a7_a14 1,1,1@mist,108,152
+1@mist,111,154,0 warp a14_a24 1,1,1@mist,236,108
+1@mist,236,110,0 warp a24_a1 1,1,1@mist,106,69
+1@mist,161,67,0 warp a18-1_a22 1,1,1@mist,159,85
+1@mist,180,116,0 warp a23_a18-1 1,1,1@mist,164,66
+1@mist,180,63,0 warp a18-2_a9 1,1,1@mist,141,90
+1@mist,116,84,0 warp a8_a26 1,1,1@mist,222,133
+1@mist,220,133,0 warp a26_a27-1 1,1,1@mist,200,64
+1@mist,197,64,0 warp a27-1_a23 1,1,1@mist,177,116
+1@mist,146,194,0 warp af1-2_a27-2 1,1,1@mist,225,96
+1@mist,133,195,0 warp af1-1_af2-1 1,1,1@mist,202,110
+1@mist,202,107,0 warp af2-1_af1-1 1,1,1@mist,134,189
+1@mist,217,110,0 warp af2-2_a20-1 1,1,1@mist,240,56
+1@mist,240,54,0 warp a20-1_af2-2 1,1,1@mist,214,110
+1@mist,234,67,0 warp a20-2_a21 1,1,1@mist,239,80
+1@mist,242,77,0 warp a21_a15-1 1,1,1@mist,153,137
+1@mist,156,139,0 warp a15-1_a3 1,1,1@mist,123,55
+1@mist,124,51,0 warp a3_a20-1 1,1,1@mist,240,56
+1@mist,48,41,0 warp a4-1_a17 1,1,1@mist,174,165
+1@mist,171,165,0 warp a17_a16 1,1,1@mist,168,143
+1@mist,169,141,0 warp a16_a10 1,1,1@mist,101,107
+1@mist,99,107,0 warp a10_a4-2 1,1,1@mist,57,38
+1@mist,65,113,0 warp a11_a28 1,1,1@mist,218,151
+1@mist,221,151,0 warp a28_a13 1,1,1@mist,117,126
+1@mist,114,126,0 warp a13_a5 1,1,1@mist,36,62
+1@mist,61,88,0 warp a6_a19 1,1,1@mist,189,139
+1@mist,186,140,0 warp a19_a12 1,1,1@mist,98,126
+1@mist,101,126,0 warp a12_a29-1 1,1,1@mist,238,151
+1@mist,235,152,0 warp a29-1_af1-2 1,1,1@mist,144,194
+1@mist,254,151,0 warp a29-2E_b1 1,1,1@mist,271,164
+1@mist,275,211,0 warp b1_b13 1,1,1@mist,277,112
+1@mist,301,141,0 warp b14_b24 1,1,1@mist,99,232
+1@mist,99,230,0 warp b24_b25 1,1,1@mist,103,255
+1@mist,102,253,0 warp b25_b4-1 1,1,1@mist,215,177
+1@mist,212,177,0 warp b4-1_b1 1,1,1@mist,276,208
+1@mist,289,167,0 warp b2_b19 1,1,1@mist,152,219
+1@mist,149,219,0 warp b19_b20 1,1,1@mist,119,227
+1@mist,115,227,0 warp b20_b23 1,1,1@mist,230,353
+1@mist,233,353,0 warp b23_b7 1,1,1@mist,289,225
+1@mist,76,273,0 warp bf1-2_b7 1,1,1@mist,289,225
+1@mist,61,282,0 warp bf1-1_bf2-1 1,1,1@mist,256,220
+1@mist,252,220,0 warp bf2-1_bf1-1 1,1,1@mist,65,282
+1@mist,267,213,0 warp bf2-2_b28 1,1,1@mist,214,268
+1@mist,212,265,0 warp b28_b12 1,1,1@mist,288,266
+1@mist,285,266,0 warp b12_b21 1,1,1@mist,143,234
+1@mist,143,231,0 warp b21_b29 1,1,1@mist,222,281
+1@mist,223,279,0 warp b29_b31 1,1,1@mist,158,317
+1@mist,134,287,0 warp b30_b3 1,1,1@mist,293,195
+1@mist,295,197,0 warp b3_b10 1,1,1@mist,239,253
+1@mist,236,253,0 warp b10_b12 1,1,1@mist,288,266
+1@mist,111,203,0 warp b16_b34 1,1,1@mist,202,333
+1@mist,199,333,0 warp b34_b27-1 1,1,1@mist,203,251
+1@mist,206,249,0 warp b27-1_b22 1,1,1@mist,168,239
+1@mist,165,239,0 warp b22_b15 1,1,1@mist,89,173
+1@mist,177,265,0 warp b27-2_a14 1,1,1@mist,108,152
+1@mist,166,314,0 warp bN-1_b27-3 1,1,1@mist,206,297
+1@mist,197,299,0 warp bN-2_b17 1,1,1@mist,167,200
+1@mist,165,200,0 warp b17_bN-2 1,1,1@mist,193,299
+1@mist,86,173,0 warp b15_b32 1,1,1@mist,218,313
+1@mist,215,313,0 warp b32_b28 1,1,1@mist,214,268
+1@mist,230,324,0 warp b33_b6-1 1,1,1@mist,221,233
+1@mist,230,230,0 warp b6-2_b11 1,1,1@mist,263,261
+1@mist,263,258,0 warp b11_b9 1,1,1@mist,272,246
+1@mist,269,246,0 warp b9_b26 1,1,1@mist,143,265
+1@mist,140,265,0 warp b26_b5 1,1,1@mist,209,200
+1@mist,195,206,0 warp b18_b35 1,1,1@mist,169,341
+1@mist,166,341,0 warp b35_b36 1,1,1@mist,198,354
+1@mist,201,354,0 warp b36_b37-1 1,1,1@mist,83,224
+1@mist,87,224,0 warp b37-1_b35 1,1,1@mist,169,341
+1@mist,84,273,0 warp b37-2_c1 1,1,1@mist,98,287
+1@mist,111,298,0 warp c2_c3 1,1,1@mist,82,307
+1@mist,79,307,0 warp c3_c7 1,1,1@mist,284,89
+1@mist,281,89,0 warp c7_c12 1,1,1@mist,264,291
+1@mist,261,291,0 warp c12_c2 1,1,1@mist,115,298
+1@mist,326,275,0 warp c13-1_b13 1,1,1@mist,277,112
+1@mist,294,293,0 warp c13-2_c5 1,1,1@mist,78,330
+1@mist,81,330,0 warp c5_c17 1,1,1@mist,308,330
+1@mist,308,327,0 warp c17_c10 1,1,1@mist,309,165
+1@mist,306,165,0 warp c10_c13-2 1,1,1@mist,298,293
+1@mist,46,316,0 warp c4_c6 1,1,1@mist,113,328
+1@mist,95,328,0 warp c6_c9 1,1,1@mist,342,157
+1@mist,339,157,0 warp c9_c16 1,1,1@mist,343,328
+1@mist,343,325,0 warp c16_c8-2 1,1,1@mist,346,120
+1@mist,344,123,0 warp c8-2_c19 1,1,1@mist,277,343
+1@mist,256,313,0 warp c18_c15 1,1,1@mist,343,307
+1@mist,342,305,0 warp c15_cKEY 1,1,1@mist,332,121
+1@mist,335,120,0 warp cKEY_c18 1,1,1@mist,259,313
+1@mist,317,89,0 warp c8-1_c14 1,1,1@mist,339,284
+1@mist,339,281,0 warp c14_c11-1 1,1,1@mist,332,172
+1@mist,329,171,0 warp c11-1_c8-2 1,1,1@mist,346,120
+1@mist,301,237,0 warp b8_b2 1,1,1@mist,289,170
+
+// Disable Garden Tree warps.
+// Custom, but saves processing and lines.
+1@mist,1,1,0 script #mist_warp_init 844,{
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname("a25_a18-1", instance_id());
+ disablenpc instance_npcname("a27-2_af1-2", instance_id());
+ disablenpc instance_npcname("a15-2_a4-1", instance_id());
+ disablenpc instance_npcname("a4-2_a11", instance_id());
+ disablenpc instance_npcname("b4-2_b2", instance_id());
+ disablenpc instance_npcname("b7_bf1-2", instance_id());
+ disablenpc instance_npcname("b31_b16", instance_id());
+ disablenpc instance_npcname("b27-3_bN-1", instance_id());
+ disablenpc instance_npcname("b6-1_b33", instance_id());
+ disablenpc instance_npcname("b5_b14", instance_id());
+ disablenpc instance_npcname("c1_c13-1", instance_id());
+ disablenpc instance_npcname("c13-3_c4", instance_id());
+ disablenpc instance_npcname("c19_c4", instance_id());
+ disablenpc instance_npcname("#to_bif02", instance_id());
+ disablenpc instance_npcname("#mist_warp_init", instance_id());
+ end;
+}
+1@mist,247,123,0 warp a25_a18-1 1,1,1@mist,164,66 //Tom
+1@mist,225,98,0 warp a27-2_af1-2 1,1,1@mist,144,194 //Tomba
+1@mist,159,184,0 warp a15-2_a4-1 1,1,1@mist,49,37 //Remi
+1@mist,61,39,0 warp a4-2_a11 1,1,1@mist,68,113 //Rem
+1@mist,230,179,0 warp b4-2_b2 1,1,1@mist,289,170 //Ron
+1@mist,285,225,0 warp b7_bf1-2 1,1,1@mist,72,274 //Rover
+1@mist,161,316,0 warp b31_b16 1,1,1@mist,108,203 //Mona
+1@mist,204,299,0 warp b27-3_bN-1 1,1,1@mist,169,314 //Namon
+1@mist,221,236,0 warp b6-1_b33 1,1,1@mist,233,324 //Neoron
+1@mist,206,200,0 warp b5_b14 1,1,1@mist,298,142 //Spyder
+1@mist,95,287,0 warp c1_c13-1 1,1,1@mist,323,276 //Tito
+1@mist,324,325,0 warp c13-3_c4 1,1,1@mist,49,316 //Pumba
+1@mist,280,344,0 warp c19_c4 1,1,1@mist,49,316 //Tete
+1@mist,345,186,0 warp #to_bif02 1,1,bif_fild02,151,121 //The Gardeners' Tree
diff --git a/npc/re/merchants/enchan_mora.txt b/npc/re/merchants/enchan_mora.txt
new file mode 100644
index 000000000..8ff8f758d
--- /dev/null
+++ b/npc/re/merchants/enchan_mora.txt
@@ -0,0 +1,2356 @@
+//===== rAthena Script =======================================
+//= Mora Enchants
+//===== By: ==================================================
+//= Euphy
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= [Official Conversion]
+//= Adds enchantments to various items in exchange for
+//= Mora coins.
+//===== Additional Comments: =================================
+//= 1.0 First Version. [Euphy]
+//============================================================
+
+// Arch Bishop Enchants :: coin_arc
+//============================================================
+mora,88,89,5 script Keeper of Secrets#pa082 495,{
+ if (checkweight(1201,1) == 0) {
+ mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much weight to do that. Reduce the weight and try again.";
+ close;
+ }
+ disable_items;
+ if (countitem(6380) < 10) {
+ mes "[Artifice]";
+ mes "Relics for Archbishops are meant for defense and support!";
+ next;
+ mes "[Artifice]";
+ mes "Like the other Guardians, they may trade coins for their relics, so collect Mora Coins!";
+ next;
+ mes "[Artifice]";
+ mes "If you collect more than 10 coins then come to me to trade!";
+ close;
+ }
+ mes "[Artifice]";
+ mes "By the light! You look like you are ready to gain access to our relics.";
+ next;
+ mes "[Artifice]";
+ mes "Ring, Shoes, Shawl, Robe, Shield, or Weapon.";
+ mes "Select one of the six kinds of relics to receive.";
+ next;
+ mes "[Artifice]";
+ mes "I'll randomly give you one of 2 types of the equipment, depending upon the weather and my mood.";
+ next;
+ mes "[Artifice]";
+ mes "All I need is 10 Mora Coins of yours to grant you a relic!";
+ next;
+ switch(select("I don't think I'm ready.:I'm ready to exchange my Mora Coins.:Exchange my Ring.")) {
+ case 1:
+ mes "[Artifice]";
+ mes "See you next time!";
+ close;
+ case 2:
+ mes "[Artifice]";
+ // What does this even mean? (custom dialogue below)
+ //mes "You influence what part are you?";
+ mes "What kind of relic do you want?";
+ next;
+ switch(select("I'm not ready.:Ring:Shoes:Shawl:Robe:Shield:Weapon")) {
+ case 1:
+ mes "[Artifice]";
+ mes "Go with the light.";
+ close;
+ case 2:
+ if (countitem(2864) || countitem(2865) || countitem(2866)) {
+ mes "[Artifice]";
+ mes "You are already allowed access to our relics by your possession of a Ring!";
+ close;
+ }
+ if (Class == Job_Arch_Bishop || Class == Job_Arch_Bishop_T || Class == Job_Baby_Bishop) {
+ setarray .@items[0],2864,2865,2866; //Light_Of_Cure,Seal_Of_Cathedral,Ring_Of_Archbishop
+ break;
+ } else {
+ mes "[Artifice]";
+ mes "We prefer to only deal with Arch-Bishops.";
+ close;
+ }
+ case 3:
+ setarray .@items[0],2471,2472; //Shoes_Of_Affection,Shoes_Of_Judgement
+ break;
+ case 4:
+ setarray .@items[0],2569,2570; //Shawl_Of_Affection,Shawl_Of_Judgement
+ break;
+ case 5:
+ setarray .@items[0],15029,15030; //Robe_Of_Affection,Robe_Of_Judgement
+ break;
+ case 6:
+ setarray .@items[0],2156; //Bible_Of_Promise1
+ break;
+ case 7:
+ setarray .@items[0],1657,16013; //Wand_Of_Affection,Mace_Of_Judgement
+ break;
+ }
+ set .@item, .@items[rand(getarraysize(.@items))];
+ delitem 6380,10; //Mora_Coin
+ getitem .@item,1;
+ mes "[Artifice]";
+ mes "You have obtained ^aa00aa"+getitemname(.@item)+"^000000. May the Blessing of the Light be with you.";
+ close;
+ case 3:
+ if (Class == Job_Arch_Bishop || Class == Job_Arch_Bishop_T || Class == Job_Baby_Bishop) {
+ mes "[Artifice]";
+ mes "We exchange rings into coins for those who cannot control the ring.";
+ next;
+ mes "[Artifice]";
+ mes "It seems that you have power to control the ring so I cannot exchange it into coins.";
+ close;
+ }
+ if (countitem(2864)) set .@item,2864; //Light_Of_Cure
+ else if (countitem(2865)) set .@item,2865; //Seal_Of_Cathedral
+ else if (countitem(2866)) set .@item,2866; //Ring_Of_Archbishop
+ else {
+ mes "[Artifice]";
+ mes "Did you change something?";
+ close;
+ }
+ mes "[Artifice]";
+ mes "You have a "+getitemname(.@item)+". Do you really want to trade it for 10 Mora Coins?";
+ next;
+ switch(select("I'm not ready:Exchange my "+getitemname(.@item))) {
+ case 1:
+ mes "[Artifice]";
+ mes "If you change your mind, please stop by again.";
+ close;
+ case 2:
+ delitem .@item,1;
+ getitem 6380,10; //Mora_Coin
+ mes "[Artifice]";
+ mes "I think that was an even trade.";
+ close;
+ }
+ }
+}
+
+mora,96,74,5 script Master of Relics#pa0829 495,{
+ if (checkweight(1201,1) == 0) {
+ mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much weight to do that. Reduce the weight and try again.";
+ close;
+ }
+ disable_items;
+ mes "[Relice]";
+ mes "I enhance Relics that holy Arch-Bishops use, it will take 2 Mora Coins and the relic to allow me to attempt to enhance it.";
+ next;
+ switch(select("More details please.:Please Enhance my Relic.")) {
+ case 1:
+ mes "[Relice]";
+ mes "Let me briefly explain, for 2 Mora Coins and the relic I can give you a single Enchantment on that relic.";
+ next;
+ mes "[Relice]";
+ mes "Even though this relic was already enchanted, we will re-enchant it without checking its status.";
+ next;
+ mes "[Relice]";
+ mes "So it you have already enchanted relic, please put it some place safe and come back.";
+ next;
+ mes "[Relice]";
+ mes "Ah, one more thing! It is possible I can fail though and if that happens the relic is lost forever.";
+ close;
+ case 2:
+ mes "[Relice]";
+ mes "Ok, you can get a new Relic from Artifice if it fails.";
+ next;
+ mes "[Relice]";
+ mes "If you have a ritual for luck, you should use it now!";
+ next;
+ set .@select, select("Wait a minute!:Light of Cure:Seal of Cathedral:Ring of Archbishop:Shoes of Affection:Shoes of Judgement:Shawl of Affection:Shawl of Judgement:Robe of Affection:Robe of Judgement:Bible of Promise 1st Vol:Wand of Affection:Mace of Judgement");
+ switch(.@select) {
+ case 1:
+ mes "[Relice]";
+ mes "Certainly. Go with the Light.";
+ close;
+ case 2:
+ case 3:
+ case 4:
+ setarray .@items[0],2864,2865,2866; //Light_Of_Cure,Seal_Of_Cathedral,Ring_Of_Archbishop
+ setarray .@special[0],4803,4804,4805; //Highness_Heal_3sec,Coluceo_Heal30,Heal_Amount2
+ set .@item, .@items[.@select-2];
+ set .@sp, .@special[.@select-2];
+ set .@enchant_type,1;
+ break;
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ setarray .@items[0],2471,2472,2569,2570,15029,15030,2156; //Shoes_Of_Affection,Shoes_Of_Judgement,Shawl_Of_Affection,Shawl_Of_Judgement,Robe_Of_Affection,Robe_Of_Judgement,Bible_Of_Promise1
+ set .@item, .@items[.@select-5];
+ set .@enchant_type,2;
+ break;
+ case 12:
+ set .@item,1657; //Wand_Of_Affection
+ set .@enchant_type,3;
+ break;
+ case 13:
+ set .@item,16013; //Mace_Of_Judgement
+ set .@enchant_type,4;
+ break;
+ }
+ if (countitem(6380) < 2 || countitem(.@item) == 0) {
+ mes "[Relice]";
+ mes "For 2 Mora Coins I can strengthen the relic you have in many ways!";
+ close;
+ }
+ specialeffect2 EF_REPAIRWEAPON;
+ delitem 6380,2; //Mora_Coin
+ delitem .@item,1;
+ switch(.@enchant_type) {
+ case 1:
+ set .@i, rand(1,1487);
+ if (.@i <= 16) setarray .@enchants[2],4710,.@sp; //Inteligence2 [sp]
+ else if (.@i <= 32) setarray .@enchants[2],4710,4799; //Inteligence2 HP500
+ else if (.@i <= 48) setarray .@enchants[2],4710,4766; //Inteligence2 Atk2
+ else if (.@i <= 64) setarray .@enchants[2],4710,4788; //Inteligence2 Mdef6
+ else if (.@i <= 80) setarray .@enchants[2],4720,.@sp; //Dexterity1 [sp]
+ else if (.@i <= 96) setarray .@enchants[2],4720,4799; //Dexterity1 HP500
+ else if (.@i <= 112) setarray .@enchants[2],4720,4766; //Dexterity1 Atk2
+ else if (.@i <= 128) setarray .@enchants[2],4720,4788; //Dexterity1 Mdef6
+ else if (.@i <= 144) setarray .@enchants[2],4721,.@sp; //Dexterity2 [sp]
+ else if (.@i <= 160) setarray .@enchants[2],4721,4799; //Dexterity2 HP500
+ else if (.@i <= 176) setarray .@enchants[2],4721,4766; //Dexterity2 Atk2
+ else if (.@i <= 192) setarray .@enchants[2],4721,4788; //Dexterity2 Mdef6
+ else if (.@i <= 208) setarray .@enchants[2],4740,.@sp; //Vitality1 [sp]
+ else if (.@i <= 224) setarray .@enchants[2],4740,4799; //Vitality1 HP500
+ else if (.@i <= 240) setarray .@enchants[2],4740,4766; //Vitality1 Atk2
+ else if (.@i <= 256) setarray .@enchants[2],4740,4788; //Vitality1 Mdef6
+ else if (.@i <= 272) setarray .@enchants[2],4710,.@sp; //Inteligence2 [sp]
+ else if (.@i <= 288) setarray .@enchants[2],4710,4799; //Inteligence2 HP500
+ else if (.@i <= 304) setarray .@enchants[2],4710,4766; //Inteligence2 Atk2
+ else if (.@i <= 320) setarray .@enchants[2],4710,4788; //Inteligence2 Mdef6
+ else if (.@i <= 336) setarray .@enchants[2],4720,.@sp; //Dexterity1 [sp]
+ else if (.@i <= 352) setarray .@enchants[2],4720,4799; //Dexterity1 HP500
+ else if (.@i <= 368) setarray .@enchants[2],4720,4766; //Dexterity1 Atk2
+ else if (.@i <= 384) setarray .@enchants[2],4720,4788; //Dexterity1 Mdef6
+ else if (.@i <= 400) setarray .@enchants[2],4721,.@sp; //Dexterity2 [sp]
+ else if (.@i <= 416) setarray .@enchants[2],4721,4799; //Dexterity2 HP500
+ else if (.@i <= 432) setarray .@enchants[2],4721,4766; //Dexterity2 Atk2
+ else if (.@i <= 448) setarray .@enchants[2],4721,4788; //Dexterity2 Mdef6
+ else if (.@i <= 464) setarray .@enchants[2],4740,.@sp; //Vitality1 [sp]
+ else if (.@i <= 480) setarray .@enchants[2],4740,4799; //Vitality1 HP500
+ else if (.@i <= 496) setarray .@enchants[2],4740,4766; //Vitality1 Atk2
+ else if (.@i <= 512) setarray .@enchants[2],4740,4788; //Vitality1 Mdef6
+ else if (.@i <= 528) setarray .@enchants[2],4710,.@sp; //Inteligence2 [sp]
+ else if (.@i <= 544) setarray .@enchants[2],4710,4799; //Inteligence2 HP500
+ else if (.@i <= 560) setarray .@enchants[2],4710,4766; //Inteligence2 Atk2
+ else if (.@i <= 576) setarray .@enchants[2],4710,4788; //Inteligence2 Mdef6
+ else if (.@i <= 592) setarray .@enchants[2],4720,.@sp; //Dexterity1 [sp]
+ else if (.@i <= 608) setarray .@enchants[2],4720,4799; //Dexterity1 HP500
+ else if (.@i <= 624) setarray .@enchants[2],4720,4766; //Dexterity1 Atk2
+ else if (.@i <= 640) setarray .@enchants[2],4720,4788; //Dexterity1 Mdef6
+ else if (.@i <= 656) setarray .@enchants[2],4721,.@sp; //Dexterity2 [sp]
+ else if (.@i <= 672) setarray .@enchants[2],4721,4799; //Dexterity2 HP500
+ else if (.@i <= 688) setarray .@enchants[2],4721,4766; //Dexterity2 Atk2
+ else if (.@i <= 704) setarray .@enchants[2],4721,4788; //Dexterity2 Mdef6
+ else if (.@i <= 720) setarray .@enchants[2],4740,.@sp; //Vitality1 [sp]
+ else if (.@i <= 736) setarray .@enchants[2],4740,4799; //Vitality1 HP500
+ else if (.@i <= 752) setarray .@enchants[2],4740,4766; //Vitality1 Atk2
+ else if (.@i <= 768) setarray .@enchants[2],4740,4788; //Vitality1 Mdef6
+ else if (.@i <= 784) setarray .@enchants[2],4710,.@sp; //Inteligence2 [sp]
+ else if (.@i <= 800) setarray .@enchants[2],4710,4799; //Inteligence2 HP500
+ else if (.@i <= 816) setarray .@enchants[2],4710,4766; //Inteligence2 Atk2
+ else if (.@i <= 832) setarray .@enchants[2],4710,4788; //Inteligence2 Mdef6
+ else if (.@i <= 848) setarray .@enchants[2],4720,.@sp; //Dexterity1 [sp]
+ else if (.@i <= 864) setarray .@enchants[2],4720,4799; //Dexterity1 HP500
+ else if (.@i <= 880) setarray .@enchants[2],4720,4766; //Dexterity1 Atk2
+ else if (.@i <= 896) setarray .@enchants[2],4720,4788; //Dexterity1 Mdef6
+ else if (.@i <= 912) setarray .@enchants[2],4721,.@sp; //Dexterity2 [sp]
+ else if (.@i <= 928) setarray .@enchants[2],4721,4799; //Dexterity2 HP500
+ else if (.@i <= 944) setarray .@enchants[2],4721,4766; //Dexterity2 Atk2
+ else if (.@i <= 960) setarray .@enchants[2],4721,4788; //Dexterity2 Mdef6
+ else if (.@i <= 976) setarray .@enchants[2],4740,.@sp; //Vitality1 [sp]
+ else if (.@i <= 992) setarray .@enchants[2],4740,4799; //Vitality1 HP500
+ else if (.@i <= 1008) setarray .@enchants[2],4740,4766; //Vitality1 Atk2
+ else if (.@i <= 1024) setarray .@enchants[2],4740,4788; //Vitality1 Mdef6
+ else if (.@i <= 1040) setarray .@enchants[2],.@sp,.@sp; //[sp] [sp]
+ else if (.@i <= 1487) {
+ mes "[Relice]";
+ mes "Sometimes things just don't work out the way you want. I hope next time things go better for you. Until then, good bye.";
+ close;
+ }
+ break;
+ case 2:
+ set .@i, rand(1,1487);
+ if (.@i <= 16) setarray .@enchants[1],4710,4711,4764; //Inteligence1 Inteligence2 Critical5
+ else if (.@i <= 32) setarray .@enchants[1],4710,4711,4799; //Inteligence1 Inteligence2 HP500
+ else if (.@i <= 48) setarray .@enchants[1],4710,4711,4766; //Inteligence1 Inteligence2 Atk2
+ else if (.@i <= 64) setarray .@enchants[1],4710,4711,4788; //Inteligence1 Inteligence2 Mdef6
+ else if (.@i <= 80) setarray .@enchants[1],4710,4720,4764; //Inteligence1 Dexterity1 Critical5
+ else if (.@i <= 96) setarray .@enchants[1],4710,4720,4799; //Inteligence1 Dexterity1 HP500
+ else if (.@i <= 112) setarray .@enchants[1],4710,4720,4766; //Inteligence1 Dexterity1 Atk2
+ else if (.@i <= 128) setarray .@enchants[1],4710,4720,4788; //Inteligence1 Dexterity1 Mdef6
+ else if (.@i <= 144) setarray .@enchants[1],4710,4721,4764; //Inteligence1 Dexterity2 Critical5
+ else if (.@i <= 160) setarray .@enchants[1],4710,4721,4799; //Inteligence1 Dexterity2 HP500
+ else if (.@i <= 176) setarray .@enchants[1],4710,4721,4766; //Inteligence1 Dexterity2 Atk2
+ else if (.@i <= 192) setarray .@enchants[1],4710,4721,4788; //Inteligence1 Dexterity2 Mdef6
+ else if (.@i <= 208) setarray .@enchants[1],4710,4740,4764; //Inteligence1 Vitality1 Critical5
+ else if (.@i <= 224) setarray .@enchants[1],4710,4740,4799; //Inteligence1 Vitality1 HP500
+ else if (.@i <= 240) setarray .@enchants[1],4710,4740,4766; //Inteligence1 Vitality1 Atk2
+ else if (.@i <= 256) setarray .@enchants[1],4710,4740,4788; //Inteligence1 Vitality1 Mdef6
+ else if (.@i <= 272) setarray .@enchants[1],4711,4711,4764; //Inteligence2 Inteligence2 Critical5
+ else if (.@i <= 288) setarray .@enchants[1],4711,4711,4799; //Inteligence2 Inteligence2 HP500
+ else if (.@i <= 304) setarray .@enchants[1],4711,4711,4766; //Inteligence2 Inteligence2 Atk2
+ else if (.@i <= 320) setarray .@enchants[1],4711,4711,4788; //Inteligence2 Inteligence2 Mdef6
+ else if (.@i <= 336) setarray .@enchants[1],4711,4720,4764; //Inteligence2 Dexterity1 Critical5
+ else if (.@i <= 352) setarray .@enchants[1],4711,4720,4799; //Inteligence2 Dexterity1 HP500
+ else if (.@i <= 368) setarray .@enchants[1],4711,4720,4766; //Inteligence2 Dexterity1 Atk2
+ else if (.@i <= 384) setarray .@enchants[1],4711,4720,4788; //Inteligence2 Dexterity1 Mdef6
+ else if (.@i <= 400) setarray .@enchants[1],4711,4721,4764; //Inteligence2 Dexterity2 Critical5
+ else if (.@i <= 416) setarray .@enchants[1],4711,4721,4799; //Inteligence2 Dexterity2 HP500
+ else if (.@i <= 432) setarray .@enchants[1],4711,4721,4766; //Inteligence2 Dexterity2 Atk2
+ else if (.@i <= 448) setarray .@enchants[1],4711,4721,4788; //Inteligence2 Dexterity2 Mdef6
+ else if (.@i <= 464) setarray .@enchants[1],4711,4740,4764; //Inteligence2 Vitality1 Critical5
+ else if (.@i <= 480) setarray .@enchants[1],4711,4740,4799; //Inteligence2 Vitality1 HP500
+ else if (.@i <= 496) setarray .@enchants[1],4711,4740,4766; //Inteligence2 Vitality1 Atk2
+ else if (.@i <= 512) setarray .@enchants[1],4711,4740,4788; //Inteligence2 Vitality1 Mdef6
+ else if (.@i <= 528) setarray .@enchants[1],4720,4711,4764; //Dexterity1 Inteligence2 Critical5
+ else if (.@i <= 544) setarray .@enchants[1],4720,4711,4799; //Dexterity1 Inteligence2 HP500
+ else if (.@i <= 560) setarray .@enchants[1],4720,4711,4766; //Dexterity1 Inteligence2 Atk2
+ else if (.@i <= 576) setarray .@enchants[1],4720,4711,4788; //Dexterity1 Inteligence2 Mdef6
+ else if (.@i <= 592) setarray .@enchants[1],4720,4720,4764; //Dexterity1 Dexterity1 Critical5
+ else if (.@i <= 608) setarray .@enchants[1],4720,4720,4799; //Dexterity1 Dexterity1 HP500
+ else if (.@i <= 624) setarray .@enchants[1],4720,4720,4766; //Dexterity1 Dexterity1 Atk2
+ else if (.@i <= 640) setarray .@enchants[1],4720,4720,4788; //Dexterity1 Dexterity1 Mdef6
+ else if (.@i <= 656) setarray .@enchants[1],4720,4721,4764; //Dexterity1 Dexterity2 Critical5
+ else if (.@i <= 672) setarray .@enchants[1],4720,4721,4799; //Dexterity1 Dexterity2 HP500
+ else if (.@i <= 688) setarray .@enchants[1],4720,4721,4766; //Dexterity1 Dexterity2 Atk2
+ else if (.@i <= 704) setarray .@enchants[1],4720,4721,4788; //Dexterity1 Dexterity2 Mdef6
+ else if (.@i <= 720) setarray .@enchants[1],4720,4740,4764; //Dexterity1 Vitality1 Critical5
+ else if (.@i <= 736) setarray .@enchants[1],4720,4740,4799; //Dexterity1 Vitality1 HP500
+ else if (.@i <= 752) setarray .@enchants[1],4720,4740,4766; //Dexterity1 Vitality1 Atk2
+ else if (.@i <= 768) setarray .@enchants[1],4720,4740,4788; //Dexterity1 Vitality1 Mdef6
+ else if (.@i <= 784) setarray .@enchants[1],4721,4711,4764; //Dexterity2 Inteligence2 Critical5
+ else if (.@i <= 800) setarray .@enchants[1],4721,4711,4799; //Dexterity2 Inteligence2 HP500
+ else if (.@i <= 816) setarray .@enchants[1],4721,4711,4766; //Dexterity2 Inteligence2 Atk2
+ else if (.@i <= 832) setarray .@enchants[1],4721,4711,4788; //Dexterity2 Inteligence2 Mdef6
+ else if (.@i <= 848) setarray .@enchants[1],4721,4720,4764; //Dexterity2 Dexterity1 Critical5
+ else if (.@i <= 864) setarray .@enchants[1],4721,4720,4799; //Dexterity2 Dexterity1 HP500
+ else if (.@i <= 880) setarray .@enchants[1],4721,4720,4766; //Dexterity2 Dexterity1 Atk2
+ else if (.@i <= 896) setarray .@enchants[1],4721,4720,4788; //Dexterity2 Dexterity1 Mdef6
+ else if (.@i <= 912) setarray .@enchants[1],4721,4721,4764; //Dexterity2 Dexterity2 Critical5
+ else if (.@i <= 928) setarray .@enchants[1],4721,4721,4799; //Dexterity2 Dexterity2 HP500
+ else if (.@i <= 944) setarray .@enchants[1],4721,4721,4766; //Dexterity2 Dexterity2 Atk2
+ else if (.@i <= 960) setarray .@enchants[1],4721,4721,4788; //Dexterity2 Dexterity2 Mdef6
+ else if (.@i <= 976) setarray .@enchants[1],4721,4740,4764; //Dexterity2 Vitality1 Critical5
+ else if (.@i <= 992) setarray .@enchants[1],4721,4740,4799; //Dexterity2 Vitality1 HP500
+ else if (.@i <= 1008) setarray .@enchants[1],4721,4740,4766; //Dexterity2 Vitality1 Atk2
+ else if (.@i <= 1024) setarray .@enchants[1],4721,4740,4788; //Dexterity2 Vitality1 Mdef6
+ else if (.@i <= 1026) setarray .@enchants[1],4761,4761,4761; //Matk2 Matk2 Matk2
+ else if (.@i <= 1028) setarray .@enchants[1],4712,4713,4713; //Inteligence3 Inteligence4 Inteligence4
+ else if (.@i <= 1030) setarray .@enchants[1],4712,4761,4761; //Inteligence3 Matk2 Matk2
+ else if (.@i <= 1032) setarray .@enchants[1],4712,4713,4761; //Inteligence3 Inteligence4 Matk2
+ else if (.@i <= 1034) setarray .@enchants[1],4722,4723,4723; //Dexterity3 Dexterity4 Dexterity4
+ else if (.@i <= 1036) setarray .@enchants[1],4722,4703,4703; //Dexterity3 Strength4 Strength4
+ else if (.@i <= 1038) setarray .@enchants[1],4722,4767,4767; //Dexterity3 Atk3 Atk3
+ else if (.@i <= 1040) setarray .@enchants[1],4767,4767,4767; //Atk3 Atk3 Atk3
+ else if (.@i <= 1487) {
+ mes "[Relice]";
+ mes "Sometimes things just don't work out the way you want. I hope next time things go better for you. Until then, good bye.";
+ close;
+ }
+ break;
+ case 3:
+ set .@i, rand(1,2852);
+ if (.@i <= 31) setarray .@enchants[2],4720,4710; //Dexterity1 Inteligence1
+ else if (.@i <= 62) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2
+ else if (.@i <= 93) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 124) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1
+ else if (.@i <= 155) setarray .@enchants[2],4740,4710; //Vitality1 Inteligence1
+ else if (.@i <= 186) setarray .@enchants[2],4740,4711; //Vitality1 Inteligence2
+ else if (.@i <= 217) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2
+ else if (.@i <= 248) setarray .@enchants[2],4740,4760; //Vitality1 Matk1
+ else if (.@i <= 279) setarray .@enchants[2],4741,4710; //Vitality2 Inteligence1
+ else if (.@i <= 310) setarray .@enchants[2],4741,4711; //Vitality2 Inteligence2
+ else if (.@i <= 341) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2
+ else if (.@i <= 372) setarray .@enchants[2],4741,4760; //Vitality2 Matk1
+ else if (.@i <= 403) setarray .@enchants[2],4801,4710; //SP100 Inteligence1
+ else if (.@i <= 434) setarray .@enchants[2],4801,4711; //SP100 Inteligence2
+ else if (.@i <= 465) setarray .@enchants[2],4801,4721; //SP100 Dexterity2
+ else if (.@i <= 496) setarray .@enchants[2],4801,4760; //SP100 Matk1
+ else if (.@i <= 527) setarray .@enchants[2],4720,4710; //Dexterity1 Inteligence1
+ else if (.@i <= 558) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2
+ else if (.@i <= 589) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 620) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1
+ else if (.@i <= 651) setarray .@enchants[2],4740,4710; //Vitality1 Inteligence1
+ else if (.@i <= 682) setarray .@enchants[2],4740,4711; //Vitality1 Inteligence2
+ else if (.@i <= 713) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2
+ else if (.@i <= 744) setarray .@enchants[2],4740,4760; //Vitality1 Matk1
+ else if (.@i <= 775) setarray .@enchants[2],4741,4710; //Vitality2 Inteligence1
+ else if (.@i <= 806) setarray .@enchants[2],4741,4711; //Vitality2 Inteligence2
+ else if (.@i <= 837) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2
+ else if (.@i <= 868) setarray .@enchants[2],4741,4760; //Vitality2 Matk1
+ else if (.@i <= 899) setarray .@enchants[2],4801,4710; //SP100 Inteligence1
+ else if (.@i <= 930) setarray .@enchants[2],4801,4711; //SP100 Inteligence2
+ else if (.@i <= 961) setarray .@enchants[2],4801,4721; //SP100 Dexterity2
+ else if (.@i <= 992) setarray .@enchants[2],4801,4760; //SP100 Matk1
+ else if (.@i <= 1023) setarray .@enchants[2],4720,4710; //Dexterity1 Inteligence1
+ else if (.@i <= 1054) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2
+ else if (.@i <= 1085) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 1116) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1
+ else if (.@i <= 1147) setarray .@enchants[2],4740,4710; //Vitality1 Inteligence1
+ else if (.@i <= 1178) setarray .@enchants[2],4740,4711; //Vitality1 Inteligence2
+ else if (.@i <= 1209) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2
+ else if (.@i <= 1240) setarray .@enchants[2],4740,4760; //Vitality1 Matk1
+ else if (.@i <= 1271) setarray .@enchants[2],4741,4710; //Vitality2 Inteligence1
+ else if (.@i <= 1302) setarray .@enchants[2],4741,4711; //Vitality2 Inteligence2
+ else if (.@i <= 1333) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2
+ else if (.@i <= 1364) setarray .@enchants[2],4741,4760; //Vitality2 Matk1
+ else if (.@i <= 1395) setarray .@enchants[2],4801,4710; //SP100 Inteligence1
+ else if (.@i <= 1426) setarray .@enchants[2],4801,4711; //SP100 Inteligence2
+ else if (.@i <= 1457) setarray .@enchants[2],4801,4721; //SP100 Dexterity2
+ else if (.@i <= 1488) setarray .@enchants[2],4801,4760; //SP100 Matk1
+ else if (.@i <= 1519) setarray .@enchants[2],4720,4710; //Dexterity1 Inteligence1
+ else if (.@i <= 1550) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2
+ else if (.@i <= 1581) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 1612) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1
+ else if (.@i <= 1643) setarray .@enchants[2],4740,4710; //Vitality1 Inteligence1
+ else if (.@i <= 1674) setarray .@enchants[2],4740,4711; //Vitality1 Inteligence2
+ else if (.@i <= 1705) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2
+ else if (.@i <= 1736) setarray .@enchants[2],4740,4760; //Vitality1 Matk1
+ else if (.@i <= 1767) setarray .@enchants[2],4741,4710; //Vitality2 Inteligence1
+ else if (.@i <= 1798) setarray .@enchants[2],4741,4711; //Vitality2 Inteligence2
+ else if (.@i <= 1829) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2
+ else if (.@i <= 1860) setarray .@enchants[2],4741,4760; //Vitality2 Matk1
+ else if (.@i <= 1891) setarray .@enchants[2],4801,4710; //SP100 Inteligence1
+ else if (.@i <= 1922) setarray .@enchants[2],4801,4711; //SP100 Inteligence2
+ else if (.@i <= 1953) setarray .@enchants[2],4801,4721; //SP100 Dexterity2
+ else if (.@i <= 1984) setarray .@enchants[2],4801,4760; //SP100 Matk1
+ else if (.@i <= 1986) setarray .@enchants[2],4761,4761; //Matk2 Matk2
+ else if (.@i <= 1988) setarray .@enchants[2],4761,4723; //Matk2 Dexterity4
+ else if (.@i <= 1990) setarray .@enchants[2],4761,4714; //Matk2 Inteligence5
+ else if (.@i <= 1992) setarray .@enchants[2],4714,4714; //Inteligence5 Inteligence5
+ else if (.@i <= 1994) setarray .@enchants[2],4714,4723; //Inteligence5 Dexterity4
+ else if (.@i <= 1996) setarray .@enchants[2],4723,4723; //Dexterity4 Dexterity4
+ else if (.@i <= 2852) {
+ mes "[Relice]";
+ mes "Sometimes things just don't work out the way you want. I hope next time things go better for you. Until then, good bye.";
+ close;
+ }
+ break;
+ case 4:
+ set .@i, rand(1,2852);
+ if (.@i <= 31) setarray .@enchants[2],4720,4700; //Dexterity1 Strength1
+ else if (.@i <= 62) setarray .@enchants[2],4720,4701; //Dexterity1 Strength2
+ else if (.@i <= 93) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 124) setarray .@enchants[2],4720,4767; //Dexterity1 Atk3
+ else if (.@i <= 155) setarray .@enchants[2],4740,4700; //Vitality1 Strength1
+ else if (.@i <= 186) setarray .@enchants[2],4740,4701; //Vitality1 Strength2
+ else if (.@i <= 217) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2
+ else if (.@i <= 248) setarray .@enchants[2],4740,4767; //Vitality1 Atk3
+ else if (.@i <= 279) setarray .@enchants[2],4741,4700; //Vitality2 Strength1
+ else if (.@i <= 310) setarray .@enchants[2],4741,4701; //Vitality2 Strength2
+ else if (.@i <= 341) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2
+ else if (.@i <= 372) setarray .@enchants[2],4741,4767; //Vitality2 Atk3
+ else if (.@i <= 403) setarray .@enchants[2],4701,4700; //Strength2 Strength1
+ else if (.@i <= 434) setarray .@enchants[2],4701,4701; //Strength2 Strength2
+ else if (.@i <= 465) setarray .@enchants[2],4701,4721; //Strength2 Dexterity2
+ else if (.@i <= 496) setarray .@enchants[2],4701,4767; //Strength2 Atk3
+ else if (.@i <= 527) setarray .@enchants[2],4720,4700; //Dexterity1 Strength1
+ else if (.@i <= 558) setarray .@enchants[2],4720,4701; //Dexterity1 Strength2
+ else if (.@i <= 589) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 620) setarray .@enchants[2],4720,4767; //Dexterity1 Atk3
+ else if (.@i <= 651) setarray .@enchants[2],4740,4700; //Vitality1 Strength1
+ else if (.@i <= 682) setarray .@enchants[2],4740,4701; //Vitality1 Strength2
+ else if (.@i <= 713) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2
+ else if (.@i <= 744) setarray .@enchants[2],4740,4767; //Vitality1 Atk3
+ else if (.@i <= 775) setarray .@enchants[2],4741,4700; //Vitality2 Strength1
+ else if (.@i <= 806) setarray .@enchants[2],4741,4701; //Vitality2 Strength2
+ else if (.@i <= 837) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2
+ else if (.@i <= 868) setarray .@enchants[2],4741,4767; //Vitality2 Atk3
+ else if (.@i <= 899) setarray .@enchants[2],4701,4700; //Strength2 Strength1
+ else if (.@i <= 930) setarray .@enchants[2],4701,4701; //Strength2 Strength2
+ else if (.@i <= 961) setarray .@enchants[2],4701,4721; //Strength2 Dexterity2
+ else if (.@i <= 992) setarray .@enchants[2],4701,4767; //Strength2 Atk3
+ else if (.@i <= 1023) setarray .@enchants[2],4720,4700; //Dexterity1 Strength1
+ else if (.@i <= 1054) setarray .@enchants[2],4720,4701; //Dexterity1 Strength2
+ else if (.@i <= 1085) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 1116) setarray .@enchants[2],4720,4767; //Dexterity1 Atk3
+ else if (.@i <= 1147) setarray .@enchants[2],4740,4700; //Vitality1 Strength1
+ else if (.@i <= 1178) setarray .@enchants[2],4740,4701; //Vitality1 Strength2
+ else if (.@i <= 1209) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2
+ else if (.@i <= 1240) setarray .@enchants[2],4740,4767; //Vitality1 Atk3
+ else if (.@i <= 1271) setarray .@enchants[2],4741,4700; //Vitality2 Strength1
+ else if (.@i <= 1302) setarray .@enchants[2],4741,4701; //Vitality2 Strength2
+ else if (.@i <= 1333) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2
+ else if (.@i <= 1364) setarray .@enchants[2],4741,4767; //Vitality2 Atk3
+ else if (.@i <= 1395) setarray .@enchants[2],4701,4700; //Strength2 Strength1
+ else if (.@i <= 1426) setarray .@enchants[2],4701,4701; //Strength2 Strength2
+ else if (.@i <= 1457) setarray .@enchants[2],4701,4721; //Strength2 Dexterity2
+ else if (.@i <= 1488) setarray .@enchants[2],4701,4767; //Strength2 Atk3
+ else if (.@i <= 1519) setarray .@enchants[2],4720,4700; //Dexterity1 Strength1
+ else if (.@i <= 1550) setarray .@enchants[2],4720,4701; //Dexterity1 Strength2
+ else if (.@i <= 1581) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 1612) setarray .@enchants[2],4720,4767; //Dexterity1 Atk3
+ else if (.@i <= 1643) setarray .@enchants[2],4740,4700; //Vitality1 Strength1
+ else if (.@i <= 1674) setarray .@enchants[2],4740,4701; //Vitality1 Strength2
+ else if (.@i <= 1705) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2
+ else if (.@i <= 1736) setarray .@enchants[2],4740,4767; //Vitality1 Atk3
+ else if (.@i <= 1767) setarray .@enchants[2],4741,4700; //Vitality2 Strength1
+ else if (.@i <= 1798) setarray .@enchants[2],4741,4701; //Vitality2 Strength2
+ else if (.@i <= 1829) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2
+ else if (.@i <= 1860) setarray .@enchants[2],4741,4767; //Vitality2 Atk3
+ else if (.@i <= 1891) setarray .@enchants[2],4701,4700; //Strength2 Strength1
+ else if (.@i <= 1922) setarray .@enchants[2],4701,4701; //Strength2 Strength2
+ else if (.@i <= 1953) setarray .@enchants[2],4701,4721; //Strength2 Dexterity2
+ else if (.@i <= 1984) setarray .@enchants[2],4701,4767; //Strength2 Atk3
+ else if (.@i <= 1986) setarray .@enchants[2],4767,4767; //Atk3 Atk3
+ else if (.@i <= 1988) setarray .@enchants[2],4767,4723; //Atk3 Dexterity4
+ else if (.@i <= 1990) setarray .@enchants[2],4767,4704; //Atk3 Strength5
+ else if (.@i <= 1992) setarray .@enchants[2],4704,4704; //Strength5 Strength5
+ else if (.@i <= 1994) setarray .@enchants[2],4704,4723; //Strength5 Dexterity4
+ else if (.@i <= 1996) setarray .@enchants[2],4723,4723; //Dexterity4 Dexterity4
+ else if (.@i <= 2852) {
+ mes "[Relice]";
+ mes "Sometimes things just don't work out the way you want. I hope next time things go better for you. Until then, good bye.";
+ close;
+ }
+ break;
+ }
+ getitem2 .@item,1,1,0,0,0,.@enchants[1],.@enchants[2],.@enchants[3];
+ mes "[Relice]";
+ mes "The strengthening went well, lucky you!";
+ close;
+ }
+}
+
+// Warlock Enchants :: coin_warrock
+//============================================================
+mora,104,76,4 script Guardian of Artifacts#p 495,{
+ if (checkweight(1201,1) == 0) {
+ mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much weight to do that. Reduce the weight and try again.";
+ close;
+ }
+ if (countitem(6380) < 10) {
+ mes "[Guardian of Artifacts]";
+ mes "My job is to guard the Warlock's ancient artifacts.";
+ next;
+ mes "[Guardian of Artifacts]";
+ mes "Well, it's not a big deal actually. I give out artifacts to those who deserve them for the price of a few Mora Coins.";
+ next;
+ mes "[Guardian of Artifacts]";
+ mes "You can trade with me when you have 10 or more Coins. See you later.";
+ close;
+ }
+ mes "[Guardian of Artifacts]";
+ mes "Wow~ I see you're ready for the Warlock's Ancient Artifacts.";
+ next;
+ mes "[Guardian of Artifacts]";
+ mes "You can choose from four types of items:";
+ mes "staffs, orbs, shoes, and robes.";
+ next;
+ mes "[Guardian of Artifacts]";
+ mes "There are four options available for each type, but the item available will change day to day, depending on my mood.";
+ next;
+ mes "[Guardian of Artifacts]";
+ mes "Do you want to buy an artifact with your Mora Coins?";
+ next;
+ if(select("Maybe later... I have things to do.:Yes, I do.") == 1) {
+ mes "[Guardian of Artifacts]";
+ mes "Okay, see you later then.";
+ close;
+ }
+ mes "[Guardian of Artifacts]";
+ mes "What type of item do you want to buy?";
+ next;
+ switch(select("Quit:Shoes:Orbs:Robes:Staves")) {
+ case 1:
+ mes "[Guardian of Artifacts]";
+ mes "Okay, see you later then.";
+ close;
+ case 2:
+ setarray .@items[0],2467,2468,2469,2470; //Golden_Rod_Shoes,Aqua_Shoes,Crimson_Shoes,Forest_Shoes
+ set .@plural,1;
+ break;
+ case 3:
+ setarray .@items[0],2859,2860,2861,2862; //Golden_Rod_Orb,Aqua_Orb,Crimson_Orb,Forest_Orb
+ break;
+ case 4:
+ setarray .@items[0],15025,15026,15027,15028; //Golden_Rod_Robe,Aqua_Robe,Crimson_Robe,Forest_Robe
+ break;
+ case 5:
+ setarray .@items[0],2007,2008,2009,2010; //Golden_Rod_Staff,Aqua_Staff,Crimson_Staff,Forest_Staff
+ break;
+ }
+ if (countitem(6380) < 10) {
+ mes "[Guardian of Artifacts]";
+ mes "Would you please come back when you have enough Coins?";
+ close;
+ }
+ set .@item, .@items[rand(getarraysize(.@items))];
+ delitem 6380,10; //Mora_Coin
+ getitem .@item,1;
+ mes "[Guardian of Artifacts]";
+ mes "I have ^aa00aa"+getitemname(.@item)+"^000000 available today. I hope "+((.@plural)?"they":"it")+" will come in handy...";
+ close;
+}
+
+mora,99,93,5 script Artifact Crafter#pa0829 495,{
+ if (checkweight(1201,1) == 0) {
+ mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much weight to do that. Reduce the weight and try again.";
+ close;
+ }
+ disable_items;
+ mes "[Artifact Crafter]";
+ mes "My job is to imbue artifacts with new power. If you have enough Coins, you can have one of the following items reinforced.";
+ next;
+ if(select("Tell me more.:I want to have my item reinforced.") == 1) {
+ mes "[Artifact Crafter]";
+ mes "Let me explain. One reinforcement costs you two Coins.";
+ next;
+ set .@info_only,1;
+ }
+ mes "[Artifact Crafter]";
+ mes "And, I'll work on the item whether it's been already reinforced or not.";
+ next;
+ mes "[Artifact Crafter]";
+ mes "So if you have an artifact reinforced to your liking, put it in a safe place and come back.";
+ next;
+ mes "[Artifact Crafter]";
+ mes "And another thing, the artifact will be destroyed if the reinforcement fails. Please keep that in mind.";
+ if (.@info_only)
+ close;
+ next;
+ set .@select, select("Maybe next time.:Golden Rod Staff:Aqua Staff:Crimson Staff:Forest Staff:Golden Rod Shoes:Aqua Shoes:Crimson Shoes:Forest Shoes:Golden Rod Orb:Aqua Orb:Crimson Orb:Forest Orb:Golden Rod Robe:Aqua Robe:Crimson Robe:Forest Robe");
+ switch(.@select) {
+ case 1:
+ mes "[Artifact Crafter]";
+ mes "As you wish.";
+ close;
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ setarray .@items[0],2007,2008,2009,2010; //Golden_Rod_Staff,Aqua_Staff,Crimson_Staff,Forest_Staff
+ set .@enchant_type,1;
+ break;
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ setarray .@items[0],2467,2468,2469,2470; //Golden_Rod_Shoes,Aqua_Shoes,Crimson_Shoes,Forest_Shoes
+ set .@enchant_type,2;
+ break;
+ case 10:
+ case 11:
+ case 12:
+ case 13:
+ setarray .@items[0],2859,2860,2861,2862; //Golden_Rod_Orb,Aqua_Orb,Crimson_Orb,Forest_Orb
+ set .@enchant_type,2;
+ break;
+ case 14:
+ case 15:
+ case 16:
+ case 17:
+ setarray .@items[0],15025,15026,15027,15028; //Golden_Rod_Robe,Aqua_Robe,Crimson_Robe,Forest_Robe
+ set .@enchant_type,2;
+ break;
+ }
+ set .@item, .@items[(.@select-2)%4];
+ if (countitem(6380) == 0 || countitem(.@item) == 0) {
+ mes "[Artifact Crafter]";
+ mes "You have to have 2 Mora Coins and an item to be reinforced before I can do my work.";
+ close;
+ }
+ specialeffect2 EF_REPAIRWEAPON;
+ delitem 6380,2; //Mora_Coin
+ delitem .@item,1;
+ switch(.@enchant_type) {
+ case 1:
+ set .@i, rand(1,2847);
+ if (.@i <= 31) setarray .@enchants[2],4720,4786; //Dexterity1 Mdef2
+ else if (.@i <= 62) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1
+ else if (.@i <= 93) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2
+ else if (.@i <= 124) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 155) setarray .@enchants[2],4796,4786; //HP200 Mdef2
+ else if (.@i <= 186) setarray .@enchants[2],4796,4760; //HP200 Matk1
+ else if (.@i <= 217) setarray .@enchants[2],4796,4711; //HP200 Inteligence2
+ else if (.@i <= 248) setarray .@enchants[2],4796,4721; //HP200 Dexterity2
+ else if (.@i <= 279) setarray .@enchants[2],4710,4786; //Inteligence1 Mdef2
+ else if (.@i <= 310) setarray .@enchants[2],4710,4760; //Inteligence1 Matk1
+ else if (.@i <= 341) setarray .@enchants[2],4710,4711; //Inteligence1 Inteligence2
+ else if (.@i <= 372) setarray .@enchants[2],4710,4721; //Inteligence1 Dexterity2
+ else if (.@i <= 403) setarray .@enchants[2],4801,4786; //SP100 Mdef2
+ else if (.@i <= 434) setarray .@enchants[2],4801,4760; //SP100 Matk1
+ else if (.@i <= 465) setarray .@enchants[2],4801,4711; //SP100 Inteligence2
+ else if (.@i <= 496) setarray .@enchants[2],4801,4721; //SP100 Dexterity2
+ else if (.@i <= 527) setarray .@enchants[2],4720,4786; //Dexterity1 Mdef2
+ else if (.@i <= 558) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1
+ else if (.@i <= 589) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2
+ else if (.@i <= 620) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 651) setarray .@enchants[2],4796,4786; //HP200 Mdef2
+ else if (.@i <= 682) setarray .@enchants[2],4796,4760; //HP200 Matk1
+ else if (.@i <= 713) setarray .@enchants[2],4796,4711; //HP200 Inteligence2
+ else if (.@i <= 744) setarray .@enchants[2],4796,4721; //HP200 Dexterity2
+ else if (.@i <= 775) setarray .@enchants[2],4710,4786; //Inteligence1 Mdef2
+ else if (.@i <= 806) setarray .@enchants[2],4710,4760; //Inteligence1 Matk1
+ else if (.@i <= 837) setarray .@enchants[2],4710,4711; //Inteligence1 Inteligence2
+ else if (.@i <= 868) setarray .@enchants[2],4710,4721; //Inteligence1 Dexterity2
+ else if (.@i <= 899) setarray .@enchants[2],4801,4786; //SP100 Mdef2
+ else if (.@i <= 930) setarray .@enchants[2],4801,4760; //SP100 Matk1
+ else if (.@i <= 961) setarray .@enchants[2],4801,4711; //SP100 Inteligence2
+ else if (.@i <= 992) setarray .@enchants[2],4801,4721; //SP100 Dexterity2
+ else if (.@i <= 1023) setarray .@enchants[2],4720,4786; //Dexterity1 Mdef2
+ else if (.@i <= 1054) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1
+ else if (.@i <= 1085) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2
+ else if (.@i <= 1116) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 1147) setarray .@enchants[2],4796,4786; //HP200 Mdef2
+ else if (.@i <= 1178) setarray .@enchants[2],4796,4760; //HP200 Matk1
+ else if (.@i <= 1209) setarray .@enchants[2],4796,4711; //HP200 Inteligence2
+ else if (.@i <= 1240) setarray .@enchants[2],4796,4721; //HP200 Dexterity2
+ else if (.@i <= 1271) setarray .@enchants[2],4710,4786; //Inteligence1 Mdef2
+ else if (.@i <= 1302) setarray .@enchants[2],4710,4760; //Inteligence1 Matk1
+ else if (.@i <= 1333) setarray .@enchants[2],4710,4711; //Inteligence1 Inteligence2
+ else if (.@i <= 1364) setarray .@enchants[2],4710,4721; //Inteligence1 Dexterity2
+ else if (.@i <= 1395) setarray .@enchants[2],4801,4786; //SP100 Mdef2
+ else if (.@i <= 1426) setarray .@enchants[2],4801,4760; //SP100 Matk1
+ else if (.@i <= 1457) setarray .@enchants[2],4801,4711; //SP100 Inteligence2
+ else if (.@i <= 1488) setarray .@enchants[2],4801,4721; //SP100 Dexterity2
+ else if (.@i <= 1519) setarray .@enchants[2],4720,4786; //Dexterity1 Mdef2
+ else if (.@i <= 1550) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1
+ else if (.@i <= 1581) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2
+ else if (.@i <= 1612) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2
+ else if (.@i <= 1643) setarray .@enchants[2],4796,4786; //HP200 Mdef2
+ else if (.@i <= 1674) setarray .@enchants[2],4796,4760; //HP200 Matk1
+ else if (.@i <= 1705) setarray .@enchants[2],4796,4711; //HP200 Inteligence2
+ else if (.@i <= 1736) setarray .@enchants[2],4796,4721; //HP200 Dexterity2
+ else if (.@i <= 1767) setarray .@enchants[2],4710,4786; //Inteligence1 Mdef2
+ else if (.@i <= 1798) setarray .@enchants[2],4710,4760; //Inteligence1 Matk1
+ else if (.@i <= 1829) setarray .@enchants[2],4710,4711; //Inteligence1 Inteligence2
+ else if (.@i <= 1860) setarray .@enchants[2],4710,4721; //Inteligence1 Dexterity2
+ else if (.@i <= 1891) setarray .@enchants[2],4801,4786; //SP100 Mdef2
+ else if (.@i <= 1922) setarray .@enchants[2],4801,4760; //SP100 Matk1
+ else if (.@i <= 1953) setarray .@enchants[2],4801,4711; //SP100 Inteligence2
+ else if (.@i <= 1984) setarray .@enchants[2],4801,4721; //SP100 Dexterity2
+ else if (.@i <= 1986) setarray .@enchants[2],4713,4761; //Inteligence4 Matk2
+ else if (.@i <= 1988) setarray .@enchants[2],4713,4713; //Inteligence4 Inteligence4
+ else if (.@i <= 1990) setarray .@enchants[2],4761,4761; //Matk2 Matk2
+ else if (.@i <= 1992) setarray .@enchants[2],4761,4713; //Matk2 Inteligence4
+ else if (.@i <= 2847) {
+ mes "[Artifact Crafter]";
+ mes "Oh no... it broke... Well, it happens. Better luck next time.";
+ close;
+ }
+ break;
+ case 2:
+ set .@i, rand(1,2858);
+ if (.@i <= 31) setarray .@enchants[1],4710,4720,4786; //Inteligence1 Dexterity1 Mdef2
+ else if (.@i <= 62) setarray .@enchants[1],4710,4720,4760; //Inteligence1 Dexterity1 Matk1
+ else if (.@i <= 93) setarray .@enchants[1],4710,4720,4711; //Inteligence1 Dexterity1 Inteligence2
+ else if (.@i <= 124) setarray .@enchants[1],4710,4720,4721; //Inteligence1 Dexterity1 Dexterity2
+ else if (.@i <= 155) setarray .@enchants[1],4710,4796,4786; //Inteligence1 HP200 Mdef2
+ else if (.@i <= 186) setarray .@enchants[1],4710,4796,4760; //Inteligence1 HP200 Matk1
+ else if (.@i <= 217) setarray .@enchants[1],4710,4796,4711; //Inteligence1 HP200 Inteligence2
+ else if (.@i <= 248) setarray .@enchants[1],4710,4796,4721; //Inteligence1 HP200 Dexterity2
+ else if (.@i <= 279) setarray .@enchants[1],4710,4710,4786; //Inteligence1 Inteligence1 Mdef2
+ else if (.@i <= 310) setarray .@enchants[1],4710,4710,4760; //Inteligence1 Inteligence1 Matk1
+ else if (.@i <= 341) setarray .@enchants[1],4710,4710,4711; //Inteligence1 Inteligence1 Inteligence2
+ else if (.@i <= 372) setarray .@enchants[1],4710,4710,4721; //Inteligence1 Inteligence1 Dexterity2
+ else if (.@i <= 403) setarray .@enchants[1],4710,4801,4786; //Inteligence1 SP100 Mdef2
+ else if (.@i <= 434) setarray .@enchants[1],4710,4801,4760; //Inteligence1 SP100 Matk1
+ else if (.@i <= 465) setarray .@enchants[1],4710,4801,4711; //Inteligence1 SP100 Inteligence2
+ else if (.@i <= 496) setarray .@enchants[1],4710,4801,4721; //Inteligence1 SP100 Dexterity2
+ else if (.@i <= 527) setarray .@enchants[1],4711,4720,4786; //Inteligence2 Dexterity1 Mdef2
+ else if (.@i <= 558) setarray .@enchants[1],4711,4720,4760; //Inteligence2 Dexterity1 Matk1
+ else if (.@i <= 589) setarray .@enchants[1],4711,4720,4711; //Inteligence2 Dexterity1 Inteligence2
+ else if (.@i <= 620) setarray .@enchants[1],4711,4720,4721; //Inteligence2 Dexterity1 Dexterity2
+ else if (.@i <= 651) setarray .@enchants[1],4711,4796,4786; //Inteligence2 HP200 Mdef2
+ else if (.@i <= 682) setarray .@enchants[1],4711,4796,4760; //Inteligence2 HP200 Matk1
+ else if (.@i <= 713) setarray .@enchants[1],4711,4796,4711; //Inteligence2 HP200 Inteligence2
+ else if (.@i <= 744) setarray .@enchants[1],4711,4796,4721; //Inteligence2 HP200 Dexterity2
+ else if (.@i <= 775) setarray .@enchants[1],4711,4710,4786; //Inteligence2 Inteligence1 Mdef2
+ else if (.@i <= 806) setarray .@enchants[1],4711,4710,4760; //Inteligence2 Inteligence1 Matk1
+ else if (.@i <= 837) setarray .@enchants[1],4711,4710,4711; //Inteligence2 Inteligence1 Inteligence2
+ else if (.@i <= 868) setarray .@enchants[1],4711,4710,4721; //Inteligence2 Inteligence1 Dexterity2
+ else if (.@i <= 899) setarray .@enchants[1],4711,4801,4786; //Inteligence2 SP100 Mdef2
+ else if (.@i <= 930) setarray .@enchants[1],4711,4801,4760; //Inteligence2 SP100 Matk1
+ else if (.@i <= 961) setarray .@enchants[1],4711,4801,4711; //Inteligence2 SP100 Inteligence2
+ else if (.@i <= 992) setarray .@enchants[1],4711,4801,4721; //Inteligence2 SP100 Dexterity2
+ else if (.@i <= 1023) setarray .@enchants[1],4720,4720,4786; //Dexterity1 Dexterity1 Mdef2
+ else if (.@i <= 1054) setarray .@enchants[1],4720,4720,4760; //Dexterity1 Dexterity1 Matk1
+ else if (.@i <= 1085) setarray .@enchants[1],4720,4720,4711; //Dexterity1 Dexterity1 Inteligence2
+ else if (.@i <= 1116) setarray .@enchants[1],4720,4720,4721; //Dexterity1 Dexterity1 Dexterity2
+ else if (.@i <= 1147) setarray .@enchants[1],4720,4796,4786; //Dexterity1 HP200 Mdef2
+ else if (.@i <= 1178) setarray .@enchants[1],4720,4796,4760; //Dexterity1 HP200 Matk1
+ else if (.@i <= 1209) setarray .@enchants[1],4720,4796,4711; //Dexterity1 HP200 Inteligence2
+ else if (.@i <= 1240) setarray .@enchants[1],4720,4796,4721; //Dexterity1 HP200 Dexterity2
+ else if (.@i <= 1271) setarray .@enchants[1],4720,4710,4786; //Dexterity1 Inteligence1 Mdef2
+ else if (.@i <= 1302) setarray .@enchants[1],4720,4710,4760; //Dexterity1 Inteligence1 Matk1
+ else if (.@i <= 1333) setarray .@enchants[1],4720,4710,4711; //Dexterity1 Inteligence1 Inteligence2
+ else if (.@i <= 1364) setarray .@enchants[1],4720,4710,4721; //Dexterity1 Inteligence1 Dexterity2
+ else if (.@i <= 1395) setarray .@enchants[1],4720,4801,4786; //Dexterity1 SP100 Mdef2
+ else if (.@i <= 1426) setarray .@enchants[1],4720,4801,4760; //Dexterity1 SP100 Matk1
+ else if (.@i <= 1457) setarray .@enchants[1],4720,4801,4711; //Dexterity1 SP100 Inteligence2
+ else if (.@i <= 1488) setarray .@enchants[1],4720,4801,4721; //Dexterity1 SP100 Dexterity2
+ else if (.@i <= 1519) setarray .@enchants[1],4721,4720,4786; //Dexterity2 Dexterity1 Mdef2
+ else if (.@i <= 1550) setarray .@enchants[1],4721,4720,4760; //Dexterity2 Dexterity1 Matk1
+ else if (.@i <= 1581) setarray .@enchants[1],4721,4720,4711; //Dexterity2 Dexterity1 Inteligence2
+ else if (.@i <= 1612) setarray .@enchants[1],4721,4720,4721; //Dexterity2 Dexterity1 Dexterity2
+ else if (.@i <= 1643) setarray .@enchants[1],4721,4796,4786; //Dexterity2 HP200 Mdef2
+ else if (.@i <= 1674) setarray .@enchants[1],4721,4796,4760; //Dexterity2 HP200 Matk1
+ else if (.@i <= 1705) setarray .@enchants[1],4721,4796,4711; //Dexterity2 HP200 Inteligence2
+ else if (.@i <= 1736) setarray .@enchants[1],4721,4796,4721; //Dexterity2 HP200 Dexterity2
+ else if (.@i <= 1767) setarray .@enchants[1],4721,4710,4786; //Dexterity2 Inteligence1 Mdef2
+ else if (.@i <= 1798) setarray .@enchants[1],4721,4710,4760; //Dexterity2 Inteligence1 Matk1
+ else if (.@i <= 1829) setarray .@enchants[1],4721,4710,4711; //Dexterity2 Inteligence1 Inteligence2
+ else if (.@i <= 1860) setarray .@enchants[1],4721,4710,4721; //Dexterity2 Inteligence1 Dexterity2
+ else if (.@i <= 1891) setarray .@enchants[1],4721,4801,4786; //Dexterity2 SP100 Mdef2
+ else if (.@i <= 1922) setarray .@enchants[1],4721,4801,4760; //Dexterity2 SP100 Matk1
+ else if (.@i <= 1953) setarray .@enchants[1],4721,4801,4711; //Dexterity2 SP100 Inteligence2
+ else if (.@i <= 1984) setarray .@enchants[1],4721,4801,4721; //Dexterity2 SP100 Dexterity2
+ else if (.@i <= 1986) setarray .@enchants[1],4712,4713,4761; //Inteligence3 Inteligence4 Matk2
+ else if (.@i <= 1988) setarray .@enchants[1],4712,4713,4713; //Inteligence3 Inteligence4 Inteligence4
+ else if (.@i <= 1990) setarray .@enchants[1],4712,4761,4761; //Inteligence3 Matk2 Matk2
+ else if (.@i <= 1992) setarray .@enchants[1],4712,4761,4713; //Inteligence3 Matk2 Inteligence4
+ else if (.@i <= 1994) setarray .@enchants[1],4722,4713,4761; //Dexterity3 Inteligence4 Matk2
+ else if (.@i <= 1996) setarray .@enchants[1],4722,4713,4713; //Dexterity3 Inteligence4 Inteligence4
+ else if (.@i <= 1998) setarray .@enchants[1],4722,4761,4761; //Dexterity3 Matk2 Matk2
+ else if (.@i <= 2000) setarray .@enchants[1],4722,4761,4713; //Dexterity3 Matk2 Inteligence4
+ else if (.@i <= 2858) {
+ mes "[Artifact Crafter]";
+ mes "Oh no... it broke... Well, it happens. Better luck next time.";
+ close;
+ }
+ break;
+ }
+ getitem2 .@item,1,1,0,0,0,.@enchants[1],.@enchants[2],.@enchants[3];
+ mes "[Artifact Crafter]";
+ mes "Looks like my effort was successful.";
+ close;
+}
+
+// Rune Knight, Guillotine Cross, & Ranger Enchants :: new_artifact
+//============================================================
+mora,152,97,5 script Guardian of Power#pa082 515,{
+ if (checkweight(1201,1) == 0) {
+ mes "Reduce the amount of items that you have in your inventory before continuing.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much in your inventory.";
+ close;
+ }
+ if (countitem(6380) < 10) {
+ mes "[Guardian of Power]";
+ mes "I give Rune Knights, Guillotine Crosses, and Rangers ancient artifacts to help them carry out their missions.";
+ next;
+ mes "[Guardian of Power]";
+ mes "There are guardians that give Mora Village coins which you can use to exchange for these artifacts.";
+ next;
+ mes "[Guardian of Power]";
+ mes "If you collect 10 or more Mora coins, then I can trade them for the artifacts.";
+ close;
+ }
+ mes "[Guardian of Power]";
+ mes "I think that you're ready to receive the ancient artifacts.";
+ next;
+ mes "[Guardian of Power]";
+ mes "Based on what class you specify, there are various artifacts available.";
+ next;
+ mes "[Guardian of Power]";
+ mes "^ff0000Choose carefully because these artifacts aren't easy to come by^000000. So what class do you want it for?";
+ next;
+ setarray .@jobs$[0],"Rune Knight","Guillotine Cross","Ranger";
+ set .@job, select("Cancel:Rune Knight:Guillotine Cross:Ranger")-2;
+ if (.@job == -1) {
+ mes "[Guardian of Power]";
+ mes "Talk to me later then.";
+ close;
+ }
+ mes "[Guardian of Power]";
+ mes .@jobs$[.@job]+"~ which artifact do you want?";
+ next;
+ switch(.@job) {
+ case 0: // Rune Knight
+ setarray .@items[0],2475,2476,2574,2575;
+ set .@i, select("Cancel:Ur's Greaves (Shoes):Peuz Greaves (Shoes):Ur's Manteau (Garment):Peuz Manteau (Garment)")-2;
+ break;
+ case 1: // Guillotine Cross
+ setarray .@items[0],2477,2478,2577,2578;
+ set .@i, select("Cancel:Sapha Shoes (Shoes):Nab Shoes (Shoes):Sapha Hood (Garment):Nab Hood (Garment)")-2;
+ break;
+ case 2: // Ranger
+ setarray .@items[0],2479,2480,2580,2581;
+ set .@i, select("Cancel:White Wing Boots (Shoes):Black Wing Boots (Shoes):White Wing Manteau (Garment):Black Wing Manteau (Garment)")-2;
+ break;
+ }
+ if (.@i == -1) {
+ mes "[Guardian of Power]";
+ mes "Talk to me later then.";
+ close;
+ }
+ if (countitem(6380) < 10) {
+ mes "[Guardian of Power]";
+ mes "Didn't I tell you to bring the correct amount of Mora Coins?";
+ close;
+ }
+ delitem 6380,10; //Mora_Coin
+ getitem .@items[.@i],1;
+ mes "[Guardian of Power]";
+ mes "Thank you for the 10 Mora Coins. Here is your artifact for the "+.@jobs$[.@job]+" job. Come back whenever you get more Mora Coins.";
+ close;
+}
+
+mora,148,98,3 script Artifact Researcher#new 521,{
+ if (checkweight(1201,1) == 0) {
+ mes "Reduce the amount of items that you have in your inventory before continuing.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much in your inventory.";
+ close;
+ }
+ disable_items;
+ mes "[Artifact Researcher]";
+ mes "Nice to meet you.";
+ mes "I'm here in Mora studying ancient relics and artifacts. The new discoveries of Adventurers has made this village very exciting for me.";
+ next;
+ switch(select("Tell me more...:Give abilities to artifacts.:Reset Enhanced abilities.")) {
+ case 1:
+ mes "[Artifact Researcher]";
+ mes "New artifacts have been found here in Mora village, haven't you heard the news?";
+ next;
+ mes "[Artifact Researcher]";
+ mes "If you come across any of these artifacts, there are hidden powers that can be extracted from them.";
+ next;
+ mes "[Artifact Researcher]";
+ mes "I'm going to continue my research for these artifacts. We researchers are taking Mora Coins as payment for our services...";
+ next;
+ mes "[Artifact Researcher]";
+ mes "I'm offering my services to give abilities to the artifacts for 100,000 zeny and 1 Mora Coin.";
+ next;
+ mes "[Artifact Researcher]";
+ mes "The best part of my service is that any enhancements that you have in these artifacts will not be harmed.";
+ close;
+ case 2:
+ set @mora_enchant_select,1;
+ break;
+ case 3:
+ set @mora_enchant_select,2;
+ break;
+ }
+ if (Zeny < 100000 || countitem(6380) == 0) {
+ mes "[Artifact Researcher]";
+ mes "I'm not giving these services out for free pal. 100,000 zeny or 1 Mora Coin. Is that too much to ask?";
+ close;
+ }
+ mes "[Artifact Researcher]";
+ mes "Ok, so are you ready? Before I start working on this, what kind of equipment did you want me to enhance?";
+ next;
+ set .@i, select("I'm not wearing the equipment:1. Weapon:2. Shoes:3. Garment:4. Armor:5. Accessory")-2;
+ if (.@i == -1) {
+ mes "[Artifact Researcher]";
+ mes "Make sure you're wearing the equipment first.";
+ close;
+ }
+ setarray .@parts[0], EQI_HAND_R, EQI_SHOES, EQI_GARMENT, EQI_ARMOR, EQI_ACC_L;
+ set .@part, .@parts[.@i];
+ if (!getequipisequiped(.@part)) {
+ mes "[Artifact Researcher]";
+ mes "Make sure you're wearing the equipment first.";
+ close;
+ }
+ set .@equip_id, getequipid(.@part);
+ set @mora_equip_part, .@part;
+
+ // @mora_equip_id = enc_type
+ //callsub L_Socket,<enchant type>,<bonus enchant type>,<4-x enchants possible>;
+ // Enchant types:
+ // [1]ATK [2]CRIT [3]EVA [4]Healer [5]Spell 1 [6]Assist 1 [7]Assist 2 [8]STR [9]Range [10]Physical [11]Spell 2
+ switch(.@part) {
+ case 4: //EQI_HAND_R
+ switch(.@equip_id) {
+ case 1660: callsub L_Socket,4,5,1; //Wand_Of_Affection2
+ case 2011: callsub L_Socket,5,11,1; //Golden_Rod_Staff2
+ case 2012: callsub L_Socket,5,11,1; //Aqua_Staff2
+ case 2013: callsub L_Socket,5,11,1; //Crimson_Staff2
+ case 2014: callsub L_Socket,5,11,1; //Forest_Staff2
+ case 16018: callsub L_Socket,1,5,1; //Mace_Of_Judgement2
+ }
+ break;
+ case 6: //EQI_SHOES
+ switch(.@equip_id) {
+ case 2475: callsub L_Socket,6,8,1; //Ur_Greave
+ case 2476: callsub L_Socket,6,10,1; //Peuz_Greave
+ case 2477: callsub L_Socket,6,2,1; //Sabah_Shoes
+ case 2478: callsub L_Socket,6,1,1; //Nab_Shoes
+ case 2479: callsub L_Socket,6,2,1; //White_Wing_Boots
+ case 2480: callsub L_Socket,6,1,1; //Black_Wing_Boots
+ }
+ break;
+ case 5: //EQI_GARMENT
+ switch(.@equip_id) {
+ case 2574: callsub L_Socket,3,8,1; //Ur_Manteau
+ case 2575: callsub L_Socket,3,2,1; //Peuz_Manteau
+ case 2577: callsub L_Socket,3,2,1; //Sabah_Hood
+ case 2578: callsub L_Socket,3,2,1; //Nab_Hood
+ case 2580: callsub L_Socket,3,1,1; //White_Wing_Manteau
+ case 2581: callsub L_Socket,3,1,1; //Black_Wing_Manteau
+ }
+ break;
+ case 2: //EQI_ARMOR
+ switch(.@equip_id) {
+ case 15036: callsub L_Socket,8,1,1; //Ur_Plate
+ case 15037: callsub L_Socket,10,2,1; //Peuz_Plate
+ case 15038: callsub L_Socket,2,10,1; //Sabah_Cloth
+ case 15039: callsub L_Socket,1,2,1; //Nab_Cloth
+ case 15042: callsub L_Socket,2,9,1; //White_Wing_Suits
+ case 15043: callsub L_Socket,1,9,1; //Black_Wing_Suits
+ }
+ break;
+ case 7: //EQI_ACC_L
+ switch(.@equip_id) {
+ case 2883: callsub L_Socket,6,0,2; //Ur_Seal
+ case 2884: callsub L_Socket,6,0,2; //Peuz_Seal
+ case 2886: callsub L_Socket,6,0,2; //Sabah_Ring
+ case 2887: callsub L_Socket,6,0,2; //Nab_Ring
+ case 2890: callsub L_Socket,6,0,2; //White_Wing_Brooch
+ case 2891: callsub L_Socket,6,0,2; //Black_wing_Brooch
+ }
+ break;
+ }
+ mes "[Artifact Researcher]";
+ mes "^990099"+getequipname(.@part)+"^000000??";
+ mes "I really want to study this equipment...";
+ set @mora_equip_part,0;
+ close;
+
+L_Socket:
+ set .@select, @mora_enchant_select;
+ set .@enchant_type, getarg(0);
+ set .@part, @mora_equip_part;
+ set .@equip_id, getequipid(.@part);
+ set .@equip_name$, getitemname(.@equip_id);
+ set .@equip_refine, getequiprefinerycnt(.@part);
+ setarray .@equip_card[0], getequipcardid(.@part,0),getequipcardid(.@part,1),getequipcardid(.@part,2),getequipcardid(.@part,3);
+ set @mora_equip_part,0;
+ set @mora_enchant_select,0;
+
+ if (.@select == 1) {
+ // If refine is +9 or higher, unlock bonus enchant type.
+ if (.@equip_refine >= 9 && getarg(1) > 0) {
+ if (.@enchant_type < 1 || .@enchant_type > 11 || getarg(1) > 11) {
+ mes "[Artifact Researcher]";
+ mes "Mm-hmm something is wrong.";
+ close;
+ }
+ setarray .@enchant_type$[1],"ATK Type","Critical Type","Evasion Type","Healer Type","Spell Ability 1","Assist Ability 1","Assist Ability 2","Strength","Range Type","Physical Type","Spell Ability 2";
+ mes "[Artifact Researcher]";
+ mes "It's a considerable reinforcement to the equipment. In this case extended enhancements can be granted. Which stat do you want to enhance?";
+ next;
+ switch(select(.@enchant_type$[.@enchant_type],.@enchant_type$[getarg(1)])) {
+ case 1:
+ break;
+ case 2:
+ set .@enchant_type, getarg(1);
+ break;
+ }
+ }
+ if (.@equip_card[3] == 0 && getarg(2) < 4) {
+ set .@slot,4;
+ mes "[Artifact Researcher]";
+ mes "Attempting to strengthen the ability further. The previous enforcement won't be affected. Do you want to continue?";
+ } else if (.@equip_card[2] == 0 && getarg(2) < 3) {
+ set .@slot,3;
+ mes "[Artifact Researcher]";
+ mes "Attempting second enhancement. The previous enforcement won't be affected.";
+ next;
+ mes "[Artifact Researcher]";
+ mes "I may have a chance to fail now with this attempt. Do you wish to continue?";
+ } else if (.@equip_card[1] == 0 && getarg(2) < 2) {
+ set .@slot,2;
+ mes "[Artifact Researcher]";
+ mes "Let's start the third enhancement. I can give the best stats at this stage but remember, ^990000there is now a chance for the artifact to be destroyed and previous enhancements will be erased^000000. Continue?";
+ } else {
+ mes "[Artifact Researcher]";
+ mes "This artifact has been strengthened to the limit. Further enhancement is impossible at its current state.";
+ close;
+ }
+ next;
+ if(select("I'll come back later.:Please continue!") == 1) {
+ mes "[Artifact Researcher]";
+ mes "If you change your mind, please come back.";
+ close;
+ }
+ switch(.@enchant_type) {
+ case 1: //Attack
+ if (.@slot == 4) set .@i, rand(1,525);
+ else if (.@slot == 3) set .@i, rand(301,655);
+ else if (.@slot == 2) set .@i, rand(451,750);
+ else {
+ mes "[Artifact Researcher]";
+ mes "An unknown error has occurred.";
+ close;
+ }
+ if (.@i < 101) set .@enchant,4700; //Strength1
+ else if (.@i < 201) set .@enchant,4811; //Fighting_Spirit1
+ else if (.@i < 301) set .@enchant,4819; //Atk1
+ else if (.@i < 351) set .@enchant,4701; //Strength2
+ else if (.@i < 401) set .@enchant,4810; //Fighting_Spirit2
+ else if (.@i < 451) set .@enchant,4766; //Atk2
+ else if (.@i < 476) set .@enchant,4702; //Strength3
+ else if (.@i < 501) set .@enchant,4809; //Fighting_Spirit3
+ else if (.@i < 526) set .@enchant,4767; //Atk3
+ else if (.@i < 626) set .@enchant,0;
+ else if (.@i < 641) set .@enchant,4703; //Strength4
+ else if (.@i < 656) set .@enchant,4808; //Fighting_Spirit4
+ else if (.@i < 661) set .@enchant,4704; //Strength5
+ else if (.@i < 666) set .@enchant,4820; //Fighting_Spirit5
+ else if (.@i < 668) set .@enchant,4705; //Strength6
+ else if (.@i < 670) set .@enchant,4821; //Fighting_Spirit6
+ else set .@enchant,9;
+ break;
+ case 2: //Critical
+ if (.@slot == 4) set .@i, rand(1,470);
+ else if (.@slot == 3) set .@i, rand(201,610);
+ else if (.@slot == 2) set .@i, rand(381,750);
+ else {
+ mes "[Artifact Researcher]";
+ mes "An unknown error has occurred.";
+ close;
+ }
+ if (.@i < 101) set .@enchant,4750; //Luck1
+ else if (.@i < 201) set .@enchant,4700; //Strength1
+ else if (.@i < 261) set .@enchant,4751; //Luck2
+ else if (.@i < 321) set .@enchant,4701; //Strength2
+ else if (.@i < 351) set .@enchant,4752; //Luck3
+ else if (.@i < 381) set .@enchant,4702; //Strength3
+ else if (.@i < 411) set .@enchant,4764; //Critical5
+ else if (.@i < 441) set .@enchant,4818; //Sharp1
+ else if (.@i < 471) set .@enchant,4752; //Luck3
+ else if (.@i < 571) set .@enchant,0;
+ else if (.@i < 586) set .@enchant,4753; //Luck4
+ else if (.@i < 601) set .@enchant,4754; //Luck5
+ else if (.@i < 606) set .@enchant,4765; //Critical7
+ else if (.@i < 611) set .@enchant,4817; //Sharp2
+ else if (.@i < 616) set .@enchant,4703; //Strength4
+ else if (.@i < 618) set .@enchant,4816; //Sharp3
+ else set .@enchant,9;
+ break;
+ case 3: //Evasion
+ if (.@slot == 4) set .@i, rand(1,525);
+ else if (.@slot == 3) set .@i, rand(301,670);
+ else if (.@slot == 2) set .@i, rand(451,800);
+ else {
+ mes "[Artifact Researcher]";
+ mes "An unknown error has occurred.";
+ close;
+ }
+ if (.@i < 101) set .@enchant,4859; //Evasion1
+ else if (.@i < 201) set .@enchant,4750; //Luck1
+ else if (.@i < 301) set .@enchant,4730; //Agility1
+ else if (.@i < 351) set .@enchant,4860; //Evasion3
+ else if (.@i < 401) set .@enchant,4751; //Luck2
+ else if (.@i < 451) set .@enchant,4731; //Agility2
+ else if (.@i < 476) set .@enchant,4731; //Agility2
+ else if (.@i < 501) set .@enchant,4752; //Luck3
+ else if (.@i < 526) set .@enchant,4732; //Agility3
+ else if (.@i < 626) set .@enchant,0;
+ else if (.@i < 641) set .@enchant,4762; //Evasion6
+ else if (.@i < 656) set .@enchant,4753; //Luck4
+ else if (.@i < 671) set .@enchant,4733; //Agility4
+ else if (.@i < 676) set .@enchant,4763; //Evasion12
+ else if (.@i < 681) set .@enchant,4754; //Luck5
+ else if (.@i < 683) set .@enchant,4734; //Agility5
+ else set .@enchant,9;
+ break;
+ case 4: //Healer
+ if (.@slot == 4) set .@i, rand(1,375);
+ else if (.@slot == 3) set .@i, rand(201,535);
+ else if (.@slot == 2) set .@i, rand(301,650);
+ else {
+ mes "[Artifact Researcher]";
+ mes "An unknown error has occurred.";
+ close;
+ }
+ if (.@i < 101) set .@enchant,4710; //Inteligence1
+ else if (.@i < 201) set .@enchant,4720; //Dexterity1
+ else if (.@i < 251) set .@enchant,4711; //Inteligence2
+ else if (.@i < 301) set .@enchant,4721; //Dexterity2
+ else if (.@i < 326) set .@enchant,4805; //Heal_Amount2
+ else if (.@i < 351) set .@enchant,4712; //Inteligence3
+ else if (.@i < 376) set .@enchant,4722; //Dexterity3
+ else if (.@i < 476) set .@enchant,0;
+ else if (.@i < 491) set .@enchant,4760; //Matk1
+ else if (.@i < 506) set .@enchant,4850; //Heal_Amount3
+ else if (.@i < 521) set .@enchant,4713; //Inteligence4
+ else if (.@i < 536) set .@enchant,4723; //Dexterity4
+ else if (.@i < 541) set .@enchant,4761; //Matk2
+ else if (.@i < 546) set .@enchant,4851; //Heal_Amount4
+ else if (.@i < 548) set .@enchant,4806; //Matk3
+ else if (.@i < 550) set .@enchant,4852; //Heal_Amount5
+ else set .@enchant,9;
+ break;
+ case 5: //Spell 1
+ if (.@slot == 4) set .@i, rand(1,600);
+ else if (.@slot == 3) set .@i, rand(401,760);
+ else if (.@slot == 2) set .@i, rand(401,766);
+ else {
+ mes "[Artifact Researcher]";
+ mes "An unknown error has occurred.";
+ close;
+ }
+ if (.@i < 101) set .@enchant,4710; //Inteligence1
+ else if (.@i < 201) set .@enchant,4720; //Dexterity1
+ else if (.@i < 301) set .@enchant,4795; //HP100
+ else if (.@i < 401) set .@enchant,4815; //Spell1
+ else if (.@i < 451) set .@enchant,4711; //Inteligence2
+ else if (.@i < 501) set .@enchant,4721; //Dexterity2
+ else if (.@i < 551) set .@enchant,4796; //HP200
+ else if (.@i < 601) set .@enchant,4814; //Spell2
+ else if (.@i < 701) set .@enchant,0;
+ else if (.@i < 716) set .@enchant,4712; //Inteligence3
+ else if (.@i < 731) set .@enchant,4722; //Dexterity3
+ else if (.@i < 746) set .@enchant,4797; //HP300
+ else if (.@i < 761) set .@enchant,4813; //Spell3
+ else if (.@i < 763) set .@enchant,4713; //Inteligence4
+ else if (.@i < 765) set .@enchant,4723; //Dexterity4
+ else if (.@i < 767) set .@enchant,4812; //Spell4
+ else set .@enchant,9;
+ break;
+ case 6: //Assist 1
+ if (.@slot == 4) set .@i, rand(1,520);
+ else if (.@slot == 3) set .@i, rand(321,720);
+ else if (.@slot == 2) set .@i, rand(521,850);
+ else {
+ mes "[Artifact Researcher]";
+ mes "An unknown error has occurred.";
+ close;
+ }
+ if (.@i < 81) set .@enchant,4792; //Def6
+ else if (.@i < 161) set .@enchant,4787; //Mdef4
+ else if (.@i < 241) set .@enchant,4801; //SP100
+ else if (.@i < 321) set .@enchant,4796; //HP200
+ else if (.@i < 371) set .@enchant,4700; //Strength1
+ else if (.@i < 421) set .@enchant,4720; //Dexterity1
+ else if (.@i < 471) set .@enchant,4730; //Agility1
+ else if (.@i < 521) set .@enchant,4740; //Vitality1
+ else if (.@i < 621) set .@enchant,0;
+ else if (.@i < 646) set .@enchant,4793; //Def9
+ else if (.@i < 671) set .@enchant,4788; //Mdef6
+ else if (.@i < 696) set .@enchant,4802; //SP150
+ else if (.@i < 721) set .@enchant,4797; //HP300
+ else if (.@i < 731) set .@enchant,4701; //Strength2
+ else if (.@i < 741) set .@enchant,4721; //Dexterity2
+ else if (.@i < 751) set .@enchant,4731; //Agility2
+ else set .@enchant,9;
+ break;
+ case 7: //Assist 2
+ if (.@slot == 4) set .@i, rand(1,520);
+ else if (.@slot == 3) set .@i, rand(321,720);
+ else if (.@slot == 2) set .@i, rand(521,850);
+ else {
+ mes "[Artifact Researcher]";
+ mes "An unknown error has occurred.";
+ close;
+ }
+ if (.@i < 81) set .@enchant,4792; //Def6
+ else if (.@i < 161) set .@enchant,4787; //Mdef4
+ else if (.@i < 241) set .@enchant,4801; //SP100
+ else if (.@i < 321) set .@enchant,4796; //HP200
+ else if (.@i < 371) set .@enchant,4710; //Inteligence1
+ else if (.@i < 421) set .@enchant,4720; //Dexterity1
+ else if (.@i < 471) set .@enchant,4730; //Agility1
+ else if (.@i < 521) set .@enchant,4740; //Vitality1
+ else if (.@i < 621) set .@enchant,0;
+ else if (.@i < 646) set .@enchant,4793; //Def9
+ else if (.@i < 671) set .@enchant,4788; //Mdef6
+ else if (.@i < 696) set .@enchant,4802; //SP150
+ else if (.@i < 721) set .@enchant,4797; //HP300
+ else if (.@i < 731) set .@enchant,4711; //Inteligence2
+ else if (.@i < 741) set .@enchant,4721; //Dexterity2
+ else if (.@i < 751) set .@enchant,4741; //Vitality2
+ else set .@enchant,9;
+ break;
+ case 8: //Strength
+ if (.@slot == 4) set .@i, rand(1,525);
+ else if (.@slot == 3) set .@i, rand(301,685);
+ else if (.@slot == 2) set .@i, rand(451,800);
+ else {
+ mes "[Artifact Researcher]";
+ mes "An unknown error has occurred.";
+ close;
+ }
+ if (.@i < 101) set .@enchant,4740; //Vitality1
+ else if (.@i < 201) set .@enchant,4797; //HP300
+ else if (.@i < 301) set .@enchant,4791; //Def3
+ else if (.@i < 351) set .@enchant,4741; //Vitality2
+ else if (.@i < 401) set .@enchant,4798; //HP400
+ else if (.@i < 451) set .@enchant,4792; //Def6
+ else if (.@i < 476) set .@enchant,4742; //Vitality3
+ else if (.@i < 501) set .@enchant,4793; //Def9
+ else if (.@i < 526) set .@enchant,4799; //HP500
+ else if (.@i < 626) set .@enchant,0;
+ else if (.@i < 641) set .@enchant,4742; //Vitality3
+ else if (.@i < 656) set .@enchant,4743; //Vitality4
+ else if (.@i < 671) set .@enchant,4794; //Def12
+ //else if (.@i < 686) set .@enchant,01; // ??
+ else if (.@i < 688) set .@enchant,4744; //Vitality5
+ //else if (.@i < 690) set .@enchant,02; // ??
+ else set .@enchant,9;
+ break;
+ case 9: //Range
+ if (.@slot == 4) set .@i, rand(1,470);
+ else if (.@slot == 3) set .@i, rand(201,610);
+ else if (.@slot == 2) set .@i, rand(321,750);
+ else {
+ mes "[Artifact Researcher]";
+ mes "An unknown error has occurred.";
+ close;
+ }
+ if (.@i < 101) set .@enchant,4750; //Luck1
+ else if (.@i < 201) set .@enchant,4720; //Dexterity1
+ else if (.@i < 261) set .@enchant,4751; //Luck2
+ else if (.@i < 321) set .@enchant,4721; //Dexterity2
+ else if (.@i < 351) set .@enchant,4752; //Luck3
+ else if (.@i < 381) set .@enchant,4722; //Dexterity3
+ else if (.@i < 411) set .@enchant,4764; //Critical5
+ else if (.@i < 441) set .@enchant,4832; //Expert_Archer1
+ else if (.@i < 471) set .@enchant,4753; //Luck4
+ else if (.@i < 571) set .@enchant,0;
+ else if (.@i < 586) set .@enchant,4723; //Dexterity4
+ else if (.@i < 601) set .@enchant,4833; //Expert_Archer2
+ else if (.@i < 606) set .@enchant,4765; //Critical7
+ else if (.@i < 611) set .@enchant,4834; //Expert_Archer3
+ else if (.@i < 616) set .@enchant,4724; //Dexterity5
+ else if (.@i < 618) set .@enchant,4835; //Expert_Archer4
+ else set .@enchant,9;
+ break;
+ case 10: //Physical
+ if (.@slot == 4) set .@i, rand(1,600);
+ else if (.@slot == 3) set .@i, rand(401,800);
+ else if (.@slot == 2) set .@i, rand(601,930);
+ else {
+ mes "[Artifact Researcher]";
+ mes "An unknown error has occurred.";
+ close;
+ }
+ if (.@i < 101) set .@enchant,4791; //Def3
+ else if (.@i < 201) set .@enchant,4730; //Agility1
+ else if (.@i < 301) set .@enchant,4750; //Luck1
+ else if (.@i < 401) set .@enchant,4795; //HP100
+ else if (.@i < 451) set .@enchant,4792; //Def6
+ else if (.@i < 501) set .@enchant,4731; //Agility2
+ else if (.@i < 551) set .@enchant,4751; //Luck2
+ else if (.@i < 601) set .@enchant,4796; //HP200
+ else if (.@i < 701) set .@enchant,0;
+ else if (.@i < 726) set .@enchant,4793; //Def9
+ else if (.@i < 751) set .@enchant,4732; //Agility3
+ else if (.@i < 776) set .@enchant,4752; //Luck3
+ else if (.@i < 801) set .@enchant,4797; //HP300
+ else if (.@i < 816) set .@enchant,4733; //Agility4
+ else if (.@i < 831) set .@enchant,4753; //Luck4
+ else if (.@i < 833) set .@enchant,4807; //Atk_Speed1
+ else set .@enchant,9;
+ break;
+ case 11: //Spell 2
+ if (.@slot == 4) set .@i, rand(1,600);
+ else if (.@slot == 3) set .@i, rand(401,760);
+ else if (.@slot == 2) set .@i, rand(401,766);
+ else {
+ mes "[Artifact Researcher]";
+ mes "An unknown error has occurred.";
+ close;
+ }
+ if (.@i < 101) set .@enchant,4711; //Inteligence2
+ else if (.@i < 201) set .@enchant,4721; //Dexterity2
+ else if (.@i < 301) set .@enchant,4796; //HP200
+ else if (.@i < 401) set .@enchant,4814; //Spell2
+ else if (.@i < 451) set .@enchant,4712; //Inteligence3
+ else if (.@i < 501) set .@enchant,4722; //Dexterity3
+ else if (.@i < 551) set .@enchant,4760; //Matk1
+ else if (.@i < 601) set .@enchant,4813; //Spell3
+ else if (.@i < 701) set .@enchant,0;
+ else if (.@i < 716) set .@enchant,4713; //Inteligence4
+ else if (.@i < 731) set .@enchant,4723; //Dexterity4
+ else if (.@i < 746) set .@enchant,4761; //Matk2
+ else if (.@i < 761) set .@enchant,4812; //Spell4
+ else if (.@i < 763) set .@enchant,4714; //Inteligence5
+ else if (.@i < 765) set .@enchant,4724; //Dexterity5
+ else if (.@i < 767) set .@enchant,4806; //Matk3
+ else set .@enchant,9;
+ break;
+ default:
+ mes "[Artifact Researcher]";
+ mes "Well I guess I was wrong...";
+ close;
+ }
+ if (.@equip_card[3] == 0 && getarg(2) < 4) {
+ set .@equip_card[3],.@enchant;
+ } else if (.@equip_card[2] == 0 && getarg(2) < 3) {
+ set .@equip_card[2],.@enchant;
+ if (.@enchant == 0) {
+ set .@equip_card[3],0;
+ }
+ } else if (.@equip_card[1] == 0 && getarg(2) < 2) {
+ set .@equip_card[1],.@enchant;
+ if (.@enchant == 0) {
+ set .@equip_card[2],0;
+ set .@equip_card[3],0;
+ }
+ } else {
+ mes "[Artifact Researcher]";
+ mes "I think there was an enhancing limit to the artifacts.";
+ close;
+ }
+ if (Zeny < 100000 || countitem(6380) == 0) {
+ mes "[Artifact Researcher]";
+ mes "I'm not going to do the work unless you pay the fee.";
+ close;
+ }
+ delitem 6380,1; //Mora_Coin
+ set Zeny, Zeny-100000;
+ delequip .@part;
+ if (.@enchant == 9) {
+ specialeffect2 EF_SUI_EXPLOSION;
+ mes "[Artifact Researcher]";
+ mes "This!";
+ mes "I... I'm sorry but the equipment has been destroyed.";
+ close;
+ }
+ if (.@enchant == 0) {
+ specialeffect2 EF_SHIELDCHARGE;
+ mes "[Artifact Researcher]";
+ mes "Since the balance of power does not match, the given existing ability has been destroyed. It is unfortunate but please try again next time.";
+ } else {
+ specialeffect2 EF_REPAIRWEAPON;
+ mes "[Artifact Researcher]";
+ // Replacing original dialogue since it doesn't make sense.
+ //mes "The artifact ^990000"+.@slot+" will have the first enhancement retained.";
+ mes "I've successfully enhanced the artifact ^990000"+.@equip_name$+"^000000 at socket "+.@slot+".";
+ }
+
+// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
+ getitem2 .@equip_id,1,1,.@equip_refine,0,.@equip_card[0],.@equip_card[1],.@equip_card[2],.@equip_card[3];
+
+ close;
+ } else if (.@select == 2) {
+ if (Zeny < 100000 || countitem(6380) == 0) {
+ mes "[Artifact Researcher]";
+ mes "You've got to pay if you want the services.";
+ close;
+ }
+ specialeffect2 EF_REPAIRWEAPON;
+ mes "[Artifact Researcher]";
+ mes "The ability to enhance remains.";
+ delitem 6380,1; //Mora_Coin
+ set Zeny, Zeny-100000;
+ delequip .@part;
+
+// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
+ for(set .@i,0; .@i<4; set .@i,.@i+1) {
+ if (.@equip_card[.@i] >= 4700) // Armor Enchant System
+ set .@equip_card[.@i],0;
+ }
+ getitem2 .@equip_id,1,1,.@equip_refine,0,.@equip_card[0],.@equip_card[1],.@equip_card[2],.@equip_card[3];
+
+ close;
+ }
+}
+
+// Arch Bishop & Warlock Empowering :: relic_change
+//============================================================
+mora,124,82,4 script Artifact Collector#blan 522,{
+ if (checkweight(1201,1) == 0) {
+ mes "Reduce the amount of items that you have in your inventory before continuing.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much in your inventory.";
+ close;
+ }
+ disable_items;
+ emotion e_ho;
+ mes "Those Mora Artifacts look so perfect!";
+ mes "But I know you want them to be even better!";
+ next;
+ mes "[Artifact Collector]";
+ mes "Greetings Adventurer. We will be great friends in a moment after I tell you how to Empower your Artifacts!";
+ next;
+ switch(select("Let's do this!:Empower Artifacts?:Nope, not for me!")) {
+ case 1:
+ break;
+ case 2:
+ emotion e_ok;
+ mes "[Artifact Collector]";
+ mes "You seem like a pretty good judge of character.";
+ next;
+ mes "[Artifact Collector]";
+ mes "For over 200 years I've been working with Artifacts here in Mora. Toiling to get the perfect +9!";
+ next;
+ select("Gulp... +9?!");
+ emotion e_omg,1;
+ mes "[Artifact Collector]";
+ mes "My business is collecting the old relics and refining them to their essence!";
+ next;
+ emotion e_sob;
+ mes "[Artifact Collector]";
+ mes "Finding the perfect Artifact for me to experiment on is my life's work.";
+ mes "Plus seeing the wonder of our ancestor's legacy is also gratifying.";
+ next;
+ select("I can see how that could be fun.");
+ emotion e_pat;
+ mes "[Artifact Collector]";
+ mes "Thank you human.";
+ next;
+ mes "[Artifact Collector]";
+ mes "I've been doing this for over 200 years, and honestly the readily available supply is gone, and Artificer and Artifact Crafter won't trade me anymore...";
+ next;
+ emotion e_dots;
+ mes "[Artifact Collector]";
+ mes "But maybe the Humans that are starting to visit can bring in some new stock!";
+ next;
+ select("Humans... Stock?");
+ emotion e_what,1;
+ mes "[Artifact Collector]";
+ mes "Yes! If the humans can bring me new artifacts I can work on my ultimate achievement!";
+ next;
+ select("Ultimate Achievement?");
+ emotion e_what,1;
+ emotion e_ok;
+ mes "[Artifact Collector]";
+ mes "Patience, we'll get to that...";
+ next;
+ mes "[Artifact Collector]";
+ mes "I am a collector, by trade, but my greatest achievement is empowering some artifacts with greater power!";
+ mes "I have only perfected my ability on a few Artifact types so far.";
+ next;
+ mes "[Artifact Collector]";
+ mes "You might just be the human to help me complete my plan.";
+ next;
+ emotion e_otl;
+ mes "[Artifact Collector]";
+ mes "Oh how I love how fate works sometimes...";
+ next;
+ mes "[Artifact Collector]";
+ mes "+1, +2, +3, +4, +5, +6 those refinements are not strong enough to work on my craft.";
+ next;
+ emotion 57,0;
+ mes "[Artifact Collector]";
+ mes "But +7! +7 is rare and just barely strong enough to work in my crafting attempts.";
+ next;
+ select("I'm gonna be abused again...");
+ emotion e_hmm,1;
+ mes "[Artifact Collector]";
+ mes "Right you are! I know it is natural for you Humans to help a friend, even without the friend asking...";
+ next;
+ select("I'm not sure if...");
+ emotion e_what,1;
+ mes "[Artifact Collector]";
+ mes "Of course I'll accept your help! Find me...";
+ next;
+ mes "- Golden Rod Staff -";
+ mes "- Aqua Staff -";
+ mes "- Crimson Staff -";
+ mes "- Forest Staff -";
+ mes "- Staff of Mercy -";
+ mes "- Mace of Judgement -";
+ next;
+ select("Anything else?");
+ emotion e_what,1;
+ mes "[Artifact Collector]";
+ mes "Well aside from the +7, there are very specific enchantments that need to be on the artifact that help catalyze the process.";
+ next;
+ mes "[Artifact Collector]";
+ mes "If either the +7 or the specific enchantment is missing I can't do it.";
+ next;
+ select("So the Refining will be preserved?");
+ emotion e_omg,1;
+ emotion e_an;
+ mes "[Artifact Collector]";
+ mes "No, but what you'll get back is so much better!";
+ next;
+ mes "[Artifact Collector]";
+ mes "By now you are wondering more about the artifacts I'm looking for?";
+ next;
+ emotion e_what;
+ mes "[Artifact Collector]";
+ mes "Go ahead and ask!";
+ next;
+ setarray .@artifacts[0],1657,16013,2007,2008,2009,2010;
+ setarray .@empowered[0],1660,16018,2011,2012,2013,2014;
+ while(1) {
+ set .@i, select("I don't think I'm interested:Staff of Mercy:Mace of Judgement:Golden Rod Staff:Aqua Staff:Crimson Staff:Forest Staff")-2;
+ if (.@i == -1) {
+ emotion e_what;
+ mes "[Artifact Collector]";
+ mes "Ok, well maybe someday you will be.";
+ close;
+ }
+ mes "[Artifact Collector]";
+ mes getitemname(.@artifacts[.@i])+" must of course be refined to +7 or higher for me to distill it to an enchantment.";
+ next;
+ switch(.@i) {
+ case 0:
+ setarray .@enchants[0],4761,4723,4714;
+ set .@str$, "MATK+2%, DEX+4, INT+5";
+ break;
+ case 1:
+ setarray .@enchants[0],4767,4723,4704;
+ set .@str$, "ATK+3%, DEX+4, STR+5";
+ break;
+ default:
+ setarray .@enchants[0],4761,4713;
+ set .@str$, "MATK+2%, INT+4";
+ break;
+ }
+ mes "[Artifact Collector]";
+ mes "It must also carry any of these enchantments: "+.@str$+" to be craftable by me.";
+ next;
+ select(getitemname(.@empowered[.@i])+" attributes?");
+ callsub L_ShowInfo, .@empowered[.@i];
+ mes "[Artifact Collector]";
+ mes "But please if you do get one, please let me work on it, I'm begging you.";
+ next;
+ }
+ case 3:
+ mes "[Artifact Collector]";
+ mes "Have yourself a great day. Bye~";
+ close;
+ }
+ emotion e_flash;
+ mes "[Artifact Collector]";
+ mes "Let me take a look at what you have brought me.";
+ next;
+ if (!getequipisequiped(EQI_HAND_R)) {
+ emotion e_an;
+ mes "[Artifact Collector]";
+ mes "I don't know what you are trying to do... I can't enhance what you don't have.";
+ close;
+ }
+ set .@equip_id, getequipid(EQI_HAND_R);
+ setarray .@equip_card[2], getequipcardid(EQI_HAND_R,2),getequipcardid(EQI_HAND_R,3);
+ switch(.@equip_id) {
+ case 2007: //Golden_Rod_Staff
+ case 2008: //Aqua_Staff
+ case 2009: //Crimson_Staff
+ case 2010: //Forest_Staff
+ if (.@equip_card[2] == 4761 || .@equip_card[3] == 4761 || //Matk2
+ .@equip_card[2] == 4713 || .@equip_card[3] == 4713) //Inteligence4
+ set .@empowered,.@equip_id+4; //Golden_Rod_Staff2,Aqua_Staff2,Crimson_Staff2,Forest_Staff2
+ break;
+ case 1657: //Wand_Of_Affection
+ if (.@equip_card[2] == 4761 || .@equip_card[3] == 4761 || //Matk2
+ .@equip_card[2] == 4714 || .@equip_card[3] == 4714 || //Inteligence5
+ .@equip_card[2] == 4723 || .@equip_card[3] == 4723) //Dexterity4
+ set .@empowered,1660; //Wand_Of_Affection2
+ break;
+ case 16013: //Mace_Of_Judgement
+ if (.@equip_card[2] == 4723 || .@equip_card[3] == 4723 || //Dexterity4
+ .@equip_card[2] == 4704 || .@equip_card[3] == 4704 || //Strength5
+ .@equip_card[2] == 4767 || .@equip_card[3] == 4767) //Atk3
+ set .@empowered,16018; //Mace_Of_Judgement2
+ break;
+ default:
+ emotion e_an;
+ mes "[Artifact Collector]";
+ mes "The weapon you have isn't one of the Artifacts I can work with.";
+ close;
+ }
+ if (getequiprefinerycnt(EQI_HAND_R) < 7) {
+ emotion e_an;
+ mes "[Artifact Collector]";
+ mes "I must insist that the refine level of the Artifact be at least +7!";
+ close;
+ }
+ if (!.@empowered) {
+ emotion e_an;
+ mes "[Artifact Collector]";
+ mes "These attributes just won't do for my research process, try re-randoming them.";
+ close;
+ }
+ emotion e_slur;
+ mes "[Artifact Collector]";
+ mes "I'm tingling with excitement!";
+ mes "You've brought me everything I need!!";
+ next;
+ emotion e_ok;
+ mes "[Artifact Collector]";
+ mes "If you are ready I am about to show you what I can do with your +"+getequiprefinerycnt(EQI_HAND_R)+" Artifact!";
+ next;
+ mes "[Artifact Collector]";
+ mes "I'm going to take your ^FF0000"+getequipname(EQI_HAND_R)+"^000000 and exchange it, are you ready?";
+ next;
+ switch(select("NOOO!:Yes, I'm ready!:What will it be after?")) {
+ case 1:
+ emotion e_an;
+ mes "[Artifact Collector]";
+ mes "You've got to be kidding... you got my hopes up...";
+ close;
+ case 2:
+ break;
+ case 3:
+ callsub L_ShowInfo, .@empowered;
+ mes "[Artifact Collector]";
+ mes "Surely you want to go on?";
+ next;
+ if(select("No, I don't.:Yes, do it!") == 1) {
+ emotion e_an;
+ mes "[Artifact Collector]";
+ mes "You've got to be kidding... you got my hopes up...";
+ close;
+ }
+ break;
+ }
+ emotion e_heh;
+ delequip EQI_HAND_R;
+ getitem .@empowered,1;
+ mes "[Artifact Collector]";
+ mes "It is perfectly done, you will be so happy! Good bye friend~";
+ close;
+
+L_ShowInfo:
+ mes "[Artifact Collector]";
+ mes getitemname(getarg(0));
+ switch(getarg(0)) {
+ case 1660: //Wand_Of_Affection2
+ mes "One handed Staff / Attack : 30";
+ mes "Weight : 50 / Any Sex";
+ mes "Archbishop only";
+ mes "Weapon Level : 4 / ^ff0000Required Level: 130^000000";
+ mes "MATK + 180, INT + 4.";
+ mes "Adds 20% Heal Bonus.";
+ mes "If worn with Robes, Shoes, and Robe of Mercy Increase Heal Bonus by an additional 45% and SP consumption of 'Heal' by 50.";
+ mes "When receives close physical attack, Lv.1 Silentium will be excuted at a certain rate.";
+ mes "Recuces 3 seconds of delay after excuting Clearance, Laudaramus, and Laudaagnus skills.";
+ break;
+ case 16018: //Mace_Of_Judgement2
+ mes "Mace / Attack : 170";
+ mes "Weight : 120 / Any Sex";
+ mes "Archbishop only";
+ mes "Weapon Level : 4 / ^ff0000Required Level: 130^000000";
+ mes "MATK + 180, STR + 2, INT + 2.";
+ mes "Physical and Magical Attacks have a chance to increase damage by 40% to Demon monsters for 7 seconds.";
+ mes "If worn with Judgement Golves, Shoes and Shawl, increase Damage against Undead by 30%.";
+ mes "Increase damage of Adoramus by 200%, and increase SP cost of Adoramus by 30.";
+ break;
+ case 2011: //Golden_Rod_Staff2
+ mes "Staff / Attack: 30";
+ mes "Weight : 90 / Any Sex";
+ mes "Warlock only";
+ mes "Weapon Level : 4 / ^ff0000Required Level : 130^000000";
+ mes "INT + 5, MATK + 270.";
+ mes "Increase Jupitel Thunder damage by 30%.";
+ mes "If worn with Golden Robe, Golden Shoes, and Golden Orb Increase Wind Magic damage by 60%.";
+ mes "Lower Earth Magic damage by 60% and resistance to Earth by 50%.";
+ break;
+ case 2012: //Aqua_Staff2
+ mes "Staff / Attack : 30";
+ mes "Weight : 90 / Any Sex";
+ mes "Warlock only";
+ mes "Weapon Level : 4 / ^ff0000Required Level: 130^000000";
+ mes "INT + 5, MATK + 270.";
+ mes "Increase Cold Bolt and Frost Diver damage by 30%.";
+ mes "If worn with Aqua Robe, Shoes, and Orb Increase Water Magic damage by 60%.";
+ mes "Lower Wind Magic damage by 60% and resistance to Wind by 50%.";
+ break;
+ case 2013: //Crimson_Staff2
+ mes "Staff / Attack : 30";
+ mes "Weight : 90 / Any Sex";
+ mes "Warlock only";
+ mes "Weapon Level : 4 / ^ff0000Required Level: 130^000000";
+ mes "INT + 5, MATK + 270.";
+ mes "Increase Fire Bolt and Fireball damage by 30%.";
+ mes "If worn with Crimson Robe, Shoes, and Orb Increase Fire Magic damage by 60%.";
+ mes "Lower Water Magic damage by 60% and resistance to Water by 50%.";
+ break;
+ case 2014: //Forest_Staff2
+ mes "Staff / Attack : 30";
+ mes "Weight : 90 / Any Sex";
+ mes "Warlock only";
+ mes "Weapon Level : 4 / ^ff0000Required Level: 130^000000";
+ mes "INT + 5, MATK + 270.";
+ mes "Increase Earth Spike and Heaven's Drive damage by 30%.";
+ mes "If worn with Forest Robe, Shoes, and Orb Increase Earth Magic damage by 60%.";
+ mes "Lower Fire Magic damage by 60% and resistance to Fire by 50%.";
+ break;
+ }
+ next;
+ return;
+}
+
+// Other Enchants :: sangjo
+//============================================================
+function script F_Mora_Enchant {
+ specialeffect2 EF_REPAIRWEAPON;
+ progressbar "ffff00",3;
+ delitem 6380,5; //Mora_Coin
+ delitem getarg(0),1;
+ set .@i, rand(1,4568);
+ if (.@i <= 11) setarray .@enchants[1],4766,4720,4700; //Atk2 Dexterity1 Strength1
+ else if (.@i <= 22) setarray .@enchants[1],4766,4720,4701; //Atk2 Dexterity1 Strength2
+ else if (.@i <= 33) setarray .@enchants[1],4766,4720,4730; //Atk2 Dexterity1 Agility1
+ else if (.@i <= 44) setarray .@enchants[1],4766,4720,4731; //Atk2 Dexterity1 Agility2
+ else if (.@i <= 55) setarray .@enchants[1],4766,4720,4740; //Atk2 Dexterity1 Vitality1
+ else if (.@i <= 66) setarray .@enchants[1],4766,4720,4741; //Atk2 Dexterity1 Vitality2
+ else if (.@i <= 77) setarray .@enchants[1],4766,4721,4700; //Atk2 Dexterity2 Strength1
+ else if (.@i <= 88) setarray .@enchants[1],4766,4721,4701; //Atk2 Dexterity2 Strength2
+ else if (.@i <= 99) setarray .@enchants[1],4766,4721,4730; //Atk2 Dexterity2 Agility1
+ else if (.@i <= 110) setarray .@enchants[1],4766,4721,4731; //Atk2 Dexterity2 Agility2
+ else if (.@i <= 121) setarray .@enchants[1],4766,4721,4740; //Atk2 Dexterity2 Vitality1
+ else if (.@i <= 132) setarray .@enchants[1],4766,4721,4741; //Atk2 Dexterity2 Vitality2
+ else if (.@i <= 143) setarray .@enchants[1],4766,4710,4700; //Atk2 Inteligence1 Strength1
+ else if (.@i <= 154) setarray .@enchants[1],4766,4710,4701; //Atk2 Inteligence1 Strength2
+ else if (.@i <= 165) setarray .@enchants[1],4766,4710,4730; //Atk2 Inteligence1 Agility1
+ else if (.@i <= 176) setarray .@enchants[1],4766,4710,4731; //Atk2 Inteligence1 Agility2
+ else if (.@i <= 187) setarray .@enchants[1],4766,4710,4740; //Atk2 Inteligence1 Vitality1
+ else if (.@i <= 198) setarray .@enchants[1],4766,4710,4741; //Atk2 Inteligence1 Vitality2
+ else if (.@i <= 209) setarray .@enchants[1],4766,4711,4700; //Atk2 Inteligence2 Strength1
+ else if (.@i <= 220) setarray .@enchants[1],4766,4711,4701; //Atk2 Inteligence2 Strength2
+ else if (.@i <= 231) setarray .@enchants[1],4766,4711,4730; //Atk2 Inteligence2 Agility1
+ else if (.@i <= 242) setarray .@enchants[1],4766,4711,4731; //Atk2 Inteligence2 Agility2
+ else if (.@i <= 253) setarray .@enchants[1],4766,4711,4740; //Atk2 Inteligence2 Vitality1
+ else if (.@i <= 264) setarray .@enchants[1],4766,4711,4741; //Atk2 Inteligence2 Vitality2
+ else if (.@i <= 275) setarray .@enchants[1],4766,4750,4700; //Atk2 Luck1 Strength1
+ else if (.@i <= 286) setarray .@enchants[1],4766,4750,4701; //Atk2 Luck1 Strength2
+ else if (.@i <= 297) setarray .@enchants[1],4766,4750,4730; //Atk2 Luck1 Agility1
+ else if (.@i <= 308) setarray .@enchants[1],4766,4750,4731; //Atk2 Luck1 Agility2
+ else if (.@i <= 319) setarray .@enchants[1],4766,4750,4740; //Atk2 Luck1 Vitality1
+ else if (.@i <= 330) setarray .@enchants[1],4766,4750,4741; //Atk2 Luck1 Vitality2
+ else if (.@i <= 341) setarray .@enchants[1],4766,4751,4700; //Atk2 Luck2 Strength1
+ else if (.@i <= 352) setarray .@enchants[1],4766,4751,4701; //Atk2 Luck2 Strength2
+ else if (.@i <= 363) setarray .@enchants[1],4766,4751,4730; //Atk2 Luck2 Agility1
+ else if (.@i <= 374) setarray .@enchants[1],4766,4751,4731; //Atk2 Luck2 Agility2
+ else if (.@i <= 385) setarray .@enchants[1],4766,4751,4740; //Atk2 Luck2 Vitality1
+ else if (.@i <= 396) setarray .@enchants[1],4766,4751,4741; //Atk2 Luck2 Vitality2
+ else if (.@i <= 407) setarray .@enchants[1],4767,4720,4700; //Atk3 Dexterity1 Strength1
+ else if (.@i <= 418) setarray .@enchants[1],4767,4720,4701; //Atk3 Dexterity1 Strength2
+ else if (.@i <= 429) setarray .@enchants[1],4767,4720,4730; //Atk3 Dexterity1 Agility1
+ else if (.@i <= 440) setarray .@enchants[1],4767,4720,4731; //Atk3 Dexterity1 Agility2
+ else if (.@i <= 451) setarray .@enchants[1],4767,4720,4740; //Atk3 Dexterity1 Vitality1
+ else if (.@i <= 462) setarray .@enchants[1],4767,4720,4741; //Atk3 Dexterity1 Vitality2
+ else if (.@i <= 473) setarray .@enchants[1],4767,4721,4700; //Atk3 Dexterity2 Strength1
+ else if (.@i <= 484) setarray .@enchants[1],4767,4721,4701; //Atk3 Dexterity2 Strength2
+ else if (.@i <= 495) setarray .@enchants[1],4767,4721,4730; //Atk3 Dexterity2 Agility1
+ else if (.@i <= 506) setarray .@enchants[1],4767,4721,4731; //Atk3 Dexterity2 Agility2
+ else if (.@i <= 517) setarray .@enchants[1],4767,4721,4740; //Atk3 Dexterity2 Vitality1
+ else if (.@i <= 528) setarray .@enchants[1],4767,4721,4741; //Atk3 Dexterity2 Vitality2
+ else if (.@i <= 539) setarray .@enchants[1],4767,4710,4700; //Atk3 Inteligence1 Strength1
+ else if (.@i <= 550) setarray .@enchants[1],4767,4710,4701; //Atk3 Inteligence1 Strength2
+ else if (.@i <= 561) setarray .@enchants[1],4767,4710,4730; //Atk3 Inteligence1 Agility1
+ else if (.@i <= 572) setarray .@enchants[1],4767,4710,4731; //Atk3 Inteligence1 Agility2
+ else if (.@i <= 583) setarray .@enchants[1],4767,4710,4740; //Atk3 Inteligence1 Vitality1
+ else if (.@i <= 594) setarray .@enchants[1],4767,4710,4741; //Atk3 Inteligence1 Vitality2
+ else if (.@i <= 605) setarray .@enchants[1],4767,4711,4700; //Atk3 Inteligence2 Strength1
+ else if (.@i <= 616) setarray .@enchants[1],4767,4711,4701; //Atk3 Inteligence2 Strength2
+ else if (.@i <= 627) setarray .@enchants[1],4767,4711,4730; //Atk3 Inteligence2 Agility1
+ else if (.@i <= 638) setarray .@enchants[1],4767,4711,4731; //Atk3 Inteligence2 Agility2
+ else if (.@i <= 649) setarray .@enchants[1],4767,4711,4740; //Atk3 Inteligence2 Vitality1
+ else if (.@i <= 660) setarray .@enchants[1],4767,4711,4741; //Atk3 Inteligence2 Vitality2
+ else if (.@i <= 671) setarray .@enchants[1],4767,4750,4700; //Atk3 Luck1 Strength1
+ else if (.@i <= 682) setarray .@enchants[1],4767,4750,4701; //Atk3 Luck1 Strength2
+ else if (.@i <= 693) setarray .@enchants[1],4767,4750,4730; //Atk3 Luck1 Agility1
+ else if (.@i <= 704) setarray .@enchants[1],4767,4750,4731; //Atk3 Luck1 Agility2
+ else if (.@i <= 715) setarray .@enchants[1],4767,4750,4740; //Atk3 Luck1 Vitality1
+ else if (.@i <= 726) setarray .@enchants[1],4767,4750,4741; //Atk3 Luck1 Vitality2
+ else if (.@i <= 737) setarray .@enchants[1],4767,4751,4700; //Atk3 Luck2 Strength1
+ else if (.@i <= 748) setarray .@enchants[1],4767,4751,4701; //Atk3 Luck2 Strength2
+ else if (.@i <= 759) setarray .@enchants[1],4767,4751,4730; //Atk3 Luck2 Agility1
+ else if (.@i <= 770) setarray .@enchants[1],4767,4751,4731; //Atk3 Luck2 Agility2
+ else if (.@i <= 781) setarray .@enchants[1],4767,4751,4740; //Atk3 Luck2 Vitality1
+ else if (.@i <= 792) setarray .@enchants[1],4767,4751,4741; //Atk3 Luck2 Vitality2
+ else if (.@i <= 803) setarray .@enchants[1],4764,4720,4700; //Critical5 Dexterity1 Strength1
+ else if (.@i <= 814) setarray .@enchants[1],4764,4720,4701; //Critical5 Dexterity1 Strength2
+ else if (.@i <= 825) setarray .@enchants[1],4764,4720,4730; //Critical5 Dexterity1 Agility1
+ else if (.@i <= 836) setarray .@enchants[1],4764,4720,4731; //Critical5 Dexterity1 Agility2
+ else if (.@i <= 847) setarray .@enchants[1],4764,4720,4740; //Critical5 Dexterity1 Vitality1
+ else if (.@i <= 858) setarray .@enchants[1],4764,4720,4741; //Critical5 Dexterity1 Vitality2
+ else if (.@i <= 869) setarray .@enchants[1],4764,4721,4700; //Critical5 Dexterity2 Strength1
+ else if (.@i <= 880) setarray .@enchants[1],4764,4721,4701; //Critical5 Dexterity2 Strength2
+ else if (.@i <= 891) setarray .@enchants[1],4764,4721,4730; //Critical5 Dexterity2 Agility1
+ else if (.@i <= 902) setarray .@enchants[1],4764,4721,4731; //Critical5 Dexterity2 Agility2
+ else if (.@i <= 913) setarray .@enchants[1],4764,4721,4740; //Critical5 Dexterity2 Vitality1
+ else if (.@i <= 924) setarray .@enchants[1],4764,4721,4741; //Critical5 Dexterity2 Vitality2
+ else if (.@i <= 935) setarray .@enchants[1],4764,4710,4700; //Critical5 Inteligence1 Strength1
+ else if (.@i <= 946) setarray .@enchants[1],4764,4710,4701; //Critical5 Inteligence1 Strength2
+ else if (.@i <= 957) setarray .@enchants[1],4764,4710,4730; //Critical5 Inteligence1 Agility1
+ else if (.@i <= 968) setarray .@enchants[1],4764,4710,4731; //Critical5 Inteligence1 Agility2
+ else if (.@i <= 979) setarray .@enchants[1],4764,4710,4740; //Critical5 Inteligence1 Vitality1
+ else if (.@i <= 990) setarray .@enchants[1],4764,4710,4741; //Critical5 Inteligence1 Vitality2
+ else if (.@i <= 1001) setarray .@enchants[1],4764,4711,4700; //Critical5 Inteligence2 Strength1
+ else if (.@i <= 1012) setarray .@enchants[1],4764,4711,4701; //Critical5 Inteligence2 Strength2
+ else if (.@i <= 1023) setarray .@enchants[1],4764,4711,4730; //Critical5 Inteligence2 Agility1
+ else if (.@i <= 1034) setarray .@enchants[1],4764,4711,4731; //Critical5 Inteligence2 Agility2
+ else if (.@i <= 1045) setarray .@enchants[1],4764,4711,4740; //Critical5 Inteligence2 Vitality1
+ else if (.@i <= 1056) setarray .@enchants[1],4764,4711,4741; //Critical5 Inteligence2 Vitality2
+ else if (.@i <= 1067) setarray .@enchants[1],4764,4750,4700; //Critical5 Luck1 Strength1
+ else if (.@i <= 1078) setarray .@enchants[1],4764,4750,4701; //Critical5 Luck1 Strength2
+ else if (.@i <= 1089) setarray .@enchants[1],4764,4750,4730; //Critical5 Luck1 Agility1
+ else if (.@i <= 1100) setarray .@enchants[1],4764,4750,4731; //Critical5 Luck1 Agility2
+ else if (.@i <= 1111) setarray .@enchants[1],4764,4750,4740; //Critical5 Luck1 Vitality1
+ else if (.@i <= 1122) setarray .@enchants[1],4764,4750,4741; //Critical5 Luck1 Vitality2
+ else if (.@i <= 1133) setarray .@enchants[1],4764,4751,4700; //Critical5 Luck2 Strength1
+ else if (.@i <= 1144) setarray .@enchants[1],4764,4751,4701; //Critical5 Luck2 Strength2
+ else if (.@i <= 1155) setarray .@enchants[1],4764,4751,4730; //Critical5 Luck2 Agility1
+ else if (.@i <= 1166) setarray .@enchants[1],4764,4751,4731; //Critical5 Luck2 Agility2
+ else if (.@i <= 1177) setarray .@enchants[1],4764,4751,4740; //Critical5 Luck2 Vitality1
+ else if (.@i <= 1188) setarray .@enchants[1],4764,4751,4741; //Critical5 Luck2 Vitality2
+ else if (.@i <= 1199) setarray .@enchants[1],4765,4720,4700; //Critical7 Dexterity1 Strength1
+ else if (.@i <= 1210) setarray .@enchants[1],4765,4720,4701; //Critical7 Dexterity1 Strength2
+ else if (.@i <= 1221) setarray .@enchants[1],4765,4720,4730; //Critical7 Dexterity1 Agility1
+ else if (.@i <= 1232) setarray .@enchants[1],4765,4720,4731; //Critical7 Dexterity1 Agility2
+ else if (.@i <= 1243) setarray .@enchants[1],4765,4720,4740; //Critical7 Dexterity1 Vitality1
+ else if (.@i <= 1254) setarray .@enchants[1],4765,4720,4741; //Critical7 Dexterity1 Vitality2
+ else if (.@i <= 1265) setarray .@enchants[1],4765,4721,4700; //Critical7 Dexterity2 Strength1
+ else if (.@i <= 1276) setarray .@enchants[1],4765,4721,4701; //Critical7 Dexterity2 Strength2
+ else if (.@i <= 1287) setarray .@enchants[1],4765,4721,4730; //Critical7 Dexterity2 Agility1
+ else if (.@i <= 1298) setarray .@enchants[1],4765,4721,4731; //Critical7 Dexterity2 Agility2
+ else if (.@i <= 1309) setarray .@enchants[1],4765,4721,4740; //Critical7 Dexterity2 Vitality1
+ else if (.@i <= 1320) setarray .@enchants[1],4765,4721,4741; //Critical7 Dexterity2 Vitality2
+ else if (.@i <= 1331) setarray .@enchants[1],4765,4710,4700; //Critical7 Inteligence1 Strength1
+ else if (.@i <= 1342) setarray .@enchants[1],4765,4710,4701; //Critical7 Inteligence1 Strength2
+ else if (.@i <= 1353) setarray .@enchants[1],4765,4710,4730; //Critical7 Inteligence1 Agility1
+ else if (.@i <= 1364) setarray .@enchants[1],4765,4710,4731; //Critical7 Inteligence1 Agility2
+ else if (.@i <= 1375) setarray .@enchants[1],4765,4710,4740; //Critical7 Inteligence1 Vitality1
+ else if (.@i <= 1386) setarray .@enchants[1],4765,4710,4741; //Critical7 Inteligence1 Vitality2
+ else if (.@i <= 1397) setarray .@enchants[1],4765,4711,4700; //Critical7 Inteligence2 Strength1
+ else if (.@i <= 1408) setarray .@enchants[1],4765,4711,4701; //Critical7 Inteligence2 Strength2
+ else if (.@i <= 1419) setarray .@enchants[1],4765,4711,4730; //Critical7 Inteligence2 Agility1
+ else if (.@i <= 1430) setarray .@enchants[1],4765,4711,4731; //Critical7 Inteligence2 Agility2
+ else if (.@i <= 1441) setarray .@enchants[1],4765,4711,4740; //Critical7 Inteligence2 Vitality1
+ else if (.@i <= 1452) setarray .@enchants[1],4765,4711,4741; //Critical7 Inteligence2 Vitality2
+ else if (.@i <= 1463) setarray .@enchants[1],4765,4750,4700; //Critical7 Luck1 Strength1
+ else if (.@i <= 1474) setarray .@enchants[1],4765,4750,4701; //Critical7 Luck1 Strength2
+ else if (.@i <= 1485) setarray .@enchants[1],4765,4750,4730; //Critical7 Luck1 Agility1
+ else if (.@i <= 1496) setarray .@enchants[1],4765,4750,4731; //Critical7 Luck1 Agility2
+ else if (.@i <= 1507) setarray .@enchants[1],4765,4750,4740; //Critical7 Luck1 Vitality1
+ else if (.@i <= 1518) setarray .@enchants[1],4765,4750,4741; //Critical7 Luck1 Vitality2
+ else if (.@i <= 1529) setarray .@enchants[1],4765,4751,4700; //Critical7 Luck2 Strength1
+ else if (.@i <= 1540) setarray .@enchants[1],4765,4751,4701; //Critical7 Luck2 Strength2
+ else if (.@i <= 1551) setarray .@enchants[1],4765,4751,4730; //Critical7 Luck2 Agility1
+ else if (.@i <= 1562) setarray .@enchants[1],4765,4751,4731; //Critical7 Luck2 Agility2
+ else if (.@i <= 1573) setarray .@enchants[1],4765,4751,4740; //Critical7 Luck2 Vitality1
+ else if (.@i <= 1584) setarray .@enchants[1],4765,4751,4741; //Critical7 Luck2 Vitality2
+ else if (.@i <= 1595) setarray .@enchants[1],4762,4720,4700; //Evasion6 Dexterity1 Strength1
+ else if (.@i <= 1606) setarray .@enchants[1],4762,4720,4701; //Evasion6 Dexterity1 Strength2
+ else if (.@i <= 1617) setarray .@enchants[1],4762,4720,4730; //Evasion6 Dexterity1 Agility1
+ else if (.@i <= 1628) setarray .@enchants[1],4762,4720,4731; //Evasion6 Dexterity1 Agility2
+ else if (.@i <= 1639) setarray .@enchants[1],4762,4720,4740; //Evasion6 Dexterity1 Vitality1
+ else if (.@i <= 1650) setarray .@enchants[1],4762,4720,4741; //Evasion6 Dexterity1 Vitality2
+ else if (.@i <= 1661) setarray .@enchants[1],4762,4721,4700; //Evasion6 Dexterity2 Strength1
+ else if (.@i <= 1672) setarray .@enchants[1],4762,4721,4701; //Evasion6 Dexterity2 Strength2
+ else if (.@i <= 1683) setarray .@enchants[1],4762,4721,4730; //Evasion6 Dexterity2 Agility1
+ else if (.@i <= 1694) setarray .@enchants[1],4762,4721,4731; //Evasion6 Dexterity2 Agility2
+ else if (.@i <= 1705) setarray .@enchants[1],4762,4721,4740; //Evasion6 Dexterity2 Vitality1
+ else if (.@i <= 1716) setarray .@enchants[1],4762,4721,4741; //Evasion6 Dexterity2 Vitality2
+ else if (.@i <= 1727) setarray .@enchants[1],4762,4710,4700; //Evasion6 Inteligence1 Strength1
+ else if (.@i <= 1738) setarray .@enchants[1],4762,4710,4701; //Evasion6 Inteligence1 Strength2
+ else if (.@i <= 1749) setarray .@enchants[1],4762,4710,4730; //Evasion6 Inteligence1 Agility1
+ else if (.@i <= 1760) setarray .@enchants[1],4762,4710,4731; //Evasion6 Inteligence1 Agility2
+ else if (.@i <= 1771) setarray .@enchants[1],4762,4710,4740; //Evasion6 Inteligence1 Vitality1
+ else if (.@i <= 1782) setarray .@enchants[1],4762,4710,4741; //Evasion6 Inteligence1 Vitality2
+ else if (.@i <= 1793) setarray .@enchants[1],4762,4711,4700; //Evasion6 Inteligence2 Strength1
+ else if (.@i <= 1804) setarray .@enchants[1],4762,4711,4701; //Evasion6 Inteligence2 Strength2
+ else if (.@i <= 1815) setarray .@enchants[1],4762,4711,4730; //Evasion6 Inteligence2 Agility1
+ else if (.@i <= 1826) setarray .@enchants[1],4762,4711,4731; //Evasion6 Inteligence2 Agility2
+ else if (.@i <= 1837) setarray .@enchants[1],4762,4711,4740; //Evasion6 Inteligence2 Vitality1
+ else if (.@i <= 1848) setarray .@enchants[1],4762,4711,4741; //Evasion6 Inteligence2 Vitality2
+ else if (.@i <= 1859) setarray .@enchants[1],4762,4750,4700; //Evasion6 Luck1 Strength1
+ else if (.@i <= 1870) setarray .@enchants[1],4762,4750,4701; //Evasion6 Luck1 Strength2
+ else if (.@i <= 1881) setarray .@enchants[1],4762,4750,4730; //Evasion6 Luck1 Agility1
+ else if (.@i <= 1892) setarray .@enchants[1],4762,4750,4731; //Evasion6 Luck1 Agility2
+ else if (.@i <= 1903) setarray .@enchants[1],4762,4750,4740; //Evasion6 Luck1 Vitality1
+ else if (.@i <= 1914) setarray .@enchants[1],4762,4750,4741; //Evasion6 Luck1 Vitality2
+ else if (.@i <= 1925) setarray .@enchants[1],4762,4751,4700; //Evasion6 Luck2 Strength1
+ else if (.@i <= 1936) setarray .@enchants[1],4762,4751,4701; //Evasion6 Luck2 Strength2
+ else if (.@i <= 1947) setarray .@enchants[1],4762,4751,4730; //Evasion6 Luck2 Agility1
+ else if (.@i <= 1958) setarray .@enchants[1],4762,4751,4731; //Evasion6 Luck2 Agility2
+ else if (.@i <= 1969) setarray .@enchants[1],4762,4751,4740; //Evasion6 Luck2 Vitality1
+ else if (.@i <= 1980) setarray .@enchants[1],4762,4751,4741; //Evasion6 Luck2 Vitality2
+ else if (.@i <= 1991) setarray .@enchants[1],4763,4720,4700; //Evasion12 Dexterity1 Strength1
+ else if (.@i <= 2002) setarray .@enchants[1],4763,4720,4701; //Evasion12 Dexterity1 Strength2
+ else if (.@i <= 2013) setarray .@enchants[1],4763,4720,4730; //Evasion12 Dexterity1 Agility1
+ else if (.@i <= 2024) setarray .@enchants[1],4763,4720,4731; //Evasion12 Dexterity1 Agility2
+ else if (.@i <= 2035) setarray .@enchants[1],4763,4720,4740; //Evasion12 Dexterity1 Vitality1
+ else if (.@i <= 2046) setarray .@enchants[1],4763,4720,4741; //Evasion12 Dexterity1 Vitality2
+ else if (.@i <= 2057) setarray .@enchants[1],4763,4721,4700; //Evasion12 Dexterity2 Strength1
+ else if (.@i <= 2068) setarray .@enchants[1],4763,4721,4701; //Evasion12 Dexterity2 Strength2
+ else if (.@i <= 2079) setarray .@enchants[1],4763,4721,4730; //Evasion12 Dexterity2 Agility1
+ else if (.@i <= 2090) setarray .@enchants[1],4763,4721,4731; //Evasion12 Dexterity2 Agility2
+ else if (.@i <= 2101) setarray .@enchants[1],4763,4721,4740; //Evasion12 Dexterity2 Vitality1
+ else if (.@i <= 2112) setarray .@enchants[1],4763,4721,4741; //Evasion12 Dexterity2 Vitality2
+ else if (.@i <= 2123) setarray .@enchants[1],4763,4710,4700; //Evasion12 Inteligence1 Strength1
+ else if (.@i <= 2134) setarray .@enchants[1],4763,4710,4701; //Evasion12 Inteligence1 Strength2
+ else if (.@i <= 2145) setarray .@enchants[1],4763,4710,4730; //Evasion12 Inteligence1 Agility1
+ else if (.@i <= 2156) setarray .@enchants[1],4763,4710,4731; //Evasion12 Inteligence1 Agility2
+ else if (.@i <= 2167) setarray .@enchants[1],4763,4710,4740; //Evasion12 Inteligence1 Vitality1
+ else if (.@i <= 2178) setarray .@enchants[1],4763,4710,4741; //Evasion12 Inteligence1 Vitality2
+ else if (.@i <= 2189) setarray .@enchants[1],4763,4711,4700; //Evasion12 Inteligence2 Strength1
+ else if (.@i <= 2200) setarray .@enchants[1],4763,4711,4701; //Evasion12 Inteligence2 Strength2
+ else if (.@i <= 2211) setarray .@enchants[1],4763,4711,4730; //Evasion12 Inteligence2 Agility1
+ else if (.@i <= 2222) setarray .@enchants[1],4763,4711,4731; //Evasion12 Inteligence2 Agility2
+ else if (.@i <= 2233) setarray .@enchants[1],4763,4711,4740; //Evasion12 Inteligence2 Vitality1
+ else if (.@i <= 2244) setarray .@enchants[1],4763,4711,4741; //Evasion12 Inteligence2 Vitality2
+ else if (.@i <= 2255) setarray .@enchants[1],4763,4750,4700; //Evasion12 Luck1 Strength1
+ else if (.@i <= 2266) setarray .@enchants[1],4763,4750,4701; //Evasion12 Luck1 Strength2
+ else if (.@i <= 2277) setarray .@enchants[1],4763,4750,4730; //Evasion12 Luck1 Agility1
+ else if (.@i <= 2288) setarray .@enchants[1],4763,4750,4731; //Evasion12 Luck1 Agility2
+ else if (.@i <= 2299) setarray .@enchants[1],4763,4750,4740; //Evasion12 Luck1 Vitality1
+ else if (.@i <= 2310) setarray .@enchants[1],4763,4750,4741; //Evasion12 Luck1 Vitality2
+ else if (.@i <= 2321) setarray .@enchants[1],4763,4751,4700; //Evasion12 Luck2 Strength1
+ else if (.@i <= 2332) setarray .@enchants[1],4763,4751,4701; //Evasion12 Luck2 Strength2
+ else if (.@i <= 2343) setarray .@enchants[1],4763,4751,4730; //Evasion12 Luck2 Agility1
+ else if (.@i <= 2354) setarray .@enchants[1],4763,4751,4731; //Evasion12 Luck2 Agility2
+ else if (.@i <= 2365) setarray .@enchants[1],4763,4751,4740; //Evasion12 Luck2 Vitality1
+ else if (.@i <= 2376) setarray .@enchants[1],4763,4751,4741; //Evasion12 Luck2 Vitality2
+ else if (.@i <= 2387) setarray .@enchants[1],4760,4720,4700; //Matk1 Dexterity1 Strength1
+ else if (.@i <= 2398) setarray .@enchants[1],4760,4720,4701; //Matk1 Dexterity1 Strength2
+ else if (.@i <= 2409) setarray .@enchants[1],4760,4720,4730; //Matk1 Dexterity1 Agility1
+ else if (.@i <= 2420) setarray .@enchants[1],4760,4720,4731; //Matk1 Dexterity1 Agility2
+ else if (.@i <= 2431) setarray .@enchants[1],4760,4720,4740; //Matk1 Dexterity1 Vitality1
+ else if (.@i <= 2442) setarray .@enchants[1],4760,4720,4741; //Matk1 Dexterity1 Vitality2
+ else if (.@i <= 2453) setarray .@enchants[1],4760,4721,4700; //Matk1 Dexterity2 Strength1
+ else if (.@i <= 2464) setarray .@enchants[1],4760,4721,4701; //Matk1 Dexterity2 Strength2
+ else if (.@i <= 2475) setarray .@enchants[1],4760,4721,4730; //Matk1 Dexterity2 Agility1
+ else if (.@i <= 2486) setarray .@enchants[1],4760,4721,4731; //Matk1 Dexterity2 Agility2
+ else if (.@i <= 2497) setarray .@enchants[1],4760,4721,4740; //Matk1 Dexterity2 Vitality1
+ else if (.@i <= 2508) setarray .@enchants[1],4760,4721,4741; //Matk1 Dexterity2 Vitality2
+ else if (.@i <= 2519) setarray .@enchants[1],4760,4710,4700; //Matk1 Inteligence1 Strength1
+ else if (.@i <= 2530) setarray .@enchants[1],4760,4710,4701; //Matk1 Inteligence1 Strength2
+ else if (.@i <= 2541) setarray .@enchants[1],4760,4710,4730; //Matk1 Inteligence1 Agility1
+ else if (.@i <= 2552) setarray .@enchants[1],4760,4710,4731; //Matk1 Inteligence1 Agility2
+ else if (.@i <= 2563) setarray .@enchants[1],4760,4710,4740; //Matk1 Inteligence1 Vitality1
+ else if (.@i <= 2574) setarray .@enchants[1],4760,4710,4741; //Matk1 Inteligence1 Vitality2
+ else if (.@i <= 2585) setarray .@enchants[1],4760,4711,4700; //Matk1 Inteligence2 Strength1
+ else if (.@i <= 2596) setarray .@enchants[1],4760,4711,4701; //Matk1 Inteligence2 Strength2
+ else if (.@i <= 2607) setarray .@enchants[1],4760,4711,4730; //Matk1 Inteligence2 Agility1
+ else if (.@i <= 2618) setarray .@enchants[1],4760,4711,4731; //Matk1 Inteligence2 Agility2
+ else if (.@i <= 2629) setarray .@enchants[1],4760,4711,4740; //Matk1 Inteligence2 Vitality1
+ else if (.@i <= 2640) setarray .@enchants[1],4760,4711,4741; //Matk1 Inteligence2 Vitality2
+ else if (.@i <= 2651) setarray .@enchants[1],4760,4750,4700; //Matk1 Luck1 Strength1
+ else if (.@i <= 2662) setarray .@enchants[1],4760,4750,4701; //Matk1 Luck1 Strength2
+ else if (.@i <= 2673) setarray .@enchants[1],4760,4750,4730; //Matk1 Luck1 Agility1
+ else if (.@i <= 2684) setarray .@enchants[1],4760,4750,4731; //Matk1 Luck1 Agility2
+ else if (.@i <= 2695) setarray .@enchants[1],4760,4750,4740; //Matk1 Luck1 Vitality1
+ else if (.@i <= 2706) setarray .@enchants[1],4760,4750,4741; //Matk1 Luck1 Vitality2
+ else if (.@i <= 2717) setarray .@enchants[1],4760,4751,4700; //Matk1 Luck2 Strength1
+ else if (.@i <= 2728) setarray .@enchants[1],4760,4751,4701; //Matk1 Luck2 Strength2
+ else if (.@i <= 2739) setarray .@enchants[1],4760,4751,4730; //Matk1 Luck2 Agility1
+ else if (.@i <= 2750) setarray .@enchants[1],4760,4751,4731; //Matk1 Luck2 Agility2
+ else if (.@i <= 2761) setarray .@enchants[1],4760,4751,4740; //Matk1 Luck2 Vitality1
+ else if (.@i <= 2772) setarray .@enchants[1],4760,4751,4741; //Matk1 Luck2 Vitality2
+ else if (.@i <= 2783) setarray .@enchants[1],4761,4720,4700; //Matk2 Dexterity1 Strength1
+ else if (.@i <= 2794) setarray .@enchants[1],4761,4720,4701; //Matk2 Dexterity1 Strength2
+ else if (.@i <= 2805) setarray .@enchants[1],4761,4720,4730; //Matk2 Dexterity1 Agility1
+ else if (.@i <= 2816) setarray .@enchants[1],4761,4720,4731; //Matk2 Dexterity1 Agility2
+ else if (.@i <= 2827) setarray .@enchants[1],4761,4720,4740; //Matk2 Dexterity1 Vitality1
+ else if (.@i <= 2838) setarray .@enchants[1],4761,4720,4741; //Matk2 Dexterity1 Vitality2
+ else if (.@i <= 2849) setarray .@enchants[1],4761,4721,4700; //Matk2 Dexterity2 Strength1
+ else if (.@i <= 2860) setarray .@enchants[1],4761,4721,4701; //Matk2 Dexterity2 Strength2
+ else if (.@i <= 2871) setarray .@enchants[1],4761,4721,4730; //Matk2 Dexterity2 Agility1
+ else if (.@i <= 2882) setarray .@enchants[1],4761,4721,4731; //Matk2 Dexterity2 Agility2
+ else if (.@i <= 2893) setarray .@enchants[1],4761,4721,4740; //Matk2 Dexterity2 Vitality1
+ else if (.@i <= 2904) setarray .@enchants[1],4761,4721,4741; //Matk2 Dexterity2 Vitality2
+ else if (.@i <= 2915) setarray .@enchants[1],4761,4710,4700; //Matk2 Inteligence1 Strength1
+ else if (.@i <= 2926) setarray .@enchants[1],4761,4710,4701; //Matk2 Inteligence1 Strength2
+ else if (.@i <= 2937) setarray .@enchants[1],4761,4710,4730; //Matk2 Inteligence1 Agility1
+ else if (.@i <= 2948) setarray .@enchants[1],4761,4710,4731; //Matk2 Inteligence1 Agility2
+ else if (.@i <= 2959) setarray .@enchants[1],4761,4710,4740; //Matk2 Inteligence1 Vitality1
+ else if (.@i <= 2970) setarray .@enchants[1],4761,4710,4741; //Matk2 Inteligence1 Vitality2
+ else if (.@i <= 2981) setarray .@enchants[1],4761,4711,4700; //Matk2 Inteligence2 Strength1
+ else if (.@i <= 2992) setarray .@enchants[1],4761,4711,4701; //Matk2 Inteligence2 Strength2
+ else if (.@i <= 3003) setarray .@enchants[1],4761,4711,4730; //Matk2 Inteligence2 Agility1
+ else if (.@i <= 3014) setarray .@enchants[1],4761,4711,4731; //Matk2 Inteligence2 Agility2
+ else if (.@i <= 3025) setarray .@enchants[1],4761,4711,4740; //Matk2 Inteligence2 Vitality1
+ else if (.@i <= 3036) setarray .@enchants[1],4761,4711,4741; //Matk2 Inteligence2 Vitality2
+ else if (.@i <= 3047) setarray .@enchants[1],4761,4750,4700; //Matk2 Luck1 Strength1
+ else if (.@i <= 3058) setarray .@enchants[1],4761,4750,4701; //Matk2 Luck1 Strength2
+ else if (.@i <= 3069) setarray .@enchants[1],4761,4750,4730; //Matk2 Luck1 Agility1
+ else if (.@i <= 3080) setarray .@enchants[1],4761,4750,4731; //Matk2 Luck1 Agility2
+ else if (.@i <= 3091) setarray .@enchants[1],4761,4750,4740; //Matk2 Luck1 Vitality1
+ else if (.@i <= 3102) setarray .@enchants[1],4761,4750,4741; //Matk2 Luck1 Vitality2
+ else if (.@i <= 3113) setarray .@enchants[1],4761,4751,4700; //Matk2 Luck2 Strength1
+ else if (.@i <= 3124) setarray .@enchants[1],4761,4751,4701; //Matk2 Luck2 Strength2
+ else if (.@i <= 3135) setarray .@enchants[1],4761,4751,4730; //Matk2 Luck2 Agility1
+ else if (.@i <= 3146) setarray .@enchants[1],4761,4751,4731; //Matk2 Luck2 Agility2
+ else if (.@i <= 3157) setarray .@enchants[1],4761,4751,4740; //Matk2 Luck2 Vitality1
+ else if (.@i <= 3168) setarray .@enchants[1],4761,4751,4741; //Matk2 Luck2 Vitality2
+ else if (.@i <= 3179) setarray .@enchants[1],4761,4720,4700; //Matk2 Dexterity1 Strength1
+ else if (.@i <= 3181) setarray .@enchants[1],4761,4712,4712; //Matk2 Inteligence3 Inteligence3
+ else if (.@i <= 3183) setarray .@enchants[1],4765,4732,4732; //Critical7 Agility3 Agility3
+ else if (.@i <= 3185) setarray .@enchants[1],4763,4752,4753; //Evasion12 Luck3 Luck4
+ else if (.@i <= 3187) setarray .@enchants[1],4763,4742,4742; //Evasion12 Vitality3 Vitality3
+ else if (.@i <= 3189) setarray .@enchants[1],4763,4722,4722; //Evasion12 Dexterity3 Dexterity3
+ else if (.@i <= 3191) setarray .@enchants[1],4742,4742,4742; //Vitality3 Vitality3 Vitality3
+ else if (.@i <= 3193) setarray .@enchants[1],4761,4722,4722; //Matk2 Dexterity3 Dexterity3
+ else if (.@i <= 3195) setarray .@enchants[1],4767,4702,4702; //Atk3 Strength3 Strength3
+ else if (.@i <= 3197) setarray .@enchants[1],4763,4732,4732; //Evasion12 Agility3 Agility3
+ else if (.@i <= 4568) return 0;
+
+ getitem2 getarg(0),1,1,0,0,0,.@enchants[1],.@enchants[2],.@enchants[3];
+ return 1;
+}
+mora,105,176,4 script Master Tailor#pa0829 509,{
+ if (checkweight(1201,1) == 0) {
+ mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much weight to do that. Reduce the weight and try again.";
+ close;
+ }
+ if (countitem(6380) < 5 || countitem(15024) < 1) {
+ mes "[Master Tailor]";
+ mes "With my touch, I can turn a typical army padding into a piece of art. I'm Kay the Master Tailor, creating art with army paddings.";
+ next;
+ mes "[Master Tailor]";
+ mes "Well, what's in a name? I can turn your army padding into a piece of art if you bring ^ff00005 Mora Coins and an Army Padding^000000.";
+ if (countitem(6380)) {
+ next;
+ mes "[Master Tailor]";
+ mes "I happen to have a few army paddings in stock. Would you like to buy one? The price is 1 Mora Coin. So cheap.";
+ next;
+ switch(select("Maybe next time.:I'll buy one now.")) {
+ case 1:
+ mes "[Master Tailor]";
+ mes "Okay, I understand.";
+ mes "Come back for one if you change your mind.";
+ close;
+ case 2:
+ delitem 6380,1; //Mora_Coin
+ getitem 15024,1; //Army_Padding
+ mes "[Master Tailor]";
+ mes "Here it is.";
+ mes "It's very nice and fluffy. Please come back.";
+ close;
+ }
+ }
+ close;
+ }
+ mes "[Master Tailor]";
+ mes "Have you come to add art to one of your army paddings?";
+ next;
+ switch(select("Please tell me more.:Yes, I have.")) {
+ case 1:
+ mes "[Master Tailor]";
+ mes "A typical army padding isn't warm enough. It feels rough on your skin and doesn't look good. And artistic value? It has next to none.";
+ next;
+ mes "[Master Tailor]";
+ mes "However, I'll embroider it with velvet threads, and add three options to it.";
+ next;
+ mes "[Master Tailor]";
+ mes "Bring me ^8888005 Mora Coins^000000 and an Army Padding, and we can add some art together!";
+ close;
+ case 2:
+ mes "[Master Tailor]";
+ mes "I'm telling you just in case - I'll do whatever I need to do with your army padding, whether it's brand-new or has been mended before.";
+ next;
+ mes "[Master Tailor]";
+ mes "So if you have with you an army padding mended to your liking, put it in a safe place and come back.";
+ next;
+ mes "[Master Tailor]";
+ mes "And another thing - once I fail to add art to it, it becomes unusable... you'll need to buy a new one in that case.";
+ next;
+ switch(select("Come on, what's the rush?:Okay! Let's do it!!")) {
+ case 1:
+ mes "[Master Tailor]";
+ mes "What's wrong with you?";
+ mes "The villagers keep me busy enough.";
+ close;
+ case 2:
+ if (countitem(6380) < 5 || countitem(15024) == 0) {
+ mes "[Master Tailor]";
+ mes "It looks like you don't have everything you need.";
+ next;
+ mes "[Master Tailor]";
+ mes "You have to have 5 Mora Coins and an Army Padding with you before I can do my work.";
+ close;
+ }
+ if (callfunc("F_Mora_Enchant",15024) == 0) {
+ mes "[Master Tailor]";
+ mes "Oh......";
+ mes "I can't believe I messed up.";
+ next;
+ mes "[Master Tailor]";
+ mes "I want to be alone. Go away!";
+ close;
+ }
+ mes "[Master Tailor]";
+ mes "My art looks great.";
+ close;
+ }
+ }
+}
+
+mora,123,177,6 script Pendant Crafter#pa0829 509,{
+ if (checkweight(1201,1) == 0) {
+ mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much weight to do that. Reduce the weight and try again.";
+ close;
+ }
+ if (countitem(6380) < 5 || countitem(2858) == 0) {
+ mes "[Pendant Crafter]";
+ mes "My job is to polish the stone in a Guardian's Pendant, and then carve a symbol with special power on it.";
+ next;
+ mes "[Pendant Crafter]";
+ mes "The process gives the Guardian's Pendant more power than an ordinary accessory.";
+ next;
+ mes "[Pendant Crafter]";
+ mes "If you're interested, I can work on your pendant for ^ff00005 Mora Coins^000000. Of course you need to have a Guardian's Pendant so I can work on with you.";
+ close;
+ }
+ mes "[Pendant Crafter]";
+ mes "Have you come to have your Guardian's Pendant upgraded?";
+ next;
+ switch(select("Please tell me more.:Yes, I have.")) {
+ case 1:
+ mes "[Pendant Crafter]";
+ mes "My job is to polish the stone in a Guardian's Pendant, and then carve a symbol with special power on it.";
+ next;
+ mes "[Pendant Crafter]";
+ mes "The process gives the Guardian's Pendant more power than an ordinary accessory.";
+ next;
+ mes "[Pendant Crafter]";
+ mes "If you're interested, I can work on your pendant for ^ff00005 Mora Coins^000000. Of course you need to have a Guardian's Pendant so I can work on with you.";
+ close;
+ case 2:
+ mes "[Pendant Crafter]";
+ mes "I'm telling you just in case - ";
+ mes "If I work on a Guardian's Pendant that's been upgraded before, it loses its original power.";
+ next;
+ mes "[Pendant Crafter]";
+ mes "And worse, it can lose its power and become an ordinary pendant. Of course, stone is not as susceptible to damage as cloth, so you won't lose the pendant itself.";
+ next;
+ switch(select("Come on, what's the rush?:Okay! Let's do it!!")) {
+ case 1:
+ mes "[Pendant Crafter]";
+ mes "Come back when you're not in a hurry. I always have a lot of time on my hands.";
+ close;
+ case 2:
+ if (countitem(6380) < 5 || countitem(2858) == 0) {
+ mes "[Pendant Crafter]";
+ mes "It looks like you don't have everything you need.";
+ next;
+ mes "[Pendant Crafter]";
+ mes "You must have 5 Mora Coins and a Guardian's Pendant with you before I can do my work.";
+ close;
+ }
+ if (callfunc("F_Mora_Enchant",2858) == 0) {
+ getitem 2858,1; //Pendant_Of_Guardian
+ mes "[Pendant Crafter]";
+ mes "What~!!";
+ mes "What on earth is wrong with it!!";
+ close;
+ }
+ mes "[Pendant Crafter]";
+ mes "Looks like I did it!";
+ close;
+ }
+ }
+}
+
+mora,134,166,4 script Bulberry Westhood#pa0829 509,{
+ if (checkweight(1201,1) == 0) {
+ mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
+ close;
+ }
+ if (MaxWeight - Weight < 1000) {
+ mes "You are carrying too much weight to do that. Reduce the weight and try again.";
+ close;
+ }
+ if (countitem(6380) < 5 || countitem(2568) == 0) {
+ mes "[Bulberry Westhood]";
+ mes "I'm Bulberry Westhood, keeping the tradition of quality hoods alive.";
+ next;
+ mes "[Bulberry Westhood]";
+ mes "I only handle quality items - not random scarfs from a marketplace.";
+ next;
+ mes "[Bulberry Westhood]";
+ mes "If you have anything that you think is of high enough quality, come find me with ^ff00005 Mora Coins^000000.";
+ next;
+ mes "[Bulberry Westhood]";
+ mes "I can improve its high quality with my own hands.";
+ close;
+ }
+ mes "[Bulberry Westhood]";
+ mes "So you have a Loki's Scarf 1042 Special Edition. You really have an eye for quality. Can I start working on it right away?";
+ next;
+ switch(select("I don't get it.:Yes, please.")) {
+ case 1:
+ mes "[Bulberry Westhood]";
+ mes "Like I said, I only handle quality items - not random scarfs from a marketplace.";
+ next;
+ mes "[Bulberry Westhood]";
+ mes "This Loki's Scarf you have is awesome. It's a limited edition product with Loki's crest on it!";
+ next;
+ mes "[Bulberry Westhood]";
+ mes "My specialty is bringing out the hidden power at the small cost of... ";
+ mes "5 Mora Coins.";
+ next;
+ mes "[Bulberry Westhood]";
+ mes "Come back if you change your mind.";
+ close;
+ case 2:
+ mes "[Bulberry Westhood]";
+ mes "I'm telling you just in case - ";
+ mes "If I work on a Loki's Scarf that's been upgraded before, it loses its original power.";
+ next;
+ mes "[Bulberry Westhood]";
+ mes "And worse, it can lose all its power becoming an ordinary scarf.";
+ next;
+ mes "[Bulberry Westhood]";
+ mes "Of course, the Loki's Scarf is a quality item, so you won't lose the scarf itself in the process.";
+ next;
+ switch(select("Maybe later, sir...:I'd like to own a quality item!")) {
+ case 1:
+ mes "[Bulberry Westhood]";
+ mes "Ha...!";
+ mes "You say 'later' when you can have the best quality item right away? Well, have it your own way.";
+ close;
+ case 2:
+ if (countitem(6380) < 5 || countitem(2568) == 0) {
+ mes "[Bulberry Westhood]";
+ mes "It looks like you don't everything you need.";
+ next;
+ mes "[Bulberry Westhood]";
+ mes "You must have 5 Mora Coins and a Loki's Scarf with you before you can have the best quality item.";
+ close;
+ }
+ if (callfunc("F_Mora_Enchant",2568) == 0) {
+ getitem 2568,1; //Muffler_Of_Roki
+ mes "[Bulberry Westhood]";
+ mes "Aaarrgghh, this is impossible!";
+ mes "My! My Loki's Scarf!....";
+ next;
+ mes "[Bulberry Westhood]";
+ mes "Oh, I apologize for my disgraceful behavior. I was too upset.";
+ next;
+ mes "[Bulberry Westhood]";
+ mes "Fortunately, it's still in its original state before I started working on it. It's not torn or stretched. It's a quality item after all. Oh ho ho~";
+ close;
+ }
+ mes "[Bulberry Westhood]";
+ mes "Wow~ mission complete!";
+ close;
+ }
+ }
+}
diff --git a/npc/re/scripts.conf b/npc/re/scripts.conf
index e4dcd94ac..c1e40dae6 100644
--- a/npc/re/scripts.conf
+++ b/npc/re/scripts.conf
@@ -57,6 +57,7 @@ npc: npc/re/merchants/refine.txt
npc: npc/re/merchants/renters.txt
npc: npc/re/merchants/shops.txt
npc: npc/re/merchants/enchan_mal.txt
+npc: npc/re/merchants/enchan_mora.txt
npc: npc/re/merchants/coin_exchange.txt
// --------------------------- Others ---------------------------
@@ -89,4 +90,4 @@ npc: npc/re/quests/quests_malangdo.txt
npc: npc/re/quests/quests_veins.txt
npc: npc/re/quests/quests_mora.txt
npc: npc/re/quests/monstertamers.txt
-npc: npc/re/quests/quests_13_1.txt \ No newline at end of file
+npc: npc/re/quests/quests_13_1.txt