|
@@ -561,8 +561,9 @@ lhz_in02,282,20,7 script Fulerr 869,{
|
|
|
//============================================================
|
|
|
function script refinemain {
|
|
|
disable_items;
|
|
|
+ .@npc_name$ = getarg(0);
|
|
|
set .@features,getarg(1);
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "I'm the Armsmith.";
|
|
|
mes "I can refine all kinds of weapons, armor and equipment, so let me";
|
|
|
mes "know what you want me to refine.";
|
|
@@ -578,14 +579,14 @@ function script refinemain {
|
|
|
set .@menu$, .@menu$ + ":";
|
|
|
}
|
|
|
if (.@equipped == 0) {
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "I don't think I can refine any items you have...";
|
|
|
close;
|
|
|
}
|
|
|
set .@part, select(.@menu$);
|
|
|
|
|
|
if(!getequipisequiped(.@part)) { //custom check
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "You're not wearing";
|
|
|
mes "anything there that";
|
|
|
mes "I can refine.";
|
|
@@ -594,14 +595,14 @@ function script refinemain {
|
|
|
}
|
|
|
//Check if the item is refinable...
|
|
|
if(!getequipisenableref(.@part)) {
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "I don't think I can";
|
|
|
mes "refine this item at all...";
|
|
|
close;
|
|
|
}
|
|
|
//Check to see if the items is already +10
|
|
|
if(getequiprefinerycnt(.@part) >= 10) {
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "I can't refine this";
|
|
|
mes "any more. This is as";
|
|
|
mes "refined as it gets!";
|
|
@@ -655,21 +656,21 @@ function script refinemain {
|
|
|
}
|
|
|
|
|
|
if(.@features != 1) {
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "To refine this I need";
|
|
|
mes "one ^003366"+getitemname(.@material)+"^000000 and";
|
|
|
mes "a service fee of " + .@price + " Zeny.";
|
|
|
mes "Do you really wish to continue?";
|
|
|
next;
|
|
|
if(select("Yes:No") == 2){
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Yeah...";
|
|
|
mes "There's no need to";
|
|
|
mes "rush. Take your time.";
|
|
|
close;
|
|
|
}
|
|
|
if(getequippercentrefinery(.@part) < 100) {
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Oh no! If I continue to";
|
|
|
mes "refine this, there's a risk it could";
|
|
|
switch(.@material) {
|
|
@@ -691,14 +692,14 @@ function script refinemain {
|
|
|
mes "Do you still want to refine?";
|
|
|
next;
|
|
|
if(select("Yes:No") == 2){
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "I completely agree...";
|
|
|
mes "I might be a great refiner, but sometimes even I make mistakes.";
|
|
|
close;
|
|
|
}
|
|
|
}
|
|
|
if((countitem(.@material) < 1) || (Zeny < .@price)) {
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "You don't seem to have";
|
|
|
mes "enough Zeny or "+getitemname(.@material)+"...";
|
|
|
mes "Go get some more. I'll be";
|
|
@@ -711,7 +712,7 @@ function script refinemain {
|
|
|
// anti-hack
|
|
|
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) ||
|
|
|
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
emotion e_an;
|
|
|
mes "Wait a second...";
|
|
|
mes "Do you think I'm stupid?!";
|
|
@@ -721,7 +722,7 @@ function script refinemain {
|
|
|
|
|
|
if(getequippercentrefinery(.@part) <= rand(100)) {
|
|
|
failedrefitem .@part;
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
emotion (!rand(5))?e_cash:e_omg;
|
|
|
set .@lose,rand(1,3);
|
|
|
if (.@lose == 1) {
|
|
@@ -768,7 +769,7 @@ function script refinemain {
|
|
|
|
|
|
// New Refining Functions ========================
|
|
|
if(getequiprefinerycnt(.@part) < .@safe) {
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "I can refine this to the safe limit or a desired number of times. It's your choice.";
|
|
|
next;
|
|
|
set .@menu2,select("To the safe limit, please.","I'll decide how many times.","I've changed my mind...");
|
|
@@ -780,23 +781,23 @@ function script refinemain {
|
|
|
break;
|
|
|
case 2:
|
|
|
next;
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "How many times would you like me to refine your item?";
|
|
|
next;
|
|
|
input .@refinecnt;
|
|
|
set .@refinecheck,.@refinecnt + getequiprefinerycnt(.@part);
|
|
|
if (.@refinecnt < 1 || .@refinecheck > 10) {
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "I can't refine this item that many times.";
|
|
|
close;
|
|
|
}
|
|
|
if(.@refinecheck > .@safe) {
|
|
|
set .@refinecheck,.@refinecheck - .@safe;
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "This will try to refine the equipment " + .@refinecheck + " times past the safe limit. Your equipment may be destroyed... is that ok?";
|
|
|
next;
|
|
|
if(select("Yes...","No...") == 2){
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "You said so... So be it.";
|
|
|
close;
|
|
|
}
|
|
@@ -804,21 +805,21 @@ function script refinemain {
|
|
|
break;
|
|
|
case 3:
|
|
|
next;
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "You said so... So be it.";
|
|
|
close;
|
|
|
}
|
|
|
set .@fullprice,.@price * .@refinecnt;
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "That will cost you " + .@refinecnt + " " + getitemname(.@material) + " and " + .@fullprice + " Zeny. Is that ok?";
|
|
|
next;
|
|
|
if(select("Yes","No...") == 2){
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "You said so... So be it.";
|
|
|
close;
|
|
|
}
|
|
|
if(countitem(.@material) < .@refinecnt || Zeny < .@fullprice) {
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Is that all you got? Unfortunately I can't work for you at a lower price. Try putting yourself in my shoes.";
|
|
|
close;
|
|
|
}
|
|
@@ -826,12 +827,12 @@ function script refinemain {
|
|
|
delitem .@material,.@refinecnt;
|
|
|
while(.@refinecnt){
|
|
|
if (getequipisequiped(.@part) == 0) {
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Look here... you don't have any items on...";
|
|
|
close;
|
|
|
}
|
|
|
if (getequipid(.@part) != .@refineitemid || (.@menu2 == 1 && getequippercentrefinery(.@part) < 100)) {
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Clang... No, but did you imagine I could be so stupid?!";
|
|
|
mes "You changed it...";
|
|
|
mes "Get out before I stun you with my Hammer!!";
|
|
@@ -841,7 +842,7 @@ function script refinemain {
|
|
|
if(.@menu2 == 2 && getequippercentrefinery(.@part) <= rand(100)) {
|
|
|
failedrefitem .@part;
|
|
|
emotion e_omg;
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "WAHHHH!!! I'm so sorry... I warned you this could happen...";
|
|
|
set .@refinecnt,.@refinecnt - 1;
|
|
|
if(.@refinecnt == 0) close;
|
|
@@ -856,7 +857,7 @@ function script refinemain {
|
|
|
set .@refinecnt,.@refinecnt - 1;
|
|
|
next;
|
|
|
}
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "All finished... Come again soon.";
|
|
|
close;
|
|
|
}
|
|
@@ -903,7 +904,8 @@ function script phramain {
|
|
|
mes "- after you lose some weight. -";
|
|
|
close;
|
|
|
}
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ .@npc_name$ = getarg(0);
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "I sell 2 kinds of Metal";
|
|
|
mes "for tempering weaponry.";
|
|
|
mes "I have ^007777Phracon^000000 for Level 1";
|
|
@@ -920,26 +922,26 @@ function script phramain {
|
|
|
set .@price,1000;
|
|
|
break;
|
|
|
case 3:
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Other metals?";
|
|
|
mes "Well, you'll need special metals to upgrade higher level weapons, or any kind of armor. But you know, Oridecon and Elunium is really";
|
|
|
mes "hard to just find...";
|
|
|
close;
|
|
|
}
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "So how many do you wish to buy?";
|
|
|
mes "If you don't want any, please enter the number, '0.'";
|
|
|
next;
|
|
|
while(1) {
|
|
|
input .@input;
|
|
|
if (.@input == 0) {
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "The deal has";
|
|
|
mes "been cancelled.";
|
|
|
close;
|
|
|
}
|
|
|
else if (.@input < 0 || .@input > 500) {
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Alright, you can";
|
|
|
mes "puchase up to 500.";
|
|
|
mes "No more than that,";
|
|
@@ -952,7 +954,7 @@ function script phramain {
|
|
|
}
|
|
|
set .@sell,.@input * .@price;
|
|
|
if (Zeny < .@sell) {
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Err...";
|
|
|
mes "You don't have";
|
|
|
mes "enough Zeny to buy";
|
|
@@ -960,14 +962,14 @@ function script phramain {
|
|
|
close;
|
|
|
}
|
|
|
if (checkweight(.@material,.@input) == 0) {
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Hmm...";
|
|
|
mes "I can't give you anything if you don't have enough room in your inventory. Why don't you put your extra things in Kafra Storage and try again?";
|
|
|
close;
|
|
|
}
|
|
|
getitem .@material,.@input;
|
|
|
set Zeny, Zeny-.@sell;
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Here you are!";
|
|
|
mes "Thank you for";
|
|
|
mes "your patronage.";
|
|
@@ -1016,7 +1018,8 @@ function script orimain {
|
|
|
mes "- after you lose some weight. -";
|
|
|
close;
|
|
|
}
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ .@npc_name$ = getarg(0);
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "I can purify your";
|
|
|
mes "Rough Oridecons or";
|
|
|
mes "Rough Eluniums. I'll need";
|
|
@@ -1028,14 +1031,14 @@ function script orimain {
|
|
|
if (countitem(756) > 4) {
|
|
|
delitem 756,5; //Oridecon_Stone
|
|
|
getitem 984,1; // Oridecon
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Here's your Oridecon.";
|
|
|
mes "You're welcome to come";
|
|
|
mes "back whenever you want.";
|
|
|
close;
|
|
|
}
|
|
|
else {
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "You're kidding me, right?";
|
|
|
mes "I just told you that I need 5 Rough Oridecons to make a pure Oridecon.";
|
|
|
close;
|
|
@@ -1044,31 +1047,31 @@ function script orimain {
|
|
|
if (countitem(757) > 4) {
|
|
|
delitem 757,5; //Elunium_Stone
|
|
|
getitem 985,1; // Elunium
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Here's your Elunium.";
|
|
|
mes "You're welcome to come";
|
|
|
mes "back whenever you want.";
|
|
|
close;
|
|
|
}
|
|
|
else {
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "You're kidding me, right?";
|
|
|
mes "I just told you that I need 5 Rough Eluniums to make a pure Elunium.";
|
|
|
close;
|
|
|
}
|
|
|
case 3:
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Enchanted Stones...?";
|
|
|
mes "I've been a stonesmith for 20 years, so I've heard a lot about them. Supposedly, there are";
|
|
|
mes "four different kinds.";
|
|
|
next;
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Each Enchanted Stone possesses one of the following elemental properties: Earth, Wind, Water and Fire.";
|
|
|
next;
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "If someone combines a Enchanted Stone with a weapon while smithing, that weapon will possess the same property as the Stone.";
|
|
|
next;
|
|
|
- mes "[" + getarg(0) + "]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Needless to say, you need to have some smithing skill to produce this kind of elemental weapon.";
|
|
|
close;
|
|
|
}
|
|
@@ -1150,7 +1153,8 @@ sch_gld,340,80,7 script Repairman#sch_gld 86,{
|
|
|
//============================================================
|
|
|
function script repairmain {
|
|
|
set .@repairprice,5000;
|
|
|
- mes "["+getarg(0)+"]";
|
|
|
+ .@npc_name$ = getarg(0);
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Hey there!";
|
|
|
mes "Do you want me";
|
|
|
mes "to repair any items?";
|
|
@@ -1168,15 +1172,15 @@ function script repairmain {
|
|
|
}
|
|
|
set .@checkitem,.@checkitem-1;
|
|
|
if (!.@checkitem) {
|
|
|
- mes "["+getarg(0)+"]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Oh wow, this is incredible!";
|
|
|
mes "You must take very good care of your things. None of your items are damaged!";
|
|
|
next;
|
|
|
- mes "["+getarg(0)+"]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "If everyone is like you, I'm going to be unemployed!! Haha~!";
|
|
|
close;
|
|
|
}
|
|
|
- mes "["+getarg(0)+"]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Hmm...";
|
|
|
mes "Let's see...";
|
|
|
mes "Out of all your items,";
|
|
@@ -1184,13 +1188,13 @@ function script repairmain {
|
|
|
mes "Would you like to repair?";
|
|
|
next;
|
|
|
set .@totalcost,.@repairprice*.@checkitem;
|
|
|
- mes "["+getarg(0)+"]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Each repair costs " + .@repairprice + " Zeny. So to repair all your damaged items would cost " + .@totalcost + " Zeny! Would you like to repair the items?";
|
|
|
next;
|
|
|
switch(select("Yes:No")) {
|
|
|
case 1:
|
|
|
if (Zeny < .@totalcost) {
|
|
|
- mes "["+getarg(0)+"]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Whoa whoa...";
|
|
|
mes "Check your wallet before you receive the repair bill! I can't repair anything because you don't have enough Zeny.";
|
|
|
close;
|
|
@@ -1209,22 +1213,22 @@ function script repairmain {
|
|
|
repair(.@checkitem);
|
|
|
set .@checkitem,.@checkitem-1;
|
|
|
}
|
|
|
- mes "["+getarg(0)+"]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Okay! All done. Now, try to be a little more careful. Items have lives too you know.";
|
|
|
close;
|
|
|
}
|
|
|
else {
|
|
|
- mes "["+getarg(0)+"]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Mmm? Something's wrong. Wait... Equip the items you need to repair and then come back to me.";
|
|
|
close;
|
|
|
}
|
|
|
case 2:
|
|
|
- mes "["+getarg(0)+"]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Well, it's no skin off my nose, but it's not good to leave items damaged. You should get them repaired as soon as possible!";
|
|
|
close;
|
|
|
}
|
|
|
case 2:
|
|
|
- mes "["+getarg(0)+"]";
|
|
|
+ mes "["+ .@npc_name$ +"]";
|
|
|
mes "Hohoho...";
|
|
|
mes "You don't have";
|
|
|
mes "any business with me";
|