summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreuphyy <euphyy@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-12-24 17:30:14 +0000
committereuphyy <euphyy@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-12-24 17:30:14 +0000
commitea1a321438e75b66b3fc8148b6eaa41d049761dd (patch)
tree80dfac0c03ba915146e52cf10fe91c4b5558da9f
parent90e5648a7865e72846c9a41754c4f71e89a1739d (diff)
downloadhercules-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
-rw-r--r--npc/cities/amatsu.txt14
-rw-r--r--npc/cities/ayothaya.txt10
-rw-r--r--npc/cities/gonryun.txt10
-rw-r--r--npc/cities/louyang.txt14
-rw-r--r--npc/cities/moscovia.txt10
-rw-r--r--npc/custom/quests/quest_shop.txt12
-rw-r--r--npc/merchants/refine.txt631
-rw-r--r--npc/merchants/shops.txt11
-rw-r--r--npc/pre-re/cities/alberta.txt42
-rw-r--r--npc/pre-re/cities/izlude.txt4
-rw-r--r--npc/pre-re/cities/jawaii.txt4
-rw-r--r--npc/pre-re/scripts_athena.conf1
-rw-r--r--npc/quests/quests_alberta.txt16
-rw-r--r--npc/quests/skills/merchant_skills.txt8
-rw-r--r--npc/re/cities/alberta.txt42
-rw-r--r--npc/re/cities/brasilis.txt9
-rw-r--r--npc/re/cities/izlude.txt5
-rw-r--r--npc/re/cities/jawaii.txt2
-rw-r--r--npc/re/merchants/refine.txt499
-rw-r--r--npc/re/merchants/shops.txt35
-rw-r--r--npc/re/scripts_athena.conf2
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