diff --git a/db/re/item_db_usable.yml b/db/re/item_db_usable.yml
index b260263bbd..ccb3e12038 100644
--- a/db/re/item_db_usable.yml
+++ b/db/re/item_db_usable.yml
@@ -65303,6 +65303,12 @@ Body:
BuyingStore: true
Script: |
laphine_synthesis();
+ - Id: 101355
+ AegisName: OS_Weapon_Reform
+ Name: OS Weapon Modification Box
+ Type: DelayConsume
+ Script: |
+ item_reform();
- Id: 101359
AegisName: MajorAutoSpell_Up
Name: Major Auto Spell Shadow Spellbook
diff --git a/db/re/item_randomopt_group.yml b/db/re/item_randomopt_group.yml
index 0e2402b4e4..6f4e76a216 100644
--- a/db/re/item_randomopt_group.yml
+++ b/db/re/item_randomopt_group.yml
@@ -12285,3 +12285,5 @@ Body:
MinValue: 1
MaxValue: 5
Chance: 769
+ - Id: 145
+ Group: Group_0 # Note: this group is left empty. It can be used to remove the current options, when applied.
diff --git a/db/re/item_reform.yml b/db/re/item_reform.yml
index 058518c5e9..d3598484a7 100644
--- a/db/re/item_reform.yml
+++ b/db/re/item_reform.yml
@@ -3109,7 +3109,7 @@ Body:
CardsAllowed: false
ResultItem: Club_
ChangeRefine: 2
- #RandomOptionGroup: G0 # TODO: translate to our group names
+ RandomOptionGroup: Group_0
ClearSlots: true
RemoveGrade: true
- BaseItem: Avd_Knife
@@ -3139,11 +3139,11 @@ Body:
CardsAllowed: false
ResultItem: Tsurugi
ChangeRefine: -20
- #RandomOptionGroup: G0 # TODO: translate to our group names
+ RandomOptionGroup: Group_0
- BaseItem: C_Hill_Wind_Mask
ResultItem: Katar
ChangeRefine: 5
- #RandomOptionGroup: G0 # TODO: translate to our group names
+ RandomOptionGroup: Group_0
RemoveGrade: true
- BaseItem: SeeOtter_Fan
Materials:
@@ -4589,200 +4589,200 @@ Body:
# Amount: 10
# ResultItem: D_Glacier_M_Mace
# ChangeRefine: 1
-# - Item: OS_Weapon_Reform
-# BaseItems:
-# - BaseItem: Beam_Claymore_OS
-# MinimumRefine: 7
-# CardsAllowed: false
-# Materials:
-# - Material: EP17_1_EVT02
-# Amount: 200
-# - Material: EP17_1_EVT39
-# Amount: 40
-# - Material: Weapon_Stone_1
-# Amount: 70
-# ResultItem: Beam_Claymore_AD
-# RandomOptionGroup: G0 # TODO: translate to our group names
-# - BaseItem: Meuchler_OS
-# MinimumRefine: 7
-# CardsAllowed: false
-# Materials:
-# - Material: EP17_1_EVT02
-# Amount: 200
-# - Material: EP17_1_EVT39
-# Amount: 40
-# - Material: Weapon_Stone_1
-# Amount: 70
-# ResultItem: Meuchler_AD
-# RandomOptionGroup: G0 # TODO: translate to our group names
-# - BaseItem: Blasti_OS
-# MinimumRefine: 7
-# CardsAllowed: false
-# Materials:
-# - Material: EP17_1_EVT02
-# Amount: 200
-# - Material: EP17_1_EVT39
-# Amount: 40
-# - Material: Weapon_Stone_1
-# Amount: 70
-# ResultItem: Blasti_AD
-# RandomOptionGroup: G0 # TODO: translate to our group names
-# - BaseItem: Virtual_Bow_OS
-# MinimumRefine: 7
-# CardsAllowed: false
-# Materials:
-# - Material: EP17_1_EVT02
-# Amount: 200
-# - Material: EP17_1_EVT39
-# Amount: 40
-# - Material: Weapon_Stone_1
-# Amount: 70
-# ResultItem: Virtual_Bow_AD
-# RandomOptionGroup: G0 # TODO: translate to our group names
-# - BaseItem: MH_P89_OS
-# MinimumRefine: 7
-# CardsAllowed: false
-# Materials:
-# - Material: EP17_1_EVT02
-# Amount: 200
-# - Material: EP17_1_EVT39
-# Amount: 40
-# - Material: Weapon_Stone_1
-# Amount: 70
-# ResultItem: MH_P89_AD
-# RandomOptionGroup: G0 # TODO: translate to our group names
-# - BaseItem: AC_B44_OS
-# MinimumRefine: 7
-# CardsAllowed: false
-# Materials:
-# - Material: EP17_1_EVT02
-# Amount: 200
-# - Material: EP17_1_EVT39
-# Amount: 40
-# - Material: Weapon_Stone_1
-# Amount: 70
-# ResultItem: AC_B44_AD
-# RandomOptionGroup: G0 # TODO: translate to our group names
-# - BaseItem: HR_S55_OS
-# MinimumRefine: 7
-# CardsAllowed: false
-# Materials:
-# - Material: EP17_1_EVT02
-# Amount: 200
-# - Material: EP17_1_EVT39
-# Amount: 40
-# - Material: Weapon_Stone_1
-# Amount: 70
-# ResultItem: HR_S55_AD
-# RandomOptionGroup: G0 # TODO: translate to our group names
-# - BaseItem: Burning_Knuckle_OS
-# MinimumRefine: 7
-# CardsAllowed: false
-# Materials:
-# - Material: EP17_1_EVT02
-# Amount: 200
-# - Material: EP17_1_EVT39
-# Amount: 40
-# - Material: Weapon_Stone_1
-# Amount: 70
-# ResultItem: Burning_Knuckle_AD
-# RandomOptionGroup: G0 # TODO: translate to our group names
-# - BaseItem: Cannon_Rapier_OS
-# MinimumRefine: 7
-# CardsAllowed: false
-# Materials:
-# - Material: EP17_1_EVT02
-# Amount: 200
-# - Material: EP17_1_EVT39
-# Amount: 40
-# - Material: Weapon_Stone_1
-# Amount: 70
-# ResultItem: Cannon_Rapier_AD
-# RandomOptionGroup: G0 # TODO: translate to our group names
-# - BaseItem: Saphir_Hall_OS
-# MinimumRefine: 7
-# CardsAllowed: false
-# Materials:
-# - Material: EP17_1_EVT02
-# Amount: 200
-# - Material: EP17_1_EVT39
-# Amount: 40
-# - Material: Weapon_Stone_1
-# Amount: 70
-# ResultItem: Saphir_Hall_AD
-# RandomOptionGroup: G0 # TODO: translate to our group names
-# - BaseItem: Ultio_Spes_OS
-# MinimumRefine: 7
-# CardsAllowed: false
-# Materials:
-# - Material: EP17_1_EVT02
-# Amount: 200
-# - Material: EP17_1_EVT39
-# Amount: 40
-# - Material: Weapon_Stone_1
-# Amount: 70
-# ResultItem: Ultio_Spes_AD
-# RandomOptionGroup: G0 # TODO: translate to our group names
-# - BaseItem: Rutilus_Stick_OS
-# MinimumRefine: 7
-# CardsAllowed: false
-# Materials:
-# - Material: EP17_1_EVT02
-# Amount: 200
-# - Material: EP17_1_EVT39
-# Amount: 40
-# - Material: Weapon_Stone_1
-# Amount: 70
-# ResultItem: Rutilus_Stick_AD
-# RandomOptionGroup: G0 # TODO: translate to our group names
-# - BaseItem: ElectricFox_OS
-# MinimumRefine: 7
-# CardsAllowed: false
-# Materials:
-# - Material: EP17_1_EVT02
-# Amount: 200
-# - Material: EP17_1_EVT39
-# Amount: 40
-# - Material: Weapon_Stone_1
-# Amount: 70
-# ResultItem: ElectricFox_AD
-# RandomOptionGroup: G0 # TODO: translate to our group names
-# - BaseItem: Circuit_Board_OS
-# MinimumRefine: 7
-# CardsAllowed: false
-# Materials:
-# - Material: EP17_1_EVT02
-# Amount: 200
-# - Material: EP17_1_EVT39
-# Amount: 40
-# - Material: Weapon_Stone_1
-# Amount: 70
-# ResultItem: Circuit_Board_AD
-# RandomOptionGroup: G0 # TODO: translate to our group names
-# - BaseItem: Kuroiro_OS
-# MinimumRefine: 7
-# CardsAllowed: false
-# Materials:
-# - Material: EP17_1_EVT02
-# Amount: 200
-# - Material: EP17_1_EVT39
-# Amount: 40
-# - Material: Weapon_Stone_1
-# Amount: 70
-# ResultItem: Kuroiro_AD
-# RandomOptionGroup: G0 # TODO: translate to our group names
-# - BaseItem: Boost_Lance_OS
-# MinimumRefine: 7
-# CardsAllowed: false
-# Materials:
-# - Material: EP17_1_EVT02
-# Amount: 200
-# - Material: EP17_1_EVT39
-# Amount: 40
-# - Material: Weapon_Stone_1
-# Amount: 70
-# ResultItem: Boost_Lance_AD
-# RandomOptionGroup: G0 # TODO: translate to our group names
+ - Item: OS_Weapon_Reform
+ BaseItems:
+ - BaseItem: Beam_Claymore_OS
+ MinimumRefine: 7
+ CardsAllowed: false
+ Materials:
+ - Material: EP17_1_EVT02
+ Amount: 200
+ - Material: EP17_1_EVT39
+ Amount: 40
+ - Material: Weapon_Stone_1
+ Amount: 70
+ ResultItem: Beam_Claymore_AD
+ RandomOptionGroup: Group_0
+ - BaseItem: Meuchler_OS
+ MinimumRefine: 7
+ CardsAllowed: false
+ Materials:
+ - Material: EP17_1_EVT02
+ Amount: 200
+ - Material: EP17_1_EVT39
+ Amount: 40
+ - Material: Weapon_Stone_1
+ Amount: 70
+ ResultItem: Meuchler_AD
+ RandomOptionGroup: Group_0
+ - BaseItem: Blasti_OS
+ MinimumRefine: 7
+ CardsAllowed: false
+ Materials:
+ - Material: EP17_1_EVT02
+ Amount: 200
+ - Material: EP17_1_EVT39
+ Amount: 40
+ - Material: Weapon_Stone_1
+ Amount: 70
+ ResultItem: Blasti_AD
+ RandomOptionGroup: Group_0
+ - BaseItem: Virtual_Bow_OS
+ MinimumRefine: 7
+ CardsAllowed: false
+ Materials:
+ - Material: EP17_1_EVT02
+ Amount: 200
+ - Material: EP17_1_EVT39
+ Amount: 40
+ - Material: Weapon_Stone_1
+ Amount: 70
+ ResultItem: Virtual_Bow_AD
+ RandomOptionGroup: Group_0
+ - BaseItem: MH_P89_OS
+ MinimumRefine: 7
+ CardsAllowed: false
+ Materials:
+ - Material: EP17_1_EVT02
+ Amount: 200
+ - Material: EP17_1_EVT39
+ Amount: 40
+ - Material: Weapon_Stone_1
+ Amount: 70
+ ResultItem: MH_P89_AD
+ RandomOptionGroup: Group_0
+ - BaseItem: AC_B44_OS
+ MinimumRefine: 7
+ CardsAllowed: false
+ Materials:
+ - Material: EP17_1_EVT02
+ Amount: 200
+ - Material: EP17_1_EVT39
+ Amount: 40
+ - Material: Weapon_Stone_1
+ Amount: 70
+ ResultItem: AC_B44_AD
+ RandomOptionGroup: Group_0
+ - BaseItem: HR_S55_OS
+ MinimumRefine: 7
+ CardsAllowed: false
+ Materials:
+ - Material: EP17_1_EVT02
+ Amount: 200
+ - Material: EP17_1_EVT39
+ Amount: 40
+ - Material: Weapon_Stone_1
+ Amount: 70
+ ResultItem: HR_S55_AD
+ RandomOptionGroup: Group_0
+ - BaseItem: Burning_Knuckle_OS
+ MinimumRefine: 7
+ CardsAllowed: false
+ Materials:
+ - Material: EP17_1_EVT02
+ Amount: 200
+ - Material: EP17_1_EVT39
+ Amount: 40
+ - Material: Weapon_Stone_1
+ Amount: 70
+ ResultItem: Burning_Knuckle_AD
+ RandomOptionGroup: Group_0
+ - BaseItem: Cannon_Rapier_OS
+ MinimumRefine: 7
+ CardsAllowed: false
+ Materials:
+ - Material: EP17_1_EVT02
+ Amount: 200
+ - Material: EP17_1_EVT39
+ Amount: 40
+ - Material: Weapon_Stone_1
+ Amount: 70
+ ResultItem: Cannon_Rapier_AD
+ RandomOptionGroup: Group_0
+ - BaseItem: Saphir_Hall_OS
+ MinimumRefine: 7
+ CardsAllowed: false
+ Materials:
+ - Material: EP17_1_EVT02
+ Amount: 200
+ - Material: EP17_1_EVT39
+ Amount: 40
+ - Material: Weapon_Stone_1
+ Amount: 70
+ ResultItem: Saphir_Hall_AD
+ RandomOptionGroup: Group_0
+ - BaseItem: Ultio_Spes_OS
+ MinimumRefine: 7
+ CardsAllowed: false
+ Materials:
+ - Material: EP17_1_EVT02
+ Amount: 200
+ - Material: EP17_1_EVT39
+ Amount: 40
+ - Material: Weapon_Stone_1
+ Amount: 70
+ ResultItem: Ultio_Spes_AD
+ RandomOptionGroup: Group_0
+ - BaseItem: Rutilus_Stick_OS
+ MinimumRefine: 7
+ CardsAllowed: false
+ Materials:
+ - Material: EP17_1_EVT02
+ Amount: 200
+ - Material: EP17_1_EVT39
+ Amount: 40
+ - Material: Weapon_Stone_1
+ Amount: 70
+ ResultItem: Rutilus_Stick_AD
+ RandomOptionGroup: Group_0
+ - BaseItem: ElectricFox_OS
+ MinimumRefine: 7
+ CardsAllowed: false
+ Materials:
+ - Material: EP17_1_EVT02
+ Amount: 200
+ - Material: EP17_1_EVT39
+ Amount: 40
+ - Material: Weapon_Stone_1
+ Amount: 70
+ ResultItem: ElectricFox_AD
+ RandomOptionGroup: Group_0
+ - BaseItem: Circuit_Board_OS
+ MinimumRefine: 7
+ CardsAllowed: false
+ Materials:
+ - Material: EP17_1_EVT02
+ Amount: 200
+ - Material: EP17_1_EVT39
+ Amount: 40
+ - Material: Weapon_Stone_1
+ Amount: 70
+ ResultItem: Circuit_Board_AD
+ RandomOptionGroup: Group_0
+ - BaseItem: Kuroiro_OS
+ MinimumRefine: 7
+ CardsAllowed: false
+ Materials:
+ - Material: EP17_1_EVT02
+ Amount: 200
+ - Material: EP17_1_EVT39
+ Amount: 40
+ - Material: Weapon_Stone_1
+ Amount: 70
+ ResultItem: Kuroiro_AD
+ RandomOptionGroup: Group_0
+ - BaseItem: Boost_Lance_OS
+ MinimumRefine: 7
+ CardsAllowed: false
+ Materials:
+ - Material: EP17_1_EVT02
+ Amount: 200
+ - Material: EP17_1_EVT39
+ Amount: 40
+ - Material: Weapon_Stone_1
+ Amount: 70
+ ResultItem: Boost_Lance_AD
+ RandomOptionGroup: Group_0
- Item: Hero_Weapon_Up_Box_5
BaseItems:
- BaseItem: Up_Blade_Katar
diff --git a/db/re/mob_db.yml b/db/re/mob_db.yml
index 5c8bd79c85..0322deb490 100644
--- a/db/re/mob_db.yml
+++ b/db/re/mob_db.yml
@@ -95045,8 +95045,9 @@ Body:
# AegisName: MD_ED_LGTHIGHGUARD
# - Id: 20542
# AegisName: MD_ED_LGTGUARD
-# - Id: 20543
-# AegisName: MD_ED_M_SCIENCE
+ - Id: 20543
+ AegisName: MD_ED_M_SCIENCE
+ Name: MD_ED_M_SCIENCE
# - Id: 20544
# AegisName: MINERAL_R_MJ
# - Id: 20545
diff --git a/npc/re/merchants/barters.yml b/npc/re/merchants/barters.yml
index acfbc73036..62bf9a37c2 100644
--- a/npc/re/merchants/barters.yml
+++ b/npc/re/merchants/barters.yml
@@ -55,3 +55,4 @@ Footer:
- Path: npc/re/merchants/barters/refine.yml
- Path: npc/re/merchants/barters/enchantgrade.yml
- Path: npc/re/merchants/barters/cashmall.yml
+ - Path: npc/re/merchants/barters/rgsr_in.yml
diff --git a/npc/re/merchants/barters/rgsr_in.yml b/npc/re/merchants/barters/rgsr_in.yml
new file mode 100644
index 0000000000..d196449b81
--- /dev/null
+++ b/npc/re/merchants/barters/rgsr_in.yml
@@ -0,0 +1,219 @@
+# 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_rgsr_in_1
+ Items:
+ - Index: 0
+ Item: Weapon_Stone_1
+ Zeny: 10000
+ RequiredItems:
+ - Index: 0
+ Item: Weapon_Ore_1
+ Amount: 5
+ - Index: 1
+ Item: Armor_Stone_1
+ Zeny: 10000
+ RequiredItems:
+ - Index: 0
+ Item: Armor_Ore_1
+ Amount: 5
+ - Index: 2
+ Item: Acc_Stone_1
+ Zeny: 10000
+ RequiredItems:
+ - Index: 0
+ Item: Acc_Ore_1
+ Amount: 5
+ - Index: 3
+ Item: Weapon_Stone_2
+ Zeny: 20000
+ RequiredItems:
+ - Index: 0
+ Item: Weapon_Ore_2
+ Amount: 5
+ - Index: 4
+ Item: Armor_Stone_2
+ Zeny: 20000
+ RequiredItems:
+ - Index: 0
+ Item: Armor_Ore_2
+ Amount: 5
+ - Index: 5
+ Item: Acc_Stone_2
+ Zeny: 20000
+ RequiredItems:
+ - Index: 0
+ Item: Acc_Ore_2
+ Amount: 5
+ - Index: 6
+ Item: Weapon_Stone_3
+ Zeny: 50000
+ RequiredItems:
+ - Index: 0
+ Item: Weapon_Ore_3
+ Amount: 5
+ - Index: 7
+ Item: Armor_Stone_3
+ Zeny: 50000
+ RequiredItems:
+ - Index: 0
+ Item: Armor_Ore_3
+ Amount: 5
+ - Index: 8
+ Item: Acc_Stone_3
+ Zeny: 50000
+ RequiredItems:
+ - Index: 0
+ Item: Acc_Ore_3
+ Amount: 5
+ - Index: 9
+ Item: Weapon_Stone_4
+ Zeny: 100000
+ RequiredItems:
+ - Index: 0
+ Item: Weapon_Ore_4
+ Amount: 5
+ - Index: 10
+ Item: Armor_Stone_4
+ Zeny: 100000
+ RequiredItems:
+ - Index: 0
+ Item: Armor_Ore_4
+ Amount: 5
+ - Index: 11
+ Item: Acc_Stone_4
+ Zeny: 100000
+ RequiredItems:
+ - Index: 0
+ Item: Acc_Ore_4
+ Amount: 5
+ - Name: barter_rgsr_in_2
+ Items:
+ - Index: 0
+ Item: Weapon_Stone_2
+ Zeny: 10000
+ RequiredItems:
+ - Index: 0
+ Item: Weapon_Stone_1
+ Amount: 3
+ - Index: 1
+ Item: Armor_Stone_2
+ Zeny: 10000
+ RequiredItems:
+ - Index: 0
+ Item: Armor_Stone_1
+ Amount: 3
+ - Index: 2
+ Item: Acc_Stone_2
+ Zeny: 10000
+ RequiredItems:
+ - Index: 0
+ Item: Acc_Stone_1
+ Amount: 3
+ - Index: 3
+ Item: Weapon_Stone_3
+ Zeny: 20000
+ RequiredItems:
+ - Index: 0
+ Item: Weapon_Stone_2
+ Amount: 3
+ - Index: 4
+ Item: Armor_Stone_3
+ Zeny: 20000
+ RequiredItems:
+ - Index: 0
+ Item: Armor_Stone_2
+ Amount: 3
+ - Index: 5
+ Item: Acc_Stone_3
+ Zeny: 20000
+ RequiredItems:
+ - Index: 0
+ Item: Acc_Stone_2
+ Amount: 3
+ - Index: 6
+ Item: Weapon_Stone_4
+ Zeny: 50000
+ RequiredItems:
+ - Index: 0
+ Item: Weapon_Stone_3
+ Amount: 3
+ - Index: 7
+ Item: Armor_Stone_4
+ Zeny: 50000
+ RequiredItems:
+ - Index: 0
+ Item: Armor_Stone_3
+ Amount: 3
+ - Index: 8
+ Item: Acc_Stone_4
+ Zeny: 50000
+ RequiredItems:
+ - Index: 0
+ Item: Acc_Stone_3
+ Amount: 3
+ - Name: barter_rgsr_in_3
+ Items:
+ - Index: 0
+ Item: Weapon_Stone_1
+ Zeny: 20000
+ RequiredItems:
+ - Index: 0
+ Item: Shadowdecon
+ - Index: 1
+ Item: Armor_Stone_1
+ Zeny: 20000
+ RequiredItems:
+ - Index: 0
+ Item: Shadowdecon
+ - Index: 2
+ Item: Acc_Stone_1
+ Zeny: 20000
+ RequiredItems:
+ - Index: 0
+ Item: Shadowdecon
diff --git a/npc/re/merchants/rgsr_in.txt b/npc/re/merchants/rgsr_in.txt
new file mode 100644
index 0000000000..db751b47cf
--- /dev/null
+++ b/npc/re/merchants/rgsr_in.txt
@@ -0,0 +1,451 @@
+//===== rAthena Script =======================================
+//= Reform NPCs in rgsr_in
+//===== Changelogs: ==========================================
+//= 1.0 First Version. [Capuche]
+//============================================================
+
+itemmall,14,50,3 script Equipment Reform PR Agent#it01 4_F_ZONDAGIRL,{
+ mes "[Equipment Reform PR Agent]";
+ mes "Hello, adventurer!";
+ mes "Are you unhappy with your equipment now?";
+ mes "Don't you want to try a new modification than just any other normal method?";
+ mes "Join the Regenschirm Institute!";
+ next;
+ switch( select( "Let's go.", "Listen to the explanation.", "Quit." ) ) {
+ case 1:
+ mes "[Equipment Reform PR Agent]";
+ mes "Good! Other facilities in the institute are confidential and are not accessible, so we will guide you on a special path where you outsiders can enter!";
+ close2;
+ warp "rgsr_in",125,170;
+ end;
+ case 2:
+ mes "[Equipment Reform PR Agent]";
+ mes "All around the world research is being conducted at the Regenschirm Institute to modify weapons, armor, accessories and other equipment items...";
+ mes "We're still collecting data and researching modifications, so we need a lot of adventurer's equipment to increase our modification research.";
+ next;
+ mes "[Equipment Reform PR Agent]";
+ mes "Research is ongoing, so please look forward to the addition of multiple new equipment as soon as it is completed!";
+ close;
+ case 3:
+ mes "[Equipment Reform PR Agent]";
+ mes "If you're interested later, come back!";
+ close;
+ }
+}
+lighthalzen,99,156,3 duplicate(Equipment Reform PR Agent#it01) Equipment Reform PR Agent#lh01 4_F_ZONDAGIRL
+
+rgsr_in,112,167,7 script Enchant Researcher#rg02-1 MD_ED_M_SCIENCE,{
+ mes "[Torus]";
+ mes "Huh? Do you have anyone else to see on our team other than the team leader?";
+ mes "Then that's me~";
+ mes "I am in charge of Enchants.";
+ mes "Let's see what you got?";
+ next;
+ if (select( "Modified OS Weapon Enchant", "Quit" ) == 2) {
+ mes "[Torus]";
+ mes "Come back whenever you need it.";
+ mes "And we need the research.";
+ close;
+ }
+ mes "[Torus]";
+ mes "Where...";
+ close2;
+ item_enchant(33);
+ end;
+
+OnInit:
+ setunittitle( getnpcid(0), "Team Atnad" );
+ end;
+}
+
+rgsr_in,115,169,5 script Weapon Researcher#rg02 MD_ED_M_SCIENCE,{
+ mes "[Frasa]";
+ mes "Let's see... You're a guest.";
+ mes "I like people who are sure what they want.";
+ mes "Modifiable items can also be read as [List]9163.";
+ mes "I will try to answer any questions you have.";
+ next;
+ switch( select( "Thanos Weapons", "OS Weapons", "Quit" ) ) {
+ case 1:
+ mes "[Frasa]";
+ mes "^0000FFThanos weapon^000000 mods have lower and intermediate levels in the modification method.";
+ next;
+ switch( select( "Lower mods", "Intermediate mods", "Quit" ) ) {
+ case 1:
+ mes "[Frasa]";
+ mes "Thanos weapon lower modification.";
+ mes "^FF0000Refine level is reduced by 5^000000, but consumes less materials.";
+ mes "And for mods, the weapon needs to be refine level +9 or higher.";
+ close2;
+ item_reform("Thanos_W_Reform_1");
+ end;
+ case 2:
+ mes "[Frasa]";
+ mes "Thanos Weapon intermediate modification.";
+ mes "^FF0000Refine level is reduced by 1^000000, but consumes more material.";
+ mes "And for mods, the weapon needs to be refine level +9 or higher.";
+ close2;
+ item_reform("Thanos_W_Reform_2");
+ end;
+ case 3:
+ mes "[Frasa]";
+ mes "If you need mods, come back.";
+ mes "You are welcome any time you help us with our research.";
+ close;
+ }
+ end;
+ case 2:
+ mes "[Frasa]";
+ mes "^0000FFOS Weapons^000000...";
+ mes "For modification, the refine level must be +7 or higher.";
+ mes "Refine level does not decrease.";
+ mes "Did you bring the stuff?";
+ next;
+ if (select( "Convert", "Quit" ) == 2) {
+ mes "[Frasa]";
+ mes "If you need mods, come back.";
+ mes "You are welcome any time you help us with our research.";
+ close;
+ }
+ mes "[Frasa]";
+ mes "Let's see what you brought.";
+ close2;
+ item_reform("OS_Weapon_Reform");
+ end;
+ case 3:
+ mes "[Frasa]";
+ mes "If you need mods, come back.";
+ mes "You are welcome any time you help us with our research.";
+ close;
+ }
+ end;
+
+OnInit:
+ setunittitle( getnpcid(0), "Team Atnad");
+ end;
+}
+
+rgsr_in,115,180,5 script Armor Researcher#rg02 MD_ED_M_SCIENCE,{
+ mes "[Algebra]";
+ mes "Ah, we've come this far, but our team's research is still lacking in experiments.";
+ mes "I'll improve it a bit next time and get the captain's permission, then let's proceed.";
+ mes "Okay?";
+ npctalk "Grimace.", "", bc_self;
+ close;
+
+OnInit:
+ setunittitle( getnpcid(0), "Team Fresa" );
+ end;
+}
+
+rgsr_in,135,186, 7 script Assistant#rg02 4_M_ALCHE_D,{
+ npctalk "Assistant: Don't touch it... It's dangerous...", "", bc_self;
+ sleep2 300;
+ npctalk "Assistant: ...Oh..............", "Assistant#rg04", bc_self;
+ npctalk "Assistant: Don't worry, it's nothing...", "Assistant#rg03", bc_self;
+ end;
+}
+
+rgsr_in,135,189,5 script Assistant#rg03 4_M_REPAIR,{
+ npctalk "Assistant: ...Paycheck... Give it to me...? Then ask unnecessary questions...", "", bc_self;
+ npctalk "Assistant: Of course...", "Assistant#rg02", bc_self;
+ end;
+}
+
+rgsr_in,137,187,3 script Assistant#rg04 4_F_HUWOMAN,{
+ npctalk "Assistant: No, not that.... That's it. That's it...", "", bc_self;
+ sleep2 300;
+ npctalk "Assistant: Hick... It was almost a big day... You didn't see him, did you?", "Assistant#rg02", bc_self;
+ npctalk "Grid: ?", "Ore Researcher#rg02", bc_self;
+ end;
+}
+
+rgsr_in,146,169,3 script Assistant#rg05 4_M_REPAIR,{
+ npctalk "Assistant: Quiet... I'm...", "", bc_self;
+ end;
+
+OnInit:
+ setunittitle( getnpcid(0), "Team Licht");
+ end;
+}
+
+rgsr_in,146,167,3 script Assistant#rg06 4_M_REPAIR,{
+ npctalk "Assistant: Our leader is a great guy. I'm still young...", "", bc_self;
+ end;
+
+OnInit:
+ setunittitle( getnpcid(0), "Team Licht");
+ end;
+}
+
+rgsr_in,144,170,5 script Assistant#rg07 4_M_REPAIR,{
+ npctalk "Assistant: Hey, this data was really cool. I was wise to follow you.", "", bc_self;
+ end;
+
+OnInit:
+ setunittitle( getnpcid(0), "Team Licht");
+ end;
+}
+
+rgsr_in,106,167,5 script Assistant#rg11 4_M_REPAIR,{
+ npctalk "Assistant: Can we move to a larger lab one day after we do more research?", "", bc_self;
+ sleep2 300;
+ npctalk "Assistant: ....Hang.", "Assistant#rg10", bc_self;
+ end;
+
+OnInit:
+ setunittitle( getnpcid(0), "Team Atnad" );
+ end;
+}
+
+rgsr_in,109,167,3 script Assistant#rg10 4_M_REPAIR,{
+ npctalk "Assistant: ....I'm.", "", bc_self;
+ sleep2 300;
+ npctalk "Assistant: Adventurer, please walk carefully. The building is old and the floor is a little creaky.", "Assistant#rg11", bc_self;
+ end;
+
+OnInit:
+ setunittitle( getnpcid(0), "Team Atnad" );
+ end;
+}
+
+rgsr_in,146,178,3 script Assistant#rg20 4_M_REPAIR,{
+ npctalk "Assistant: Ask our lead about any questions you have.", "", bc_self;
+ end;
+
+OnInit:
+ setunittitle( getnpcid(0), "Team Atnad" );
+ end;
+}
+
+rgsr_in,143,180,5 script Assistant#rg21 4_M_REPAIR,{
+ npctalk "Assistant: Isn't it a little noisy outside?", "", bc_self;
+ sleep2 200;
+ npctalk "Assistant: I wish I could move to a good soundproofed place.", "Assistant#rg20", bc_self;
+ end;
+
+OnInit:
+ setunittitle( getnpcid(0), "Team Atnad" );
+ end;
+}
+
+rgsr_in,131,187,5 script Ore Researcher#rg02 MD_ED_M_SCIENCE,{
+ mes "[Grid]";
+ mes "Come on.";
+ mes "It's a low-budget lab, so it's always like this.";
+ mes "My assistants and I refine the gemstones used in this lab. For a fee.";
+ next;
+ switch( select( "View the exchange list", "What are you exchanging?", "Quit" ) ) {
+ case 1:
+ mes "[Grid]";
+ mes "Let's see...";
+ mes "Now there are these things.";
+ next;
+ switch( select( "Gemstone refining", "Top ore exchange", "Buy additional ore", "Cancel" ) ) {
+ case 1:
+ mes "[Grid]";
+ mes "Gemstone refining.";
+ close2;
+ callshop("barter_rgsr_in_1");
+ end;
+ case 2:
+ mes "[Grid]";
+ mes "Top ore exchange.";
+ close2;
+ callshop("barter_rgsr_in_2");
+ end;
+ case 3:
+ mes "[Grid]";
+ mes "Don't have enough ore? Then there's something I'm specifically collecting...";
+ mes "Do you have a shadow decon?";
+ close2;
+ callshop("barter_rgsr_in_3");
+ end;
+ case 4:
+ mes "[Grid]";
+ mes "If you need anything, come again.";
+ close;
+ }
+ end;
+ case 2:
+ mes "[Grid]";
+ mes "As we see in our research, the materials are very rare. There are adventurers hired by our team, but the material is not comparable to the amount we need.";
+ mes "So when the adventurers came with the materials, they decided to provide the corresponding research value.";
+ next;
+ mes "[Grid]";
+ mes "Luckily, we do the research and adventurers who come to us provide materials to use our technology.";
+ mes "If you want to modify something you only need to bring the presented materials.";
+ next;
+ mes "[Grid]";
+ mes "You're an adventurer, so you know what that means?";
+ close;
+ case 3:
+ mes "[Grid]";
+ mes "If you need anything, come again.";
+ close;
+ }
+}
+
+rgsr_in,137,178,3 script Accessories Researcher#rg02 MD_ED_M_SCIENCE,{
+ mes "[Champ]";
+ mes "Finally, I talked to an adventurer and asked him to confirm my research, was that you?";
+ mes "Unfortunately, our team hasn't done enough to get out there yet.";
+ next;
+ mes "[Champ]";
+ mes "It's still incomplete.";
+ mes "I'll see you next time I get permission from the captain.";
+ close;
+
+OnInit:
+ setunittitle( getnpcid(0), "Team Zerter");
+ end;
+}
+
+rgsr_in,136,171,5 script Special Equipment Researcher#rg02 MD_ED_M_SCIENCE,{
+ mes "[Stack]";
+ mes "See Team Licht's performance?";
+ mes "We're proud of this lab.";
+ mes "Which one do you want to modify?";
+ mes "Modifiable items are located in [List]9166.";
+ next;
+ switch( select( "Non-standard armor", "Non-standard weapon", "Quit" ) ) {
+ case 1:
+ mes "[Stack]";
+ mes "^0000FFNon-standard armor^000000, there are Lower, Intermediate, and Upper levels of the modification method.";
+ mes "Non-refineable armor is only capable of Upper modification.";
+ next;
+ switch( select( "Lower mods", "Intermediate mods", "Upper mods", "Quit" ) ) {
+ case 1:
+ mes "[Stack]";
+ mes "Armor Lower Mods? Okay.";
+ mes "^FF0000Refine level is reduced by 5^000000, but consumes less material.";
+ mes "And for modification, the equipment must have a refine level of +9 or higher.";
+ close2;
+ item_reform("C_Armor_Reform_1");
+ end;
+ case 2:
+ mes "[Stack]";
+ mes "Armor Intermediate Mods? Okay.";
+ mes "^FF0000Refine level is reduced by 1^000000, but consumes more material.";
+ mes "And for modification, the equipment must have a refine level of +9 or higher.";
+ close2;
+ item_reform("C_Armor_Reform_2");
+ end;
+ case 3:
+ mes "[Stack]";
+ mes "Armor Upper Mods? Okay.";
+ mes "^FF0000Refine level increases by 1^000000, but consumes more material.";
+ mes "And for modification, the equipment must have a refine level of +9 or higher.";
+ mes "^FF0000Non-refineable equipment^000000 can also be granted with advanced modifications, but the refine level does not increase.";
+ close2;
+ item_reform("C_Armor_Reform_3");
+ end;
+ case 4:
+ mes "[Stack]";
+ mes "Already going?";
+ mes "You need to see more of our outstanding performance!";
+ close;
+ }
+ case 2:
+ mes "[Stack]";
+ mes "^0000FFNon-standard weapon^000000, there are Lower, Intermediate, and Upper levels of the modification method.";
+ next;
+ switch( select( "Lower mods", "Intermediate mods", "Upper mods", "Quit" ) ) {
+ case 1:
+ mes "[Stack]";
+ mes "Weapon Lower Mods? Okay.";
+ mes "^FF0000Refine level is reduced by 5^000000, but consumes less material.";
+ mes "And for modification, the equipment must have a refine level of +9 or higher.";
+ close2;
+ item_reform("C_Weapon_Reform_1");
+ end;
+ case 2:
+ mes "[Stack]";
+ mes "Weapon Intermediate Mods? Okay.";
+ mes "^FF0000Refine level is reduced by 1^000000, but consumes more material.";
+ mes "And for modification, the equipment must have a refine level of +9 or higher.";
+ close2;
+ item_reform("C_Weapon_Reform_2");
+ end;
+ case 3:
+ mes "[Stack]";
+ mes "Weapon Advanced Mods? Okay.";
+ mes "^FF0000Refine level increases by 1^000000, but consumes more material.";
+ mes "And for modification, the equipment must have a refine level of +9 or higher.";
+ close2;
+ item_reform("C_Weapon_Reform_3");
+ end;
+ case 4:
+ mes "[Stack]";
+ mes "Already going?";
+ mes "You need to see more of our outstanding performance!";
+ close;
+ }
+ end;
+ case 3:
+ mes "[Stack]";
+ mes "Already going?";
+ mes "You need to see more of our outstanding performance!";
+ close;
+ }
+ end;
+
+OnInit:
+ setunittitle( getnpcid(0), "Team Licht");
+ end;
+}
+
+rgsr_in,128,174,5 script Director#rg02 1_M_LIBRARYMASTER,{
+ mes "[Director]";
+ mes "...Come on.";
+ mes "You may have heard the explanation when you came, but to briefly introduce you to this place, there is still a long way to go. We are working on converting many weapons, armor, accessories, etc. into something different.";
+ next;
+ mes "[Director]";
+ mes "It is essential to cut the refine of the equipment to be converted, but it is a labor for greater power.";
+ next;
+ mes "[Director]";
+ mes "Research is ongoing, so it is not known when and where something will suddenly be completed and offered to adventurers.";
+ mes "It is... As soon as the data is collected, it will be somehow.";
+ next;
+ mes "[Director]";
+ mes "And this time, Team Licht achieved it.";
+ mes "If you're interested, check out what research was done.";
+ next;
+ mes "[Director]";
+ mes "Everyone likes it quiet, so don't talk too loud.";
+ close;
+}
+
+rgsr_in,122,160,5 script Exit Guard#rg01 4_M_LGTGUARD,{
+ mes "[Exit guard]";
+ mes "Are you done?";
+ mes "^FF0000Return to Lighthalzen^000000?";
+ next;
+ if (select( "Return.", "Work remaining." ) == 2) {
+ mes "[Exit guard]";
+ mes "Please tell us at any time when you are finished.";
+ close;
+ }
+ mes "[Exit guard]";
+ mes "Let me guide you on the way back.";
+ close2;
+ warp "lighthalzen",101,156;
+ end;
+}
+
+rgsr_in,129,160,3 script Exit Guard#rg02 4_M_LGTGUARD,{
+ mes "[Exit guard]";
+ mes "Are you done?";
+ mes "^FF0000Return to Item Mall^000000?";
+ next;
+ if (select( "Return.", "Work remaining." ) == 2) {
+ mes "[Exit guard]";
+ mes "Please tell us at any time when you are finished.";
+ close;
+ }
+ mes "[Exit guard]";
+ mes "Let me guide you on the way back.";
+ close2;
+ warp "itemmall",16,47;
+ end;
+}
diff --git a/npc/re/scripts_athena.conf b/npc/re/scripts_athena.conf
index 893f8e39d4..376955979d 100644
--- a/npc/re/scripts_athena.conf
+++ b/npc/re/scripts_athena.conf
@@ -151,6 +151,7 @@ npc: npc/re/merchants/pet_trader.txt
npc: npc/re/merchants/quivers.txt
npc: npc/re/merchants/refine.txt
npc: npc/re/merchants/renters.txt
+npc: npc/re/merchants/rgsr_in.txt
npc: npc/re/merchants/shops.txt
npc: npc/re/merchants/Slot_Move_Card_Sales.txt
npc: npc/re/merchants/socket_enchant2.txt