diff --git a/db/re/item_db_etc.yml b/db/re/item_db_etc.yml index 6ca14104a5..0ccb1aba88 100644 --- a/db/re/item_db_etc.yml +++ b/db/re/item_db_etc.yml @@ -18483,7 +18483,7 @@ Body: Flags: BuyingStore: true - Id: 6327 - AegisName: Limited_High_Density_Bradium + AegisName: LI_HD_Bradium Name: (Limited)High Density Bradium Type: Etc Buy: 20 @@ -23063,7 +23063,7 @@ Body: NoMail: true NoAuction: true - Id: 6906 - AegisName: Limited_High_Density_Kalunium + AegisName: LI_HD_Carnium Name: (Limited)High Density Kalunium Type: Etc Buy: 20 @@ -23111,7 +23111,7 @@ Body: NoMail: true NoAuction: true - Id: 6910 - AegisName: Limited_Purified_Oridecon + AegisName: LI_HD_Oridecon Name: (Limited) Purified Oridecon Type: Etc Buy: 10 @@ -23125,7 +23125,7 @@ Body: NoMail: true NoAuction: true - Id: 6911 - AegisName: Limited_Purified_Eluminium + AegisName: LI_HD_Elunium Name: (Limited) Purified Eluminium Type: Etc Buy: 10 diff --git a/npc/re/merchants/barters.yml b/npc/re/merchants/barters.yml index 200e1b4fc3..74e43871af 100644 --- a/npc/re/merchants/barters.yml +++ b/npc/re/merchants/barters.yml @@ -51,3 +51,4 @@ Footer: - Path: npc/re/merchants/barters/quests_16_1.yml - Path: npc/re/merchants/barters/quests_16_2.yml - Path: npc/re/merchants/barters/quests_17_1.yml + - Path: npc/re/merchants/barters/refine.yml diff --git a/npc/re/merchants/barters/refine.yml b/npc/re/merchants/barters/refine.yml new file mode 100644 index 0000000000..3fb3a70e2f --- /dev/null +++ b/npc/re/merchants/barters/refine.yml @@ -0,0 +1,222 @@ +# This file is a part of rAthena. +# Copyright(C) 2022 rAthena Development Team +# https://rathena.org - https://github.com/rathena +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +########################################################################### +# Barter Database +########################################################################### +# +# Barter Settings +# +########################################################################### +# - Name NPC name. +# Map Map name. (Default: not on a map) +# X Map x coordinate. (Default: 0) +# Y Map y coordinate. (Default: 0) +# Direction Direction the NPC is looking. (Default: North) +# Sprite Sprite name of the NPC. (Default: FakeNpc) +# Items: List of sold items. +# - Index Index of the item inside the shop. (0-...) +# Maximum index depends on client. +# Item Aegis name of the item. +# Stock Amount of item in stock. 0 means unlimited. (Default: 0) +# Zeny Cost of them item in Zeny. (Default: 0) +# RequiredItems: List of required items (Optional) +# - Index Index of the required item. (0-4) +# Item Aegis name of required item. +# Amount Amount of required item. (Default: 1) +# Refine Refine level of required item. (Default: 0) +########################################################################### + +Header: + Type: BARTER_DB + Version: 1 + +Body: + - Name: barter_refine_1 + Items: + - Index: 0 + Item: Oridecon + RequiredItems: + - Index: 0 + Item: Oridecon_Stone + Amount: 5 + - Index: 1 + Item: Elunium + RequiredItems: + - Index: 0 + Item: Elunium_Stone + Amount: 5 + - Index: 2 + Item: Bradium + Zeny: 50000 + RequiredItems: + - Index: 0 + Item: Oridecon + Amount: 3 + - Index: 3 + Item: Carnium + Zeny: 50000 + RequiredItems: + - Index: 0 + Item: Elunium + Amount: 3 + - Index: 4 + Item: Carnium + Zeny: 50000 + RequiredItems: + - Index: 0 + Item: Purified_Bradium + - Name: barter_refine_2 + Items: + - Index: 0 + Item: Ethernium + Zeny: 10000 + RequiredItems: + - Index: 0 + Item: Etel_Dust + - Index: 1 + Item: Elunium + - Index: 1 + Item: Etherdeocon + Zeny: 10000 + RequiredItems: + - Index: 0 + Item: Etel_Dust + - Index: 1 + Item: Oridecon + - Index: 2 + Item: Etel_Bradium + Zeny: 50000 + RequiredItems: + - Index: 0 + Item: Etel_Dust + Amount: 3 + - Index: 1 + Item: Bradium + - Index: 3 + Item: Etel_Carnium + Zeny: 50000 + RequiredItems: + - Index: 0 + Item: Etel_Dust + Amount: 3 + - Index: 1 + Item: Carnium + - Index: 4 + Item: Enriched_Ethernium + Zeny: 20000 + RequiredItems: + - Index: 0 + Item: Etel_Dust + Amount: 2 + - Index: 1 + Item: Enriched_Elunium + - Index: 5 + Item: Enriched_Etherdeocon + Zeny: 20000 + RequiredItems: + - Index: 0 + Item: Etel_Dust + Amount: 2 + - Index: 1 + Item: Enriched_Oridecon + - Index: 6 + Item: HD_Ethernium + Zeny: 50000 + RequiredItems: + - Index: 0 + Item: Etel_Dust + Amount: 3 + - Index: 1 + Item: HD_Elunium + - Index: 7 + Item: HD_Etherdeocon + Zeny: 50000 + RequiredItems: + - Index: 0 + Item: Etel_Dust + Amount: 3 + - Index: 1 + Item: HD_Oridecon + - Index: 8 + Item: HD_Ethernium + Zeny: 50000 + RequiredItems: + - Index: 0 + Item: Etel_Dust + Amount: 3 + - Index: 1 + Item: LI_HD_Elunium + - Index: 9 + Item: HD_Etherdeocon + Zeny: 50000 + RequiredItems: + - Index: 0 + Item: Etel_Dust + Amount: 3 + - Index: 1 + Item: LI_HD_Oridecon + - Index: 10 + Item: HD_Etel_Bradium + Zeny: 50000 + RequiredItems: + - Index: 0 + Item: Etel_Dust + Amount: 3 + - Index: 1 + Item: HD_Bradium + - Index: 11 + Item: HD_Etel_Carnium + Zeny: 50000 + RequiredItems: + - Index: 0 + Item: Etel_Dust + Amount: 3 + - Index: 1 + Item: HD_Carnium + - Index: 12 + Item: HD_Etel_Bradium + Zeny: 50000 + RequiredItems: + - Index: 0 + Item: Etel_Dust + Amount: 3 + - Index: 1 + Item: LI_HD_Bradium + - Index: 13 + Item: HD_Etel_Carnium + Zeny: 50000 + RequiredItems: + - Index: 0 + Item: Etel_Dust + Amount: 3 + - Index: 1 + Item: LI_HD_Carnium + - Name: barter_refine_3 + Items: + - Index: 0 + Item: Shadowdecon + RequiredItems: + - Index: 0 + Item: Shadowdecon_Ore + Amount: 20 + - Index: 1 + Item: Zelunium + RequiredItems: + - Index: 0 + Item: Zelunium_Ore + Amount: 20 diff --git a/npc/re/merchants/refine.txt b/npc/re/merchants/refine.txt index 559c94d3f2..c215a3bece 100644 --- a/npc/re/merchants/refine.txt +++ b/npc/re/merchants/refine.txt @@ -17,6 +17,7 @@ //= 1.3 Updated to match the latest official script. [Euphy] //= 1.4 Added correct safe refines. [Haruna] //= 1.5 Added Refine UI [Atemo, Lemongrass] +//= 1.6 Added Barter exchange npcs [Atemo] //============================================================ // +11 and above Refiners @@ -582,3 +583,118 @@ malangdo,224,172,6 script Clink#mal_normal 544,{ mes "What a day!!"; close; } + +// Renewal barter shops +- script refine_barter_init -1,{ + end; +OnInit: + if (getbattleflag("feature.barter")) { + unloadnpc "Vurewell"; + unloadnpc "Begnahd"; + unloadnpc "Sade"; + unloadnpc "Kahlamanlith"; + unloadnpc "Dilemma"; + unloadnpc "Tirehaus"; + unloadnpc "Krugg"; + unloadnpc "Hakhim"; + unloadnpc "Abdula"; + unloadnpc "Xenophon"; + unloadnpc "Delight"; + unloadnpc "Matestein"; + unloadnpc "Fruel"; + + npcshopupdate "market_refine_prt_in",1010,200,999999; + npcshopupdate "market_refine_payon",1010,200,999999; + npcshopupdate "market_refine_morocc_in",1010,200,999999; + npcshopupdate "market_refine_alberta_in",1010,200,999999; + npcshopupdate "market_refine_yuno_in01",1010,200,999999; + npcshopupdate "market_refine_ein_in01",1010,200,999999; + npcshopupdate "market_refine_lhz_in02",1010,200,999999; + + npcshopupdate "market_refine_prt_in",1011,1000,999999; + npcshopupdate "market_refine_payon",1011,1000,999999; + npcshopupdate "market_refine_morocc_in",1011,1000,999999; + npcshopupdate "market_refine_alberta_in",1011,1000,999999; + npcshopupdate "market_refine_yuno_in01",1011,1000,999999; + npcshopupdate "market_refine_ein_in01",1011,1000,999999; + npcshopupdate "market_refine_lhz_in02",1011,1000,999999; + } + else { + unloadnpc "market_refine_prt_in"; + unloadnpc "market_refine_payon"; + unloadnpc "market_refine_morocc_in"; + unloadnpc "market_refine_alberta_in"; + unloadnpc "market_refine_yuno_in01"; + unloadnpc "market_refine_ein_in01"; + unloadnpc "market_refine_lhz_in02"; + + unloadnpc "Dietrich#ns_prt"; + unloadnpc "Pauline"; + } + end; +} + +- marketshop market_refine_prt_in -1,1010:-1:999999,1011:-1:999999 +- marketshop market_refine_payon -1,1010:-1:999999,1011:-1:999999 +- marketshop market_refine_morocc_in -1,1010:-1:999999,1011:-1:999999 +- marketshop market_refine_alberta_in -1,1010:-1:999999,1011:-1:999999 +- marketshop market_refine_yuno_in01 -1,1010:-1:999999,1011:-1:999999 +- marketshop market_refine_ein_in01 -1,1010:-1:999999,1011:-1:999999 +- marketshop market_refine_lhz_in02 -1,1010:-1:999999,1011:-1:999999 + +prt_in,63,69,3 script Dietrich#ns_prt 4_M_02,{ + mes "[" + strnpcinfo(1) + "]"; + mes "We sell and exchange various ores used in smelting."; + next; + switch( select( "View basic smelting ores", "View advanced smelting ores", "View Ether smelting ores", "Cancel" ) ) { + case 1: + mes "[" + strnpcinfo(1) + "]"; + mes "Phracon and Emveretarcon are available for use in smelting low-level weapons."; + close2; + callshop "market_refine_" + strnpcinfo(4); + end; + case 2: + mes "[" + strnpcinfo(1) + "]"; + mes "We are purifying Elunium Stone or Oridecon Stone, or exchanging them with Bradium or Carnium."; + close2; + callshop "barter_refine_1"; + end; + case 3: + mes "[" + strnpcinfo(1) + "]"; + mes "We add Etel Dust to existing smelting ores and replace them with Ether-bearing smelting ores."; + close2; + callshop "barter_refine_2"; + end; + case 4: + mes "[" + strnpcinfo(1) + "]"; + mes "If you lack the materials used for smelting, come anytime."; + close; + } + end; + +OnInit: + setunittitle getnpcid(0), ""; + end; +} +payon,137,178,5 duplicate(Dietrich#ns_prt) Hakhim#2 4_M_ORIENT01 +morocc_in,72,32,3 duplicate(Dietrich#ns_prt) Abdula#2 4W_M_03 +alberta_in,21,63,5 duplicate(Dietrich#ns_prt) Xenophon#ns_albe 4_M_02 +yuno_in01,164,27,4 duplicate(Dietrich#ns_prt) Delight#2 4_M_ORIENT01 +ein_in01,18,82,5 duplicate(Dietrich#ns_prt) Matestein#2 4_M_02 +lhz_in02,281,24,5 duplicate(Dietrich#ns_prt) Fruel#2 4_M_02 + +// Shadowdecon/Zelunium exchange npcs +prt_in,64,57,3 script Pauline 4_M_02,{ + mes "[" + strnpcinfo(1) + "]"; + mes "Do you have [Shadowdecon Gemstone]25728 or [Zelunium Gemstone]25730?"; + mes "We will exchange them for refined products for use as smelting goods."; + close2; + callshop "barter_refine_3"; + end; +} +payon,142,179,3 duplicate(Pauline) Jihu 4_M_ORIENT01 +morocc_in,64,37,3 duplicate(Pauline) Marik 4W_M_03 +alberta_in,24,63,5 duplicate(Pauline) Satana 4_M_02 +yuno_in01,164,31,6 duplicate(Pauline) Dimir 4_M_ORIENT01 +lhz_in02,275,23,5 duplicate(Pauline) Nemil 4_M_02 +ein_in01,30,88,5 duplicate(Pauline) Galan 4_M_02