瀏覽代碼

Added NPCs in rgsr_in (#7488)

* Added missing NPCs in rgsr_in (used for item reform, enchant)
* Attempt to clean up some dialog
* Added Group_0 in item_randomopt_group.yml (apply no randomoption)

Thanks to @Dia !

Co-authored-by: aleos <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Atemo 2 年之前
父節點
當前提交
65ebbdc992

+ 6 - 0
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

+ 2 - 0
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.

+ 197 - 197
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

+ 3 - 2
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

+ 1 - 0
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

+ 219 - 0
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 <http://www.gnu.org/licenses/>.
+#
+###########################################################################
+# 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

+ 451 - 0
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 <TIPBOX>[List]<INFO>9163</INFO></TIPBOX>.";
+	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 <TIPBOX>[List]<INFO>9166</INFO></TIPBOX>.";
+	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;
+}

+ 1 - 0
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