Implemented Kagerou/Oboro Equipment Quests.

Signed-off-by: Euphy <euphy.raliel@rathena.org>
This commit is contained in:
Euphy 2014-01-22 12:25:07 -05:00
parent 03be2a5f42
commit e6bd3625c6
4 changed files with 433 additions and 3 deletions

View File

@ -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]

View File

@ -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.";

View File

@ -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;
}

View File

@ -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