summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-10-24 12:14:18 +0000
committerultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-10-24 12:14:18 +0000
commit3ecde465534c93315a1f88430129e8400f4d9fe2 (patch)
treefb1153e7be48da7d89b9697be733124650045fdf /npc
parent04580084c4ac2113d06a23fdf2ca4596dd04011b (diff)
downloadhercules-3ecde465534c93315a1f88430129e8400f4d9fe2.tar.gz
hercules-3ecde465534c93315a1f88430129e8400f4d9fe2.tar.bz2
hercules-3ecde465534c93315a1f88430129e8400f4d9fe2.tar.xz
hercules-3ecde465534c93315a1f88430129e8400f4d9fe2.zip
* Cleaned up some messy guild code (more to come)
* Cleaned up the mail code, no more pointless dynamic allocation * Added upgrade_svn11548.sql to convert the mail table to new format * Updated vs7 and vs6 project files * Increased the max. send buffer size to 5M since 1M is not enough * Please complain if something stops working ^^; git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11571 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc')
-rw-r--r--npc/merchants/advanced_refiner.txt465
1 files changed, 233 insertions, 232 deletions
diff --git a/npc/merchants/advanced_refiner.txt b/npc/merchants/advanced_refiner.txt
index 2620dccfb..bf6ba05ef 100644
--- a/npc/merchants/advanced_refiner.txt
+++ b/npc/merchants/advanced_refiner.txt
@@ -1,232 +1,233 @@
-//===== eAthena Script =======================================
-//= Advanced Refiner
-//===== By: ==================================================
-//= L0ne_W0lf
-//===== Current Version: =====================================
-//= 1.0
-//===== Compatible With: =====================================
-//= Eathena SVN
-//===== Description: =========================================
-//= [Aegis Conversion]
-//= Refiner that uses Enriched ores to increase upgrade success.
-//= After a conversation with Doddler, it's been established that
-//= the advanced refiner works similar the the "Bubble Gum" item.
-//= The success percentage is not "increased" however, if it fails
-//= You get a second try. This tries twice at the same time,
-//= effectively giving you a re-roll on your attempt.
-//= - Dialog is only partly official to iRO.
-//= - Uses the iRO position for this NPC.
-//===== Additional Comments: =================================
-//= 1.0 First Version. [L0ne_W0lf]
-//============================================================
-
-payon,174,138,0 script Suhnbi#cash 85,{
- mes "[Suhnbi]";
- mes "I am the Armsith";
- mes "I can refine all kinds of weapons,";
- mes "armor and equipment, so let me";
- mes "know what you want to refine.";
- next;
- set .@strRetPart1$,getequipname(1);
- set .@strRetPart2$,getequipname(2);
- set .@strRetPart3$,getequipname(3);
- set .@strRetPart4$,getequipname(4);
- set .@strRetPart5$,getequipname(5);
- set .@strRetPart6$,getequipname(6);
- set .@strRetPart7$,getequipname(7);
- set .@strRetPart8$,getequipname(8);
- set .@strRetPart9$,getequipname(9);
- set .@strRetPart10$,getequipname(10);
-
- set .@menu$,.@strRetPart1$+":"+.@strRetPart2$+":"+.@strRetPart3$+":"+.@strRetPart4$+":"+.@strRetPart5$+":"+.@strRetPart6$+":"+.@strRetPart7$+":"+.@strRetPart8$+":"+.@strRetPart9$+":"+.@strRetPart10$;
-
- switch(select(.@menu$)) {
- case 1:
- set .@part,1;
- if (getequipisequiped(1) == 0) {
- mes "[Suhnbi]";
- mes "Do you want me to refine your skull?";
- close;
- }
- break;
- case 2:
- set .@part,2;
- if (getequipisequiped(2) == 0) {
- mes "[Suhnbi]";
- mes "I'll refine your torso with my own passionate body!";
- close;
- }
- break;
- case 3:
- set .@part,3;
- if (getequipisequiped(3) == 0) {
- mes "[Suhnbi]";
- mes "Sorry, there ain't any technology yet to put rockets on your left hand...";
- close;
- }
- break;
- case 4:
- set .@part,4;
- if (getequipisequiped(4) == 0) {
- mes "[Suhnbi]";
- mes "Sorry, there ain't any technology yet to put rockets on your right hand...";
- close;
- }
- break;
- case 5:
- set .@part,5;
- if (getequipisequiped(5) == 0) {
- mes "[Suhnbi]";
- mes "You're not even wearing a garment? Are you?";
- close;
- }
- break;
- case 6:
- set .@part,6;
- if (getequipisequiped(6) == 0) {
- mes "[Suhnbi]";
- mes "What do I look like, a makeover artist? I can't refine your bare feet!";
- close;
- }
- break;
- case 7:
- set .@part,7;
- if (getequipisequiped(7) == 0) {
- mes "[Suhnbi]";
- mes "Um... You're not wearing an Accessory.";
- close;
- }
- break;
- case 8:
- set .@part,8;
- if (getequipisequiped(8) == 0) {
- mes "[Suhnbi]";
- mes "Accessory? You're not wearing one of those.";
- close;
- }
- break;
- case 9:
- set .@part,9;
- if (getequipisequiped(9) == 0) {
- mes "[Suhnbi]";
- mes "I refine equipment. I don't give hair cuts.";
- close;
- }
- break;
- case 10:
- set .@part,10;
- if (getequipisequiped(10) == 0) {
- mes "[Suhnbi]";
- mes "What am I, your personal hairstylist?. Go to the salon if you want work done on your precious hair.";
- close2;
- }
- break;
- }
-
- if (getequipisenableref(.@part) == 0) {
- mes "[Suhnbi]";
- mes "I don't think I can refine this item at all.";
- close;
- }
- if (getequipisidentify(.@part) == 0) {
- mes "[Suhnbi]";
- mes "This is has not been identified. So, it can't be refined...";
- close;
- }
- if (getequiprefinerycnt(.@part) >= 10) {
- mes "[Suhnbi]";
- mes "This item cannot be refined because it has already reached its maximum level...";
- close;
- }
- // Make sure you have the neccessary items and Zeny to refine your items
- // Determines chance of failure and verifies that you want to continue.
- switch(getequipweaponlv(.@part)) {
- case 1: callsub S_RefineValidate,1,7620,50,.@part; break;
- case 2: callsub S_RefineValidate,2,7620,200,.@part; break;
- case 3: callsub S_RefineValidate,3,7620,5000,.@part; break;
- case 4: callsub S_RefineValidate,4,7620,20000,.@part; break;
- default: callsub S_RefineValidate,0,7619,2000,.@part; break;
- }
-
- if (getequippercentrefinery(.@part) > rand(100) || getequippercentrefinery(.@part) > rand(100)) {
- mes "[Suhnbi]";
- mes "Clink! Clank! Clunk!";
- SuccessRefItem .@part;
- next;
- Emotion e_no1;
- mes "[Suhnbi]";
- mes "Here you are! It's done.";
- mes "It's been a while since I've made such a fine weapon. You must be happy because it has become stronger!";
- close;
- }
- else {
- mes "[Suhnbi]";
- mes "Clink! Clank! Clunk!";
- FailedRefItem .@part;
- next;
- if (rand(5) == 1)
- Emotion e_cash;
- else
- Emotion e_omg;
- mes "[Suhnbi]";
- mes "Cough!!!!";
- next;
- mes "[Suhnbi]";
- mes "Cough...Cough..";
- mes "What a shame...";
- mes "Your equipment broke during hte refining process. I had told you earlier this might happen!";
- close;
- }
-
-S_RefineValidate:
- mes "[Suhnbi]";
- if (getarg(0))
- mes "A level "+getarg(0)+" weapon...";
- mes "To refine this I need one ^ff9999"+getitemname(getarg(1))+"^000000 and a service fee of "+getarg(2)+" Zeny.";
- mes "Do you wish to continue?";
- next;
- if (select("Yes:No") == 1) {
- if (getequippercentrefinery(getarg(3)) < 100) {
- mes "[Suhnbi]";
- mes "Wow!!";
- mes "This weapon, probably";
- mes "looks like it's been refined...";
- mes "many times...";
- mes "It may break if";
- mes "you refine it again.";
- next;
- mes "And if it breaks,";
- mes "you can't use it anymore!";
- mes "All the cards in it and the";
- mes "properties";
- mes "^ff0000will be lost^000000!!";
- mes "^ff0000 besides, the equipment will break!^000000";
- mes " ";
- mes "Are you sure you still want to continue?";
- next;
- if (select("Yes:No") == 2) {
- mes "[Suhnbi]";
- mes "I completely agree...";
- mes "I might be a great refiner, but something even I make mistakes.";
- close;
- }
- }
- if (countitem(getarg(1)) > 0 && Zeny > getarg(2)) {
- delitem getarg(1),1;
- set zeny,zeny-getarg(2);
- return;
- }
- else {
- mes "[Suhnbi]";
- mes "You don't seem to have enough Zeny or "+getitemname(getarg(1))+"...";
- mes "Go get some more. I'll be here ll day if you need me.";
- close;
- }
- }
- else {
- mes "[Suhnbi]";
- mes "Yeah... There's no need to rush.";
- mes "Take your time.";
- close;
- }
-}
+//===== eAthena Script =======================================
+//= Advanced Refiner
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Eathena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Refiner that uses Enriched ores to increase upgrade
+ success.
+//= After a conversation with Doddler, it's been established that
+//= the advanced refiner works similar the the "Bubble Gum" item.
+//= The success percentage is not "increased" however, if it fails
+//= You get a second try. This tries twice at the same time,
+//= effectively giving you a re-roll on your attempt.
+//= - Dialog is only partly official to iRO.
+//= - Uses the iRO position for this NPC.
+//===== Additional Comments: =================================
+//= 1.0 First Version. [L0ne_W0lf]
+//============================================================
+
+payon,174,138,0 script Suhnbi#cash 85,{
+ mes "[Suhnbi]";
+ mes "I am the Armsith";
+ mes "I can refine all kinds of weapons,";
+ mes "armor and equipment, so let me";
+ mes "know what you want to refine.";
+ next;
+ set .@strRetPart1$,getequipname(1);
+ set .@strRetPart2$,getequipname(2);
+ set .@strRetPart3$,getequipname(3);
+ set .@strRetPart4$,getequipname(4);
+ set .@strRetPart5$,getequipname(5);
+ set .@strRetPart6$,getequipname(6);
+ set .@strRetPart7$,getequipname(7);
+ set .@strRetPart8$,getequipname(8);
+ set .@strRetPart9$,getequipname(9);
+ set .@strRetPart10$,getequipname(10);
+
+ set .@menu$,.@strRetPart1$+":"+.@strRetPart2$+":"+.@strRetPart3$+":"+.@strRetPart4$+":"+.@strRetPart5$+":"+.@strRetPart6$+":"+.@strRetPart7$+":"+.@strRetPart8$+":"+.@strRetPart9$+":"+.@strRetPart10$;
+
+ switch(select(.@menu$)) {
+ case 1:
+ set .@part,1;
+ if (getequipisequiped(1) == 0) {
+ mes "[Suhnbi]";
+ mes "Do you want me to refine your skull?";
+ close;
+ }
+ break;
+ case 2:
+ set .@part,2;
+ if (getequipisequiped(2) == 0) {
+ mes "[Suhnbi]";
+ mes "I'll refine your torso with my own passionate body!";
+ close;
+ }
+ break;
+ case 3:
+ set .@part,3;
+ if (getequipisequiped(3) == 0) {
+ mes "[Suhnbi]";
+ mes "Sorry, there ain't any technology yet to put rockets on your left hand...";
+ close;
+ }
+ break;
+ case 4:
+ set .@part,4;
+ if (getequipisequiped(4) == 0) {
+ mes "[Suhnbi]";
+ mes "Sorry, there ain't any technology yet to put rockets on your right hand...";
+ close;
+ }
+ break;
+ case 5:
+ set .@part,5;
+ if (getequipisequiped(5) == 0) {
+ mes "[Suhnbi]";
+ mes "You're not even wearing a garment? Are you?";
+ close;
+ }
+ break;
+ case 6:
+ set .@part,6;
+ if (getequipisequiped(6) == 0) {
+ mes "[Suhnbi]";
+ mes "What do I look like, a makeover artist? I can't refine your bare feet!";
+ close;
+ }
+ break;
+ case 7:
+ set .@part,7;
+ if (getequipisequiped(7) == 0) {
+ mes "[Suhnbi]";
+ mes "Um... You're not wearing an Accessory.";
+ close;
+ }
+ break;
+ case 8:
+ set .@part,8;
+ if (getequipisequiped(8) == 0) {
+ mes "[Suhnbi]";
+ mes "Accessory? You're not wearing one of those.";
+ close;
+ }
+ break;
+ case 9:
+ set .@part,9;
+ if (getequipisequiped(9) == 0) {
+ mes "[Suhnbi]";
+ mes "I refine equipment. I don't give hair cuts.";
+ close;
+ }
+ break;
+ case 10:
+ set .@part,10;
+ if (getequipisequiped(10) == 0) {
+ mes "[Suhnbi]";
+ mes "What am I, your personal hairstylist?. Go to the salon if you want work done on your precious hair.";
+ close2;
+ }
+ break;
+ }
+
+ if (getequipisenableref(.@part) == 0) {
+ mes "[Suhnbi]";
+ mes "I don't think I can refine this item at all.";
+ close;
+ }
+ if (getequipisidentify(.@part) == 0) {
+ mes "[Suhnbi]";
+ mes "This is has not been identified. So, it can't be refined...";
+ close;
+ }
+ if (getequiprefinerycnt(.@part) >= 10) {
+ mes "[Suhnbi]";
+ mes "This item cannot be refined because it has already reached its maximum level...";
+ close;
+ }
+ // Make sure you have the neccessary items and Zeny to refine your items
+ // Determines chance of failure and verifies that you want to continue.
+ switch(getequipweaponlv(.@part)) {
+ case 1: callsub S_RefineValidate,1,7620,50,.@part; break;
+ case 2: callsub S_RefineValidate,2,7620,200,.@part; break;
+ case 3: callsub S_RefineValidate,3,7620,5000,.@part; break;
+ case 4: callsub S_RefineValidate,4,7620,20000,.@part; break;
+ default: callsub S_RefineValidate,0,7619,2000,.@part; break;
+ }
+
+ if (getequippercentrefinery(.@part) > rand(100) || getequippercentrefinery(.@part) > rand(100)) {
+ mes "[Suhnbi]";
+ mes "Clink! Clank! Clunk!";
+ SuccessRefItem .@part;
+ next;
+ Emotion e_no1;
+ mes "[Suhnbi]";
+ mes "Here you are! It's done.";
+ mes "It's been a while since I've made such a fine weapon. You must be happy because it has become stronger!";
+ close;
+ }
+ else {
+ mes "[Suhnbi]";
+ mes "Clink! Clank! Clunk!";
+ FailedRefItem .@part;
+ next;
+ if (rand(5) == 1)
+ Emotion e_cash;
+ else
+ Emotion e_omg;
+ mes "[Suhnbi]";
+ mes "Cough!!!!";
+ next;
+ mes "[Suhnbi]";
+ mes "Cough...Cough..";
+ mes "What a shame...";
+ mes "Your equipment broke during hte refining process. I had told you earlier this might happen!";
+ close;
+ }
+
+S_RefineValidate:
+ mes "[Suhnbi]";
+ if (getarg(0))
+ mes "A level "+getarg(0)+" weapon...";
+ mes "To refine this I need one ^ff9999"+getitemname(getarg(1))+"^000000 and a service fee of "+getarg(2)+" Zeny.";
+ mes "Do you wish to continue?";
+ next;
+ if (select("Yes:No") == 1) {
+ if (getequippercentrefinery(getarg(3)) < 100) {
+ mes "[Suhnbi]";
+ mes "Wow!!";
+ mes "This weapon, probably";
+ mes "looks like it's been refined...";
+ mes "many times...";
+ mes "It may break if";
+ mes "you refine it again.";
+ next;
+ mes "And if it breaks,";
+ mes "you can't use it anymore!";
+ mes "All the cards in it and the";
+ mes "properties";
+ mes "^ff0000will be lost^000000!!";
+ mes "^ff0000 besides, the equipment will break!^000000";
+ mes " ";
+ mes "Are you sure you still want to continue?";
+ next;
+ if (select("Yes:No") == 2) {
+ mes "[Suhnbi]";
+ mes "I completely agree...";
+ mes "I might be a great refiner, but something even I make mistakes.";
+ close;
+ }
+ }
+ if (countitem(getarg(1)) > 0 && Zeny > getarg(2)) {
+ delitem getarg(1),1;
+ set zeny,zeny-getarg(2);
+ return;
+ }
+ else {
+ mes "[Suhnbi]";
+ mes "You don't seem to have enough Zeny or "+getitemname(getarg(1))+"...";
+ mes "Go get some more. I'll be here ll day if you need me.";
+ close;
+ }
+ }
+ else {
+ mes "[Suhnbi]";
+ mes "Yeah... There's no need to rush.";
+ mes "Take your time.";
+ close;
+ }
+}