- Fixed bugreport:6993, invalid item id in mercenary script. (other/mercenary_rent.txt)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17016 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
9deb0d03c9
commit
b69f0ad825
@ -3,11 +3,11 @@
|
||||
//===== By: ==================================================
|
||||
//= L0ne_W0lf
|
||||
//===== Current Version: =====================================
|
||||
//= 1.3
|
||||
//= 1.4
|
||||
//===== Compatible With: =====================================
|
||||
//= rAthena SVN
|
||||
//===== Description: =========================================
|
||||
//= [Aegis Conversion]
|
||||
//= [Official Conversion]
|
||||
//= Sells Lancer, Sword, and Archer mercenaries,
|
||||
//= along with related mercenary items.
|
||||
//===== Additional Comments: =================================
|
||||
@ -15,642 +15,201 @@
|
||||
//= 1.1 Optimization. [Zephyrus]
|
||||
//= 1.2 Removed redundent input. [L0ne_W0lf]
|
||||
//= 1.3 Duplicates now spawned from floating NPCs. [L0ne_W0lf]
|
||||
//= 1.4 Optimized and fixed wrong item id. [Joseph]
|
||||
//============================================================
|
||||
|
||||
prontera,41,337,5 script Mercenary Manager#Spear 105,{
|
||||
set .@faith_lancer, mercenary_get_faith(SPEAR_MERC_GUILD);
|
||||
- script Mercenary Manager#main -1,{
|
||||
setarray .@name$, "Spear", "Sword", "Bow";
|
||||
setarray .@faith$, "SPEAR_MERC_GUILD", "SWORD_MERC_GUILD", "ARCH_MERC_GUILD";
|
||||
setarray .@item, 12182, 12172, 12162;
|
||||
set .@faith_lancer, mercenary_get_faith(getd(.@faith$[.@type]));
|
||||
set .@npc$, strnpcinfo(2);
|
||||
for (set .@size, getarraysize(.@name$); .@i < .@size; set .@i, .@i + 1)
|
||||
if (.@npc$ == .@name$[.@i]) set .@type, .@i;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Welcome to the";
|
||||
mes "Spear Mercenary Guild.";
|
||||
mes .@npc$ + " Mercenary Guild.";
|
||||
mes "What can I do for you?";
|
||||
next;
|
||||
switch( select("Hire Mercenary:Mercenary Info:Nothing:10th Grade Mercenaries") )
|
||||
{
|
||||
case 1:
|
||||
mes "[Mercenary Manager]";
|
||||
mes "You want to hire a";
|
||||
mes "Spear Mercenary?";
|
||||
mes "Which Grade were you";
|
||||
mes "interested in hiring?";
|
||||
next;
|
||||
set .@Grade, select("1st Grade Spear Mercenary:2nd Grade Spear Mercenary:3rd Grade Spear Mercenary:4th Grade Spear Mercenary:5th Grade Spear Mercenary:6th Grade Spear Mercenary:7th Grade Spear Mercenary:8th Grade Spear Mercenary:9th Grade Spear Mercenary");
|
||||
set .@BaseLevel, 5 + (.@Grade * 10);
|
||||
if( .@BaseLevel > 90 )
|
||||
set .@BaseLevel, 90;
|
||||
|
||||
set .@ZenyCost, 7 * .@Grade;
|
||||
|
||||
if( .@Grade == 7 )
|
||||
set .@FaithCost, 50;
|
||||
else if( .@Grade == 8 )
|
||||
set .@FaithCost, 100;
|
||||
else if( .@Grade == 9 )
|
||||
set .@FaithCost, 300;
|
||||
else
|
||||
set .@FaithCost, 0;
|
||||
|
||||
mes "[Mercenary Manager]";
|
||||
if( .@Grade == 1 )
|
||||
mes "So you want to hire a 1st";
|
||||
else if( .@Grade == 2 )
|
||||
mes "So you want to hire a 2nd";
|
||||
else if( .@Grade == 3 )
|
||||
mes "So you want to hire a 3rd";
|
||||
else
|
||||
mes "So you want to hire a " + .@Grade + "th";
|
||||
|
||||
mes "Grade Spear Mercenary?";
|
||||
mes "You need to have attained";
|
||||
mes "Base Level " + .@BaseLevel + " or higher, and";
|
||||
mes "must pay the " + .@ZenyCost + ",000 zeny fee.";
|
||||
next;
|
||||
if( select("Yes:No") == 2 )
|
||||
{
|
||||
switch(select("Hire Mercenary:Mercenary Info:Nothing:10th Grade Mercenaries")) {
|
||||
case 1:
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Oh, really? Well, now";
|
||||
mes "might not be a good time";
|
||||
mes "for you to consider hiring";
|
||||
mes "a Mercenary, but please feel";
|
||||
mes "free to come back if your";
|
||||
mes "needs change. Thank you~";
|
||||
}
|
||||
else if( .@FaithCost && .@faith_lancer < .@FaithCost )
|
||||
{
|
||||
mes "You want to hire a";
|
||||
mes .@npc$ + " Mercenary?";
|
||||
mes "Which Grade were you";
|
||||
mes "interested in hiring?";
|
||||
next;
|
||||
setarray .@suffix$, "th","st","nd","rd";
|
||||
for (set .@i, 1; .@i <= 9; set .@i, .@i + 1)
|
||||
set .@menu$, .@menu$ + .@i + .@suffix$[((.@i <= 3)? .@i : 0)] + " Grade " + .@npc$ + " Mercenary:";
|
||||
set .@Grade, select(.@menu$);
|
||||
set .@BaseLevel, 5 + (.@Grade * 10);
|
||||
set .@BaseLevel, (.@val > 90)? 90 : .@BaseLevel;
|
||||
set .@ZenyCost, 7 * .@Grade;
|
||||
setarray .@FaithCost[7], 50,100,300;
|
||||
set .@FaithCost, .@FaithCost[.@Grade];
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Oh... Your Loyalty rating";
|
||||
mes "with the Spear Mercenary";
|
||||
mes "Guild isn't high enough to";
|
||||
mes "hire this Mercenary. Please";
|
||||
mes "come back after you earn";
|
||||
mes "" + .@FaithCost + " or more Loyalty with us.";
|
||||
}
|
||||
else if( BaseLevel < .@BaseLevel )
|
||||
{
|
||||
mes "So you want to hire a " + .@Grade + .@suffix$[((.@Grade <= 3)? .@i : 0)];
|
||||
mes "Grade " + .@npc$ + " Mercenary?";
|
||||
mes "You need to have attained";
|
||||
mes "Base Level " + .@BaseLevel + " or higher, and";
|
||||
mes "must pay the " + .@ZenyCost + ",000 zeny fee.";
|
||||
next;
|
||||
if(select("Yes:No") == 2) {
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Oh, really? Well, now";
|
||||
mes "might not be a good time";
|
||||
mes "for you to consider hiring";
|
||||
mes "a Mercenary, but please feel";
|
||||
mes "free to come back if your";
|
||||
mes "needs change. Thank you~";
|
||||
}
|
||||
else if(.@FaithCost && .@faith_lancer < .@FaithCost) {
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Oh... Your Loyalty rating";
|
||||
mes "with the " + .@npc$ + " Mercenary";
|
||||
mes "Guild isn't high enough to";
|
||||
mes "hire this Mercenary. Please";
|
||||
mes "come back after you earn";
|
||||
mes "" + .@FaithCost + " or more Loyalty with us.";
|
||||
}
|
||||
else if (BaseLevel < .@BaseLevel) {
|
||||
mes "[Mercenary Manager]";
|
||||
mes "I'm sorry, but your Base";
|
||||
mes "Level isn't high enough";
|
||||
mes "to hire this Mercenary.";
|
||||
mes "Please come back to me";
|
||||
mes "once you reach Base Level " + .@BaseLevel + ".";
|
||||
}
|
||||
else if (Zeny < .@ZenyCost * 1000) {
|
||||
mes "[Mercenary Manager]";
|
||||
mes "I'm sorry, but you";
|
||||
mes "don't have enough zeny";
|
||||
mes "to hire this Mercenary.";
|
||||
mes "The hiring fee is " + .@ZenyCost + ",000 zeny.";
|
||||
}
|
||||
else {
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Great! Our Mercenaries";
|
||||
mes "are sincere and devoted";
|
||||
mes "to protecting their clients.";
|
||||
mes "Summoned Mercenaries will";
|
||||
mes "offer their support to you for";
|
||||
mes "30 minutes. Take care now.";
|
||||
set Zeny, Zeny - (.@ZenyCost * 1000);
|
||||
getitem .@item[.@type] - 10 + .@Grade, 1;
|
||||
}
|
||||
close;
|
||||
case 2:
|
||||
mes "[Mercenary Manager]";
|
||||
mes "I'm sorry, but your Base";
|
||||
mes "Level isn't high enough";
|
||||
mes "to hire this Mercenary.";
|
||||
mes "Please come back to me";
|
||||
mes "once you reach Base Level " + .@BaseLevel + ".";
|
||||
}
|
||||
else if( Zeny < .@ZenyCost * 1000 )
|
||||
{
|
||||
mes "Mercenaries are soldiers";
|
||||
mes "that will fight at your side";
|
||||
mes "on the battlefield, but there";
|
||||
mes "are a few terms and conditions";
|
||||
mes "you must fulfill to hire them.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "I'm sorry, but you";
|
||||
mes "don't have enough zeny";
|
||||
mes "to hire this Mercenary.";
|
||||
mes "The hiring fee is " + .@ZenyCost + ",000 zeny.";
|
||||
}
|
||||
else
|
||||
{
|
||||
mes "You must fulfill a level";
|
||||
mes "requirement and pay a zeny";
|
||||
mes "fee to hire a Mercenary.";
|
||||
mes "Higher grade Mercenaries";
|
||||
mes "will also require that you";
|
||||
mes "build a Loyalty rating with us.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Great! Our Mercenaries";
|
||||
mes "are sincere and devoted";
|
||||
mes "to protecting their clients.";
|
||||
mes "Summoned Mercenaries will";
|
||||
mes "offer their support to you for";
|
||||
mes "30 minutes. Take care now.";
|
||||
set Zeny, Zeny - (.@ZenyCost * 1000);
|
||||
getitem 12172 + .@Grade, 1;
|
||||
}
|
||||
close;
|
||||
case 2:
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Mercenaries are soldiers";
|
||||
mes "that will fight at your side";
|
||||
mes "on the battlefield, but there";
|
||||
mes "are a few terms and conditions";
|
||||
mes "you must fulfill to hire them.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "You must fulfill a level";
|
||||
mes "requirement and pay a zeny";
|
||||
mes "fee to hire a Mercenary.";
|
||||
mes "Higher grade Mercenaries";
|
||||
mes "will also require that you";
|
||||
mes "build a Loyalty rating with us.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Mercenary contracts can't be";
|
||||
mes "transferred to other people,";
|
||||
mes "and we only allow a 5 Base Level difference between the Mercenary";
|
||||
mes "and client so you can't hire one much stronger than you.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Well, you can figure out the";
|
||||
mes "details when you actually form";
|
||||
mes "a contract with one of our";
|
||||
mes "Mercenaries, and receive";
|
||||
mes "the Summon Scroll that will";
|
||||
mes "call a Mercenary to your side.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "You can't give this scroll";
|
||||
mes "to anyone else, and the";
|
||||
mes "Mercenary will only remain";
|
||||
mes "with you for 30 minutes after";
|
||||
mes "you summon him. Don't forget";
|
||||
mes "about the time limit, okay?";
|
||||
close;
|
||||
case 3:
|
||||
mes "[Mercenary Manager]";
|
||||
mes "No? You didn't need any";
|
||||
mes "help? Well, feel free to";
|
||||
mes "ask me if you have any";
|
||||
mes "questions about Mercenaries.";
|
||||
close;
|
||||
case 4:
|
||||
mes "[Mercenary Manager]";
|
||||
mes "10th Grade Mercenaries are";
|
||||
mes "the best we have to offer,";
|
||||
mes "and we use different criteria";
|
||||
mes "for our clients to hire them.";
|
||||
mes "There's no zeny fee, but you";
|
||||
mes "must have 500 Loyalty.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Once you make a contract";
|
||||
mes "with a 10th Grade Mercenary,";
|
||||
mes "your Loyalty rating will be";
|
||||
mes "decreased by 400. In other";
|
||||
mes "words, you pay 400 Loyalty";
|
||||
mes "to hire a 10th Grade Mercenary.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "You must also be at";
|
||||
mes "Base Level 90 or higher to";
|
||||
mes "hire a 10th Grade Mercenary.";
|
||||
mes "Are you still interested in";
|
||||
mes "forming this contract?";
|
||||
next;
|
||||
if( select("Yes:No") == 2 )
|
||||
{
|
||||
mes "Mercenary contracts can't be";
|
||||
mes "transferred to other people,";
|
||||
mes "and we only allow a 5 Base Level difference between the Mercenary";
|
||||
mes "and client so you can't hire one much stronger than you.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "I understand... It takes";
|
||||
mes "hard work and sacrifice to";
|
||||
mes "even reach the point where";
|
||||
mes "you can hire a 10th Grade";
|
||||
mes "Mercenary. Have you considered";
|
||||
mes "hiring a lower grade Mercenary?";
|
||||
}
|
||||
else if( .@faith_lancer < 500 )
|
||||
{
|
||||
mes "Well, you can figure out the";
|
||||
mes "details when you actually form";
|
||||
mes "a contract with one of our";
|
||||
mes "Mercenaries, and receive";
|
||||
mes "the Summon Scroll that will";
|
||||
mes "call a Mercenary to your side.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "I'm sorry, but your";
|
||||
mes "Loyalty rating is too";
|
||||
mes "low to hire a 10th Grade";
|
||||
mes "Mercenary. You must have";
|
||||
mes "500 or more Loyalty to";
|
||||
mes "form a contract with one.";
|
||||
}
|
||||
else if( BaseLevel < 90 )
|
||||
{
|
||||
mes "You can't give this scroll";
|
||||
mes "to anyone else, and the";
|
||||
mes "Mercenary will only remain";
|
||||
mes "with you for 30 minutes after";
|
||||
mes "you summon him. Don't forget";
|
||||
mes "about the time limit, okay?";
|
||||
close;
|
||||
case 3:
|
||||
mes "[Mercenary Manager]";
|
||||
mes "I'm sorry, but you must";
|
||||
mes "be at Base Level 90 or";
|
||||
mes "higher to form a contract";
|
||||
mes "with a 10th Grade Mercenary.";
|
||||
}
|
||||
else
|
||||
{
|
||||
mes "No? You didn't need any";
|
||||
mes "help? Well, feel free to";
|
||||
mes "ask me if you have any";
|
||||
mes "questions about Mercenaries.";
|
||||
close;
|
||||
case 4:
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Congratulations! It looks";
|
||||
mes "like you're planning in taking";
|
||||
mes "on some very dangerous work";
|
||||
mes "since you're hiring a 10th";
|
||||
mes "Grade Mercenary. I wish you";
|
||||
mes "the best of luck with him.";
|
||||
|
||||
mercenary_set_faith SPEAR_MERC_GUILD,-400;
|
||||
getitem 12182,1;
|
||||
}
|
||||
close;
|
||||
}
|
||||
}
|
||||
|
||||
- script ::Mercenary_Manager_Sword -1,{
|
||||
set .@faith_sword, mercenary_get_faith(SWORD_MERC_GUILD);
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Welcome to the";
|
||||
mes "Sword Mercenary Guild.";
|
||||
mes "Did you have any questions?";
|
||||
next;
|
||||
switch( select("Hire Mercenary:Mercenary Info:Nothing:10th Grade Mercenaries") )
|
||||
{
|
||||
case 1:
|
||||
mes "[Mercenary Manager]";
|
||||
mes "You want to hire a";
|
||||
mes "Sword Mercenary?";
|
||||
mes "Which Grade were you";
|
||||
mes "interested in hiring?";
|
||||
next;
|
||||
set .@Grade, select("1st Grade Sword Mercenary:2nd Grade Sword Mercenary:3rd Grade Sword Mercenary:4th Grade Sword Mercenary:5th Grade Sword Mercenary:6th Grade Sword Mercenary:7th Grade Sword Mercenary:8th Grade Sword Mercenary:9th Grade Sword Mercenary");
|
||||
set .@BaseLevel, 5 + (.@Grade * 10);
|
||||
if( .@BaseLevel > 90 )
|
||||
set .@BaseLevel, 90;
|
||||
|
||||
set .@ZenyCost, 7 * .@Grade;
|
||||
|
||||
if( .@Grade == 7 )
|
||||
set .@FaithCost, 50;
|
||||
else if( .@Grade == 8 )
|
||||
set .@FaithCost, 100;
|
||||
else if( .@Grade == 9 )
|
||||
set .@FaithCost, 300;
|
||||
else
|
||||
set .@FaithCost, 0;
|
||||
|
||||
mes "[Mercenary Manager]";
|
||||
if( .@Grade == 1 )
|
||||
mes "So you want to hire a 1st";
|
||||
else if( .@Grade == 2 )
|
||||
mes "So you want to hire a 2nd";
|
||||
else if( .@Grade == 3 )
|
||||
mes "So you want to hire a 3rd";
|
||||
else
|
||||
mes "So you want to hire a " + .@Grade + "th";
|
||||
|
||||
mes "Grade Sword Mercenary?";
|
||||
mes "You need to have attained";
|
||||
mes "Base Level " + .@BaseLevel + " or higher, and";
|
||||
mes "must pay the " + .@ZenyCost + ",000 zeny fee.";
|
||||
next;
|
||||
if( select("Yes:No") == 2 )
|
||||
{
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Oh, really? Well, now";
|
||||
mes "might not be a good time";
|
||||
mes "for you to consider hiring";
|
||||
mes "a Mercenary, but please feel";
|
||||
mes "free to come back if your";
|
||||
mes "needs change. Thank you~";
|
||||
}
|
||||
else if( .@FaithCost && .@faith_sword < .@FaithCost )
|
||||
{
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Oh... Your Loyalty rating";
|
||||
mes "with the Sword Mercenary";
|
||||
mes "Guild isn't high enough to";
|
||||
mes "hire this Mercenary. Please";
|
||||
mes "come back after you earn";
|
||||
mes "" + .@FaithCost + " or more Loyalty with us.";
|
||||
}
|
||||
else if( BaseLevel < .@BaseLevel )
|
||||
{
|
||||
mes "[Mercenary Manager]";
|
||||
mes "I'm sorry, but your Base";
|
||||
mes "Level isn't high enough";
|
||||
mes "to hire this Mercenary.";
|
||||
mes "Please come back to me";
|
||||
mes "once you reach Base Level " + .@BaseLevel + ".";
|
||||
}
|
||||
else if( Zeny < .@ZenyCost * 1000 )
|
||||
{
|
||||
mes "[Mercenary Manager]";
|
||||
mes "I'm sorry, but you";
|
||||
mes "don't have enough zeny";
|
||||
mes "to hire this Mercenary.";
|
||||
mes "The hiring fee is " + .@ZenyCost + ",000 zeny.";
|
||||
}
|
||||
else
|
||||
{
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Great! Our Mercenaries";
|
||||
mes "are sincere and devoted";
|
||||
mes "to protecting their clients.";
|
||||
mes "Summoned Mercenaries will";
|
||||
mes "offer their support to you for";
|
||||
mes "30 minutes. Take care now.";
|
||||
set Zeny, Zeny - (.@ZenyCost * 1000);
|
||||
getitem 12162 + .@Grade, 1;
|
||||
}
|
||||
close;
|
||||
case 2:
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Mercenaries are soldiers";
|
||||
mes "that will fight at your side";
|
||||
mes "on the battlefield, but there";
|
||||
mes "are a few terms and conditions";
|
||||
mes "you must fulfill to hire them.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "You must fulfill a level";
|
||||
mes "requirement and pay a zeny";
|
||||
mes "fee to hire a Mercenary.";
|
||||
mes "Higher grade Mercenaries";
|
||||
mes "will also require that you";
|
||||
mes "build a Loyalty rating with us.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Mercenary contracts can't be";
|
||||
mes "transferred to other people,";
|
||||
mes "and we only allow a 5 Base Level difference between the Mercenary";
|
||||
mes "and client so you can't hire one much stronger than you.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Well, you can figure out the";
|
||||
mes "details when you actually form";
|
||||
mes "a contract with one of our";
|
||||
mes "Mercenaries, and receive";
|
||||
mes "the Summon Scroll that will";
|
||||
mes "call a Mercenary to your side.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "You can't give this scroll";
|
||||
mes "to anyone else, and the";
|
||||
mes "Mercenary will only remain";
|
||||
mes "with you for 30 minutes after";
|
||||
mes "you summon him. Don't forget";
|
||||
mes "about the time limit, okay?";
|
||||
close;
|
||||
case 3:
|
||||
mes "[Mercenary Manager]";
|
||||
mes "No? You didn't need any";
|
||||
mes "help? Well, feel free to";
|
||||
mes "ask me if you have any";
|
||||
mes "questions about Mercenaries.";
|
||||
close;
|
||||
case 4:
|
||||
mes "[Mercenary Manager]";
|
||||
mes "10th Grade Mercenaries are";
|
||||
mes "the best we have to offer,";
|
||||
mes "and we use different criteria";
|
||||
mes "for our clients to hire them.";
|
||||
mes "There's no zeny fee, but you";
|
||||
mes "must have 500 Loyalty.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Once you make a contract";
|
||||
mes "with a 10th Grade Mercenary,";
|
||||
mes "your Loyalty rating will be";
|
||||
mes "decreased by 400. In other";
|
||||
mes "words, you pay 400 Loyalty";
|
||||
mes "to hire a 10th Grade Mercenary.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "You must also be at";
|
||||
mes "Base Level 90 or higher to";
|
||||
mes "hire a 10th Grade Mercenary.";
|
||||
mes "Are you still interested in";
|
||||
mes "forming this contract?";
|
||||
next;
|
||||
if( select("Yes:No") == 2 )
|
||||
{
|
||||
mes "[Mercenary Manager]";
|
||||
mes "I understand... It takes";
|
||||
mes "hard work and sacrifice to";
|
||||
mes "even reach the point where";
|
||||
mes "you can hire a 10th Grade";
|
||||
mes "Mercenary. Have you considered";
|
||||
mes "hiring a lower grade Mercenary?";
|
||||
}
|
||||
else if( .@faith_sword < 500 )
|
||||
{
|
||||
mes "[Mercenary Manager]";
|
||||
mes "I'm sorry, but your";
|
||||
mes "Loyalty rating is too";
|
||||
mes "low to hire a 10th Grade";
|
||||
mes "Mercenary. You must have";
|
||||
mes "500 or more Loyalty to";
|
||||
mes "form a contract with one.";
|
||||
}
|
||||
else if( BaseLevel < 90 )
|
||||
{
|
||||
mes "[Mercenary Manager]";
|
||||
mes "I'm sorry, but you must";
|
||||
mes "be at Base Level 90 or";
|
||||
mes "higher to form a contract";
|
||||
mes "with a 10th Grade Mercenary.";
|
||||
}
|
||||
else
|
||||
{
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Congratulations! It looks";
|
||||
mes "like you're planning in taking";
|
||||
mes "on some very dangerous work";
|
||||
mes "since you're hiring a 10th";
|
||||
mes "Grade Mercenary. I wish you";
|
||||
mes "the best of luck with him.";
|
||||
|
||||
mercenary_set_faith SWORD_MERC_GUILD,-400;
|
||||
getitem 12172,1;
|
||||
}
|
||||
close;
|
||||
}
|
||||
}
|
||||
|
||||
pay_arche,99,167,4 script Mercenary Manager#Bow 732,{
|
||||
set .@faith_archer, mercenary_get_faith(ARCH_MERC_GUILD);
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Welcome to the";
|
||||
mes "Bow Mercenary Guild.";
|
||||
mes "How can I be of service?";
|
||||
next;
|
||||
switch( select("Hire Mercenary:Mercenary Info:Nothing:10th Grade Mercenaries") )
|
||||
{
|
||||
case 1:
|
||||
mes "[Mercenary Manager]";
|
||||
mes "You want to hire";
|
||||
mes "a Bow Mercenary?";
|
||||
mes "Which Grade were you";
|
||||
mes "interested in hiring?";
|
||||
next;
|
||||
|
||||
set .@Grade, select("1st Grade Bow Mercenary:2nd Grade Bow Mercenary:3rd Grade Bow Mercenary:4th Grade Bow Mercenary:5th Grade Bow Mercenary:6th Grade Bow Mercenary:7th Grade Bow Mercenary:8th Grade Bow Mercenary:9th Grade Bow Mercenary");
|
||||
set .@BaseLevel, 5 + (.@Grade * 10);
|
||||
if( .@BaseLevel > 90 )
|
||||
set .@BaseLevel, 90;
|
||||
|
||||
set .@ZenyCost, 7 * .@Grade;
|
||||
|
||||
if( .@Grade == 7 )
|
||||
set .@FaithCost, 50;
|
||||
else if( .@Grade == 8 )
|
||||
set .@FaithCost, 100;
|
||||
else if( .@Grade == 9 )
|
||||
set .@FaithCost, 300;
|
||||
else
|
||||
set .@FaithCost, 0;
|
||||
|
||||
mes "[Mercenary Manager]";
|
||||
if( .@Grade == 1 )
|
||||
mes "So you want to hire a 1st";
|
||||
else if( .@Grade == 2 )
|
||||
mes "So you want to hire a 2nd";
|
||||
else if( .@Grade == 3 )
|
||||
mes "So you want to hire a 3rd";
|
||||
else
|
||||
mes "So you want to hire a " + .@Grade + "th";
|
||||
|
||||
mes "Grade Bow Mercenary?";
|
||||
|
||||
mes "You need to have attained";
|
||||
mes "Base Level " + .@BaseLevel + " or higher, and";
|
||||
mes "must pay the " + .@ZenyCost + ",000 zeny fee.";
|
||||
next;
|
||||
if( select("Yes:No") == 2 )
|
||||
{
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Oh, really? Well, now";
|
||||
mes "might not be a good time";
|
||||
mes "for you to consider hiring";
|
||||
mes "a Mercenary, but please feel";
|
||||
mes "free to come back if your";
|
||||
mes "needs change. Thank you~";
|
||||
}
|
||||
else if( .@FaithCost && .@faith_archer < .@FaithCost )
|
||||
{
|
||||
mes "[Mercenary Manager]";
|
||||
mes "I'm sorry, but your";
|
||||
mes "Loyalty rating is too";
|
||||
mes "low to hire this Bow";
|
||||
mes "Mercenary. Come back";
|
||||
mes "again when you have";
|
||||
mes "" + .@FaithCost + " or more Loyalty.";
|
||||
}
|
||||
else if( BaseLevel < .@BaseLevel )
|
||||
{
|
||||
mes "[Mercenary Manager]";
|
||||
mes "I'm sorry, but your Base";
|
||||
mes "Level isn't high enough";
|
||||
mes "to hire this Mercenary.";
|
||||
mes "Please come back to me";
|
||||
mes "once you reach Base Level " + .@BaseLevel + ".";
|
||||
}
|
||||
else if( Zeny < .@ZenyCost * 1000 )
|
||||
{
|
||||
mes "[Mercenary Manager]";
|
||||
mes "I'm sorry, but you";
|
||||
mes "don't have enough zeny";
|
||||
mes "to hire this Mercenary.";
|
||||
mes "The hiring fee is " + .@ZenyCost + ",000 zeny.";
|
||||
}
|
||||
else
|
||||
{
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Great! Our Mercenaries";
|
||||
mes "are sincere and devoted";
|
||||
mes "to protecting their clients.";
|
||||
mes "Summoned Mercenaries will";
|
||||
mes "offer their support to you for";
|
||||
mes "30 minutes. Take care now.";
|
||||
set Zeny, Zeny - (.@ZenyCost * 1000);
|
||||
getitem 12152 + .@Grade, 1;
|
||||
}
|
||||
close;
|
||||
case 2:
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Mercenaries are soldiers";
|
||||
mes "that will fight at your side";
|
||||
mes "on the battlefield, but there";
|
||||
mes "are a few terms and conditions";
|
||||
mes "you must fulfill to hire them.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "You must fulfill a level";
|
||||
mes "requirement and pay a zeny";
|
||||
mes "fee to hire a Mercenary.";
|
||||
mes "Higher grade Mercenaries";
|
||||
mes "will also require that you";
|
||||
mes "build a Loyalty rating with us.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Mercenary contracts can't be";
|
||||
mes "transferred to other people,";
|
||||
mes "and we only allow a 5 Base Level difference between the Mercenary";
|
||||
mes "and client so you can't hire one much stronger than you.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Well, you can figure out the";
|
||||
mes "details when you actually form";
|
||||
mes "a contract with one of our";
|
||||
mes "Mercenaries, and receive";
|
||||
mes "the Summon Scroll that will";
|
||||
mes "call a Mercenary to your side.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "You can't give this scroll";
|
||||
mes "to anyone else, and the";
|
||||
mes "Mercenary will only remain";
|
||||
mes "with you for 30 minutes after";
|
||||
mes "you summon him. Don't forget";
|
||||
mes "about the time limit, okay?";
|
||||
close;
|
||||
case 3:
|
||||
mes "[Mercenary Manager]";
|
||||
mes "No? You didn't need any";
|
||||
mes "help? Well, feel free to";
|
||||
mes "ask me if you have any";
|
||||
mes "questions about Mercenaries.";
|
||||
close;
|
||||
case 4:
|
||||
mes "[Mercenary Manager]";
|
||||
mes "10th Grade Mercenaries are";
|
||||
mes "the best we have to offer,";
|
||||
mes "and we use different criteria";
|
||||
mes "for our clients to hire them.";
|
||||
mes "There's no zeny fee, but you";
|
||||
mes "must have 500 Loyalty.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Once you make a contract";
|
||||
mes "with a 10th Grade Mercenary,";
|
||||
mes "your Loyalty rating will be";
|
||||
mes "decreased by 400. In other";
|
||||
mes "words, you pay 400 Loyalty";
|
||||
mes "to hire a 10th Grade Mercenary.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "You must also be at";
|
||||
mes "Base Level 90 or higher to";
|
||||
mes "hire a 10th Grade Mercenary.";
|
||||
mes "Are you still interested in";
|
||||
mes "forming this contract?";
|
||||
next;
|
||||
if( select("Yes:No") == 2 )
|
||||
{
|
||||
mes "[Mercenary Manager]";
|
||||
mes "I understand... It takes";
|
||||
mes "hard work and sacrifice to";
|
||||
mes "even reach the point where";
|
||||
mes "you can hire a 10th Grade";
|
||||
mes "Mercenary. Have you considered";
|
||||
mes "hiring a lower grade Mercenary?";
|
||||
}
|
||||
else if( .@faith_archer < 500 )
|
||||
{
|
||||
mes "[Mercenary Manager]";
|
||||
mes "I'm sorry, but your";
|
||||
mes "Loyalty rating is too";
|
||||
mes "low to hire a 10th Grade";
|
||||
mes "Mercenary. You must have";
|
||||
mes "500 or more Loyalty to";
|
||||
mes "form a contract with one.";
|
||||
}
|
||||
else if( BaseLevel < 90 )
|
||||
{
|
||||
mes "[Mercenary Manager]";
|
||||
mes "I'm sorry, but you must";
|
||||
mes "be at Base Level 90 or";
|
||||
mes "higher to form a contract";
|
||||
mes "with a 10th Grade Mercenary.";
|
||||
}
|
||||
else
|
||||
{
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Congratulations! It looks";
|
||||
mes "like you're planning in taking";
|
||||
mes "on some very dangerous work";
|
||||
mes "since you're hiring a 10th";
|
||||
mes "Grade Mercenary. I wish you";
|
||||
mes "the best of luck with him.";
|
||||
|
||||
mercenary_set_faith ARCH_MERC_GUILD,-400;
|
||||
getitem 12162,1;
|
||||
}
|
||||
close;
|
||||
mes "10th Grade Mercenaries are";
|
||||
mes "the best we have to offer,";
|
||||
mes "and we use different criteria";
|
||||
mes "for our clients to hire them.";
|
||||
mes "There's no zeny fee, but you";
|
||||
mes "must have 500 Loyalty.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Once you make a contract";
|
||||
mes "with a 10th Grade Mercenary,";
|
||||
mes "your Loyalty rating will be";
|
||||
mes "decreased by 400. In other";
|
||||
mes "words, you pay 400 Loyalty";
|
||||
mes "to hire a 10th Grade Mercenary.";
|
||||
next;
|
||||
mes "[Mercenary Manager]";
|
||||
mes "You must also be at";
|
||||
mes "Base Level 90 or higher to";
|
||||
mes "hire a 10th Grade Mercenary.";
|
||||
mes "Are you still interested in";
|
||||
mes "forming this contract?";
|
||||
next;
|
||||
if (select("Yes:No") == 2) {
|
||||
mes "[Mercenary Manager]";
|
||||
mes "I understand... It takes";
|
||||
mes "hard work and sacrifice to";
|
||||
mes "even reach the point where";
|
||||
mes "you can hire a 10th Grade";
|
||||
mes "Mercenary. Have you considered";
|
||||
mes "hiring a lower grade Mercenary?";
|
||||
}
|
||||
else if (.@faith_lancer < 500) {
|
||||
mes "[Mercenary Manager]";
|
||||
mes "I'm sorry, but your";
|
||||
mes "Loyalty rating is too";
|
||||
mes "low to hire a 10th Grade";
|
||||
mes "Mercenary. You must have";
|
||||
mes "500 or more Loyalty to";
|
||||
mes "form a contract with one.";
|
||||
}
|
||||
else if (BaseLevel < 90) {
|
||||
mes "[Mercenary Manager]";
|
||||
mes "I'm sorry, but you must";
|
||||
mes "be at Base Level 90 or";
|
||||
mes "higher to form a contract";
|
||||
mes "with a 10th Grade Mercenary.";
|
||||
}
|
||||
else {
|
||||
mes "[Mercenary Manager]";
|
||||
mes "Congratulations! It looks";
|
||||
mes "like you're planning in taking";
|
||||
mes "on some very dangerous work";
|
||||
mes "since you're hiring a 10th";
|
||||
mes "Grade Mercenary. I wish you";
|
||||
mes "the best of luck with him.";
|
||||
mercenary_set_faith getd(.@faith$[.@type]),-400;
|
||||
getitem .@item[.@type],1;
|
||||
}
|
||||
close;
|
||||
}
|
||||
}
|
||||
prontera,41,337,5 duplicate(Mercenary Manager#main) Mercenary Manager#Spear 105
|
||||
pay_arche,99,167,4 duplicate(Mercenary Manager#main) Mercenary Manager#Bow 732
|
||||
|
||||
// Mercenary Merchant NPCs
|
||||
//============================================================
|
||||
@ -662,72 +221,38 @@ pay_arche,99,167,4 script Mercenary Manager#Bow 732,{
|
||||
mes "in particular that";
|
||||
mes "you're looking for?";
|
||||
next;
|
||||
switch(select("Mercenary Red Potion:Mercenary Blue Potion:Mercenary Concentration Potion:Mercenary Awakening Potion:Mercenary Berserk Potion")) {
|
||||
case 1:
|
||||
mes "[Mercenary Goods Merchant]";
|
||||
mes "Mercenary Red Potions";
|
||||
mes "each cost 1,750 zeny.";
|
||||
mes "How many would you like?";
|
||||
next;
|
||||
callfunc "F_PurchaseMercItem",12184,1750;
|
||||
case 2:
|
||||
mes "[Mercenary Goods Merchant]";
|
||||
mes "Mercenary Blue Potions";
|
||||
mes "each cost 3,500 zeny.";
|
||||
mes "How many would you like?";
|
||||
next;
|
||||
callfunc "F_PurchaseMercItem",12185,3000;
|
||||
case 3:
|
||||
mes "[Mercenary Goods Merchant]";
|
||||
mes "Mercenary Concentration";
|
||||
mes "Potions each cost 560 zeny.";
|
||||
mes "How many would you like?";
|
||||
next;
|
||||
callfunc "F_PurchaseMercItem",12241,560;
|
||||
case 4:
|
||||
mes "[Mercenary Goods Merchant]";
|
||||
mes "Mercenary Awakening";
|
||||
mes "Potions each cost 1,050 zeny.";
|
||||
mes "How many would you like?";
|
||||
next;
|
||||
callfunc "F_PurchaseMercItem",12242,1050;
|
||||
case 5:
|
||||
mes "[Mercenary Goods Merchant]";
|
||||
mes "Mercenary Beserk Potions";
|
||||
mes "each cost 2,100 zeny.";
|
||||
mes "How many would you like?";
|
||||
next;
|
||||
callfunc "F_PurchaseMercItem",12243,2100;
|
||||
}
|
||||
close;
|
||||
}
|
||||
|
||||
prontera,30,337,4 duplicate(MercMerchant) Mercenary Merchant#Spear 700
|
||||
pay_arche,102,167,5 duplicate(MercMerchant) Mercenary Merchant#Bow 879
|
||||
|
||||
// Function for selling items.
|
||||
//============================================================
|
||||
function script F_PurchaseMercItem {
|
||||
setarray .@item, 12184, 12185, 12241, 12242, 12243;
|
||||
setarray .@cost, 1750, 3000, 560, 1050, 2100;
|
||||
for (set .@size, getarraysize(.@item); .@i < .@size; set .@i, .@i + 1)
|
||||
set .@menu$, .@menu$ + getitemname(.@item[.@i]) + ":";
|
||||
set .@m, select(.@menu$)-1;
|
||||
set .@str$, .@cost[.@m] + "";
|
||||
set .@len, getstrlen(.@str$);
|
||||
set .@str_cost$, (.@len <= 3)? .@str$ : insertchar(.@str$,",",.@len-3);
|
||||
mes "[Mercenary Goods Merchant]";
|
||||
mes getitemname(.@item[.@m]);
|
||||
mes "each cost " + .@str_cost$ + " zeny.";
|
||||
mes "How many would you like?";
|
||||
next;
|
||||
input .@input;
|
||||
if( .@input == 0 )
|
||||
{
|
||||
if (!.@input) {
|
||||
mes "[Mercenary Goods Merchant]";
|
||||
mes "You changed your mind?";
|
||||
mes "Alright, feel free to come";
|
||||
mes "back to me whenever you want";
|
||||
mes "to buy any Mercenary Potions.";
|
||||
close;
|
||||
}
|
||||
else if( .@input < 0 || .@input > 10000 )
|
||||
{
|
||||
else if (.@input < 0 || .@input > 10000) {
|
||||
mes "[Mercenary Goods Merchant]";
|
||||
mes "I'm sorry, but you";
|
||||
mes "can only buy up to";
|
||||
mes "10,000 of these potions";
|
||||
mes "at a time. Please enter";
|
||||
mes "a number from 1 to 10,000.";
|
||||
close;
|
||||
}
|
||||
else if( set(.@total_po, .@input * getarg(1)) > Zeny )
|
||||
{
|
||||
else if (set(.@total_po, .@input * .@cost[.@m]) > Zeny) {
|
||||
mes "[Mercenary Goods Merchant]";
|
||||
mes "I'm sorry, but you don't";
|
||||
mes "have enough zeny for this";
|
||||
@ -735,9 +260,9 @@ function script F_PurchaseMercItem {
|
||||
mes "be here when you're ready";
|
||||
mes "to purchase something";
|
||||
mes "for your Mercenaries.";
|
||||
close;
|
||||
}
|
||||
else if( checkweight(getarg(0), .@input) == 0 )
|
||||
{
|
||||
else if (!checkweight(.@item[.@m], .@input)) {
|
||||
mes "[Mercenary Goods Merchant]";
|
||||
mes "If I gave you that many";
|
||||
mes "potions, you wouldn't be";
|
||||
@ -745,41 +270,21 @@ function script F_PurchaseMercItem {
|
||||
mes "Please come back after";
|
||||
mes "you free up some space";
|
||||
mes "in your Inventory.";
|
||||
close;
|
||||
}
|
||||
else
|
||||
{
|
||||
mes "[Mercenary Goods Merchant]";
|
||||
if( .@input == 1 )
|
||||
{
|
||||
mes "Here's your Mercenary";
|
||||
switch( getarg(0) )
|
||||
{
|
||||
case 12148: mes "Red Potion. Thank you, and"; break;
|
||||
case 12149: mes "Blue Potion. Thank you, and"; break;
|
||||
case 12241: mes "Concentration Potion."; break;
|
||||
case 12242: mes "Awakening Potion."; break;
|
||||
case 12243: mes "Berserk Potion. Thank"; break;
|
||||
}
|
||||
mes "please come again when";
|
||||
mes "you need more potions";
|
||||
mes "for your Mercenaries.";
|
||||
}
|
||||
else
|
||||
{
|
||||
mes "Here you are, this is exactly";
|
||||
switch( getarg(0) )
|
||||
{
|
||||
case 12148: mes "" + .@input + " Mercenary Red Potions."; mes "Thank you, and please come"; break;
|
||||
case 12149: mes "" + .@input + " Mercenary Blue Potions."; mes "Thank you, and please come"; break;
|
||||
case 12241: mes "" + .@input + " Mercenary Concentration"; mes "Potions. Thank you, and please"; break;
|
||||
case 12242: mes "" + .@input + " Mercenary Awakening"; mes "Potions. Thank you, and please"; break;
|
||||
case 12243: mes "" + .@input + " Mercenary Berserk Potions."; mes "Thank you, and please come"; break;
|
||||
}
|
||||
mes "again when you need more";
|
||||
mes "potions for your Mercenaries.";
|
||||
}
|
||||
set Zeny, Zeny - .@total_po;
|
||||
getitem getarg(0), .@input;
|
||||
mes "[Mercenary Goods Merchant]";
|
||||
if (.@input == 1)
|
||||
mes "Here's your " + getitemname(.@item[.@m]) + ".";
|
||||
else {
|
||||
mes "Here you are, this is exactly";
|
||||
mes .@input + " " + getitemname(.@item[.@m]) + "s.";
|
||||
}
|
||||
mes "Thank you, and please come";
|
||||
mes "again when you need more";
|
||||
mes "potions for your Mercenaries.";
|
||||
set Zeny, Zeny - .@total_po;
|
||||
getitem .@item[.@m], .@input;
|
||||
close;
|
||||
}
|
||||
prontera,30,337,4 duplicate(MercMerchant) Mercenary Merchant#Spear 700
|
||||
pay_arche,102,167,5 duplicate(MercMerchant) Mercenary Merchant#Bow 879
|
||||
|
@ -13,5 +13,5 @@
|
||||
//= 1.0 First version. [Daegaladh]
|
||||
//============================================================
|
||||
|
||||
izlude,47,139,5 duplicate(Mercenary_Manager_Sword) Mercenary Manager#Sword 734
|
||||
izlude,47,139,5 duplicate(Mercenary Manager#main) Mercenary Manager#Sword 734
|
||||
izlude,56,139,4 duplicate(MercMerchant) Mercenary Merchant#Sword 892
|
||||
|
@ -13,5 +13,5 @@
|
||||
//= 1.0 First version. [L0ne_W0lf]
|
||||
//============================================================
|
||||
|
||||
izlude,47,169,5 duplicate(Mercenary_Manager_Sword) Mercenary Manager#Sword 734
|
||||
izlude,47,169,5 duplicate(Mercenary Manager#main) Mercenary Manager#Sword 734
|
||||
izlude,56,169,4 duplicate(MercMerchant) Mercenary Merchant#Sword 892
|
||||
|
Loading…
x
Reference in New Issue
Block a user