From e6bd3625c667184e0bce9c80540e3dbe85c886f5 Mon Sep 17 00:00:00 2001 From: Euphy Date: Wed, 22 Jan 2014 12:25:07 -0500 Subject: [PATCH] Implemented Kagerou/Oboro Equipment Quests. Signed-off-by: Euphy --- npc/quests/ninja_quests.txt | 4 +- npc/re/quests/eden/eden_iro.txt | 15 +- npc/re/quests/ninja_quests.txt | 416 ++++++++++++++++++++++++++++++++ npc/re/scripts_athena.conf | 1 + 4 files changed, 433 insertions(+), 3 deletions(-) create mode 100644 npc/re/quests/ninja_quests.txt diff --git a/npc/quests/ninja_quests.txt b/npc/quests/ninja_quests.txt index cef991adbf..f276de6c39 100644 --- a/npc/quests/ninja_quests.txt +++ b/npc/quests/ninja_quests.txt @@ -1,5 +1,5 @@ //===== rAthena Script ======================================= -//= Ninja quests +//= Ninja Equipment Quests //===== By: ================================================== //= Playtester //===== Current Version: ===================================== @@ -7,7 +7,7 @@ //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= -//= Ninja quests +//= Quests for Ninja weapons and armor. //===== Additional Comments: ================================= //= 1.0 Ninja Arm Guards only yet [Playtester] //= 1.1 Added Kaibara [Playtester] diff --git a/npc/re/quests/eden/eden_iro.txt b/npc/re/quests/eden/eden_iro.txt index 231787276b..c176ff92af 100644 --- a/npc/re/quests/eden/eden_iro.txt +++ b/npc/re/quests/eden/eden_iro.txt @@ -471,7 +471,7 @@ moc_para01,50,39,4 script Eve Natalia 882,{ // Bubble Gum & Battle Manual Exchanger //============================================================ moc_para01,48,184,2 script Gum & Manual Exchanger 562,{ - if (Weight < MaxWeight / 2) { + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 2000) { mes "You're carrying too many items right now."; close; } @@ -563,6 +563,14 @@ L_Exchange: // Kafra Stacker //============================================================ moc_para01,41,169,2 script Kafra Stacker#eden 749,{ + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 2000) { + mes "- Wait a moment! -"; + mes "- Currently you'r carrying -"; + mes "- too much weight in items. -"; + mes "- Please come back later -"; + mes "- after you put some into Kafra storage. -"; + close; + } mes "[Toma]"; mes "I can take your non-stacking Kafra Consumables"; mes "and make them fit neatly into stacks!"; @@ -590,6 +598,11 @@ moc_para01,41,169,2 script Kafra Stacker#eden 749,{ // Code Redeemer //============================================================ moc_para01,38,162,2 script Code the Redeemer#Give1 405,{ + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 2000) { + mes "^0000ffHold it right there!"; + mes "You're carrying too many items and don't have enough inventory space to receive any rewards. Please make more inventory space available and come back to take this challenge.^000000"; + close; + } mes "[Code the Redeemer]"; mes "Welcome, "+strcharinfo(0)+"!"; mes "I've been expecting you."; diff --git a/npc/re/quests/ninja_quests.txt b/npc/re/quests/ninja_quests.txt new file mode 100644 index 0000000000..d1b49c5a6f --- /dev/null +++ b/npc/re/quests/ninja_quests.txt @@ -0,0 +1,416 @@ +//===== rAthena Script ======================================= +//= Kagerou/Oboro Equipment Quests +//===== By: ================================================== +//= Euphy +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena Project +//===== Description: ========================================= +//= [Official Conversion] +//= Quests for Kagerou/Oboro weapons and armor. +//===== Additional Comments: ================================= +//= 1.0 First version. [Euphy] +//============================================================ + +que_ng,21,72,6 script Master Armor Craftsman 934,{ + 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[1]:Crescent Armguard[1]:Ninja Scale Armor[1]:Tenebris Latitantes[1]:Quit.")) { + case 1: + mes "[Gyo]"; + mes "Wolf Armguard... One beastly piece of armor."; + next; + callsub L_Select,2172; + if (countitem(2171) > 0 && countitem(6252) > 9) { //custom translation + delitem 2171,1; //Fox_Armguard + delitem 6252,10; //Wolf_Blood + getitem 2172,1; //Wolf_Armguard + mes "[Gyo]"; + mes "Do you feel the nature of the wolf?"; + mes "Both wild and charming..."; + close; + } + break; + case 2: + mes "[Gyo]"; + mes "Crescent Armguard... A thing of beauty and strength... With none the lesser."; + next; + callsub L_Select,2173; + if (countitem(2171) > 0 && countitem(7321) > 99) { //custom translation + delitem 2171,1; //Fox_Armguard + delitem 7321,100; //Fragment_Of_Crystal + getitem 2173,1; //Crescent_Armguard + mes "[Gyo]"; + mes "Such beauty..."; + mes "As if the whole body is overflowing with magic."; + close; + } + break; + case 3: + mes "[Gyo]"; + mes "Ninja Scale Armor... It's said that a legendary Ninja once wore it."; + next; + callsub L_Select,15054; + if (countitem(7451) > 29 && countitem(7562) > 29 && countitem(6091) > 29) { //custom translation + delitem 7451,30; //Scale_Of_Red_Dragon + delitem 7562,30; //Ice_Scale + delitem 6091,30; //Dark_Red_Scale + getitem 15054,1; //Ninja_Scale_Armor + mes "[Gyo]"; + mes "This is truly a legendary armor..."; + mes "Even if I don't believe in legends..."; + close; + } + break; + case 4: + mes "[Gyo]"; + mes "Shadow King's Armor... It was made to protect others."; + next; + callsub L_Select,15055; + if (countitem(15056) > 0 && countitem(6089) > 9) { //custom translation + delitem 15056,1; //Special_Ninja_Suit_ + delitem 6089,10; //Piece_Of_Darkness + getitem 15055,1; //Tenebris_Latitantes + mes "[Gyo]"; + mes "How is it?"; + mes "Does the armor not appear as if there are two?"; + close; + } + break; + case 5: + close; + } + mes "[Gyo]"; + mes "You don't have enough ingredients."; + mes "Look again..."; + close; + +L_Select: + switch(select("Check Ingredients.:Check Stats.:Combine.:Quit.")) { + case 1: + callsub L_Ingredients, getarg(0); + switch(select("Check Stats.:Combine.:Quit.")) { + case 1: + callsub L_Stats, getarg(0); + switch(select("Combine.:Quit.")) { + case 1: + callsub L_Combine; + return; + case 2: + break; + } + break; + case 2: + callsub L_Combine; + return; + case 3: + break; + } + break; + case 2: + callsub L_Stats, getarg(0); + switch(select("Check Ingredients.:Combine.:Quit.")) { + case 1: + callsub L_Ingredients, getarg(0); + switch(select("Combine.:Quit.")) { + case 1: + callsub L_Combine; + return; + case 2: + break; + } + break; + case 2: + callsub L_Combine; + return; + case 3: + break; + } + break; + case 3: + callsub L_Combine; + return; + case 4: + break; + } + mes "[Gyo]"; + mes "Looks like you need more time to decide."; + close; + +L_Ingredients: + mes "[Gyo]"; + switch (getarg(0)) { + case 2172: //Wolf_Armguard + mes "To make a ^ff0000Wolf Armguard, you need 1 Fox Armguard and 10 Blood of Wolf^000000."; + mes "Can you feel it? The throbbing of the wolf blood..."; + break; + case 2173: //Crescent_Armguard + mes "To make a ^ff0000Crescent Armguard, you need 1 Fox Armguard and 100 Crystal Fragments^000000."; + mes "A crescent as beautiful and clear as a crystal will be engraved on it."; + break; + case 15054: //Ninja_Scale_Armor + mes "To make a ^ff0000Ninja Scale Armor, you need 30 Fire Dragon Scales, 30 Ice Scales, and 30 Darkred Scale Pieces^000000."; + mes "You can feel its legendary powers."; + break; + case 15055: //Tenebris_Latitantes + mes "To make a ^ff0000Shadow King's Armor, you'll need a Special Ninja Suit with a slot and 10 Dark Pieces^000000."; + mes "With the darkness it erases existence itself..."; + break; + } + next; + return; + +L_Stats: + mes "[" + getitemname(getarg(0)) + "]"; + switch (getarg(0)) { + case 2172: //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"; + break; + case 2173: //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"; + break; + case 15054: //Ninja_Scale_Armor + mes "MHP+15%, MSP-30%"; + mes "Armor Type, Defense 90, Slot 1"; + mes "Required Level 100, Ninja Type Only"; + break; + case 15055: //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; + } + next; + return; + +L_Combine: + mes "[Gyo]"; + mes "Make sure that ^ff0000you have the correct ingredients and equipment at hand^000000."; + mes "No use crying over it later."; + next; + switch(select("Combine.:Quit.")) { + case 1: + 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; + } + return; + case 2: + mes "[Gyo]"; + mes "Looks like you need more time to decide."; + close; + } + end; +} + +que_ng,23,70,3 script Master Weapon Craftsman 939,{ + mes "[Ki]"; + mes "To attack is the best means of defense."; + mes "A powerful weapon ill 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[1]:Mikatsuki[1]:Huuma Swirling Petal[2]:Quit.")) { + case 1: + mes "[Ki]"; + mes "Raksasa Dagger can only be used after plenty of training."; + next; + callsub L_Select,13076; + if (countitem(13013) > 0 && countitem(718) > 0) { //custom translation + delitem 13013,1; //Murasame_ + delitem 718,1; //Dark_Red_Jewel + getitem 13076,1; //Raksasa_Dagger + mes "[Ki]"; + mes "Ah..."; + mes "What a beautiful luster..."; + close; + } + mes "[Ki]"; + mes "Hmm... You do not have enough to make a Raksasa Dagger."; + break; + 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_Select,13078; + if (countitem(13015) > 0 && countitem(727) > 0) { //custom translation + delitem 13015,1; //Hakujin_ + delitem 727,1; //White_Jewel + getitem 13078,1; //Mikatsuki + mes "[Ki]"; + mes "Truly beautiful..."; + mes "I am so fortunate to be able to see such a magnificent dagger."; + close; + } + mes "[Ki]"; + mes "Hmm... You do not have enough to make a Mikatsuki."; + break; + case 3: + mes "[Ki]"; + mes "Huuma Swirling Petal... Have you ever seen petals swirl?"; + next; + callsub L_Select,13313; + if (countitem(13304) > 0 && countitem(7156) > 99) { //custom translation + delitem 13304,1; //Huuma_Calm_Mind + delitem 7156,100; //Broken_Shuriken + getitem 13313,1; //Huuma_Swirling_Petal + mes "[Ki]"; + mes "Flying... petals!!"; + close; + } + mes "[Ki]"; + mes "Hmm... You do not have enough to make a Huuma Swirling Petal."; + break; + case 4: + close; + } + mes "Why don't you check again?"; + mes "Some just can't give up what they hold."; + close; + +L_Select: + switch(select("Check Ingredients.:Check Stats.:Combine.:Quit.")) { + case 1: + callsub L_Ingredients, getarg(0); + switch(select("Check Stats.:Combine.:Quit.")) { + case 1: + callsub L_Stats, getarg(0); + switch(select("Combine.:Quit.")) { + case 1: + callsub L_Combine; + return; + case 2: + break; + } + break; + case 2: + callsub L_Combine; + return; + case 3: + break; + } + break; + case 2: + callsub L_Stats, getarg(0); + switch(select("Check Ingredients.:Combine.:Quit.")) { + case 1: + callsub L_Ingredients, getarg(0); + switch(select("Combine.:Quit.")) { + case 1: + callsub L_Combine; + return; + case 2: + break; + } + break; + case 2: + callsub L_Combine; + return; + case 3: + break; + } + break; + case 3: + callsub L_Combine; + return; + case 4: + break; + } + mes "[Ki]"; + mes "Think carefully~~"; + close; + +L_Ingredients: + mes "[Ki]"; + switch (getarg(0)) { + case 13076: //Raksasa_Dagger + mes "For a ^ff0000Raksasa Dagger, you need 1 Murasame with 2 sockets and 1 Garnet^000000."; + mes "The garnet gives the Raksasa Dagger its unique color."; + break; + case 13078: //Mikatsuki + mes "For a ^ff0000Mikatsuki, you need a Hakujin with a Slot and an Opal^000000."; + mes "The opal is what gives off the translucent glow."; + break; + case 13313: //Huuma_Swirling_Petal + mes "For a ^ff0000Huuma Swirling Petal, you need one Huuma Calm Mind Shuriken and 100 Broken Shurikens^000000."; + mes "It may seem like too many shurikens are needed... But it is essential for the beautiful fluttering effect."; + break; + } + next; + return; + +L_Stats: + mes "[" + getitemname(getarg(0)) + "]"; + switch (getarg(0)) { + case 13076: //Raksasa_Dagger + mes "INT+3 MATK+100."; + mes "Dagger Type, ATK 120, Slot 1"; + mes "Required Level 110, Ninja Type Only"; + break; + case 13078: //Mikatsuki + mes "MATK + 120, Flucuated Casting and SP use decreased by 5% upon skill use."; + mes "Dagger Type, ATK 50, Weapon Lvl. 4 Slot 1"; + mes "Required Level 100, Ninja Type Only"; + break; + case 13313: //Huuma_Swirling_Petal + mes "MATK + 50, Huuma Swirling Petal skill damage increased by 20%."; + mes "Shuriken Type, ATK 150"; + mes "Weapon Lvl. 3, Slot 2"; + mes "Required Level 110, Ninja Type Only"; + break; + } + next; + return; + +L_Combine: + mes "[Ki]"; + mes "Make sure that ^ff0000you have the correct ingredients and equipment at hand^000000."; + mes "Once done, it cannot be undone."; + next; + switch(select("Combine.:Quit.")) { + case 1: + 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; + } + return; + case 2: + mes "[Ki]"; + mes "Think carefully~~"; + close; + } + end; +} \ No newline at end of file diff --git a/npc/re/scripts_athena.conf b/npc/re/scripts_athena.conf index 8960a07d2a..5838d23729 100644 --- a/npc/re/scripts_athena.conf +++ b/npc/re/scripts_athena.conf @@ -121,6 +121,7 @@ npc: npc/re/quests/homun_s.txt npc: npc/re/quests/magic_books.txt npc: npc/re/quests/monstertamers.txt npc: npc/re/quests/mrsmile.txt +npc: npc/re/quests/ninja_quests.txt npc: npc/re/quests/pile_bunker.txt npc: npc/re/quests/quests_13_1.txt npc: npc/re/quests/quests_brasilis.txt