diff options
author | euphyy <euphyy@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-12-24 17:30:14 +0000 |
---|---|---|
committer | euphyy <euphyy@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-12-24 17:30:14 +0000 |
commit | ea1a321438e75b66b3fc8148b6eaa41d049761dd (patch) | |
tree | 80dfac0c03ba915146e52cf10fe91c4b5558da9f /npc | |
parent | 90e5648a7865e72846c9a41754c4f71e89a1739d (diff) | |
download | hercules-ea1a321438e75b66b3fc8148b6eaa41d049761dd.tar.gz hercules-ea1a321438e75b66b3fc8148b6eaa41d049761dd.tar.bz2 hercules-ea1a321438e75b66b3fc8148b6eaa41d049761dd.tar.xz hercules-ea1a321438e75b66b3fc8148b6eaa41d049761dd.zip |
> Pre-Renewal fixes, major credits to Deep Forest for his detailed reports:
* Separated Renewal Alberta features with checkre() and new files, follow-up r16125 (bugreport:7041).
* Moved remaining Renewal shops out of pre-Renewal file, follow-up r16138 / r16104 (bugreport:7042).
* Moved Renewal refining features to a separate file, and made some changes, follow-up r16126 (bugreport:7043).
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@17042 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc')
-rw-r--r-- | npc/cities/amatsu.txt | 14 | ||||
-rw-r--r-- | npc/cities/ayothaya.txt | 10 | ||||
-rw-r--r-- | npc/cities/gonryun.txt | 10 | ||||
-rw-r--r-- | npc/cities/louyang.txt | 14 | ||||
-rw-r--r-- | npc/cities/moscovia.txt | 10 | ||||
-rw-r--r-- | npc/custom/quests/quest_shop.txt | 12 | ||||
-rw-r--r-- | npc/merchants/refine.txt | 631 | ||||
-rw-r--r-- | npc/merchants/shops.txt | 11 | ||||
-rw-r--r-- | npc/pre-re/cities/alberta.txt | 42 | ||||
-rw-r--r-- | npc/pre-re/cities/izlude.txt | 4 | ||||
-rw-r--r-- | npc/pre-re/cities/jawaii.txt | 4 | ||||
-rw-r--r-- | npc/pre-re/scripts_athena.conf | 1 | ||||
-rw-r--r-- | npc/quests/quests_alberta.txt | 16 | ||||
-rw-r--r-- | npc/quests/skills/merchant_skills.txt | 8 | ||||
-rw-r--r-- | npc/re/cities/alberta.txt | 42 | ||||
-rw-r--r-- | npc/re/cities/brasilis.txt | 9 | ||||
-rw-r--r-- | npc/re/cities/izlude.txt | 5 | ||||
-rw-r--r-- | npc/re/cities/jawaii.txt | 2 | ||||
-rw-r--r-- | npc/re/merchants/refine.txt | 499 | ||||
-rw-r--r-- | npc/re/merchants/shops.txt | 35 | ||||
-rw-r--r-- | npc/re/scripts_athena.conf | 2 |
21 files changed, 713 insertions, 668 deletions
diff --git a/npc/cities/amatsu.txt b/npc/cities/amatsu.txt index 08ec8748a..1458815c7 100644 --- a/npc/cities/amatsu.txt +++ b/npc/cities/amatsu.txt @@ -1,9 +1,9 @@ //===== rAthena Script ======================================= -//= Amatsu Script +//= Amatsu Town //===== By: ================================================== -//= Some people & rAthena Dev Team +//= rAthena Dev Team //===== Current Version: ===================================== -//= 1.3 +//= 1.4 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -12,11 +12,12 @@ //===== Additional Comments: ================================= //= 1.3 Rescripted to Aegis 10.3 Standards. [L0ne_W0lf] //= Moved elemental stone trader to 'elemental_trader.txt' +//= 1.4 Moved Alberta NPC to pre-re/re paths. [Euphy] //============================================================ // Amatsu Transportation //===================================================== -alberta,246,74,3 script Sea Captain#ama1 709,{ +- script ::Sea_Captain_amatsu -1,{ mes "[Walter Moers]"; mes "Hey, there."; mes "Have you ever heard that there"; @@ -136,7 +137,10 @@ amatsu,194,79,5 script Sea Captain#ama2 709,{ mes "so many things to talk about,"; mes "right? All aboard now."; close2; - warp "alberta",244,72; + if (checkre(0)) + warp "alberta",244,72; + else + warp "alberta",243,91; end; } mes "[Walter Moers]"; diff --git a/npc/cities/ayothaya.txt b/npc/cities/ayothaya.txt index 19a9df081..abba76866 100644 --- a/npc/cities/ayothaya.txt +++ b/npc/cities/ayothaya.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= MasterOfMuppets //===== Current Version: ===================================== -//= 1.7 +//= 1.8 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -12,11 +12,12 @@ //===== Additional Comments: ================================= //= 1.6 Rescripted to Aegis 10.3 standards. [L0ne_W0lf] //= 1.7 Fixed character's anme bugs [Lupus] +//= 1.8 Moved Alberta NPC to pre-re/re paths. [Euphy] //============================================================ // Ayothaya Transportation NPC //============================================================ -alberta,246,29,3 script Aibakthing#ayo 843,{ +- script ::Aibakthing_ayothaya -1,{ mes "[Aibakthing]"; mes "Hoo! Hah! Hoo! Hah!"; mes "Let me take you away to"; @@ -91,7 +92,10 @@ ayothaya,152,68,1 script Aibakthing#ayo2 843,{ mes "[Aibakthing]"; mes "You will be welcome to come back whenever you please. I hope that we will see each other again sometime soon. Thank you~"; close2; - warp "alberta",238,22; + if (checkre(0)) + warp "alberta",238,22; + else + warp "alberta",235,45; end; } mes "[Aibakthing]"; diff --git a/npc/cities/gonryun.txt b/npc/cities/gonryun.txt index 937fe0413..b3e6b7dda 100644 --- a/npc/cities/gonryun.txt +++ b/npc/cities/gonryun.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= x[tsk], KarLaeda //===== Current Version: ===================================== -//= 1.4 +//= 1.6 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -12,11 +12,12 @@ //===== Additional Comments: ================================= //= 1.5 Rescripted to Aegis 10.3 standards. [L0ne_W0lf] //= Moved Lost Knife mini-quest to quest file. +//= 1.6 Moved Alberta NPC to pre-re/re paths. [Euphy] //============================================================ // Kunlun Transportation //============================================================ -alberta,246,62,3 script Kunlun Envoy#gon 776,{ +- script ::Kunlun_Envoy_gonryun -1,{ mes "[Wa Bai Hu]"; mes "Good day~"; mes "Let me invite you all"; @@ -143,7 +144,10 @@ gon_fild01,255,79,7 script Kunlun Envoy#gon2 776,{ mes "back. Now, let me guide you"; mes "back to Alberta."; close2; - warp "alberta",244,60; + if (checkre(0)) + warp "alberta",244,60; + else + warp "alberta",243,67; end; } mes "[Wa Bai Hu]"; diff --git a/npc/cities/louyang.txt b/npc/cities/louyang.txt index a445310b8..0fc53b045 100644 --- a/npc/cities/louyang.txt +++ b/npc/cities/louyang.txt @@ -8,7 +8,7 @@ //= MasterOfMuppets (2.0) //= rAthena Dev Team //===== Current Version: ===================================== -//= 2.9 +//= 3.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -16,11 +16,12 @@ //= Louyang Town Script //===== Additional Comments: ================================= //= 2.9 Rescripted to Aegis 10.3 Standards. [L0ne_W0lf] +//= 3.0 Moved Alberta NPC to pre-re/re paths. [Euphy] //============================================================ // Louyang Transportaion //============================================================ -alberta,246,40,3 script Girl#0lou 815,{ +- script ::Girl_louyang -1,{ mes "[Girl]"; mes "La la la la~"; mes "I feel so good today~"; @@ -108,7 +109,10 @@ lou_fild01,190,100,7 script Girl#1lou 815,{ mes "see you again!"; mes "Bye bye!"; close2; - warp "alberta",236,40; + if (checkre(0)) + warp "alberta",236,40; + else + warp "alberta",235,45; end; } mes "[Girl]"; @@ -331,7 +335,7 @@ louyang,84,254,0 script Exit#lou 111,{ //= 2.0 - Completely rewrote the current scripts based on iRO. // Added the 'Shouting Quest' and the 'Medicine Quest' //= 2.1 Optimized, made quest vars unique [Lupus] -//= 2.1a minor fix, 2.1b Fixed Typo�s [Nexon] +//= 2.1a minor fix, 2.1b Fixed Typos [Nexon] //= 2.2 Fixed exploits [Lupus] //= 2.2a Updated the color codes a little and fixed the shouting quest //= to broadcast green text. @@ -344,7 +348,7 @@ louyang,84,254,0 script Exit#lou 111,{ //= 2.6a Updated a few names with new item_db.txt names [Evera] //= 2.7 Split quests to quests/quests_louyang.txt [Evera] //= 2.7a Minor optimizations before Louyang quests [Lupus] -//= 2.7b Moved guides to the Guides folder. 2.7� more typos [Lupus] +//= 2.7b Moved guides to the Guides folder. 2.7 more typos [Lupus] //= 2.8 Moved some quest-related NPCs to proper file. [SinSloth] //= 2.9 Rescripted to Aegis 10.3 Standards. [L0ne_W0lf] //============================================================ diff --git a/npc/cities/moscovia.txt b/npc/cities/moscovia.txt index bb88d641f..e05a4a755 100644 --- a/npc/cities/moscovia.txt +++ b/npc/cities/moscovia.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.1 +//= 1.2 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -11,11 +11,12 @@ //===== Additional Comments: ================================= //= 1.0 First Version. [Kisuka] //= 1.1 Removed villagers (they are part of a quest). [Kisuka] +//= 1.2 Moved Alberta NPC to pre-re/re paths. [Euphy] //============================================================ // Moscovia Transportation //============================================================ -alberta,246,51,4 script Moscovia P.R. Officer#1 960,{ +- script ::PR_Officer_moscovia -1,{ mes "[Moscovia P.R. Officer]"; mes "Moscovia! Do you know Moscovia?"; mes "the paradise spreading on the endless seas..."; @@ -108,7 +109,10 @@ moscovia,166,53,4 script Moscovia P.R. Officer#2 960,{ mes "Please come and visit soon."; mes "Ok then, Let's get going."; close2; - warp "alberta",244,52; + if (checkre(0)) + warp "alberta",244,52; + else + warp "alberta",243,67; end; } diff --git a/npc/custom/quests/quest_shop.txt b/npc/custom/quests/quest_shop.txt index a6ae634a7..539c29f23 100644 --- a/npc/custom/quests/quest_shop.txt +++ b/npc/custom/quests/quest_shop.txt @@ -165,13 +165,13 @@ function Add { debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; return; } - for(set .@i,2; .@i<getargcount(); set .@i,.@i+1) - set .@j[.@i-2],getarg(.@i); - for(set .@i,3; .@i<getarraysize(.@j); set .@i,.@i+2) { - if (getitemname(.@j[.@i]) == "null") { - debugmes "Quest requirement #"+.@j[.@i]+" invalid (skipped)."; + setarray .@j[0],getarg(2),getarg(3),getarg(4); + for(set .@i,5; .@i<getargcount(); set .@i,.@i+2) { + if (getitemname(getarg(.@i)) == "null") { + debugmes "Quest requirement #"+getarg(.@i)+" invalid (skipped)."; return; - } + } else + setarray .@j[.@i-2],getarg(.@i),getarg(.@i+1); } copyarray getd(".q_"+getarg(1)+"[0]"),.@j[0],getarraysize(.@j); npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0); diff --git a/npc/merchants/refine.txt b/npc/merchants/refine.txt index 17acfc168..4433bbd66 100644 --- a/npc/merchants/refine.txt +++ b/npc/merchants/refine.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Syrus22 (1.1) dafide18 (1.4) Skotlex (1.5) //===== Current Version: ===================================== -//= 3.1 +//= 3.2 //===== Compatible With: ===================================== //= Any Athena Version //===== Description: ========================================= @@ -58,6 +58,7 @@ //= 3.0 Updated several NPC names and locations. [Xantara] // Added WoE map Refiners. //= 3.1 Added the new refinement & Ore creation NPC's for +11 and above Refinement. [Masao] +//= 3.2 Moved some scripts to Renewal file, other minor changes. [Euphy] //============================================================ // Christopher: Geffen Blacksmith @@ -598,9 +599,8 @@ lhz_in02,282,20,7 script Fulerr 869,{ //============================================================ //= To allow auto safe refining/multiple refining set the //= second argument to '1' in the function call. -//= If you enable this function make sure you set the appropiate +x Level in your refine_db.txt -//= to 100 and adjust the .@safe Value in the Script to your desired max. Safe Level. -//= Otherwise it won't work . +//= If you enable this function, be sure to edit the value of +//= .@safe to the max safe refine in refine_db.txt as well. //============================================================ function script refinemain { set .@features,getarg(1); @@ -612,11 +612,9 @@ function script refinemain { setarray .@position$[1], "Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3"; set .@menu$,""; - for( set .@i,1; .@i <= 10; set .@i,.@i+1 ) - { - if( getequipisequiped(.@i) ) + for(set .@i,1; .@i<=10; set .@i,.@i+1) { + if(getequipisequiped(.@i)) set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]"; - set .@menu$, .@menu$ + ":"; } set .@part,select(.@menu$); @@ -625,7 +623,7 @@ function script refinemain { mes "You're not wearing"; mes "anything there that"; mes "I can refine."; - emotion 6; + emotion e_an; close; } //Check if the item is refinable... @@ -747,7 +745,7 @@ function script refinemain { } if(getequiprefinerycnt(.@part) != .@refinerycnt || getequipid(.@part) != .@refineitemid) { // hacker has changed the item mes "[" + getarg(0) + "]"; - Emotion e_an; + emotion e_an; mes "Wait a second..."; mes "Do you think I'm stupid?!"; mes "You switched the item while I wasn't looking! Get out of here!"; @@ -756,12 +754,7 @@ function script refinemain { if(getequippercentrefinery(.@part) <= rand(100)) { failedrefitem .@part; mes "[" + getarg(0) + "]"; - set .@emo,rand(1,5); - if (.@emo == 1) { - Emotion e_cash; - } else { - Emotion e_swt; - } + emotion (!rand(5))?e_cash:e_omg; set .@lose,rand(1,3); if (.@lose == 1) { mes "OH! MY GOD!"; @@ -782,7 +775,7 @@ function script refinemain { } mes "["+getarg(0)+"]"; successrefitem .@part; - Emotion e_heh; + emotion e_heh; set .@win,rand(1,3); if (.@win == 1) { mes "Perfect!"; @@ -808,10 +801,11 @@ function script refinemain { // New Refining Functions ======================== if(getequiprefinerycnt(.@part) < .@safe) { mes "[" + getarg(0) + "]"; - mes "I can refine this to the safe limit or a desired number of times... it's your choice..."; + 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..."); - } else set .@menu2,2; + set .@menu2,select("To the safe limit, please.","I'll decide how many times.","I've changed my mind..."); + } else + set .@menu2,2; switch(.@menu2){ case 1: set .@refinecnt,.@safe - getequiprefinerycnt(.@part); @@ -819,7 +813,7 @@ function script refinemain { case 2: next; mes "[" + getarg(0) + "]"; - mes "So how many times would you like me to refine your item?"; + mes "How many times would you like me to refine your item?"; next; input .@refinecnt; set .@refinecheck,.@refinecnt + getequiprefinerycnt(.@part); @@ -835,7 +829,7 @@ function script refinemain { next; if(select("Yes...","No...") == 2){ mes "[" + getarg(0) + "]"; - mes "You said so..Hmm so be it..."; + mes "You said so... So be it."; close; } } @@ -843,7 +837,7 @@ function script refinemain { case 3: next; mes "[" + getarg(0) + "]"; - mes "You said so..Hmm so be it..."; + mes "You said so... So be it."; close; } set .@fullprice,.@price * .@refinecnt; @@ -852,7 +846,7 @@ function script refinemain { next; if(select("Yes","No...") == 2){ mes "[" + getarg(0) + "]"; - mes "You said so..Hmm so be it..."; + mes "You said so... So be it."; close; } if(countitem(.@material) < .@refinecnt || Zeny < .@fullprice) { @@ -865,32 +859,32 @@ function script refinemain { while(.@refinecnt){ if (getequipisequiped(.@part) == 0) { mes "[" + getarg(0) + "]"; - mes "Look here... you don't have any Items on..."; + mes "Look here... you don't have any items on..."; close; } if (getequipid(.@part) != .@refineitemid || (.@menu2 == 1 && getequippercentrefinery(.@part) < 100)) { mes "[" + getarg(0) + "]"; - mes "Clan... No, but Did you imagine I could be so stupid !?!"; - mes "You have changed it..."; - mes "Go out before I stun you with my Hammer!!!"; + 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!!"; close; } mes "Clang, clang!!!"; if(.@menu2 == 2 && getequippercentrefinery(.@part) <= rand(100)) { failedrefitem .@part; - emotion 23; + emotion e_omg; mes "[" + getarg(0) + "]"; mes "WAHHHH!!! I'm so sorry... I warned you this could happen..."; set .@refinecnt,.@refinecnt - 1; if(.@refinecnt == 0) close; - mes "Here's the unused Zeny and Material back..."; + mes "Here's the unused Zeny and materials back..."; getitem .@material,.@refinecnt; set .@fullprice,.@refinecnt * .@price; set Zeny,Zeny + .@fullprice; close; } successrefitem .@part; - emotion 21; + emotion e_no1; set .@refinecnt,.@refinecnt - 1; next; } @@ -1270,579 +1264,4 @@ function script repairmain { mes "items to repair."; close; } -} - -// +11 and above Weapon/Armor Refiners -//============================================================ -prt_in,90,72,5 script Bestry#prt 826,{ - callfunc "refinenew","Bestry",0,0; - end; -} -morocc_in,64,41,5 script Bestry#moc 826,{ - callfunc "refinenew","Bestry",0,0; - end; -} -payon_in01,18,132,3 script Bestry#pay 826,{ - callfunc "refinenew","Bestry",0,0; - end; -} - -//===================================================================================== -// +11 and above Weapon/Armor Function -//===================================================================================== -//= To allow auto safe refining/multiple refining set the -//= second argument to '1' in the function call. -//= If you enable this function make sure you set the appropiate +x Level in your refine_db.txt -//= to 100 and adjust the .@safe Value in the Script to your desired max. Safe Level. -//= Otherwise it won't work . -//= -//= In the official script the NPC uses an new Command which is called 'GetExdEquipIsSuccessRefinery', -//= this command seems to generate a random number between 1 and 3 to decide either of -//= the following: -//= 1: Success -//= 2: Downgrade -//= 3: Failure -//= -//= If you want to enable that feature just set the third argument to '1' in the function call. -//= Otherwise it will use the % chance in your refine_db.txt . -//= Side Note: Current values for +11 and above upgrading in the refine_db.txt are custom. -//===================================================================================== - -function script refinenew { - - mes "["+ getarg(0) +"]"; - mes "I am the best Blacksmith ever!"; - mes "I don't work with normal, boring items."; - mes "But only with items that are level 10 or higher!"; - next; - mes "["+ getarg(0) +"]"; - mes "Anyway, you may use my services if your item is lv 10 or higher."; - mes "What do you want to have refined?"; - next; - setarray .@position$[1],"Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3"; - set .@menu$,""; - for( set .@i,1; .@i <= 10; set .@i,.@i+1 ) - { - if( getequipisequiped(.@i) ) - set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]"; - - set .@menu$, .@menu$ + ":"; - } - set .@part,select(.@menu$); - if(!getequipisequiped(.@part)) { - mes "[" + getarg(0) + "]"; - mes "You're not wearing"; - mes "anything there that"; - mes "I can refine."; - emotion e_an; - close; - } - //Check if the item is refinable... - if(!getequipisenableref(.@part)) { - mes "[" + getarg(0) + "]"; - mes "I don't think I can"; - mes "refine this item at all..."; - close; - } - //Check if the item is identified... (Don't know why this is in here... but kept it anyway) - if(!getequipisidentify(.@part)) { - mes "[" + getarg(0) + "]"; - mes "You can't refine this"; - mes "if you haven't appraised"; - mes "it first. Make sure your"; - mes "stuff is identified before"; - mes "I can refine it."; - close; - } - //Check to see if the items is at least +10 - if(getequiprefinerycnt(.@part) < 10) { - mes "["+ getarg(0) +"]"; - mes "I said I don't work with Equipment under lv. 10."; - close; - } - if(getequiprefinerycnt(.@part) >= 20) { - mes "["+ getarg(0) +"]"; - mes "I can't refine this"; - mes "any more. This is as"; - mes "refined as it gets!"; - close; - } - set .@refineitemid, getequipid(.@part); // save id of the item - set .@refinerycnt, getequiprefinerycnt(.@part); //save refinery count - if ((getequipweaponlv(.@part) >= 1) && (getequipweaponlv(.@part) <= 4)) { - set .@material,6224; - set .@price,100000; - set .@safe,10; - mes "["+ getarg(0) +"]"; - mes "Hmm a weapon, is that ok?"; - mes "If you want to refine this weapon,"; - mes "I will need 1 ^003366Bradium^000000 and 100,000 zeny."; - mes "Are you sure you want to continue?"; - } else { - set .@material,6223; - set .@price,100000; - set .@safe,10; - mes "["+ getarg(0) +"]"; - mes "Hmm an armor, is that ok?"; - mes "If you want to refine this armor,"; - mes "I will need 1 ^003366Carnium^000000 and 100,000 zeny."; - mes "Are you sure you want to continue?"; - } - next; - if(select("Yes:No") == 2){ - mes "["+ getarg(0) +"]"; - mes "Well, no challenge is one way.."; - mes "No risk.. that could be wise."; - close; - } - if(getarg(1) != 1) { - if ((getequipweaponlv(.@part) >= 1) && (getequipweaponlv(.@part) <= 4)) { - mes "["+ getarg(0) +"]"; - mes "This weapon already has been refined serveral times."; - mes "It could be destroyed if you try more."; - mes "It won't break 100%, but is has a small chance."; - next; - mes "["+ getarg(0) +"]"; - mes "You could have the upgrade level of the weapon decreased,"; - mes "or if it breaks, you will lose ^FF0000any cards^000000 or special properties added to it."; - } else { - mes "["+ getarg(0) +"]"; - mes "This armor already has been refined serveral times."; - mes "It could be destroyed if you try more."; - mes "It won't break 100%, but is has a small chance."; - next; - mes "["+ getarg(0) +"]"; - mes "You could have the upgrade level of the armor decreased,"; - mes "or if it breaks, you will lose ^FF0000any cards^000000 or special properties added to it."; - } - next; - mes "["+ getarg(0) +"]"; - mes "Do you want me to refine it?"; - mes "I think I gave you enough warnings."; - next; - switch (select("Yes.:No.")) { - case 1: - break; - case 2: - mes "["+ getarg(0) +"]"; - mes "Well, no challenge is one way.."; - mes "No risk.. that could be wise."; - close; - } - if(countitem(.@material) < 1 || Zeny < .@price) { - mes "["+ getarg(0) +"]"; - mes "Hm, it seems you don't have enough materials or money."; - mes "Please check it out."; - close; - } - set Zeny,Zeny - .@price; - delitem .@material,1; - if(getequipisequiped(.@part) == 0) { // hacker has removed the item (not changed, why?) - mes "[" + getarg(0) + "]"; - mes "Look here... you don't have any Items on..."; - close; - } - if(getequiprefinerycnt(.@part) != .@refinerycnt || getequipid(.@part) != .@refineitemid) { // hacker has changed the item - mes "[" + getarg(0) + "]"; - Emotion e_an; - mes "Wait a second..."; - mes "Do you think I'm stupid?!"; - mes "You switched the item while I wasn't looking! Get out of here!"; - close; - } - if(getarg(2) == 1){ - set .@rand,rand(1,3); - if (.@rand == 1) { - mes "Clang! Clang! Clang! Clang!"; - successrefitem .@part; - next; - emotion e_no1; - mes "["+ getarg(0) +"]"; - mes "Good! Succes!!!"; - mes "I am the best Blacksmith."; - close; - } - if (.@rand == 2) { - mes "["+ getarg(0) +"]"; - mes "Clang! Clang! Clang! Clang!"; - downrefitem .@part; - next; - set .@emo, rand(1,5); - if (.@emo == 1) { - emotion e_cash; - } - else { - emotion e_omg; - } - mes "["+ getarg(0) +"]"; - mes "Ahhh!!!"; - next; - mes "["+ getarg(0) +"]"; - mes "Oh my!"; - mes "The upgrade level has dropped..."; - mes "There could've been made an mistake even though I am the best ever."; - mes "It was out of my hands."; - next; - mes "["+ getarg(0) +"]"; - mes "I will do a better job next time! Don't worry!"; - close; - } - mes "["+ getarg(0) +"]"; - mes "Clang! Clang! Clang!"; - failedrefitem .@part; - next; - set .@emo, rand(1,5); - if (.@emo == 1) { - emotion e_cash; - } else { - emotion e_omg; - } - mes "["+ getarg(0) +"]"; - mes "Hmmm!"; - next; - mes "["+ getarg(0) +"]"; - mes "Oh my! I've failed to refine stuff..."; - mes "I didn't mean it!"; - mes "There could've been made an mistake even though I am the best ever."; - mes "It was out of my hands."; - next; - mes "["+ getarg(0) +"]"; - mes "I will do a better job next time! Don't worry!"; - close; - } - set .@rand,rand(100); - if (getequippercentrefinery(.@part) > .@rand) { - mes "Clang! Clang! Clang! Clang!"; - successrefitem .@part; - next; - emotion e_no1; - mes "["+ getarg(0) +"]"; - mes "Good! Succes!!!"; - mes "I am the best Blacksmith."; - close; - } - if (getequippercentrefinery(.@part) < .@rand) { - mes "["+ getarg(0) +"]"; - mes "Clang! Clang! Clang! Clang!"; - downrefitem .@part; - next; - set .@emo, rand(1,5); - if (.@emo == 1) { - emotion e_cash; - } else { - emotion e_omg; - } - mes "["+ getarg(0) +"]"; - mes "Ahhh!!!"; - next; - mes "["+ getarg(0) +"]"; - mes "Oh my!"; - mes "The upgrade level has dropped..."; - mes "There could've been made an mistake even though I am the best ever."; - mes "It was out of my hands."; - next; - mes "["+ getarg(0) +"]"; - mes "I will do a better job next time! Don't worry!"; - close; - } - mes "["+ getarg(0) +"]"; - mes "Clang! Clang! Clang!"; - failedrefitem .@part; - next; - set .@emo, rand(1,5); - if (.@emo == 1) { - emotion e_cash; - } else { - emotion e_omg; - } - mes "["+ getarg(0) +"]"; - mes "Hmmm!"; - next; - mes "["+ getarg(0) +"]"; - mes "Oh my! I've failed to refine stuff..."; - mes "I didn't mean it!"; - mes "There could've been made an mistake even though I am the best ever."; - mes "It was out of my hands."; - next; - mes "["+ getarg(0) +"]"; - mes "I will do a better job next time! Don't worry!"; - close; - } -// New +11 and above Refining Functions ======================== - if(getequiprefinerycnt(.@part) < .@safe) { - mes "[" + getarg(0) + "]"; - 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..."); - } else { - set .@menu2,2; - } - switch(.@menu2){ - case 1: - set .@refinecnt,.@safe - getequiprefinerycnt(.@part); - break; - case 2: - next; - mes "[" + getarg(0) + "]"; - mes "So 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 "I can't refine this item that many times."; - close; - } - if(.@refinecheck > .@safe) { - set .@refinecheck,.@refinecheck - .@safe; - mes "[" + getarg(0) + "]"; - 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 "You said so..Hmm so be it..."; - close; - } - } - break; - case 3: - next; - mes "[" + getarg(0) + "]"; - mes "You said so..Hmm so be it..."; - close; - } - set .@fullprice,.@price * .@refinecnt; - mes "[" + getarg(0) + "]"; - mes "That will cost you " + .@refinecnt + " " + getitemname(.@material) + " and " + .@fullprice + " Zeny. Is that ok?"; - next; - if(select("Yes","No...") == 2){ - mes "[" + getarg(0) + "]"; - mes "You said so..Hmm so be it..."; - close; - } - if(countitem(.@material) < .@refinecnt || Zeny < .@fullprice) { - mes "[" + getarg(0) + "]"; - mes "Is that all you got? Unfortunately I can't work for you at a lower price. Try putting yourself in my shoes."; - close; - } - set Zeny,Zeny - .@fullprice; - delitem .@material,.@refinecnt; - while(.@refinecnt){ - if (getequipisequiped(.@part) == 0) { - mes "[" + getarg(0) + "]"; - mes "Look here... you don't have any Items on..."; - close; - } - if (getequipid(.@part) != .@refineitemid || (.@menu2 == 1 && getequippercentrefinery(.@part) < 100)) { - mes "[" + getarg(0) + "]"; - mes "Clan... No, but Did you imagine I could be so stupid !?!"; - mes "You have changed it..."; - mes "Go out before I stun you with my Hammer!!!"; - close; - } - if(getarg(2) == 1){ - set .@rand,rand(1,3); - if (.@rand == 1) { - mes "Clang! Clang! Clang! Clang!"; - successrefitem .@part; - next; - emotion e_no1; - mes "["+ getarg(0) +"]"; - mes "Good! Succes!!!"; - mes "I am the best Blacksmith."; - close; - } - if (.@rand == 2) { - mes "["+ getarg(0) +"]"; - mes "Clang! Clang! Clang! Clang!"; - downrefitem .@part; - next; - set .@emo, rand(1,5); - if (.@emo == 1) { - emotion e_cash; - } - else { - emotion e_omg; - } - mes "["+ getarg(0) +"]"; - mes "Ahhh!!!"; - next; - mes "["+ getarg(0) +"]"; - mes "Oh my!"; - mes "The upgrade level has dropped..."; - mes "There could've been made an mistake even though I am the best ever."; - mes "It was out of my hands."; - next; - mes "["+ getarg(0) +"]"; - mes "I will do a better job next time! Don't worry!"; - close; - } - mes "["+ getarg(0) +"]"; - mes "Clang! Clang! Clang!"; - failedrefitem .@part; - next; - set .@emo, rand(1,5); - if (.@emo == 1) { - emotion e_cash; - } else { - emotion e_omg; - } - mes "["+ getarg(0) +"]"; - mes "Hmmm!"; - next; - mes "["+ getarg(0) +"]"; - mes "Oh my! I've failed to refine stuff..."; - mes "I didn't mean it!"; - mes "There could've been made an mistake even though I am the best ever."; - mes "It was out of my hands."; - next; - mes "["+ getarg(0) +"]"; - mes "I will do a better job next time! Don't worry!"; - close; - } - set .@rand,rand(100); - if (getequippercentrefinery(.@part) > .@rand) { - mes "Clang! Clang! Clang! Clang!"; - successrefitem .@part; - next; - emotion e_no1; - mes "["+ getarg(0) +"]"; - mes "Good! Succes!!!"; - mes "I am the best Blacksmith."; - close; - } - if (getequippercentrefinery(.@part) < .@rand) { - mes "["+ getarg(0) +"]"; - mes "Clang! Clang! Clang! Clang!"; - downrefitem .@part; - next; - set .@emo, rand(1,5); - if (.@emo == 1) { - emotion e_cash; - } else { - emotion e_omg; - } - mes "["+ getarg(0) +"]"; - mes "Ahhh!!!"; - next; - mes "["+ getarg(0) +"]"; - mes "Oh my!"; - mes "The upgrade level has dropped..."; - mes "There could've been made an mistake even though I am the best ever."; - mes "It was out of my hands."; - next; - mes "["+ getarg(0) +"]"; - mes "I will do a better job next time! Don't worry!"; - close; - } - mes "["+ getarg(0) +"]"; - mes "Clang! Clang! Clang!"; - failedrefitem .@part; - next; - set .@emo, rand(1,5); - if (.@emo == 1) { - emotion e_cash; - } else { - emotion e_omg; - } - mes "["+ getarg(0) +"]"; - mes "Hmmm!"; - next; - mes "["+ getarg(0) +"]"; - mes "Oh my! I've failed to refine stuff..."; - mes "I didn't mean it!"; - mes "There could've been made an mistake even though I am the best ever."; - mes "It was out of my hands."; - next; - mes "["+ getarg(0) +"]"; - mes "I will do a better job next time! Don't worry!"; - close; - } - mes "[" + getarg(0) + "]"; - mes "All finished... Come again soon."; - close; -} - -// Ori/Elu to Carnium/Bradium Refiners -//============================================================ -prt_in,85,71,5 script Austry#prt 826,{ - callfunc "oreref","Austry"; - end; -} -payon_in01,14,125,5 script Austry#pay 826,{ - callfunc "oreref","Austry"; - end; -} -morocc_in,60,38,5 script Austry#moc 826,{ - callfunc "oreref","Austry"; - end; -} - -// Ori/Elu to Carnium/Bradium Function -//============================================================ - -function script oreref { - mes "["+ getarg(0) +"]"; - mes "If you bring me 3"; - mes "Oridecon or Elunium"; - mes "I can exchange them for"; - mes "Bradium or Carnium."; - mes "Just give me 50,000z."; - next; - switch (select("Oridecon to Bradium.:Elunium to Carnium.:Purified Bradium to Carnium.:No thanks.")) { - case 1: - if ((countitem(984) > 2) && (Zeny > 49999)) { - delitem 984,3; //Oridecon - set Zeny, Zeny - 50000; - getitem 6224,1; //Bradium - mes "["+ getarg(0) +"]"; - mes "Ok! Here is your Bradium."; - mes "Take it and use it well."; - close; - } - mes "["+ getarg(0) +"]"; - mes "You better not be trying"; - mes "to cheat me because you"; - mes "don't have enough zeny"; - mes "or Oridecon."; - close; - case 2: - if ((countitem(985) > 2) && (Zeny > 49999)) { - delitem 985,3; //Elunium - set Zeny, Zeny - 50000; - getitem 6223,1; //Carnium - mes "["+ getarg(0) +"]"; - mes "Ok! Here is your Carnium."; - mes "Take it and use it well."; - close; - } - mes "["+ getarg(0) +"]"; - mes "You better not be trying"; - mes "to cheat me because you"; - mes "don't have enough zeny"; - mes "or Elunium."; - close; - case 3: - if ((countitem(6090) > 0) && (Zeny > 49999)) { - delitem 6090,1; //Purified_Bradium - set Zeny, Zeny - 50000; - getitem 6223,1; //Carnium - mes "["+ getarg(0) +"]"; - mes "Refining with Purified Bradium"; - mes "is a little expensive. I can"; - mes "trade it for some Carnium."; - mes "Take it and use it well."; - close; - } - mes "["+ getarg(0) +"]"; - mes "You better not be trying"; - mes "to cheat me because you"; - mes "don't have enough zeny"; - mes "or Purified Bradium."; - close; - case 4: - mes "["+ getarg(0) +"]"; - mes "Hmm..."; - close; - } }
\ No newline at end of file diff --git a/npc/merchants/shops.txt b/npc/merchants/shops.txt index db88588cb..a06ba1ad2 100644 --- a/npc/merchants/shops.txt +++ b/npc/merchants/shops.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= rAthena Dev Team //===== Current Version: ===================================== -//= 3.1 +//= 3.3 //===== Compatible With: ===================================== //= rAthena 1.0+ //===== Description: ========================================= @@ -36,6 +36,7 @@ //= 3.0 Added all new Shops which were available in the latest available official files. [Masao] //= 3.1 Moved some merchants to a separate renewal file. [Kenpachi] //= 3.2 Added Missing Items to the pet Groomers in prontera, payon, and yuno. BugReport:6680[Spre] +//= 3.3 Moved more shops to Renewal file. [Euphy] //============================================================ //======================================================= @@ -93,8 +94,6 @@ comodo,296,125,4 shop Souvenir Vendor#cmd 101,965:-1,964:-1 cmd_fild07,257,126,5 shop Tool Dealer#cmd2 83,1770:-1,501:-1,502:-1,503:-1,504:-1,645:-1,656:-1,601:-1,602:-1,611:-1,1065:-1 cmd_fild07,250,98,2 shop Weapon Dealer#cmd2 49,1401:-1,1404:-1,1407:-1,1451:-1,1454:-1,1457:-1,1460:-1,1463:-1,1410:-1 cmd_fild07,277,85,4 shop Armor Dealer#cmd2 101,2226:-1,2228:-1,2103:-1,2105:-1,2405:-1,2503:-1,2505:-1,2305:-1,2321:-1,2307:-1,2309:-1,2335:-1,2312:-1,2314:-1,2316:-1 -comodo,106,213,5 shop Tropic Fruit Dealer 724,6258:-1 -comodo,196,162,3 shop Harive#candy 479,11513:-1,6144:-1 //======================================================= // Einbroch @@ -164,7 +163,6 @@ yuno_in01,25,34,5 shop Tool Dealer#yuno2 83,1750:-1,611:-1,501:-1,502:-1,503:-1, yuno_in01,103,35,2 shop Weapon Dealer#yuno 49,1750:-1,1751:-1,1101:-1,1701:-1,1201:-1,1204:-1,1207:-1,1210:-1,1213:-1,1216:-1,1601:-1,1604:-1,1607:-1,1610:-1 yuno_in01,112,26,4 shop Armor Dealer#yuno 101,2628:-1,2101:-1,2107:-1,2401:-1,2501:-1,2230:-1,2301:-1,2303:-1,2305:-1,2321:-1,2332:-1 yuno_in03,176,22,3 shop Scroll Merchant#yuno03 89,7433:-1 //Temp shop in Yuno that sells Blank Scrolls -s_atelier,114,117,1 shop Part-Timer#sc_yuno 92,6123:-1,6120:-1 //======================================================= // Lighthalzen @@ -174,7 +172,6 @@ lighthalzen,112,44,0 shop Flower Girl#lhz 90,712:-1,744:-1,748:-1 lighthalzen,124,129,0 shop Vegetable Gardener#lhz 91,515:-1,516:-1,535:-1 lighthalzen,220,122,3 shop Vendor from Milk Ranch#l 90,519:-1 lighthalzen,222,191,4 shop Pet Groomer#lhz 125,537:-1,643:-1,10013:-1,10014:-1,554:-1,6113:-1,6114:-1,6115:-1 -lighthalzen,337,240,4 shop Trap Specialist#lhz 66,7940:-1,12341:-1 lhz_in02,286,95,4 shop Beginner's Merchant#lhz 62,5112:-1,2416:-1,2113:-1,2512:-1 lhz_in02,271,99,5 shop Armor Dealer#lhz 851,2101:-1,2103:-1,2403:-1,2405:-1,2503:-1,2321:-1,2314:-1,2309:-1,2335:-1,2628:-1 lhz_in02,276,99,4 shop Weapon Dealer#lhz 851,1201:-1,1207:-1,1216:-1,1107:-1,1122:-1,1116:-1,1154:-1,1407:-1,1457:-1,1354:-1,1519:-1,13003:-1 @@ -254,7 +251,6 @@ payon_in01,5,49,7 shop Tool Dealer#pay 88,1750:-1,611:-1,501:-1,502:-1,503:-1,50 payon_in02,87,34,0 shop Tool Dealer#pay2 75,1750:-1,1751:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1 payon,159,96,4 shop Tool Dealer#pay3 88,1750:-1,501:-1,645:-1,601:-1,602:-1 payon,177,131,4 shop Pet Groomer#pay 124,537:-1,643:-1,10013:-1,10014:-1,554:-1,6114:-1,6113:-1,6110:-1,6115:-1,6100:-1,6098:-1,6112:-1,6104:-1,6108:-1,6111:-1,6095:-1,6099:-1,6096:-1,6097:-1,6094:-1 -payon,123,109,4 shop Trap Specialist#pay 66,7940:-1,12341:-1 //======================================================= // Prontera @@ -268,7 +264,6 @@ prontera,105,87,0 shop Gift Merchant#prt 91,734:-1,735:-1,736:-1,737:-1,746:-1 prontera,218,211,4 shop Pet Groomer#prt 125,537:-1,643:-1,10013:-1,10014:-1,554:-1,6114:-1,6113:-1,6110:-1,6115:-1,6100:-1,6098:-1,6112:-1,6104:-1,6108:-1,6111:-1,6095:-1,6099:-1,6096:-1,6097:-1,6094:-1 prontera,248,153,0 shop Doll Supplier#prt 85,740:-1,741:-1,742:-1 prontera,48,58,0 shop Vegetable Gardener#prt 91,515:-1,516:-1,535:-1 -//prontera,104,88,5 shop Stuff Gimme 880,616:-1 prt_church,108,124,4 shop Nun#prt 79,2608:-1,2216:-1,5092:-1,2323:-1,2325:-1,1501:-1,1504:-1,1507:-1,1510:-1,1513:-1,1519:-1 prt_fild05,290,221,2 shop Tool Dealer#prt 83,1750:-1,611:-1,501:-1,502:-1,506:-1,645:-1,601:-1,602:-1 prt_in,211,169,0 shop Wedding Shop Dealer#prt 71,744:-1,745:-1,2338:-1,2206:-1,7170:-1 @@ -277,7 +272,6 @@ prt_in,172,130,0 shop Weapon Dealer#prt 54,1750:-1,1751:-1,1701:-1,1201:-1,1204: prt_in,172,132,0 shop Armor Dealer#prt 48,2101:-1,2103:-1,2401:-1,2403:-1,2501:-1,2503:-1,2220:-1,2226:-1,2301:-1,2303:-1,2305:-1,2328:-1,2307:-1,2309:-1,2312:-1,2314:-1,2628:-1,2627:-1 prt_in,171,140,0 shop Weapon Dealer#prt2 47,1401:-1,1404:-1,1407:-1,1451:-1,1454:-1,1457:-1,1460:-1,1463:-1,1410:-1 prt_in,165,140,4 shop Weapon Dealer#prt3 66,1146:-1,1245:-1 -prt_in,109,68,4 shop Trap Specialist#prt 66,7940:-1,12341:-1 prt_monk,135,263,5 shop Weapon Dealer#prt4 726,1801:-1,1803:-1,1805:-1 //======================================================= @@ -287,7 +281,6 @@ ra_in01,175,364,3 shop Armor Dealer#ra 919,2101:-1,2103:-1,2403:-1,2405:-1,2503: ra_in01,257,269,3 shop Tool Dealer#ra 919,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,611:-1,1065:-1,610:-1 ra_in01,176,389,3 shop Weapon Dealer#ra 931,1201:-1,1207:-1,1216:-1,1107:-1,1122:-1,1116:-1,1154:-1,1407:-1,1457:-1,1354:-1,1519:-1,13003:-1,1601:-1,1604:-1,1607:-1 ra_in01,254,300,3 shop Fruit Gardener#ra 931,512:-1,513:-1 -ra_in01,263,281,4 shop Trap Specialist#ra 66,7940:-1,12341:-1 rachel,65,80,1 shop Vegetable Gardener#ra 919,515:-1,535:-1,516:-1 //======================================================= diff --git a/npc/pre-re/cities/alberta.txt b/npc/pre-re/cities/alberta.txt new file mode 100644 index 000000000..f5408b611 --- /dev/null +++ b/npc/pre-re/cities/alberta.txt @@ -0,0 +1,42 @@ +//===== rAthena Script ======================================= +//= Alberta Town Pre-Renewal +//===== By: ================================================== +//= Euphy +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Alberta town NPCs. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//============================================================ + +// cities/amatsu.txt +//============================================================ +alberta,245,93,3 duplicate(Sea_Captain_amatsu) Sea Captain#ama1 709 + +// cities/ayothaya.txt +//============================================================ +alberta,247,42,3 duplicate(Aibakthing_ayothaya) Aibakthing#ayo 843 + +// cities/gonryun.txt +//============================================================ +alberta,245,69,3 duplicate(Kunlun_Envoy_gonryun) Kunlun Envoy#gon 776 + +// cities/louyang.txt +//============================================================ +alberta,245,45,3 duplicate(Girl_louyang) Girl#0lou 815 + +// cities/moscovia.txt +//============================================================ +alberta,245,66,4 duplicate(PR_Officer_moscovia) Moscovia P.R. Officer#1 960 + +// quests/quests_alberta.txt +//============================================================ +alberta,247,122,4 duplicate(Sailor_alberta) Sailor#tur 709 +alberta,248,89,4 duplicate(Turtle_Scholar_alberta) Turtle Island Scholar 121 + +// quests/skills/merchant_skills.txt +//============================================================ +alberta,232,106,6 duplicate(Gershaun_alberta) Gershaun 57 diff --git a/npc/pre-re/cities/izlude.txt b/npc/pre-re/cities/izlude.txt index aa820ea56..0c304adaa 100644 --- a/npc/pre-re/cities/izlude.txt +++ b/npc/pre-re/cities/izlude.txt @@ -1,5 +1,5 @@ //===== rAthena Script ======================================= -//= Izlude Town Pre-renewal +//= Izlude Town Pre-Renewal //===== By: ================================================== //= Daegaladh //===== Current Version: ===================================== @@ -7,7 +7,7 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= Izlude town NPCs +//= Izlude town NPCs. //===== Additional Comments: ================================= //= 1.0 First Version. //= 1.1 Added bullet NPC duplicates. [Euphy] diff --git a/npc/pre-re/cities/jawaii.txt b/npc/pre-re/cities/jawaii.txt index 99c08fe00..1f2d0fb6a 100644 --- a/npc/pre-re/cities/jawaii.txt +++ b/npc/pre-re/cities/jawaii.txt @@ -1,5 +1,5 @@ //===== rAthena Script ======================================= -//= Jawaii Town Pre-renewal +//= Jawaii Town Pre-Renewal //===== By: ================================================== //= Daegaladh //===== Current Version: ===================================== @@ -7,7 +7,7 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= Jawaii town NPCs +//= Jawaii town NPCs. //===== Additional Comments: ================================= //= 1.0 First Version. //============================================================ diff --git a/npc/pre-re/scripts_athena.conf b/npc/pre-re/scripts_athena.conf index 17cf64182..875900bda 100644 --- a/npc/pre-re/scripts_athena.conf +++ b/npc/pre-re/scripts_athena.conf @@ -6,6 +6,7 @@ npc: npc/pre-re/airports/izlude.txt // --------------------------- Cities --------------------------- +npc: npc/pre-re/cities/alberta.txt npc: npc/pre-re/cities/izlude.txt npc: npc/pre-re/cities/jawaii.txt diff --git a/npc/quests/quests_alberta.txt b/npc/quests/quests_alberta.txt index 64f38d69d..556bde823 100644 --- a/npc/quests/quests_alberta.txt +++ b/npc/quests/quests_alberta.txt @@ -3,21 +3,19 @@ //===== By: ================================================== //= kobra_k88 //===== Current Version: ===================================== -//= 2.4 +//= 2.5 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= +//= [Official Conversion] //= Dolls Quest //= Boy's Cap Quest //= Antlers Quest //= Bao Bao, Cresent Hairpin, Fashionbale Glasses, Heart Hairpin Quests //= Hat of Sun God, Sunday Hat, Mage Hat, Magician Hat Quests -//= [Aegis conversion] //= Turtle Island Quests -//= [Aegis Conversion] //= Alberta Boy //===== Additional Comments: ================================= -//= Fully working //= 1.1 Fixed Spore Doll exploit, Gramp's Tiger skin label bug //= 1.3 Fixed item ID 7031 -> 7013 //= 1.4 Fixed a bug, Fixed Exploits, Optimized [Lupus] @@ -33,6 +31,7 @@ //= 2.2 Updated Gotan to be compliant with misc_quiest var. [L0ne_W0lf] //= 2.3 Updated heardgear Quest NPCs. [L0ne_W0lf] //= 2.4 Updated 'Doll Quest' to match AEGIS script. [Kisuka] +//= 2.5 Moved Alberta NPC to pre-re/re paths. [Euphy] //============================================================ // Doll Quest @@ -1105,7 +1104,7 @@ alberta_in,23,104,4 script Grandpa Turtle#tur 120,{ } } -alberta,244,118,4 script Sailor#tur 709,{ +- script ::Sailor_alberta -1,{ if (TURTLE || (MISC_QUEST & 65536)) { mes "[Gotanblue]"; mes "Heh..."; @@ -1239,12 +1238,15 @@ tur_dun01,165,29,4 script Sailor#tur2 709,{ mes "I certainly hope you've found what you were looking for. Alright, I guess there's always a time for an adventurer to return home..."; next; mes "^3355FF* Choo Choo *^000000"; - warp "alberta",238,112; + if (checkre(0)) + warp "alberta",238,112; + else + warp "alberta",241,115; } close; } -alberta,246,114,4 script Turtle Island Scholar 121,{ +- script ::Turtle_Scholar_alberta -1,{ mes "[Jornadan Niliria]"; mes "Every single place"; mes "has its own unique"; diff --git a/npc/quests/skills/merchant_skills.txt b/npc/quests/skills/merchant_skills.txt index def5ec6aa..9fb596132 100644 --- a/npc/quests/skills/merchant_skills.txt +++ b/npc/quests/skills/merchant_skills.txt @@ -3,16 +3,16 @@ //===== By: ================================================== //= kobra_k88 //===== Current Version: ===================================== -//= 1.7 +//= 1.8 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= Quests for skills: Crazy Uproar, Change Cart, Cart -// Revolution +//= Quests for skills: Crazy Uproar, Change Cart, Cart Revolution //===== Additional Comments: ================================= //= 1.5 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] //= 1.6 Updated to latest available official file. [Masao] //= 1.7 Fixed JobLevel requirements. [Euphy] +//= 1.8 Moved Alberta NPC to pre-re/re paths. [Euphy] //============================================================ alberta,83,96,5 script Necko 98,7,7,{ @@ -332,7 +332,7 @@ alberta,119,221,6 script Charlron 107,{ close; } -alberta,232,103,6 script Gershaun 57,{ +- script ::Gershaun_alberta -1,{ if (BaseClass == Job_Merchant) { if (getskilllv("MC_CARTREVOLUTION") == 1) { mes "[Gershaun]"; diff --git a/npc/re/cities/alberta.txt b/npc/re/cities/alberta.txt new file mode 100644 index 000000000..a0a417510 --- /dev/null +++ b/npc/re/cities/alberta.txt @@ -0,0 +1,42 @@ +//===== rAthena Script ======================================= +//= Alberta Town Renewal +//===== By: ================================================== +//= Euphy +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Alberta town NPCs. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//============================================================ + +// cities/amatsu.txt +//============================================================ +alberta,246,74,3 duplicate(Sea_Captain_amatsu) Sea Captain#ama1 709 + +// cities/ayothaya.txt +//============================================================ +alberta,246,29,3 duplicate(Aibakthing_ayothaya) Aibakthing#ayo 843 + +// cities/gonryun.txt +//============================================================ +alberta,246,62,3 duplicate(Kunlun_Envoy_gonryun) Kunlun Envoy#gon 776 + +// cities/louyang.txt +//============================================================ +alberta,246,40,3 duplicate(Girl_louyang) Girl#0lou 815 + +// cities/moscovia.txt +//============================================================ +alberta,246,51,4 duplicate(PR_Officer_moscovia) Moscovia P.R. Officer#1 960 + +// quests/quests_alberta.txt +//============================================================ +alberta,244,118,4 duplicate(Sailor_alberta) Sailor#tur 709 +alberta,246,114,4 duplicate(Turtle_Scholar_alberta) Turtle Island Scholar 121 + +// quests/skills/merchant_skills.txt +//============================================================ +alberta,232,103,6 duplicate(Gershaun_alberta) Gershaun 57 diff --git a/npc/re/cities/brasilis.txt b/npc/re/cities/brasilis.txt index d005a72f3..389c5863f 100644 --- a/npc/re/cities/brasilis.txt +++ b/npc/re/cities/brasilis.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== -//= 1.2 +//= 1.3 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -13,8 +13,10 @@ //= 1.0 First version. Transportation and Basic NPCs. //= 1.1 Fixed Zeny not being removed for payment. [Kisuka] //= 1.2 Updated dialog, added Ice Cream Maker. [L0ne_W0lf] +//= 1.3 Moved Alberta NPC to pre-re/re paths. [Euphy] //============================================================ +/* Pre-Renewal coordinates: alberta,247,115,3 */ alberta,246,82,3 script Crewman#bra2 100,{ mes "[Crewman]"; mes "Hey, have you heard of a place called Brasilis?"; @@ -55,7 +57,10 @@ brasilis,316,57,3 script Crewman#bra1 100,{ mes "[Crewman]"; mes "I sure do miss home."; close2; - warp "alberta",243,82; + if (checkre(0)) + warp "alberta",243,82; + else + warp "alberta",244,115; end; case 2: mes "[Crewman]"; diff --git a/npc/re/cities/izlude.txt b/npc/re/cities/izlude.txt index 9419d8486..e5b3d1df0 100644 --- a/npc/re/cities/izlude.txt +++ b/npc/re/cities/izlude.txt @@ -7,10 +7,9 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= Izlude Town Renewal NPC's +//= Izlude town NPCs. //===== Additional Comments: ================================= -//= 1.0 First Version. Still missing many new NPC's and -//= their dialogues. [Masao] +//= 1.0 First Version. Still missing many new NPCs and their dialogues. [Masao] //= 1.1 Added bullet NPC duplicates. [Euphy] //============================================================ diff --git a/npc/re/cities/jawaii.txt b/npc/re/cities/jawaii.txt index 04744d1ee..49263d22d 100644 --- a/npc/re/cities/jawaii.txt +++ b/npc/re/cities/jawaii.txt @@ -7,7 +7,7 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= Jawaii Town Npcs +//= Jawaii town NPCs. //===== Additional Comments: ================================= //= 1.0 First Version. Renewal coordinates by Masao. //============================================================ diff --git a/npc/re/merchants/refine.txt b/npc/re/merchants/refine.txt new file mode 100644 index 000000000..70e666f82 --- /dev/null +++ b/npc/re/merchants/refine.txt @@ -0,0 +1,499 @@ +//===== rAthena Script ======================================= +//= Renewal Refining NPCs +//===== By: ================================================== +//= rAthena Dev Team +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Renewal-specific refining NPCs and material merchants. +//===== Additional Comments: ================================= +//= 1.0 Moved some scripts to Renewal file, optimized "Austry" NPC. [Euphy] +//============================================================ + +// +11 and above Refiners +//============================================================ +prt_in,90,72,5 script Bestry#prt 826,{ + callfunc "refinenew","Bestry",0,0; + end; +} +morocc_in,64,41,5 script Bestry#moc 826,{ + callfunc "refinenew","Bestry",0,0; + end; +} +payon_in01,18,132,3 script Bestry#pay 826,{ + callfunc "refinenew","Bestry",0,0; + end; +} + +//============================================================ +// +11 and above Refiner Function +//============================================================ +//= To allow auto safe refining/multiple refining set the +//= second argument to '1' in the function call. +//= If you enable this function, be sure to edit the value of +//= .@safe to the max safe refine in refine_db.txt as well. +//= +//= The official script uses a command which seems to generate a +//= random result upon refining: success, downgrade, or failure. +//= To enable that feature, set the third argument to '1' in the +//= function call. Otherwise, the chance in refine_db.txt is used. +//============================================================ +function script refinenew { + mes "["+ getarg(0) +"]"; + mes "I am the best Blacksmith ever!"; + mes "I don't work with normal, boring items."; + mes "But only with items that are level 10 or higher!"; + next; + mes "["+ getarg(0) +"]"; + mes "Anyway, you may use my services if your item is lv 10 or higher."; + mes "What do you want to have refined?"; + next; + + setarray .@position$[1],"Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3"; + set .@menu$,""; + for(set .@i,1; .@i<=10; set .@i,.@i+1) { + if(getequipisequiped(.@i)) + set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]"; + set .@menu$, .@menu$ + ":"; + } + set .@part,select(.@menu$); + if(!getequipisequiped(.@part)) { + mes "[" + getarg(0) + "]"; + mes "You're not wearing"; + mes "anything there that"; + mes "I can refine."; + emotion e_an; + close; + } + //Check if the item is refinable... + if(!getequipisenableref(.@part)) { + mes "[" + getarg(0) + "]"; + mes "I don't think I can"; + mes "refine this item at all..."; + close; + } + //Check if the item is identified... (Don't know why this is in here... but kept it anyway) + if(!getequipisidentify(.@part)) { + mes "[" + getarg(0) + "]"; + mes "You can't refine this"; + mes "if you haven't appraised"; + mes "it first. Make sure your"; + mes "stuff is identified before"; + mes "I can refine it."; + close; + } + //Check to see if the items is at least +10 + if(getequiprefinerycnt(.@part) < 10) { + mes "["+ getarg(0) +"]"; + mes "I said I don't work with Equipment under lv. 10."; + close; + } + if(getequiprefinerycnt(.@part) >= 20) { + mes "["+ getarg(0) +"]"; + mes "I can't refine this"; + mes "any more. This is as"; + mes "refined as it gets!"; + close; + } + set .@refineitemid, getequipid(.@part); // save id of the item + set .@refinerycnt, getequiprefinerycnt(.@part); //save refinery count + if ((getequipweaponlv(.@part) >= 1) && (getequipweaponlv(.@part) <= 4)) { + set .@material,6224; + set .@price,100000; + set .@safe,10; + mes "["+ getarg(0) +"]"; + mes "Hmm a weapon, is that ok?"; + mes "If you want to refine this weapon,"; + mes "I will need 1 ^003366Bradium^000000 and 100,000 zeny."; + mes "Are you sure you want to continue?"; + } else { + set .@material,6223; + set .@price,100000; + set .@safe,10; + mes "["+ getarg(0) +"]"; + mes "Hmm an armor, is that ok?"; + mes "If you want to refine this armor,"; + mes "I will need 1 ^003366Carnium^000000 and 100,000 zeny."; + mes "Are you sure you want to continue?"; + } + next; + if(select("Yes:No") == 2){ + mes "["+ getarg(0) +"]"; + mes "Well, no challenge is one way..."; + mes "No risk... that could be wise."; + close; + } + if(getarg(1) != 1) { + if ((getequipweaponlv(.@part) >= 1) && (getequipweaponlv(.@part) <= 4)) { + mes "["+ getarg(0) +"]"; + mes "This weapon already has been refined serveral times."; + mes "It could be destroyed if you try more."; + mes "It won't break 100%, but is has a small chance."; + next; + mes "["+ getarg(0) +"]"; + mes "You could have the upgrade level of the weapon decreased,"; + mes "or if it breaks, you will lose ^FF0000any cards^000000 or special properties added to it."; + } else { + mes "["+ getarg(0) +"]"; + mes "This armor already has been refined serveral times."; + mes "It could be destroyed if you try more."; + mes "It won't break 100%, but is has a small chance."; + next; + mes "["+ getarg(0) +"]"; + mes "You could have the upgrade level of the armor decreased,"; + mes "or if it breaks, you will lose ^FF0000any cards^000000 or special properties added to it."; + } + next; + mes "["+ getarg(0) +"]"; + mes "Do you want me to refine it?"; + mes "I think I gave you enough warnings."; + next; + if(select("Yes.:No.") == 2) { + mes "["+ getarg(0) +"]"; + mes "Well, no challenge is one way.."; + mes "No risk.. that could be wise."; + close; + } + if(countitem(.@material) < 1 || Zeny < .@price) { + mes "["+ getarg(0) +"]"; + mes "Hm, it seems you don't have enough materials or money."; + mes "Please check it out."; + close; + } + set Zeny,Zeny - .@price; + delitem .@material,1; + if(getequipisequiped(.@part) == 0) { // hacker has removed the item (not changed, why?) + mes "[" + getarg(0) + "]"; + mes "Look here... you don't have any items on..."; + close; + } + if(getequiprefinerycnt(.@part) != .@refinerycnt || getequipid(.@part) != .@refineitemid) { // hacker has changed the item + mes "[" + getarg(0) + "]"; + emotion e_an; + mes "Wait a second..."; + mes "Do you think I'm stupid?!"; + mes "You switched the item while I wasn't looking! Get out of here!"; + close; + } + if(getarg(2) == 1){ + set .@rand,rand(1,3); + if (.@rand == 1) { + mes "Clang! Clang! Clang! Clang!"; + successrefitem .@part; + next; + emotion e_no1; + mes "["+ getarg(0) +"]"; + mes "Good! Succes!!!"; + mes "I am the best Blacksmith."; + close; + } + if (.@rand == 2) { + mes "["+ getarg(0) +"]"; + mes "Clang! Clang! Clang! Clang!"; + downrefitem .@part; + next; + emotion (!rand(5))?e_cash:e_omg; + mes "["+ getarg(0) +"]"; + mes "Ahhh!!!"; + next; + mes "["+ getarg(0) +"]"; + mes "Oh my!"; + mes "The upgrade level has dropped..."; + mes "There could've been made an mistake even though I am the best ever."; + mes "It was out of my hands."; + next; + mes "["+ getarg(0) +"]"; + mes "I will do a better job next time! Don't worry!"; + close; + } + mes "["+ getarg(0) +"]"; + mes "Clang! Clang! Clang!"; + failedrefitem .@part; + next; + emotion (!rand(5))?e_cash:e_omg; + mes "["+ getarg(0) +"]"; + mes "Hmmm!"; + next; + mes "["+ getarg(0) +"]"; + mes "Oh my! I've failed to refine stuff..."; + mes "I didn't mean it!"; + mes "There could've been made an mistake even though I am the best ever."; + mes "It was out of my hands."; + next; + mes "["+ getarg(0) +"]"; + mes "I will do a better job next time! Don't worry!"; + close; + } + set .@rand,rand(100); + if (getequippercentrefinery(.@part) > .@rand) { + mes "Clang! Clang! Clang! Clang!"; + successrefitem .@part; + next; + emotion e_no1; + mes "["+ getarg(0) +"]"; + mes "Good! Succes!!!"; + mes "I am the best Blacksmith."; + close; + } + if (getequippercentrefinery(.@part) < .@rand) { + mes "["+ getarg(0) +"]"; + mes "Clang! Clang! Clang! Clang!"; + downrefitem .@part; + next; + emotion (!rand(5))?e_cash:e_omg; + mes "["+ getarg(0) +"]"; + mes "Ahhh!!!"; + next; + mes "["+ getarg(0) +"]"; + mes "Oh my!"; + mes "The upgrade level has dropped..."; + mes "There could've been made an mistake even though I am the best ever."; + mes "It was out of my hands."; + next; + mes "["+ getarg(0) +"]"; + mes "I will do a better job next time! Don't worry!"; + close; + } + mes "["+ getarg(0) +"]"; + mes "Clang! Clang! Clang!"; + failedrefitem .@part; + next; + emotion (!rand(5))?e_cash:e_omg; + mes "["+ getarg(0) +"]"; + mes "Hmmm!"; + next; + mes "["+ getarg(0) +"]"; + mes "Oh my! I've failed to refine stuff..."; + mes "I didn't mean it!"; + mes "There could've been made an mistake even though I am the best ever."; + mes "It was out of my hands."; + next; + mes "["+ getarg(0) +"]"; + mes "I will do a better job next time! Don't worry!"; + close; + } +// New +11 and above Refining Functions ======================== + if(getequiprefinerycnt(.@part) < .@safe) { + mes "[" + getarg(0) + "]"; + 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..."); + } else + set .@menu2,2; + switch(.@menu2){ + case 1: + set .@refinecnt,.@safe - getequiprefinerycnt(.@part); + break; + case 2: + next; + mes "[" + getarg(0) + "]"; + 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 "I can't refine this item that many times."; + close; + } + if(.@refinecheck > .@safe) { + set .@refinecheck,.@refinecheck - .@safe; + mes "[" + getarg(0) + "]"; + 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 "You said so... So be it."; + close; + } + } + break; + case 3: + next; + mes "[" + getarg(0) + "]"; + mes "You said so... So be it."; + close; + } + set .@fullprice,.@price * .@refinecnt; + mes "[" + getarg(0) + "]"; + mes "That will cost you " + .@refinecnt + " " + getitemname(.@material) + " and " + .@fullprice + " Zeny. Is that ok?"; + next; + if(select("Yes","No...") == 2){ + mes "[" + getarg(0) + "]"; + mes "You said so... So be it."; + close; + } + if(countitem(.@material) < .@refinecnt || Zeny < .@fullprice) { + mes "[" + getarg(0) + "]"; + mes "Is that all you got? Unfortunately I can't work for you at a lower price. Try putting yourself in my shoes."; + close; + } + set Zeny,Zeny - .@fullprice; + delitem .@material,.@refinecnt; + while(.@refinecnt){ + if (getequipisequiped(.@part) == 0) { + mes "[" + getarg(0) + "]"; + mes "Look here... you don't have any items on..."; + close; + } + if (getequipid(.@part) != .@refineitemid || (.@menu2 == 1 && getequippercentrefinery(.@part) < 100)) { + mes "[" + getarg(0) + "]"; + 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!!"; + close; + } + if(getarg(2) == 1){ + set .@rand,rand(1,3); + if (.@rand == 1) { + mes "["+ getarg(0) +"]"; + mes "Clang! Clang! Clang! Clang!"; + successrefitem .@part; + next; + emotion e_no1; + mes "["+ getarg(0) +"]"; + mes "Good! Succes!!!"; + mes "I am the best Blacksmith."; + close; + } + if (.@rand == 2) { + mes "["+ getarg(0) +"]"; + mes "Clang! Clang! Clang! Clang!"; + downrefitem .@part; + next; + emotion (!rand(5))?e_cash:e_omg; + mes "["+ getarg(0) +"]"; + mes "Ahhh!!!"; + next; + mes "["+ getarg(0) +"]"; + mes "Oh my!"; + mes "The upgrade level has dropped..."; + mes "There could've been made an mistake even though I am the best ever."; + mes "It was out of my hands."; + next; + mes "["+ getarg(0) +"]"; + mes "I will do a better job next time! Don't worry!"; + close; + } + mes "["+ getarg(0) +"]"; + mes "Clang! Clang! Clang!"; + failedrefitem .@part; + next; + emotion (!rand(5))?e_cash:e_omg; + mes "["+ getarg(0) +"]"; + mes "Hmmm!"; + next; + mes "["+ getarg(0) +"]"; + mes "Oh my! I've failed to refine stuff..."; + mes "I didn't mean it!"; + mes "There could've been made an mistake even though I am the best ever."; + mes "It was out of my hands."; + next; + mes "["+ getarg(0) +"]"; + mes "I will do a better job next time! Don't worry!"; + close; + } + set .@rand,rand(100); + if (getequippercentrefinery(.@part) > .@rand) { + mes "Clang! Clang! Clang! Clang!"; + successrefitem .@part; + next; + emotion e_no1; + mes "["+ getarg(0) +"]"; + mes "Good! Succes!!!"; + mes "I am the best Blacksmith."; + close; + } + if (getequippercentrefinery(.@part) < .@rand) { + mes "["+ getarg(0) +"]"; + mes "Clang! Clang! Clang! Clang!"; + downrefitem .@part; + next; + emotion (!rand(5))?e_cash:e_omg; + mes "["+ getarg(0) +"]"; + mes "Ahhh!!!"; + next; + mes "["+ getarg(0) +"]"; + mes "Oh my!"; + mes "The upgrade level has dropped..."; + mes "There could've been made an mistake even though I am the best ever."; + mes "It was out of my hands."; + next; + mes "["+ getarg(0) +"]"; + mes "I will do a better job next time! Don't worry!"; + close; + } + mes "["+ getarg(0) +"]"; + mes "Clang! Clang! Clang!"; + failedrefitem .@part; + next; + emotion (!rand(5))?e_cash:e_omg; + mes "["+ getarg(0) +"]"; + mes "Hmmm!"; + next; + mes "["+ getarg(0) +"]"; + mes "Oh my! I've failed to refine stuff..."; + mes "I didn't mean it!"; + mes "There could've been made an mistake even though I am the best ever."; + mes "It was out of my hands."; + next; + mes "["+ getarg(0) +"]"; + mes "I will do a better job next time! Don't worry!"; + close; + } + mes "[" + getarg(0) + "]"; + mes "All finished... Come again soon."; + close; +} + +// Ori/Elu to Carnium/Bradium Refiners +//============================================================ +- script Austry#ref -1,{ + mes "[Austry]"; + mes "If you bring me 3"; + mes "Oridecon or Elunium"; + mes "I can exchange them for"; + mes "Bradium or Carnium."; + mes "Just give me 50,000z."; + next; + switch(select("Oridecon to Bradium.:Elunium to Carnium.:Purified Bradium to Carnium.:No thanks.")) { + case 1: + setarray .@i[0],984,3,6224; //Oridecon -> Bradium + break; + case 2: + setarray .@i[0],985,3,6223; //Elunium -> Carnium + break; + case 3: + setarray .@i[0],6090,1,6223; //Purified_Bradium -> Carnium + break; + case 4: + mes "[Austry]"; + mes "Hmm..."; + close; + } + if (countitem(.@i[0]) >= .@i[1] && Zeny >= 50000) { + delitem .@i[0],.@i[1]; + set Zeny, Zeny - 50000; + getitem .@i[2],1; + mes "[Austry]"; + if (.@i[0] == 6090) { + mes "Refining with Purified Bradium"; + mes "is a little expensive. I can"; + mes "trade it for some Carnium."; + } else + mes "Ok! Here is your "+getitemname(.@i[2])+"."; + mes "Take it and use it well."; + close; + } + mes "[Austry]"; + mes "You better not be trying"; + mes "to cheat me because you"; + mes "don't have enough zeny"; + mes "or "+getitemname(.@i[0])+"."; + close; +} +prt_in,85,71,5 duplicate(Austry#ref) Austry#prt 826 +payon_in01,14,125,5 duplicate(Austry#ref) Austry#pay 826 +morocc_in,60,38,5 duplicate(Austry#ref) Austry#moc 826 diff --git a/npc/re/merchants/shops.txt b/npc/re/merchants/shops.txt index c07a7df7f..f9bde7a99 100644 --- a/npc/re/merchants/shops.txt +++ b/npc/re/merchants/shops.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= rAthena Dev Team //===== Current Version: ===================================== -//= 1.1 +//= 1.2 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -11,14 +11,27 @@ //===== Additional Comments: ================================= //= 1.0 Moved some merchants to a separate renewal file. [Kenpachi] //= 1.1 Added Dicastes merchants. [Joseph] +//= 1.2 Moved more shops to Renewal file. [Euphy] //============================================================ //======================================================= +// Comodo +//======================================================= +comodo,106,213,5 shop Tropic Fruit Dealer 724,6258:-1 +comodo,196,162,3 shop Harive#candy 479,11513:-1,6144:-1 + +//======================================================= // Einbroch //======================================================= einbroch,122,250,4 shop Black Marketeer#ein 49,2139:-1,2800:-1,2801:-1,2802:-1,2803:-1,2804:-1,2805:-1,2806:-1,2807:-1,18000:-1,18001:-1,18002:-1,18003:-1,18004:-1,12392:-1,12393:-1,12394:-1,6145:-1,6146:-1,6147:-1,6186:-1,2808:-1 //======================================================= +// El Dicastes +//======================================================= +dic_in01,238,107,5 shop Peddler#dic 900,601:-1,602:-1,611:-1,610:-1 +dicastes01,207,200,6 shop Points Merchant#dic 66,6360:-1,6361:-1,6362:-1,6363:-1 + +//======================================================= // Izlude //======================================================= izlude,97,146,0 shop Butcher#iz 54,517:-1 @@ -27,8 +40,14 @@ izlude,95,145,6 shop Vendor from Milk Ranch#i 90,519:-1 izlude,174,164,4 shop Pet Groomer#iz 124,537:-1,643:-1,10013:-1,10014:-1,554:-1,6113:-1,6114:-1,6115:-1 //======================================================= +// Juno +//======================================================= +s_atelier,114,117,1 shop Part-Timer#sc_yuno 92,6123:-1,6120:-1 + +//======================================================= // Lighthalzen //======================================================= +lighthalzen,337,240,4 shop Trap Specialist#lhz 66,7940:-1,12341:-1 lhz_in03,181,17,4 shop Black Marketeer#lhz 49,2139:-1,2800:-1,2801:-1,2802:-1,2803:-1,2804:-1,2805:-1,2806:-1,2807:-1,18000:-1,18001:-1,18002:-1,18003:-1,18004:-1,12392:-1,12393:-1,12394:-1,6145:-1,6146:-1,6147:-1,6186:-1,2808:-1 s_atelier,15,65,5 shop Part-Timer#sc_lgt 89,6123:-1,6120:-1 @@ -39,19 +58,21 @@ mid_camp,129,284,4 shop Trap Specialist#mid 66,7940:-1,12341:-1 mid_camp,184,263,4 shop Black Marketeer#mid 49,2139:-1,2800:-1,2801:-1,2802:-1,2803:-1,2804:-1,2805:-1,2806:-1,2807:-1,18000:-1,18001:-1,18002:-1,18003:-1,18004:-1,12392:-1,12393:-1,12394:-1,6145:-1,6146:-1,6147:-1,6186:-1,2808:-1 //======================================================= +// Payon +//======================================================= +payon,123,109,4 shop Trap Specialist#pay 66,7940:-1,12341:-1 + +//======================================================= // Prontera //======================================================= +//prontera,104,88,5 shop Stuff Gimme 880,616:-1 +prt_in,109,68,4 shop Trap Specialist#prt 66,7940:-1,12341:-1 prt_in,175,137,4 shop Black Marketeer#prt 49,2139:-1,2800:-1,2801:-1,2802:-1,2803:-1,2804:-1,2805:-1,2806:-1,2807:-1,18000:-1,18001:-1,18002:-1,18003:-1,18004:-1,12392:-1,12393:-1,12394:-1,6145:-1,6146:-1,6147:-1,6186:-1,2808:-1 s_atelier,17,110,1 shop Part-Timer#sc_prt 67,6123:-1,6120:-1 //======================================================= // Rachel //======================================================= +ra_in01,263,281,4 shop Trap Specialist#ra 66,7940:-1,12341:-1 ra_in01,257,266,4 shop Black Marketeer#ra 49,2139:-1,2800:-1,2801:-1,2802:-1,2803:-1,2804:-1,2805:-1,2806:-1,2807:-1,18000:-1,18001:-1,18002:-1,18003:-1,18004:-1,12392:-1,12393:-1,12394:-1,6145:-1,6146:-1,6147:-1,6186:-1,2808:-1 s_atelier,137,60,3 shop Part-Timer#sc_ra 70,6123:-1,6120:-1 - -//======================================================= -// Dicastes -//======================================================= -dic_in01,238,107,5 shop Peddler#dic 900,601:-1,602:-1,611:-1,610:-1 -dicastes01,207,200,6 shop Points Merchant#dic 66,6360:-1,6361:-1,6362:-1,6363:-1 diff --git a/npc/re/scripts_athena.conf b/npc/re/scripts_athena.conf index 79e5e4534..4c9fb5975 100644 --- a/npc/re/scripts_athena.conf +++ b/npc/re/scripts_athena.conf @@ -6,6 +6,7 @@ npc: npc/re/airports/izlude.txt // --------------------------- Cities --------------------------- +npc: npc/re/cities/alberta.txt npc: npc/re/cities/brasilis.txt npc: npc/re/cities/dewata.txt npc: npc/re/cities/dicastes.txt @@ -47,6 +48,7 @@ npc: npc/re/merchants/3rd_trader.txt npc: npc/re/merchants/diamond.txt npc: npc/re/merchants/flute.txt npc: npc/re/merchants/inn.txt +npc: npc/re/merchants/refine.txt npc: npc/re/merchants/renters.txt npc: npc/re/merchants/shops.txt |