summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/custom/warper.txt2
-rw-r--r--npc/instances/EndlessTower.txt2
-rw-r--r--npc/merchants/shops.txt8
-rw-r--r--npc/merchants/socket_enchant2.txt3
-rw-r--r--npc/quests/lvl4_weapon_quest.txt2
-rw-r--r--npc/quests/newgears/2010_headgears.txt1113
-rw-r--r--npc/re/instances/WolfchevLaboratory.txt5
-rw-r--r--npc/re/merchants/coin_exchange.txt4
-rw-r--r--npc/re/merchants/ninja_craftsman.txt351
-rw-r--r--npc/re/quests/quests_eclage.txt103
-rw-r--r--npc/re/scripts.conf1
-rw-r--r--npc/scripts.conf1
12 files changed, 1539 insertions, 56 deletions
diff --git a/npc/custom/warper.txt b/npc/custom/warper.txt
index 0b66c6a03..311274997 100644
--- a/npc/custom/warper.txt
+++ b/npc/custom/warper.txt
@@ -456,7 +456,7 @@ einbroch,69,202,4 duplicate(Warper) Warper#einbr 4_F_VALKYRIE
gef_fild10,71,339,4 duplicate(Warper) Warper#orc 4_F_VALKYRIE
geffen,124,72,4 duplicate(Warper) Warper#gef 4_F_VALKYRIE
glast_01,372,308,4 duplicate(Warper) Warper#glh 4_F_VALKYRIE
-gonryun,162,122,4 duplicate(Warper) Warper#gon 4_F_VALKYRIE
+gonryun,165,126,4 duplicate(Warper) Warper#gon 4_F_VALKYRIE
hugel,101,151,4 duplicate(Warper) Warper#hug 4_F_VALKYRIE
izlu2dun,110,92,4 duplicate(Warper) Warper#izd 4_F_VALKYRIE
izlude,132,120,4 duplicate(Warper) Warper#izl 4_F_VALKYRIE
diff --git a/npc/instances/EndlessTower.txt b/npc/instances/EndlessTower.txt
index 598ea98f5..ae3f55afb 100644
--- a/npc/instances/EndlessTower.txt
+++ b/npc/instances/EndlessTower.txt
@@ -861,7 +861,7 @@ function script F_Tower_Monster {
areamonster .@map$,181,9,191,45,"Aliza",1737,10,.@label$;
areamonster .@map$,181,9,191,45,"Zealotus",1200,5,.@label$;
areamonster .@map$,181,9,191,45,"Alice",1275,5,.@label$;
- areamonster .@map$,181,9,191,45,"Green Maiden",1631,10,.@label$;
+ areamonster .@map$,181,9,191,45,"Green Maiden",1519,10,.@label$;
break;
case 74:
areamonster .@map$,267,9,277,45,"Dimik",1671,6,.@label$;
diff --git a/npc/merchants/shops.txt b/npc/merchants/shops.txt
index 81125c6fd..a45ec6adb 100644
--- a/npc/merchants/shops.txt
+++ b/npc/merchants/shops.txt
@@ -282,6 +282,14 @@ OnInit:
sellitem Ice_Stone;
sellitem Wind_Stone;
sellitem Shadow_Orb;
+ sellitem Charm_Fire;
+ sellitem Charm_Ice;
+ sellitem Charm_Wind;
+ sellitem Charm_Earth;
+ if (checkre(0)){
+ sellitem Fox_Armguard;
+ sellitem Special_Ninja_Suit;
+ }
}
diff --git a/npc/merchants/socket_enchant2.txt b/npc/merchants/socket_enchant2.txt
index 08fe62ed9..afd19eba6 100644
--- a/npc/merchants/socket_enchant2.txt
+++ b/npc/merchants/socket_enchant2.txt
@@ -169,10 +169,11 @@
mes "A class? You seem to want little too much. But, no problem.";
mes "So, what kind of armor do you have?";
next;
- switch(select("Pirate Bandana:Black Leather Boots"))
+ switch(select("Pirate Bandana:Black Leather Boots"+(checkre(0)?":Special Ninja Suit":"")))
{
case 1: callfunc "Func_Socket2",2287,5350,50,61,500,985,1; // 50,61 - it's not a typo
case 2: callfunc "Func_Socket2",2425,2434,40,51,500,985,1;
+ case 3: callfunc "Func_Socket2",15053,15056,50,61,500,985,1;
}
case 4:
mes "[Leablem]";
diff --git a/npc/quests/lvl4_weapon_quest.txt b/npc/quests/lvl4_weapon_quest.txt
index 509a06766..a2839d0cc 100644
--- a/npc/quests/lvl4_weapon_quest.txt
+++ b/npc/quests/lvl4_weapon_quest.txt
@@ -1958,7 +1958,7 @@ niflheim,240,193,3 script Kayron#lv4 4_M_NFDEADMAN2,{
if (.@shobu > 1) {
mes "[Kayron]";
mes "Let's see...";
- mes "You won " + shobu + " times.";
+ mes "You won " + .@shobu + " times.";
mes "You must be really";
mes "Without a doubt, you've";
mes "got some pretty good luck~";
diff --git a/npc/quests/newgears/2010_headgears.txt b/npc/quests/newgears/2010_headgears.txt
new file mode 100644
index 000000000..c2a44eacb
--- /dev/null
+++ b/npc/quests/newgears/2010_headgears.txt
@@ -0,0 +1,1113 @@
+//===== Hercules Script ======================================
+//= 2010 Headgear Quest
+//===== By: ==================================================
+//= Dastgir
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= Quests For Headgears:
+//= Flower Of Fairy, NeckTie, Hair Brush
+//= Status Of Baby Angel, Frog Cap, Solo Play Box
+//===== Additional Comments: =================================
+//= 1.0 Converted from the official Aegis script. [Dastgir]
+//============================================================
+
+gonryun,149,189,0 script Yotang#Flower_Of_Fairy 1_M_04,{
+ mes "[Yotang]";
+ mes "There lives a fairy on the 3rd floor of Gonryun.";
+ mes "She is so famous for her beauty";
+ mes "that she even got a fan club.";
+ next;
+ mes "[Yotang]";
+ mes "Of course, I am the master of the fan club.";
+ mes "How about joining the fairy fan club?";
+ next;
+ if (select("I'm not that interested!!:I'll join it right away!!") == 1) {
+ mes "[Yotang]";
+ mes "What! I'm going to tell on you!";
+ close;
+ }
+ if ((countitem(Limpid_Celestial_Robe) > 99) && (countitem(Soft_Silk_Cloth) > 99) && countitem(Wedding_Bouquet) && countitem(Violet_Dyestuffs) && countitem(Bandana)) {
+ mes "[Yotang]";
+ mes "Oh, aren't those....!";
+ mes "the materials for the Flower of Fairy?";
+ mes "Have we met before? You already know everything...";
+ next;
+ mes "[Yotang]";
+ mes "Anyway, do you want me to make the Flower of Fairy?";
+ next;
+ mes "[Yotang]";
+ mes "^FF0000Please be aware that^000000";
+ mes "^FF0000the refinement on the matereials will all disapper^000000";
+ mes "^FF0000if you once combine those.^000000";
+ next;
+ if (select("No, next time.:Make it right now!!") == 1) {
+ mes "[Yotang]";
+ mes "You'll regret it!";
+ close;
+ }
+ mes "[Yotang]";
+ mes "You're speedy!";
+ mes "You deserve to be a master of the fanclub for the next term.";
+ next;
+ emotion e_swt;
+ mes "Combining... ... ...";
+ next;
+ //Double-check the materials
+ if ((countitem(Limpid_Celestial_Robe) < 100) || (countitem(Soft_Silk_Cloth) < 100) || !countitem(Wedding_Bouquet) || !countitem(Violet_Dyestuffs) || !countitem(Bandana)) {
+ mes "[Yotang]";
+ mes "Huh? You don't have enough";
+ mes "materials for it..";
+ mes "Aren't you wearing Bandana?";
+ mes "Check it out!";
+ next;
+ mes "[Yotang]";
+ mes "Bring me all the materials,";
+ mes "If you want to get the Flower of Fairy.";
+ next;
+ mes "[Yotang]";
+ mes "If you bring me ^0000FF100 Limpid Celestial Robes, 100 Soft Silk Cloth,";
+ mes "1 Wedding Bouquet, 1 Violet Dyestuffs";
+ mes "and ^0000FF1 Bandana^000000 which you can find at a store,";
+ mes "I will make you a ^0000FFFlower of Fairy^000000.";
+ close;
+ }
+ // Checking weight
+ if ((MaxWeight-Weight) < 200) {
+ mes "[Yotang]";
+ mes "Your bag is too heavy, isn't it?";
+ mes "Come to me again";
+ mes "after emptying your bag.";
+ close;
+ }
+ else if (checkweight(Flower_Of_Fairy,1) == 0) {
+ mes "- Wait !! -";
+ mes "- You have too many items, so it's -";
+ mes "- impossible to have more. -";
+ mes "- Come to me again -";
+ mes "- after emptying some of it. -";
+ close;
+ }
+ mes "[Yotang]";
+ mes "Here, the Flower of Fairy.";
+ delitem Limpid_Celestial_Robe,100; //Limpid_Celestial_Robe
+ delitem Soft_Silk_Cloth,100; //Soft_Silk_Cloth
+ delitem Wedding_Bouquet,1; //Wedding_Bouquet
+ delitem Violet_Dyestuffs,1; //Violet_Dyestuffs
+ delitem Bandana,1; //Bandana
+ getitem Flower_Of_Fairy,1; //Flower_Of_Fairy
+ emotion e_no1;
+ next;
+ mes "[Yotang]";
+ mes "See you on the fan meeting!";
+ close;
+ }
+ mes "[Yotang]";
+ mes "You can meet the fairy soon";
+ mes "for there will be a fan meeting";
+ mes "in the near future.";
+ mes "The Flower of Fairy is necessary";
+ mes "for joining the fan meeting. Everyone wears it.";
+ next;
+ mes "[Yotang]";
+ mes "If you bring me some materials";
+ mes "I'll make it for you.";
+ next;
+ mes "[Yotang]";
+ mes "I need ^0000FF100 Limpid Celestial Robes, 100 Soft Silk Cloth,";
+ mes "1 Wedding Bouquet, 1 Violet Dyestuffs";
+ mes "and ^0000FF1 Bandana^000000 which you can find at a store,";
+ next;
+ mes "[Yotang]";
+ mes "If you bring me ^0000FF100 Limpid Celestial Robes, 100 Soft Silk Cloth,";
+ mes "1 Wedding Bouquet, 1 Violet Dyestuffs";
+ mes "and ^0000FF1 Bandana^000000 which you can find at a store,";
+ mes "I will make you a ^0000FFFlower of Fairy^000000.";
+ next;
+ mes "[Yotang]";
+ mes "^FF0000Please be aware that^000000";
+ mes "^FF0000the refinement on the matereials will all disapper^000000";
+ mes "^FF0000if you once combine those.^000000";
+ next;
+ if (select("I won't do it.:Here, I have the materials!")==1) {
+ mes "[Yotang]";
+ mes "You'll regret it!";
+ close;
+ }
+ mes "[Yotang]";
+ mes "Huh? Are you kidding me?";
+ next;
+ mes "[Yotang]";
+ mes "I need ^0000FF100 Limpid Celestial Robes, 100 Soft Silk Cloth,";
+ mes "1 Wedding Bouquet, 1 Violet Dyestuffs";
+ mes "and ^0000FF1 Bandana^000000 which you can find at a store";
+ mes "to make a ^0000FFFlower of Fairy^000000.";
+ close;
+}
+
+// 2. Making the new headgear Necktie(5442)
+
+lhz_in02,276,281,1 script Drunken Man#Necktie 4_M_ALCHE_A,{
+ mes "[Drunken Man]";
+ mes "Hey.. you wanna fight?!";
+ next;
+ mes "He seems to be drunken badly. What should I do?";
+ next;
+ if (select("Just ignore him.:Fight!") == 1) {
+ mes "[Drunken Man]";
+ mes "Why are you ignoring me?";
+ mes "Are you afraid of me?";
+ close;
+ }
+ // Checking player's level
+ if (BaseLevel < 65) {
+ mes "[Drunken Man]";
+ mes "What... you're weaker than me.";
+ mes "Go and reach the higher level!";
+ emotion e_go;
+ close;
+ }
+ mes "[Drunken Man]";
+ mes "Hold! I need some armor to wear.";
+ mes "That's it, Necktie, Necktie...";
+ next;
+ mes "[Drunken Man]";
+ mes "Once I wear the Necktie on my head,";
+ mes "I will be no match for you!";
+ mes "You must be nervous・";
+ mes "Hmm・ where is the Necktie?";
+ next;
+ // If having the materials
+ if ((countitem(Cobaltblue_Dyestuffs) > 0) && (countitem(Oil_Paper) > 29) && (countitem(Transparent_Cloth) > 99) && (countitem(Spool) > 19)) {
+ mes "[Drunken Man]";
+ mes "Oh, you're having the materials for Necktie! give them to me!!";
+ next;
+ if (select("No way!:Here you are.")==1) {
+ mes "[Drunken Man]";
+ mes "Ohh, you are scared!";
+ mes "I won again!!";
+ close;
+ }
+ mes "[Drunken Man]";
+ mes "Great, wait for a moment!";
+ next;
+ mes "Combining... ch...ch... ...";
+ emotion e_swt;
+ next;
+ mes "[Drunken Man]";
+ mes "Drunk...drunk.... Zzzzz...";
+ emotion e_what,1;
+ next;
+ //Double-check the materials
+ if ((countitem(Cobaltblue_Dyestuffs) > 0) && (countitem(Oil_Paper) > 29) && (countitem(Transparent_Cloth) > 99) && (countitem(Spool) > 19)) {
+ // Checking weight
+ if ((MaxWeight - Weight) < 100) {
+ mes "Necktie is heavier than I thought.";
+ mes "Seems like the very legendary Necktie.";
+ close;
+ }
+ else if (checkweight(Necktie,1) == 0) {
+ mes "- Wait !! -";
+ mes "- You have too many items, so it's -";
+ mes "- impossible to have more. -";
+ mes "- Come to me again -";
+ mes "- after emptying some of it. -";
+ close;
+ }
+ mes "He zonked out as soon as";
+ mes "he finished it.";
+ mes "Let's just take the Necktie.";
+ delitem Cobaltblue_Dyestuffs,1; //Cobaltblue_Dyestuffs
+ delitem Oil_Paper,30; //Oil_Paper
+ delitem Transparent_Cloth,100; //Transparent_Cloth
+ delitem Spool,20; //Spool
+ getitem Necktie,1; //Necktie
+ close;
+ }
+ mes "[Drunken Man]";
+ mes "Huh? Where are all the materials gone?";
+ mes "Did you take it back that you're so afraid of me?";
+ close;
+ }
+ mes "[Drunken Man]";
+ mes "Hey, go and get";
+ mes "^FF00001 Cobaltblue Dyestuff, 30 Oil Papers, 100 Transparent Cloth, 20 Spools^000000!";
+ next;
+ mes "[Drunken Man]";
+ mes "I will beat you off wearing the legendary Necktie!";
+ next;
+ if (select("I won't.:Let's go and get them.") == 1) {
+ mes "[Drunken Man]";
+ mes "Are you dropping out?";
+ mes "Did I win again?";
+ close;
+ }
+ mes "[Drunken Man]";
+ mes "I'm telling you once more";
+ mes "for you might forget it, dumbhead!";
+ next;
+ mes "[Drunken Man]";
+ mes "^FF00001 Cobaltblue Dyestuff, 30 Oil Papers, 100 Transparent Cloth, 20 Spools^000000!";
+ mes "Hurry! I'll be futzing around with others.";
+ emotion e_go;
+ close;
+}
+
+// 3. Making the new headgear Hair Brush(5444)
+comodo,236,164,0 script Hat Girl#Hair_Brush 1_F_04,{
+ mes "[Hat Girl]";
+ mes "Isn't the unique hat much better";
+ mes "than the common hairbands?";
+ next;
+ if (select("I still prefer hairbands!:Hat is the best!") == 1) {
+ mes "[Hat Girl]";
+ mes "Wear your boring hairband for the whole lifetime!";
+ emotion e_pif;
+ close;
+ }
+ mes "[Hat Girl]";
+ mes "You have a good sense!";
+ mes "I thought I would make";
+ mes "a trendy hat.";
+ next;
+ mes "[Hat Girl]";
+ mes "I will give you an honor,";
+ mes "to be a fashion superstar,";
+ mes "if you bring me the materials for it.";
+ next;
+ if ((countitem(Mixture) > 0) && (countitem(Scarlet_Dyestuffs) > 0) && (countitem(Solid_Shell) > 49) && (countitem(Elunium) > 4) && (countitem(Axe_) > 0)) {
+ mes "[Hat Girl]";
+ mes "Oh! you're bringing ^0000FFthe materials for Hair Brush^000000.";
+ mes "Do you want me to make it now?";
+ next;
+ if (select("I think the hairband is better...:Yes, please make it!") == 1) {
+ mes "[Hat Girl]";
+ mes "Wear your boring hairband for the whole lifetime!";
+ emotion e_pif;
+ close;
+ }
+ mes "[Hat Girl]";
+ mes "Okay, I'll do it right away!";
+ next;
+ mes "Ch ch ch... combining...ch ch・";
+ emotion e_swt2,1;
+ next;
+ mes "[Hat Girl]";
+ mes "Here, it's done!";
+ mes "Now you're the fashionista!";
+ next;
+ //Double-check the materials
+ if ((countitem(Mixture) > 0) && (countitem(Scarlet_Dyestuffs) > 0) && (countitem(Solid_Shell) > 49) && (countitem(Elunium) > 4) && (countitem(Axe_) > 0)) {
+ // Checking weight
+ if ((MaxWeight - Weight) < 100) {
+ mes "[Hat Girl]";
+ mes "You're carrying too much stuff.";
+ mes "Come again after emptying your bag.";
+ close;
+ }
+ else if (checkweight(Status_Of_Baby_Angel,1) == 0) {
+ mes "- Wait !! -";
+ mes "- You have too many items, so it's -";
+ mes "- impossible to have more. -";
+ mes "- Come to me again -";
+ mes "- after emptying some of it. -";
+ close;
+ }
+ mes "[" + strcharinfo(0) + "]";
+ mes "I got the Hair Brush.";
+ mes "...but it makes me sad.";
+ delitem Mixture,1; //Mixture
+ delitem Scarlet_Dyestuffs,1; //Scarlet_Dyestuffs
+ delitem Solid_Shell,50; //Solid_Shell
+ delitem Elunium,5; //Elunium
+ delitem Axe_,1; //Axe_
+ getitem Hair_Brush,1; //Hair_Brush
+ close;
+ }
+ mes "[Hat Girl]";
+ mes "Huh? Don't you want to be";
+ mes "the best fashionista?";
+ mes "You don't have enough materials?";
+ close;
+ }
+ mes "[Hat Girl]";
+ mes "To make the latest style ^0000FFHair_Brush^000000,";
+ mes "I need ^0000FF1 Mixture, 1 Scarlet Dyestuffs,";
+ mes "50 Solid Shells, 5 Eluniums,^000000";
+ mes "also 1 ^0000FFAxe^000000 with 4 sockets on it.";
+ next;
+ mes "[Hat Girl]";
+ mes "What are you doing? Hurry!";
+ next;
+ mes "[Hat Girl]";
+ mes "Here is one tip for you.";
+ mes "You can easily get Solid Shells and Elunium from the monsters.";
+ close;
+}
+
+// 4. Making the new headgear Statue Of Baby Angel(5443)
+alberta,151,78,0 script Bebete#Baby_Angel_Status 4W_KID,{
+ // Check if wearing Ear_Of_Angel's_Wing, Angelic_Chain, Flying_Angel
+ if (!isequipped(Ear_Of_Angel's_Wing) && !isequipped(Angelic_Chain) && !isequipped(Flying_Angel)) {
+ mes "[Bebete]";
+ mes "A fake angel? Go away!!";
+ next;
+ mes "[Bebete]";
+ mes "The real angel has";
+ mes "the wings on the head!";
+ close;
+ }
+ if (BaseLevel < 65) {
+ mes "[Bebete]";
+ mes "A fake angel? Go away!";
+ next;
+ mes "[Bebete]";
+ mes "The real angel";
+ mes "is not as weak as you.";
+ close;
+ }
+ // If wearing Status_Of_Baby_Angel
+ if (isequipped(Status_Of_Baby_Angel) > 0) {
+ mes "[Bebete]";
+ mes "Oh, the angel came again.";
+ mes "Are you quite satisfied with ^FF0000Statue Of Baby Angel^000000, aren't you?";
+ close;
+ }
+ if ((countitem(Holy_Water) > 0) && (countitem(Feather_Of_Birds) > 499) && (countitem(Muscovite) > 9) && (countitem(Spirit_Chain) > 0) && (countitem(Shining_Stone) > 0)) {
+ mes "[Bebete]";
+ mes "Ah! Hey, angel~ angel~";
+ next;
+ mes "[Bebete]";
+ mes "Please show me the Statue of Baby Angel!";
+ mes "I heard every angel has it!";
+ next;
+ select("Statue of Baby Angel?");
+ mes "[Bebete]";
+ mes "Did you lose it?";
+ mes "Do you want me to make it for you?";
+ next;
+ if (select("No, thanks.:Yes, I want it now.") == 1) {
+ mes "[Bebete]";
+ mes "Oh... it's not easy to make a living!";
+ close;
+ }
+ // Check weight
+ mes "[Bebete]";
+ mes "Wow, you already know all the materials, angel.";
+ emotion e_lv2;
+ next;
+ mes "[Bebete]";
+ mes "You're lucky. I have one statue on going.";
+ mes "So you don't need to wait for long.";
+ next;
+ if ((countitem(Holy_Water) > 0) && (countitem(Feather_Of_Birds) > 499) && (countitem(Muscovite) > 9) && (countitem(Spirit_Chain) > 0) && (countitem(Shining_Stone) > 0)) {
+ // Check weight
+ if ((MaxWeight - Weight) < 600) {
+ mes "[Bebete]";
+ mes "What are you carrying that much, angel?";
+ mes "I can't give you the item";
+ mes "because your bag is too full.";
+ close;
+ }
+ else if (checkweight(Status_Of_Baby_Angel,1) == 0) {
+ mes "- Wait !! -";
+ mes "- You have too many items, so it's -";
+ mes "- impossible to have more. -";
+ mes "- Come to me again -";
+ mes "- after emptying some of it. -";
+ close;
+ }
+ mes "I got the ^FF0000Statue of Baby Angel^000000.";
+ delitem Feather_Of_Birds,500; //Feather_Of_Birds
+ delitem Holy_Water,1; //Holy_Water
+ delitem Muscovite,10; //Muscovite
+ delitem Spirit_Chain,1; //Spirit_Chain
+ delitem Shining_Stone,1; //Shining_Stone
+ getitem Status_Of_Baby_Angel,1; //Status_Of_Baby_Angel
+ next;
+ mes "[Bebete]";
+ mes "See you again, my angel~!";
+ emotion e_thx;
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "... ...";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Hmm... I guess I was fooled by that little kid.";
+ close;
+ }
+ mes "[Bebete]";
+ mes "Hey, I don't see";
+ mes "any materials in your bag..";
+ emotion e_sob;
+ close;
+ }
+ mes "[Bebete]";
+ mes "Hey, angel...";
+ next;
+ mes "[Bebete]";
+ mes "Wow, the angel!";
+ emotion e_omg;
+ next;
+ mes "[Bebete]";
+ mes "Are you a real angel? Have you been to heaven?";
+ next;
+ if (select("What a bullshit!:Let's keep the childhood innocence!") == 1) {
+ mes "[" + strcharinfo(0) + "]";
+ mes "Angel and heaven? It's all made up! ";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "There's nothing. Everything is lie!";
+ emotion e_gg,1;
+ next;
+ mes "[Bebete]";
+ mes "You're a devil! a monster! an idiot!";
+ emotion e_sigh;
+ close;
+ }
+ mes "[" + strcharinfo(0) + "]";
+ mes "Of course. I used to dance with the dragon and zebra";
+ mes "on the vanilla-taste clouds.";
+ next;
+ mes "[Bebete]";
+ mes "That's just what I've been imagining!";
+ next;
+ mes "[Bebete]";
+ mes "Please show me the Statue of Baby Angel!";
+ mes "I heard every angel has it!";
+ next;
+ mes "[Bebete]";
+ mes "Oops, did you lose it?";
+ mes "Do you want me to make one for you?";
+ next;
+ mes "[Bebete]";
+ mes "I made it several times before";
+ mes "for the angels like you.";
+ next;
+ mes "[Bebete]";
+ mes "I can make it with ^FF0000 500 Feather Of Birds, 1 Holy Water, 10 Muscovite, 1 Spirit Chain and 1 Shining Stone^000000.";
+ next;
+ mes "[Bebete]";
+ mes "Okay, hurry!";
+ close;
+ end;
+}
+
+// 5. Making the new headgear Frog_Cap(5447)
+
+gef_fild07,108,161,4 script Roda Frog#Frog_Cap RODA_FROG,1,1,{
+ if (2009_hat == 0) {
+ mes "[???]";
+ mes "Hmm..Hm..";
+ mes "It seems my transformation into the child's appearance is succeessful.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "... ... ... ...";
+ next;
+ mes "[???]";
+ mes "Human! I am here to ask you some help.";
+ next;
+ if (BaseLevel < 65) {
+ mes "[???]";
+ mes "... ... ...";
+ next;
+ mes "[???]";
+ mes "I am the great king Froggie Vll!";
+ next;
+ mes "[King Froggie Vll]";
+ mes "but I think you're not strong enough to help us.";
+ mes "Go and train more!";
+ next;
+ mes "[King Froggie Vll]";
+ mes "Over lvl 65 human will be fine for us.";
+ close2;
+ donpcevent "Roda Frog#Frog_Cap::OnDisable";
+ end;
+ }
+ mes "[???]";
+ mes "I am the great king, Froggie Vll..";
+ mes "I need your help!";
+ next;
+ if (select("Just ignore it.:Let's help him.") == 1) {
+ mes "[" + strcharinfo(0) + "]";
+ mes "Talking frog...";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Now I've seen everything.";
+ next;
+ mes "[King Froggie Vll]";
+ mes "Croaking...Croaking...";
+ close2;
+ donpcevent "Roda Frog#Frog_Cap::OnDisable";
+ end;
+ }
+ mes "[" + strcharinfo(0) + "]";
+ mes "What can I help you?";
+ next;
+ mes "[King Froggie Vll]";
+ mes "Our great frog race is now endangered because many travellers came here and take our eggs as a kind of souvenirs. I even heard there are many left on the ground here and there, so I need your help. Please bring back ^FF0000100 Frogspawn^000000.";
+ setquest 5000;
+ 2009_hat = 1;
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Sure, I will.";
+ next;
+ mes "[King Froggie Vll]";
+ mes "I will be waiting for you!";
+ close2;
+ donpcevent "Roda Frog#Frog_Cap::OnDisable";
+ end;
+ }
+ else if (2009_hat == 1) {
+ if (countitem(Spawn) < 100) {
+ mes "[King Froggie Vll]";
+ mes "What are you doing here?";
+ mes "Go and get ^FF0000100 Frogspawn^000000!";
+ close2;
+ donpcevent "Roda Frog#Frog_Cap::OnDisable";
+ end;
+ }
+ mes "[King Froggie Vll]";
+ mes "Oh, you brought all of them!";
+ next;
+ mes "[King Froggie Vll]";
+ mes "Thank you so much, " + strcharinfo(0) + ".";
+ emotion e_thx;
+ next;
+ mes "[King Froggie Vll]";
+ mes "By the way, we have another urgent matter. So I would ask you one more help.";
+ next;
+ mes "[King Froggie Vll]";
+ mes "Frogs are healthy food to the snakes.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "I know well.";
+ next;
+ mes "[King Froggie Vll]";
+ mes "Well, that's good. Aren't you feel sorry for our race?";
+ next;
+ mes "[King Froggie Vll]";
+ mes "So, I hereby ask you to take revenge on them. Kill ^FF000050 Side Winder^000000 for us.";
+ delitem Spawn,100; //Spawn
+ changequest 5000,5001;
+ 2009_hat = 2;
+ next;
+ mes "[King Froggie Vll]";
+ mes "I'll be waiting for your news!";
+ close2;
+ donpcevent "Roda Frog#Frog_Cap::OnDisable";
+ end;
+ }
+ else if (2009_hat == 2) {
+ if (questprogress(5001,HUNTING) == 1) {
+ mes "[King Froggie Vll]";
+ mes "I'm waiting for your good news.";
+ mes "It would be a piece of cake for you";
+ mes "to kill ^FF000050 Side Winders^000000. Keep it up!";
+ close2;
+ donpcevent "Roda Frog#Frog_Cap::OnDisable";
+ end;
+ }
+ else if (questprogress(5001,HUNTING) == 2) {
+ mes "[" + strcharinfo(0) + "]";
+ mes "I'm back.";
+ next;
+ mes "[King Froggie Vll]";
+ mes "You seemingly killed all the Side Winders!";
+ next;
+ mes "[King Froggie Vll]";
+ mes "You became an example for the young frogs. Thank you again.";
+ emotion e_thx;
+ next;
+ mes "[King Froggie Vll]";
+ mes "Therefore, I'm considering adding your outstanding exploit to our frog's history book. But I need your evidence for your work.";
+ next;
+ mes "[King Froggie Vll]";
+ mes "Please bring me ^FF0000 100 ^000000 ^FF0000Poisonous Canines^000000 from the snakes.";
+ changequest 5001,5002;
+ 2009_hat = 3;
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "I'm happy to be added in the history book. I'll go and get them.";
+ next;
+ mes "[King Froggie Vll]";
+ mes "Obedient, hard-working... I hope I have a loyal frog like you.";
+ close2;
+ donpcevent "Roda Frog#Frog_Cap::OnDisable";
+ end;
+ }
+ close;
+ }
+ else if (2009_hat == 3) {
+ if (countitem(Posionous_Canine) < 100) {
+ mes "[King Froggie Vll]";
+ mes "How about ^FF0000100 Poisonous Canines^000000?";
+ mes "Hurry, it's a rare opportunity to be added in the frog histroy book!";
+ close2;
+ donpcevent "Roda Frog#Frog_Cap::OnDisable";
+ end;
+ }
+ mes "[King Froggie Vll]";
+ mes "Oh, you brought Poisonous Canines! Now, I'm able to put you in the frog history book officially.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "That's good for me.";
+ next;
+ mes "[King Froggie Vll]";
+ mes "I have a better news!";
+ next;
+ mes "[King Froggie Vll]";
+ mes "I found a great method to keep our race while I was looking up the history book!";
+ next;
+ mes "[King Froggie Vll]";
+ mes "The answer was in the frog history book. In the old days, the great King Froggie lll made a secret medicine enabling us to use a hiding skill from the snakes.";
+ next;
+ mes "[King Froggie Vll]";
+ mes "I should have known this earlier...";
+ mes "Please get me ^FF000050 Scaled Skins^000000.";
+ delitem Posionous_Canine,100; //Posionous_Canine
+ changequest 5002,5003;
+ 2009_hat = 4;
+ next;
+ mes "[King Froggie Vll]";
+ mes "It's not easy to get, but I'm sure you can do it.";
+ close2;
+ donpcevent "Roda Frog#Frog_Cap::OnDisable";
+ end;
+ }
+ else if (2009_hat == 4) {
+ if (countitem(Scales_Shell) < 50) {
+ mes "[King Froggie Vll]";
+ mes "Still here? Go and get ^FF000050 Scaled Skins^000000! Please hurry!";
+ close2;
+ donpcevent "Roda Frog#Frog_Cap::OnDisable";
+ end;
+ }
+ mes "[King Froggie Vll]";
+ mes "Excellent!";
+ mes "You're like the great King Froggie lll in his young days!";
+ next;
+ mes "[King Froggie Vll]";
+ mes "You are already the hero for our frogs! If I have a child, I would marry you up with my child.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Ah.. No, thanks.";
+ mes "^FF0000(Are you telling me to marry with A Frog???)^000000";
+ next;
+ mes "[King Froggie Vll]";
+ mes "Thanks to you, the population of frog has increased but we're short of food.";
+ next;
+ mes "[King Froggie Vll]";
+ mes "The best food for us is ^FF0000Argiope^000000.";
+ next;
+ mes "[King Froggie Vll]";
+ mes "Now, what are you doing, our hero?";
+ mes "Go and get ^FF000050 Argiopes^000000!";
+ delitem Scales_Shell,50; //Scales_Shell
+ 2009_hat = 5;
+ changequest 5003,5004;
+ close2;
+ donpcevent "Roda Frog#Frog_Cap::OnDisable";
+ end;
+
+ }
+ else if (2009_hat == 5) {
+ if (questprogress(5004,HUNTING) == 1) {
+ mes "[King Froggie Vll]";
+ mes "My hero, are you going to starve us to death?";
+ mes "Go and bring us ^FF000050 Argiopes^000000!";
+ close2;
+ donpcevent "Roda Frog#Frog_Cap::OnDisable";
+ end;
+ }
+ else if (questprogress(5004,HUNTING) == 2) {
+ mes "[King Froggie Vll]";
+ mes "I think I saw you a while ago, but now you became the hero for the frogs...";
+ next;
+ mes "[King Froggie Vll]";
+ mes "It was really lucky for me to ask you a favor.";
+ next;
+ // checking weight
+ if ((MaxWeight - Weight) < 500) {
+ mes "[King Froggie Vll]";
+ mes "I'd like to give you a reward, our hero. But your bag is now too heavy.";
+ close2;
+ donpcevent "Roda Frog#Frog_Cap::OnDisable";
+ end;
+ }
+ else if (checkweight(Frog_Cap,1) == 0) {
+ mes "- Wait !! -";
+ mes "- You have too many items, so it's -";
+ mes "- impossible to have more. -";
+ mes "- Come to me again -";
+ mes "- after emptying some of it. -";
+ close;
+ }
+ mes "[King Froggie Vll]";
+ mes "Frogs, do you have any objection";
+ mes "to give our hero, " + strcharinfo(0) + "";
+ mes "a Frog Hat which is one of our precious treasures?";
+ next;
+ mes "[Sounds from somewhere]";
+ mes "Croak...croak...";
+ mes "croooooaaaaak~~~";
+ mes "Croak croak";
+ next;
+ mes "[King Froggie Vll]";
+ mes "Hmm, there is no objection.";
+ next;
+ mes "[King Froggie Vll]";
+ mes "I hearby give " + strcharinfo(0) + ", our hero, this Frog Hat.";
+ specialeffect2 EF_MAPPILLAR2;
+ specialeffect2 EF_BLESSING;
+ erasequest 5004;
+ 2009_hat = 6;
+ getitem Frog_Cap,1; //Frog_Cap
+ next;
+ mes "[King Froggie Vll]";
+ mes "You are always welcome.";
+ mes "Visit here at any time.";
+ close2;
+ donpcevent "Roda Frog#Frog_Cap::OnDisable";
+ end;
+ }
+ }
+ else if (2009_hat == 6) {
+ mes "[King Froggie Vll]";
+ mes "All the frogs in the world, praise " + strcharinfo(0) + ", our eternal hero!";
+ emotion e_thx;
+ close2;
+ donpcevent "Roda Frog#Frog_Cap::OnDisable";
+ end;
+ }
+ end;
+
+OnInit:
+ setnpcdisplay "Roda Frog#Frog_Cap",RODA_FROG;
+end;
+
+OnEnable:
+ setnpcdisplay "Roda Frog#Frog_Cap",4_M_KID2;
+ end;
+
+OnDisable:
+ hideonnpc "Roda Frog#Frog_Cap";
+ initnpctimer;
+ end;
+
+OnReset:
+ setnpcdisplay "Roda Frog#Frog_Cap",RODA_FROG;
+ hideoffnpc "Roda Frog#Frog_Cap";
+ end;
+
+OnTimer2000:
+ donpcevent "Roda Frog#Frog_Cap::OnReset";
+ stopnpctimer;
+ end;
+
+OnTouch:
+ mes "There is a frog. What should I do?";
+ next;
+ if (select("Throw it a stone.:Have a conversation.") == 1) {
+ donpcevent "Roda Frog#Frog_Cap::OnDisable";
+ mes "Ouch~";
+ close;
+ }
+ donpcevent "Roda Frog#Frog_Cap::OnEnable";
+ if (2009_hat > 0) {
+ emotion e_dots,1;
+ mes "[" + strcharinfo(0) + "]";
+ mes "It's so amazing to see";
+ mes "the frog which transforms itself.";
+ close;
+ }
+ emotion e_omg,1;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Oh my.. the frog transformed into a child...";
+ close;
+}
+
+
+// 6. Making the new headgear Solo Playing Box 1,2 ()5448,5449)
+alberta,120,206,3 script Alonie#Solo_Play_Box 4_M_UMKID,{
+ if (2009_1_hat == 0) {
+ mes "[Alonie]";
+ mes "I am an expert at playing alone.";
+ mes "I'm trying my best to play alone!";
+ next;
+ mes "[Alonie]";
+ mes "HuHu, Yapyap!";
+ mes "I can feel your admiration for me.";
+ mes "Wanna be my student?";
+ next;
+ if (select("You're out of your mind!:Please let me be your disciple!") == 1) {
+ mes "[Alonie]";
+ mes "Yes, I'm out of my mind.";
+ mes "Huhu, Yapyap!";
+ close;
+ }
+ mes "[Alonie]";
+ mes "I can feel you are lack of affection. Okay!";
+ mes "Now, let's start the training!";
+ next;
+ mes "[Alonie]";
+ mes "The special training, to play alone in Sphinx Dungeon!";
+ mes "For make it";
+ mes "the fruitful training,";
+ mes "Get around and kill";
+ mes "^FF000020 Zeroms, 20 Requiems^000000!";
+ mes "Hurry!";
+ next;
+ if (select("What a bullshit!:Let's go!") == 1) {
+ mes "[Alonie]";
+ mes "Of course, I don't care.";
+ mes "Huhu, Yapyap!";
+ close;
+ }
+ mes "[Alonie]";
+ mes "Hurry up, my student.";
+ mes "I am so capricious";
+ mes "so I don't know what I will";
+ mes "give you as a reward!";
+ setquest 1100;
+ setquest 1101;
+ 2009_1_hat = 1;
+ close;
+ }
+ else if (2009_1_hat == 1) {
+ if ((questprogress(1100,HUNTING) == 2) && (questprogress(1101,HUNTING) == 2)) {
+ mes "[Alonie]";
+ mes "Already finished?";
+ mes "Good, here is the next training";
+ mes "to be a playing-alone expert!";
+ next;
+ mes "[Alonie]";
+ mes "The special training, to play alone at Clock Tower!";
+ mes "For make it";
+ mes "the fruitful training,";
+ mes "Get around and kill";
+ mes "^FF000040 Arclouses and 30 High Orcs^000000";
+ next;
+ if (select("What a bullshit!:Let's go!") == 1) {
+ mes "[Alonie]";
+ mes "Of course, I don't care.";
+ mes "Huhu, Yapyap!";
+ close;
+ }
+ mes "[Alonie]";
+ mes "Hurry up, my student.";
+ mes "I am so capricious";
+ mes "so I don't know what I will";
+ mes "give you as a reward!";
+ changequest 1100,1102;
+ changequest 1101,1103;
+ 2009_1_hat = 2;
+ close;
+ }
+ mes "[Alonie]";
+ mes "Hmm, it's not enough.";
+ mes "Playing alone is not that easy!";
+ mes "Go and kill";
+ mes "^FF000020 Zeroms, 20 Requiems^000000!";
+ close;
+ }
+ else if (2009_1_hat == 2) {
+ if ((questprogress(1102,HUNTING) == 2) && (questprogress(1103,HUNTING) == 2)) {
+ mes "[Alonie]";
+ mes "You're really good at playing alone...!";
+ mes "Are you lonely?";
+ mes "Well, here is the next training";
+ mes "to be a playing-alone expert!";
+ next;
+ mes "[Alonie]";
+ mes "The special training, to play alone in Louyang!";
+ mes "For make it";
+ mes "the fruitful training,";
+ mes "Get around and kill";
+ mes "^FF000020 Chung E and 50 Civil Servant^000000!";
+ next;
+ if (select("What a bullshit!:Let's go!") == 1) {
+ mes "[Alonie]";
+ mes "Of course, I don't care.";
+ mes "Huhu, Yapyap!";
+ close;
+ }
+ mes "[Alonie]";
+ mes "Hurry up, my student.";
+ mes "I am so capricious";
+ mes "so I don't know what I will";
+ mes "give you as a reward!";
+ changequest 1102,1108;
+ changequest 1103,1105;
+ 2009_1_hat = 3;
+ close;
+ }
+ mes "[Alonie]";
+ mes "Hmm, It's not enough.";
+ mes "Playing alone is not that easy!";
+ mes "Go and kill";
+ mes "^FF000040 Arclouses and 30 High Orcs^000000!";
+ close;
+
+ }
+ else if (2009_1_hat == 3) {
+ if ((questprogress(1108,HUNTING) == 2) && (questprogress(1105,HUNTING) == 2)) {
+ mes "[Alonie]";
+ mes "Great job.";
+ mes "How lonely you are!";
+ mes "Okay, here is the last training";
+ mes "to be a real playing-alone expert!";
+ next;
+ mes "[Alonie]";
+ mes "The special training, to play alone in Amatsu Dungeon!";
+ mes "For make it";
+ mes "the fruitful training,";
+ mes "Get around and kill";
+ mes "^FF000020 The Papers and 40 Antique Firelocks^000000!";
+ next;
+ if (select("What a bullshit!:Let's go!") == 1) {
+ mes "[Alonie]";
+ mes "Of course, I don't care.";
+ mes "huhu, Yapyap!";
+ close;
+ }
+ mes "[Alonie]";
+ mes "Hurry up, my student!";
+ mes "I am so capricious";
+ mes "so I don't know what I will";
+ mes "give you as a reward!";
+ changequest 1108,1106;
+ changequest 1105,1107;
+ 2009_1_hat = 4;
+ close;
+ }
+ else if ((questprogress(1104,HUNTING) == 2) && (questprogress(1105,HUNTING) == 2)) {
+ mes "[Alonie]";
+ mes "Great job.";
+ mes "How lonely you are!";
+ mes "Okay, here is the last training";
+ mes "to be a real playing-alone expert!";
+ next;
+ mes "[Alonie]";
+ mes "The special training, to play alone in Amatsu Dungeon!";
+ mes "For make it";
+ mes "the fruitful training,";
+ mes "Get around and kill";
+ mes "^FF000020 The Papers and 40 Antique Firelocks^000000!";
+ next;
+ if (select("What a bullshit!:Let's go!") == 1) {
+ mes "[Alonie]";
+ mes "Of course, I don't care.";
+ mes "huhu, Yapyap!";
+ close;
+ }
+ mes "[Alonie]";
+ mes "Hurry up, my student!";
+ mes "I am so capricious";
+ mes "so I don't know what I will";
+ mes "give you as a reward!";
+ changequest 1104,1106;
+ changequest 1105,1107;
+ 2009_1_hat = 4;
+ close;
+ }
+ mes "[Alonie]";
+ mes "Hmm, It's not enough.";
+ mes "Playing alone is not that easy!";
+ mes "Go and kill";
+ mes "^FF000020 Chung E and 50 Civil Servant^000000!";
+ if (questprogress(1104,HUNTING) == 1) {
+ erasequest 1104;
+ setquest 1108;
+ }
+ close;
+ }
+ else if (2009_1_hat == 4) {
+ if ((MaxWeight - Weight) < 300) {
+ mes "[Alonie]";
+ mes "Playing outside with this heavy bag?";
+ mes "You are the real";
+ mes "expert to play alone!";
+ next;
+ mes "[Alonie]";
+ mes "If you want the reward, empty your bag, first!";
+ close;
+ }
+ if ((questprogress(1106,HUNTING) == 2) && (questprogress(1107,HUNTING) == 2)) {
+ mes "[Alonie]";
+ mes "Finally you did it.";
+ mes "My affection-lacked student!";
+ mes "This is the end of your training!";
+ next;
+ if (gettime(3) < 12) {
+ if (checkweight(Solo_Play_Box1,1) == 0) {
+ mes "[Alonie]";
+ mes "Playing outside with this heavy bag?";
+ mes "You are the real";
+ mes "expert to play alone!";
+ next;
+ mes "[Alonie]";
+ mes "If you want the reward, empty your bag, first!";
+ close;
+ }
+ mes "[Alonie]";
+ mes "Here! The solo play box";
+ mes "the most effective at AM!";
+ mes "After putting on this box,";
+ mes "you're the best lonely being!";
+ next;
+ mes "[Alonie]";
+ emotion e_no1;
+ mes "Fight back your tears!";
+ mes "Huhu, Yapyap!";
+ completequest 1106;
+ completequest 1107;
+ 2009_1_hat = 5;
+ getitem Solo_Play_Box1,1; //Solo_Play_Box1
+ close;
+ }
+ if (checkweight(Solo_Play_Box2,1) == 0) {
+ mes "[Alonie]";
+ mes "Playing outside with this heavy bag?";
+ mes "You are the real";
+ mes "expert to play alone!";
+ next;
+ mes "[Alonie]";
+ mes "If you want the reward, empty your bag, first!";
+ close;
+ }
+ mes "[Alonie]";
+ mes "Here! The solo play box";
+ mes "the most effective at PM!";
+ mes "After putting on this box,";
+ mes "you're the best lonely being!";
+ next;
+ mes "[Alonie]";
+ emotion e_no1;
+ mes "Fight back your tears!";
+ mes "Huhu, Yapyap!";
+ completequest 1106;
+ completequest 1107;
+ 2009_1_hat = 5;
+ getitem Solo_Play_Box2,1; //Solo_Play_Box2
+ close;
+ }
+ mes "[Alonie]";
+ mes "Hmmm, It's not enough.";
+ mes "Playing alone is not that easy thing!";
+ mes "Go and kill";
+ mes "^FF000020 The Papers and 40 Antique Firelocks^000000!";
+ close;
+ }
+ else if (2009_1_hat == 5) {
+ mes "[Alonie]";
+ mes "I am the playing-alone expert.";
+ mes "Always trying my best to play alone!";
+ next;
+ mes "[Alonie]";
+ mes "Huhu, Yapyap!";
+ close;
+ }
+ end;
+
+}
diff --git a/npc/re/instances/WolfchevLaboratory.txt b/npc/re/instances/WolfchevLaboratory.txt
index dcf726ed3..a4e484785 100644
--- a/npc/re/instances/WolfchevLaboratory.txt
+++ b/npc/re/instances/WolfchevLaboratory.txt
@@ -962,8 +962,9 @@ lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
} else if (.@equip_item== Giant_Shield || .@equip_item == Geffenia_Book_Water || .@equip_item == Bible_Of_Promise2 ||
.@equip_item == Salvage_Cape || .@equip_item == Assassin_Handcuffs || .@equip_item == Green_Operation_Coat ||
.@equip_item == Ancient_Gold_Deco) {
- if(.@equip_item == Salvage_Cape || .@equip_item == Ancient_Gold_Deco)
- .@lhz_max_num = 4200;
+ .@type = 4;
+ if(.@equip_item == Salvage_Cape || .@equip_item == Ancient_Gold_Deco)
+ .@lhz_max_num = 4200;
} else {
mes "[Pudding]";
mes "Before! I need to check if this equipment can accept the power.";
diff --git a/npc/re/merchants/coin_exchange.txt b/npc/re/merchants/coin_exchange.txt
index 2e9a8a795..f2ee8a506 100644
--- a/npc/re/merchants/coin_exchange.txt
+++ b/npc/re/merchants/coin_exchange.txt
@@ -931,8 +931,8 @@ ecl_in01,64,97,5 script Slot Expert Nattuer#ecl 4_F_FAIRYKID,{
progressbar "0xFFFF00",3;
mes "[Slot Expert]";
delitem Splendide_Coin,5; //Splendide_Coin
- .@luckyday = rand(1,99);
- if ( .@luckyday%20 ){
+ .@luckyday = rand(1,100);
+ if ( (.@luckyday%20) > 0){
emotion e_dots;
delitem .@choice,1;
mes "Shoot, I'm sorry. It failed.";
diff --git a/npc/re/merchants/ninja_craftsman.txt b/npc/re/merchants/ninja_craftsman.txt
new file mode 100644
index 000000000..b9025f3aa
--- /dev/null
+++ b/npc/re/merchants/ninja_craftsman.txt
@@ -0,0 +1,351 @@
+//===== Hercules Script ======================================
+//= Ninja Weapon and Armor
+//===== By: ==================================================
+//= Dastgir
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= Ninja Armor and Weapon Craftsman
+//===== Additional Comments: =================================
+//= 1.0 Official Conversion. [Dastgir]
+//============================================================
+que_ng,21,72,6 script Master Craftsman Gyo#arm 4_M_RASWORD,{
+ mes "[Gyo]";
+ mes "How would you define victory?";
+ mes "To fell the enemy...";
+ mes "However, the most important thing is...";
+ mes "Never to fall yourself!";
+ next;
+ mes "[Gyo]";
+ mes "For that, you must better protect yourself.";
+ mes "You cannot protect 'others' while you hinder your 'own' protection.";
+ next;
+ if (select("Combine armor.:End conversation.") == 2) {
+ mes "[Gyo]";
+ mes "Prudence is also an important virtue in battle.";
+ close;
+ }
+ switch (select("Wolf Armguard:Crescent Armguard:Ninja Scale Armor:Shadow King's Armor:Quit.")) {
+ case 1:
+ mes "[Gyo]";
+ mes "Wolf Armguard... One beastly piece of armor.";
+ next;
+ callsub L_Menu,Wolf_Armguard;
+ close;
+ case 2:
+ mes "[Gyo]";
+ mes "Crescent Armguard... A thing of beauty and strength... With none the lesser.";
+ next;
+ callsub L_Menu,Crescent_Armguard;
+ close;
+ case 3:
+ mes "[Gyo]";
+ mes "Ninja Scale Armor... It's said that a legendary Ninja once wore it.";
+ next;
+ callsub L_Menu,Ninja_Scale_Armor;
+ close;
+ case 4:
+ mes "[Gyo]";
+ mes "Shadow King's Armor... It was made to protect others.";
+ next;
+ callsub L_Menu,Tenebris_Latitantes;
+ close;
+ case 5:
+ mes "[Gyo]";
+ mes "Looks like you need more time to decide.";
+ close;
+ }
+
+L_Menu:
+ .@item_make = getarg(0);
+ while(1){
+ switch(select("Check Ingredients.:Check Stats.:Combine.:Quit.")){
+ case 1:
+ mes "[Gyo]";
+ mes "To make a ^ff0000"+getitemname(.@item_make)+", "+callsub(L_Ingredients,.@item_make)+".^000000";
+ if (.@item_make==Wolf_Armguard)
+ mes "Can you feel it? The throbbing of the wolf blood・";
+ else if (.@item_make==Crescent_Armguard)
+ mes "A crescent as beautiful and clear as a crystal will be engraved on it.";
+ else if (.@item_make==Ninja_Scale_Armor)
+ mes "You can feel its legendary powers.";
+ else if (.@item_make==Tenebris_Latitantes)
+ mes "With the darkness it erases existence itself...";
+ break;
+ case 2:
+ mes "["+ getitemname(getarg(0)) +"]";
+ if (.@item_make == Wolf_Armguard){
+ mes "Chance to have 5 sec. of ATK +100, FLEE -50 upon melee attack.";
+ mes "Shield Type, Defense 45, Slot 1";
+ mes "Required Level 100, Ninja Type Only";
+ }
+ else if (.@item_make == Crescent_Armguard){
+ mes "Decreases post skill delay for 2% for every enhancement.";
+ mes "Shield Type, Defense 70, Slot 1";
+ mes "Required Level 100, Ninja Type Only";
+ }
+ else if (.@item_make == Ninja_Scale_Armor){
+ mes "MHP+15%, MSP-30%.";
+ mes "Armor Type, Defense 90, Slot 1";
+ mes "Required Level 100, Ninja Type Only";
+ }
+ else if (.@item_make == Tenebris_Latitantes){
+ mes "Chance to activate Lvl. 1 Illusion - Shadow when attacked by melee attacks.";
+ mes "Armor Type, Defense 60, Slot 1";
+ mes "Required Level 100, Ninja Type Only";
+ }
+ break;
+ case 3:
+ mes "[Gyo]";
+ mes "Make sure that ^ff0000you have the correct ingredients and equipment at hand.^000000";
+ mes "No use crying over it later.";
+ next;
+ if (select("Combine.:Quit.") == 2) {
+ mes "[Gyo]";
+ mes "Looks like you need more time to decide.";
+ close;
+ }
+ if (checkweight(1201,1) == 0 || (MaxWeight - Weight) < 2000) {
+ mes "- Hold on!! -";
+ mes "- You cannot receive items -";
+ mes "- because you carry too much. -";
+ mes "- Please try again -";
+ mes "- after lightening your burden. -";
+ close;
+ }
+ mes "[Gyo]";
+ switch(.@item_make){
+ case 2172: //Wolf_Armguard
+ if (countitem(Fox_Armguard) && countitem(Wolf_Blood) > 9) {
+ delitem Fox_Armguard,1; //Fox_Armguard
+ delitem Wolf_Blood,10; //Wolf_Blood
+ getitem Wolf_Armguard,1; //Wolf_Armguard
+ mes "Can you feel the wolfish instinct?";
+ mes "Wild, but beautiful・";
+ }
+ else {
+ mes "You don't have enough ingredients.";
+ mes "Look again......";
+ }
+ break;
+ case 2173: //Crescent_Armguard
+ if (countitem(Fox_Armguard) && countitem(Fragment_Of_Crystal) > 99) {
+ delitem Fox_Armguard,1; //Fox_Armguard
+ delitem Fragment_Of_Crystal,100; //Fragment_Of_Crystal
+ getitem Crescent_Armguard,1; //Crescent_Armguard
+ mes "B-e-a-utiful......";
+ mes "Feel the overwhelming magic within.";
+ }
+ else {
+ mes "You don't have enough ingredients.";
+ mes "Look again......";
+ }
+ break;
+ case 15054: //Ninja_Scale_Armor
+ if (countitem(Scale_Of_Red_Dragon) > 29 && countitem(Ice_Scale) > 29 && countitem(Dark_Red_Scale) > 29) {
+ delitem Scale_Of_Red_Dragon,30; //Scale_Of_Red_Dragon
+ delitem Ice_Scale,30; //Ice_Scale
+ delitem Dark_Red_Scale,30; //Dark_Red_Scale
+ getitem Ninja_Scale_Armor,1; //Ninja_Scale_Armor
+ mes "This armor holds a legend...";
+ mes "Though I don't believe in them...";
+ }
+ else {
+ mes "You don't have enough ingredients.";
+ mes "Look again......";
+ }
+ break;
+ case 15055: //Tenebris_Latitantes
+ if (countitem(Special_Ninja_Suit_) && countitem(Piece_Of_Darkness) > 9) {
+ delitem Special_Ninja_Suit_,1; //Special_Ninja_Suit_
+ delitem Piece_Of_Darkness,10; //Piece_Of_Darkness
+ getitem Tenebris_Latitantes,1; //Tenebris_Latitantes
+ mes "How about it?";
+ mes "It looks like two sets of them, doesn't it?";
+ }
+ else {
+ mes "You don't have enough ingredients.";
+ mes "Look again......";
+ }
+ break;
+ }
+ close;
+ case 4:
+ mes "[Gyo]";
+ mes "Looks like you need more time to decide.";
+ close;
+ }
+ next;
+ }
+
+L_Ingredients:
+ switch(getarg(0)){
+ case 2172: //Wolf_Armguard
+ return "you need 1 Fox Armguard and 10 Blood of Wolf";
+ case 2173: //Crescent_Armguard
+ return "you need 1 Fox Armguard and 100 Crystal Fragments";
+ case 15054: //Ninja_Scale_Armor
+ return "you need 30 Fire Dragon Scales, 30 Ice Scales and 30 Darkred Scale Pieces";
+ case 15055: //Tenebris_Latitantes
+ return "you'll need a Special Ninja Suit with a slot and 10 Dark Pieces";
+ }
+ end;
+
+}
+
+que_ng,21,72,6 script Master Craftsman Ki#weap 4_M_RASWORD,{
+ mes "[Ki]";
+ mes "To attack is the best means of defense.";
+ mes "A powerful weapon will make you truly complete.";
+ next;
+ mes "[Ki]";
+ mes "Of course, it would be better to have something special at hand.";
+ next;
+ if (select("Combine weapon.:End conversation.") == 2) {
+ mes "[Ki]";
+ mes "Being too careful could sometimes be lethal.";
+ close;
+ }
+ switch (select("Raksasa Dagger:Mikatsuki:Petal Shuriken:Quit.")) {
+ case 1:
+ mes "[Ki]";
+ mes "Raksasa Dagger can only be used after plenty of training.";
+ next;
+ callsub L_Menu,Raksasa_Dagger;
+ close;
+ case 2:
+ mes "[Ki]";
+ mes "Mikatsuki... A beautiful curve like the crescent moon...";
+ mes "There aren't many who can make them.";
+ next;
+ callsub L_Menu,Mikatsuki;
+ close;
+ case 3:
+ mes "[Ki]";
+ mes "Petal Shuriken... Have you every seen petals swirl?";
+ next;
+ callsub L_Menu,Huuma_Swirling_Petal;
+ close;
+ case 4:
+ mes "[Ki]";
+ mes "Think carefully~~";
+ close;
+ }
+
+L_Menu:
+ .@item_make = getarg(0);
+ while(1){
+ switch(select("Check Ingredients.:Check Stats.:Combine.:Quit.")){
+ case 1:
+ mes "[Ki]";
+ mes "To make a ^ff0000"+getitemname(.@item_make)+", "+callsub(L_Ingredients,.@item_make)+".^000000";
+ if (.@item_make==Raksasa_Dagger)
+ mes "The garnet gives the Raksasa Dagger its unique color.";
+ else if (.@item_make==Mikatsuki)
+ mes "The opal is what gives off the translucent glow.";
+ else if (.@item_make==Huuma_Swirling_Petal)
+ mes "It may seem like too many shurikens are needed... But it is essential for the beautiful fluttering effect.";
+ break;
+ case 2:
+ mes "["+ getitemname(getarg(0)) +"]";
+ if (.@item_make == Raksasa_Dagger){
+ mes "INT+3 MATK+100.";
+ mes "Dagger Type, ATK 120, Slot 1";
+ mes "Required Level 110, Ninja Type Only";
+ }
+ else if (.@item_make == Mikatsuki){
+ mes "MATK + 120, Fluctuated Casting and SP use decreased by 5% upon skill use.";
+ mes "Dagger Type, ATK 50, Weapon Lvl. 4";
+ mes "Slot 1";
+ mes "Required Level 100, Ninja Type Only";
+ }
+ else if (.@item_make == Huuma_Swirling_Petal){
+ mes "MATK + 50, Petal Shuriken skill damage increased by 20%.";
+ mes "Shuriken Type, ATK 150";
+ mes "Weapon Lvl. 3, Slot 2";
+ mes "Required Level 110, Ninja Type Only";
+ }
+ break;
+ case 3:
+ mes "[Ki]";
+ mes "Make sure that ^ff0000you have the correct ingredients and equipment at hand.^000000";
+ mes "No use crying over it later.";
+ next;
+ if (select("Combine.:Quit.") == 2) {
+ mes "[Ki]";
+ mes "Think carefully~~";
+ close;
+ }
+ if (checkweight(1201,1) == 0 || (MaxWeight - Weight) < 2000) {
+ mes "- Hold on!! -";
+ mes "- You cannot receive items -";
+ mes "- because you carry too much. -";
+ mes "- Please try again -";
+ mes "- after lightening your burden. -";
+ close;
+ }
+ mes "[Ki]";
+ switch(.@item_make){
+ case 13076: //Raksasa_Dagger
+ if (countitem(Murasame_) && countitem(Dark_Red_Jewel)) {
+ delitem Murasame_,1; //Murasame_
+ delitem Dark_Red_Jewel,1; //Dark_Red_Jewel
+ getitem Raksasa_Dagger,1; //Raksasa_Dagger
+ mes "Oh yes...";
+ mes "It is a beautiful glow...";
+ }
+ else {
+ mes "Hmm... You do not have enough to make a Raksasa Dagger.";
+ mes "Why don't you check again?";
+ mes "Some just can't give up what they hold.";
+ }
+ break;
+ case 13078: //Mikatsuki
+ if (countitem(Hakujin_) && countitem(White_Jewel)) {
+ delitem Hakujin_,1; //Hakujin_
+ delitem White_Jewel,1; //White_Jewel
+ getitem Mikatsuki,1; //Mikatsuki
+ mes "Splendid・";
+ mes "It is always mesmerizing to look upon such a beautiful weapon・";
+ }
+ else {
+ mes "Hmm... You do not have enough to make a Mikatsuki.";
+ mes "Why don't you check again?";
+ mes "Some just can't give up what they hold.";
+ }
+ break;
+ case 13313: //Huuma_Swirling_Petal
+ if (countitem(Huuma_Calm_Mind) && countitem(Broken_Shuriken) > 99) {
+ delitem Huuma_Calm_Mind,1; //Huuma_Calm_Mind
+ delitem Broken_Shuriken,100; //Broken_Shuriken
+ getitem Huuma_Swirling_Petal,1; //Huuma_Swirling_Petal
+ mes "Swirling Petal!!";
+ }
+ else {
+ mes "Hmm... You do not have enough to make Petal Shurikens.";
+ mes "Why don't you check again?";
+ mes "Some just can't give up what they hold.";
+ }
+ break;
+ }
+ close;
+ case 4:
+ mes "[Ki]";
+ mes "Looks like you need more time to decide.";
+ close;
+ }
+ next;
+ }
+
+L_Ingredients:
+ switch(getarg(0)){
+ case 13076: //Raksasa_Dagger
+ return "you need 1 Murasame with 2 sockets and 1 Garnet";
+ case 13078: //Mikatsuki
+ return "you need a Hakujin with a Slot and an Opal";
+ case 13313: //Huuma_Swirling_Petal
+ return "you need one Huuma Calm Mind Shuriken and 100 Broken Shurikens";
+ }
+ end;
+
+}
diff --git a/npc/re/quests/quests_eclage.txt b/npc/re/quests/quests_eclage.txt
index cb57f1681..ab8651c92 100644
--- a/npc/re/quests/quests_eclage.txt
+++ b/npc/re/quests/quests_eclage.txt
@@ -44,25 +44,24 @@ ecl_fild01,118,311,4 script Teleport Cat No.1#1 4_M_BOSSCAT,{
mes "I'll see you later then";
close;
}
+ .@i = (.@menu/2)-1;
if (.@menu%2){
- .@menu = (.@menu/2)-1;
- if (Zeny < (.price[.@pindex[.@menu]]*1000)){
+ if (Zeny < (.price[.@pindex[.@i]]*1000)){
mes "[Teleport Cat]";
mes "I'm afraid it's not enough. Sorry, but it can't be done for free~";
close;
}
- Zeny -= .price[.@pindex[.@menu]]*1000;
+ Zeny -= .price[.@pindex[.@i]]*1000;
}
else{
- .@menu = (.@menu/2)-1;
- if (countitem(Malang_Sp_Can) < .price[.@pindex[(.@menu/2)]] ){
+ if (countitem(Malang_Sp_Can) < .price[.@pindex[.@i]] ){
mes "[Teleport Cat]";
mes "I'm afraid it's not enough. Sorry, but it can't be done for free~";
close;
}
- delitem Malang_Sp_Can,.price[.@pindex[(.@menu/2)]];
+ delitem Malang_Sp_Can,.price[.@pindex[.@i]];
}
- warp .maps$[.@mindex],.x[.@mindex],.y[.@mindex];
+ warp .maps$[.@mindex[.@i]],.x[.@mindex[.@i]],.y[.@mindex[.@i]];
end;
OnInit:
@@ -13053,26 +13052,26 @@ ecl_tdun01,98,47,5 duplicate(Euncheong#No.1) Euncheong#No.3 4_M_HUBOY,1,1
ecl_tdun03,68,80,3 script New Oz#1 4_M_NEWOZ,1,1,{
if (ep14_2_nines > 5) {
- if ((questprogress(13062,PLAYTIME) == 1) || (questprogress(13064,PLAYTIME) == 1) || (questprogress(13066,PLAYTIME) == 1)) {
+ if ((questprogress(13062,PLAYTIME) == 2) || (questprogress(13064,PLAYTIME) == 2) || (questprogress(13066,PLAYTIME) == 2)) {
cutin "nines01",2;
mes "[New Oz]";
mes "Ah...What a relief...I'm so glad you're here. I was about to leave this tower alone! But I think I'm lost.";
emotion e_gasp;
- if (questprogress(13062,PLAYTIME) == 1) {
+ if (questprogress(13062,PLAYTIME) == 2) {
next;
cutin "nines04",2;
mes "[New Oz]";
mes "I'm hungry again from walking around so much...I'm so hungry that I can't walk anymore.";
erasequest 13062;
}
- if (questprogress(13064,PLAYTIME) == 1) {
+ if (questprogress(13064,PLAYTIME) == 2) {
next;
cutin "nines03",2;
mes "[New Oz]";
mes "Did I walk too much? I'm covered with dust again. It keeps covering my eyes.";
erasequest 13064;
}
- if (questprogress(13066,PLAYTIME) == 1) {
+ if (questprogress(13066,PLAYTIME) == 2) {
next;
cutin "nines02",2;
mes "[New Oz]";
@@ -13088,7 +13087,9 @@ ecl_tdun03,68,80,3 script New Oz#1 4_M_NEWOZ,1,1,{
mes "[New Oz]";
mes "No need to worry about me! ^FF0000I'll definitely go home this time!^000000 Thanks for everything! I'll take you out for a nice meal next time!";
emotion e_thx;
- erasequest 13058;
+ if (questprogress(13058)){
+ erasequest 13058;
+ }
close2;
cutin "",255;
end;
@@ -13104,7 +13105,7 @@ ecl_tdun03,68,80,3 script New Oz#1 4_M_NEWOZ,1,1,{
if (questprogress(13062,PLAYTIME) >= 1) {
next;
mes "[New Oz]";
- if (questprogress(13064,PLAYTIME) == 1) {
+ if (questprogress(13064,PLAYTIME) >= 1) {
mes "I guess I'll have no problem finding my way out of this tower now. I'm full...and I just need to get a few more souvenirs...";
}
else {
@@ -13118,7 +13119,9 @@ ecl_tdun03,68,80,3 script New Oz#1 4_M_NEWOZ,1,1,{
mes "I'm starving to death though... Could you please help me, my friend?";
emotion e_wah;
}
- erasequest 13058;
+ if (questprogress(13058)){
+ erasequest 13058;
+ }
close2;
cutin "",255;
end;
@@ -13154,6 +13157,7 @@ ecl_tdun03,68,80,3 script New Oz#1 4_M_NEWOZ,1,1,{
getitem Splendide_Coin,1; //Splendide_Coin
close2;
cutin "",255;
+ end;
}
cutin "nines04",2;
mes "[New Oz]";
@@ -13165,6 +13169,7 @@ ecl_tdun03,68,80,3 script New Oz#1 4_M_NEWOZ,1,1,{
mes "Seeing his eyes and hearing him coughing constantly, I can tell he needs something to eat, like meat.";
close2;
cutin "",255;
+ end;
}
else if (questprogress(13061) == 2) {
cutin "nines04",2;
@@ -13199,7 +13204,9 @@ ecl_tdun03,68,80,3 script New Oz#1 4_M_NEWOZ,1,1,{
mes "[New Oz]";
mes "As long as I'm getting something to eat, I was just hoping for a good one. I'm sorry, but do me a favor please. I couldn't forget the taste of the meat.";
emotion e_slur;
- erasequest 13062;
+ if (questprogress(13062,PLAYTIME) == 2){
+ erasequest 13062;
+ }
setquest 13061;
break;
case 2:
@@ -13265,7 +13272,10 @@ ecl_tdun03,68,80,3 script New Oz#1 4_M_NEWOZ,1,1,{
next;
mes "[New Oz]";
mes "Fight off some Cherenes then. You don't have to eliminate that many because I'll start fighting soon, too! Haha.";
- changequest 13064,13063;
+ if (questprogress(13064,PLAYTIME)){
+ erasequest 13064;
+ }
+ setquest 13063;
break;
case 2:
mes "[New Oz]";
@@ -13299,18 +13309,13 @@ ecl_tdun03,68,80,3 script New Oz#1 4_M_NEWOZ,1,1,{
emotion e_thx;
delitem Leaf_Bookmark,20; //Leaf_Bookmark
changequest 13065,13066;
- setquest 13066;
getexp 300000,300000;
getitem Splendide_Coin,1; //Splendide_Coin
- close2;
} else{
cutin "nines01",2;
mes "[New Oz]";
mes "I don't need that many. Maybe one for each of them?";
- close2;
}
- cutin "",255;
- end;
}
else if (questprogress(13065) == 2) {
cutin "nines01",2;
@@ -13321,28 +13326,30 @@ ecl_tdun03,68,80,3 script New Oz#1 4_M_NEWOZ,1,1,{
mes "Would you mind helping me with that? What are friends for! Hahaha! Thanks!!";
emotion e_otl;
erasequest 13065;
- close2;
- cutin "",255;
- end;
}
- cutin "nines03",2;
- mes "[New Oz]";
- mes "When I came to myself, I realized that everything you brought me was gone! I thought I put it right here!";
- next;
- mes "[New Oz]";
- mes "I'm really really sorry, but could you help me again? Just the thought of seeing my friends makes me cry like this. Please~?";
- next;
- switch (select("What a poor guy! I'll help him.:I can't take it anymore!")) {
- case 1:
- mes "[New Oz]";
- mes "Bookmarks made of fallen leaves...Ah, they bring so many memories back and make my eyes teary. I'm sure my friends will love it!";
- changequest 13066,13065;
- break;
- case 2:
- cutin "nines04",2;
- mes "[New Oz]";
- mes "I see...It's my fault. I'll probably end my life here, collecting souvenirs...but it's none of your business...";
- break;
+ else {
+ cutin "nines03",2;
+ mes "[New Oz]";
+ mes "When I came to myself, I realized that everything you brought me was gone! I thought I put it right here!";
+ next;
+ mes "[New Oz]";
+ mes "I'm really really sorry, but could you help me again? Just the thought of seeing my friends makes me cry like this. Please~?";
+ next;
+ switch (select("What a poor guy! I'll help him.:I can't take it anymore!")) {
+ case 1:
+ mes "[New Oz]";
+ mes "Bookmarks made of fallen leaves...Ah, they bring so many memories back and make my eyes teary. I'm sure my friends will love it!";
+ if (questprogress(13066,PLAYTIME)){
+ erasequest 13066;
+ }
+ setquest 13065;
+ break;
+ case 2:
+ cutin "nines04",2;
+ mes "[New Oz]";
+ mes "I see...It's my fault. I'll probably end my life here, collecting souvenirs...but it's none of your business...";
+ break;
+ }
}
close2;
cutin "",255;
@@ -14718,8 +14725,6 @@ ecl_in01,32,52,5 script Traveler Fome#tl01 4_F_DOGTRAVELER,3,3,{
mes "The fact that you made it here actually seems just short of a miracle...";
close;
}
- .@totaltemp = questprogress(7423) + questprogress(7424) + questprogress(7425) + questprogress(7426);
- .@total = questprogress(7411) + questprogress(7412) + questprogress(7413);
if (ep14_2_mylord < 2 || (ep14_2_mylord == 2 && questprogress(7411) != 1)) {
mes "[Fome]";
mes "Come here and have a talk with us.";
@@ -14816,6 +14821,7 @@ ecl_in01,32,52,5 script Traveler Fome#tl01 4_F_DOGTRAVELER,3,3,{
}
else if (ep14_2_mylord == 2) {
if (questprogress(7411) == 1) {
+ .@total = questprogress(7411) + questprogress(7412) + questprogress(7413);
if (.@total == 3) {
hideoffnpc "Eclage Guard#tl01";
cutin "minuel01",4;
@@ -14926,6 +14932,7 @@ ecl_in01,32,52,5 script Traveler Fome#tl01 4_F_DOGTRAVELER,3,3,{
mes "I couldn't ask them straightforward questions related to that since I was afraid that it might hurt their pride.";
next;
setquest 7424;
+ .@totaltemp = questprogress(7423) + questprogress(7424) + questprogress(7425) + questprogress(7426);
if (.@totaltemp == 4) {
mes "As far as you know, the perception of Kardui among Laphines is somewhat favorable on the outside.";
mes "But in reality, the majority of Laphines feel uneasy, distrustful, and doubtful about him.";
@@ -14981,7 +14988,6 @@ ecl_in01,32,51,7 script Traveler Litrip#tl02 4_M_DOGTRAVELER,{
mes "It's very impressive that you're able to come this far...";
close;
}
- .@total = questprogress(7411) + questprogress(7412) + questprogress(7413);
if (ep14_2_mylord < 2 || (ep14_2_mylord == 2 && questprogress(7412) != 1)) {
mes "[Litrip]";
mes "Oh, look at this strange traveler. ";
@@ -15041,6 +15047,7 @@ ecl_in01,32,51,7 script Traveler Litrip#tl02 4_M_DOGTRAVELER,{
}
else if (ep14_2_mylord == 2) {
if (questprogress(7412) == 1) {
+ .@total = questprogress(7411) + questprogress(7412) + questprogress(7413);
if (.@total == 3) {
hideoffnpc "Eclage Guard#tl01";
cutin "minuel01",4;
@@ -15149,7 +15156,6 @@ ecl_in01,35,51,3 script Traveler Chiba#tl03 4_M_DOGTRAVELER2,{
mes "But you...Hmm...I don't think you're skilled enough to travel around this area.";
close;
}
- .@total = questprogress(7411) + questprogress(7412) + questprogress(7413);
if (ep14_2_mylord < 2 || (ep14_2_mylord==2 && questprogress(7413)!=1)) {
mes "[Chiba]";
mes "You're a human from Midgard.";
@@ -15230,6 +15236,7 @@ ecl_in01,35,51,3 script Traveler Chiba#tl03 4_M_DOGTRAVELER2,{
}
else if (ep14_2_mylord == 2) {
if (questprogress(7413) == 1) {
+ .@total = questprogress(7411) + questprogress(7412) + questprogress(7413);
if (.@total == 3) {
hideoffnpc "Eclage Guard#tl01";
cutin "minuel01",4;
@@ -15465,7 +15472,7 @@ ecl_in01,82,70,3 script Eclage Guard#tl02 4_M_FAIRYSOLDIER,{
}
}
else if (ep14_2_mylord == 7) {
- .@alltotal = questprogress(7418) + questprogress(7419) + questprogress(7420);
+ .@alltotal = questprogress(7418) + questprogress(7419) + questprogress(7420);
if (questprogress(7418) == 0) {
mes "[Eclage Guard]";
mes "Eh, good to see you again.";
@@ -17562,7 +17569,7 @@ eclage,112,40,3 script Eclage Guard Leo#tl 4_M_FAIRYSOLDIER2,{
mes "- You have too many items to proceed with the quest. -";
close;
}
- .@alltotal = questprogress(7420) + questprogress(7419) + questprogress(7418);
+ .@alltotal = questprogress(7420) + questprogress(7419) + questprogress(7418);
if (ep14_2_mylord < 7) {
mes "[Leo]";
mes "Welcome to Eclage, the capital of Laphines and a gateway to Alpheim.";
diff --git a/npc/re/scripts.conf b/npc/re/scripts.conf
index 2f980265e..518cfdc94 100644
--- a/npc/re/scripts.conf
+++ b/npc/re/scripts.conf
@@ -88,6 +88,7 @@ npc: npc/re/merchants/renters.txt
npc: npc/re/merchants/shops.txt
//npc: npc/re/merchants/ticket_refiner.txt
//npc: npc/re/merchants/enchan_upg.txt
+npc: npc/re/merchants/ninja_craftsman.txt
// --------------------------- Others ---------------------------
npc: npc/re/other/bulletin_boards.txt
diff --git a/npc/scripts.conf b/npc/scripts.conf
index d81d76ed7..b8f427ca1 100644
--- a/npc/scripts.conf
+++ b/npc/scripts.conf
@@ -215,6 +215,7 @@ npc: npc/quests/newgears/2004_headgears.txt
npc: npc/quests/newgears/2005_headgears.txt
npc: npc/quests/newgears/2006_headgears.txt
npc: npc/quests/newgears/2008_headgears.txt
+npc: npc/quests/newgears/2010_headgears.txt
// - Falicious Okolnir ------------------------------------------
// God Item Second Edition Quests
npc: npc/quests/okolnir.txt