OSDN Git Service

[Refactor] #40233 Separated articles-on-sale.c/h from store.c/h
authorHourier <hourier@users.sourceforge.jp>
Sun, 22 Mar 2020 11:27:23 +0000 (20:27 +0900)
committerHourier <hourier@users.sourceforge.jp>
Sun, 22 Mar 2020 11:27:23 +0000 (20:27 +0900)
Hengband_vcs2017/Hengband/Hengband.vcxproj
Hengband_vcs2017/Hengband/Hengband.vcxproj.filters
src/Makefile.am
src/init.c
src/market/articles-on-sale.c [new file with mode: 0644]
src/market/articles-on-sale.h [new file with mode: 0644]
src/store.c
src/store.h

index c2ec147..81eef3f 100644 (file)
     <ClCompile Include="..\..\src\io\special-class-dump.c" />\r
     <ClCompile Include="..\..\src\io\tokenizer.c" />\r
     <ClCompile Include="..\..\src\io\write-diary.c" />\r
+    <ClCompile Include="..\..\src\market\articles-on-sale.c" />\r
     <ClCompile Include="..\..\src\market\poker.c" />\r
     <ClCompile Include="..\..\src\market\store-owner-comments.c" />\r
     <ClCompile Include="..\..\src\market\store-owners.c" />\r
     <ClInclude Include="..\..\src\io\special-class-dump.h" />\r
     <ClInclude Include="..\..\src\io\tokenizer.h" />\r
     <ClInclude Include="..\..\src\io\write-diary.h" />\r
+    <ClInclude Include="..\..\src\market\articles-on-sale.h" />\r
     <ClInclude Include="..\..\src\market\poker.h" />\r
     <ClInclude Include="..\..\src\market\store-owner-comments.h" />\r
     <ClInclude Include="..\..\src\market\store-owners.h" />\r
index 3992c3c..bcdd34e 100644 (file)
     <ClCompile Include="..\..\src\market\store-owner-comments.c">
       <Filter>market</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\src\market\articles-on-sale.c">
+      <Filter>market</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\src\gamevalue.h" />
     <ClInclude Include="..\..\src\market\store-owner-comments.h">
       <Filter>market</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\src\market\articles-on-sale.h">
+      <Filter>market</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <None Include="..\..\src\wall.bmp" />
index 902f7d2..8f7cc99 100644 (file)
@@ -13,6 +13,7 @@ hengband_SOURCES = \
        \
        market/poker.c market/poker.h market/store-owners.c market/store-owners.h \
        market/store-owner-comments.c store-owner-comments.h \
+       market/articles-on-sale.c market/articles-on-sale.h \
        store.c store.h bldg.c bldg.h chest.c chest.h chuukei.c chuukei.h \
        \
        view/display-characteristic.c view/display-characteristic.h \
index 4146c76..8ce649a 100644 (file)
@@ -59,6 +59,7 @@
 #include "object-ego.h"
 #include "rooms-vault.h"
 #include "world.h"
+#include "market/articles-on-sale.h"
 
 #include <sys/types.h>
 #include <sys/stat.h>
diff --git a/src/market/articles-on-sale.c b/src/market/articles-on-sale.c
new file mode 100644 (file)
index 0000000..956bf7e
--- /dev/null
@@ -0,0 +1,551 @@
+#include "angband.h"
+#include "store-owners.h"
+#include "articles-on-sale.h"
+
+/*!
+ * 店舗で販売するオブジェクトを定義する / Hack -- Objects sold in the stores -- by tval/sval pair.
+ */
+byte store_table[MAX_STORES][STORE_CHOICES][2] =
+{
+       {
+               /* General Store */
+               { TV_FOOD, SV_FOOD_RATION },
+               { TV_FOOD, SV_FOOD_RATION },
+               { TV_FOOD, SV_FOOD_RATION },
+               { TV_FOOD, SV_FOOD_RATION },
+
+               { TV_FOOD, SV_FOOD_RATION },
+               { TV_FOOD, SV_FOOD_BISCUIT },
+               { TV_FOOD, SV_FOOD_JERKY },
+               { TV_FOOD, SV_FOOD_JERKY },
+
+               { TV_FOOD, SV_FOOD_PINT_OF_WINE },
+               { TV_FOOD, SV_FOOD_PINT_OF_ALE },
+               { TV_LITE, SV_LITE_TORCH },
+               { TV_LITE, SV_LITE_TORCH },
+
+               { TV_LITE, SV_LITE_TORCH },
+               { TV_LITE, SV_LITE_TORCH },
+               { TV_LITE, SV_LITE_LANTERN },
+               { TV_LITE, SV_LITE_LANTERN },
+
+               { TV_FLASK, 0 },
+               { TV_FLASK, 0 },
+               { TV_FLASK, 0 },
+               { TV_FLASK, 0 },
+
+               { TV_FLASK, 0 },
+               { TV_FLASK, 0 },
+               { TV_SPIKE, 0 },
+               { TV_SPIKE, 0 },
+
+               { TV_SHOT, SV_AMMO_NORMAL },
+               { TV_ARROW, SV_AMMO_NORMAL },
+               { TV_BOLT, SV_AMMO_NORMAL },
+               { TV_DIGGING, SV_SHOVEL },
+
+               { TV_DIGGING, SV_PICK },
+               { TV_CLOAK, SV_CLOAK },
+               { TV_CLOAK, SV_CLOAK },
+               { TV_CLOAK, SV_FUR_CLOAK },
+
+               { TV_FOOD, SV_FOOD_RATION },
+               { TV_FOOD, SV_FOOD_RATION },
+               { TV_FOOD, SV_FOOD_RATION },
+               { TV_FOOD, SV_FOOD_RATION },
+
+               { TV_POTION, SV_POTION_WATER },
+               { TV_POTION, SV_POTION_WATER },
+               { TV_LITE, SV_LITE_LANTERN },
+               { TV_LITE, SV_LITE_LANTERN },
+
+               { TV_FOOD, SV_FOOD_WAYBREAD },
+               { TV_FOOD, SV_FOOD_WAYBREAD },
+               { TV_CAPTURE, 0 },
+               { TV_FIGURINE, 0 },
+
+               { TV_SHOT, SV_AMMO_NORMAL },
+               { TV_ARROW, SV_AMMO_NORMAL },
+               { TV_BOLT, SV_AMMO_NORMAL },
+               { TV_DIGGING, SV_SHOVEL }
+       },
+
+       {
+               /* Armoury */
+               { TV_BOOTS, SV_PAIR_OF_SOFT_LEATHER_BOOTS },
+               { TV_BOOTS, SV_PAIR_OF_SOFT_LEATHER_BOOTS },
+               { TV_BOOTS, SV_PAIR_OF_HARD_LEATHER_BOOTS },
+               { TV_BOOTS, SV_PAIR_OF_HARD_LEATHER_BOOTS },
+
+               { TV_HELM, SV_HARD_LEATHER_CAP },
+               { TV_HELM, SV_HARD_LEATHER_CAP },
+               { TV_HELM, SV_METAL_CAP },
+               { TV_HELM, SV_IRON_HELM },
+
+               { TV_SOFT_ARMOR, SV_ROBE },
+               { TV_SOFT_ARMOR, SV_ROBE },
+               { TV_SOFT_ARMOR, SV_SOFT_LEATHER_ARMOR },
+               { TV_SOFT_ARMOR, SV_SOFT_LEATHER_ARMOR },
+
+               { TV_SOFT_ARMOR, SV_HARD_LEATHER_ARMOR },
+               { TV_SOFT_ARMOR, SV_HARD_LEATHER_ARMOR },
+               { TV_SOFT_ARMOR, SV_HARD_STUDDED_LEATHER },
+               { TV_SOFT_ARMOR, SV_HARD_STUDDED_LEATHER },
+
+               { TV_SOFT_ARMOR, SV_RHINO_HIDE_ARMOR },
+               { TV_SOFT_ARMOR, SV_LEATHER_SCALE_MAIL },
+               { TV_HARD_ARMOR, SV_METAL_SCALE_MAIL },
+               { TV_HARD_ARMOR, SV_CHAIN_MAIL },
+
+               { TV_HARD_ARMOR, SV_DOUBLE_RING_MAIL },
+               { TV_HARD_ARMOR, SV_AUGMENTED_CHAIN_MAIL },
+               { TV_HARD_ARMOR, SV_BAR_CHAIN_MAIL },
+               { TV_HARD_ARMOR, SV_DOUBLE_CHAIN_MAIL },
+
+               { TV_HARD_ARMOR, SV_METAL_BRIGANDINE_ARMOUR },
+               { TV_HARD_ARMOR, SV_SPLINT_MAIL },
+               { TV_GLOVES, SV_SET_OF_LEATHER_GLOVES },
+               { TV_GLOVES, SV_SET_OF_LEATHER_GLOVES },
+
+               { TV_GLOVES, SV_SET_OF_GAUNTLETS },
+               { TV_SHIELD, SV_SMALL_LEATHER_SHIELD },
+               { TV_SHIELD, SV_LARGE_LEATHER_SHIELD },
+               { TV_SHIELD, SV_SMALL_METAL_SHIELD },
+
+               { TV_BOOTS, SV_PAIR_OF_HARD_LEATHER_BOOTS },
+               { TV_BOOTS, SV_PAIR_OF_HARD_LEATHER_BOOTS },
+               { TV_HELM, SV_HARD_LEATHER_CAP },
+               { TV_HELM, SV_HARD_LEATHER_CAP },
+
+               { TV_SOFT_ARMOR, SV_ROBE },
+               { TV_SOFT_ARMOR, SV_SOFT_LEATHER_ARMOR },
+               { TV_SOFT_ARMOR, SV_SOFT_LEATHER_ARMOR },
+               { TV_SOFT_ARMOR, SV_HARD_LEATHER_ARMOR },
+
+               { TV_SOFT_ARMOR, SV_LEATHER_JACK },
+               { TV_HARD_ARMOR, SV_METAL_SCALE_MAIL },
+               { TV_HARD_ARMOR, SV_CHAIN_MAIL },
+               { TV_HARD_ARMOR, SV_CHAIN_MAIL },
+
+               { TV_GLOVES, SV_SET_OF_LEATHER_GLOVES },
+               { TV_GLOVES, SV_SET_OF_GAUNTLETS },
+               { TV_SHIELD, SV_SMALL_LEATHER_SHIELD },
+               { TV_SHIELD, SV_SMALL_LEATHER_SHIELD }
+       },
+
+       {
+               /* Weaponsmith */
+               { TV_SWORD, SV_DAGGER },
+               { TV_SWORD, SV_MAIN_GAUCHE },
+               { TV_SWORD, SV_RAPIER },
+               { TV_SWORD, SV_SMALL_SWORD },
+
+               { TV_SWORD, SV_SHORT_SWORD },
+               { TV_SWORD, SV_SABRE },
+               { TV_SWORD, SV_CUTLASS },
+               { TV_SWORD, SV_TULWAR },
+
+               { TV_SWORD, SV_BROAD_SWORD },
+               { TV_SWORD, SV_LONG_SWORD },
+               { TV_SWORD, SV_SCIMITAR },
+               { TV_SWORD, SV_KATANA },
+
+               { TV_SWORD, SV_BASTARD_SWORD },
+               { TV_POLEARM, SV_SPEAR },
+               { TV_POLEARM, SV_AWL_PIKE },
+               { TV_POLEARM, SV_TRIDENT },
+
+               { TV_POLEARM, SV_PIKE },
+               { TV_POLEARM, SV_BEAKED_AXE },
+               { TV_POLEARM, SV_BROAD_AXE },
+               { TV_POLEARM, SV_LANCE },
+
+               { TV_POLEARM, SV_BATTLE_AXE },
+               { TV_POLEARM, SV_HATCHET },
+               { TV_BOW, SV_SLING },
+               { TV_BOW, SV_SHORT_BOW },
+
+               { TV_BOW, SV_LIGHT_XBOW },
+               { TV_SHOT, SV_AMMO_NORMAL },
+               { TV_SHOT, SV_AMMO_NORMAL },
+               { TV_ARROW, SV_AMMO_NORMAL },
+
+               { TV_ARROW, SV_AMMO_NORMAL },
+               { TV_BOLT, SV_AMMO_NORMAL },
+               { TV_BOLT, SV_AMMO_NORMAL },
+               { TV_BOW, SV_LIGHT_XBOW },
+
+               { TV_ARROW, SV_AMMO_NORMAL },
+               { TV_BOLT, SV_AMMO_NORMAL },
+               { TV_BOW, SV_SHORT_BOW },
+               { TV_BOW, SV_LIGHT_XBOW },
+
+               { TV_SWORD, SV_DAGGER },
+               { TV_SWORD, SV_TANTO },
+               { TV_SWORD, SV_RAPIER },
+               { TV_SWORD, SV_SMALL_SWORD },
+
+               { TV_SWORD, SV_SHORT_SWORD },
+               { TV_SWORD, SV_LONG_SWORD },
+               { TV_SWORD, SV_SCIMITAR },
+               { TV_SWORD, SV_BROAD_SWORD },
+
+               { TV_HISSATSU_BOOK, 0 },
+               { TV_HISSATSU_BOOK, 0 },
+               { TV_HISSATSU_BOOK, 1 },
+               { TV_HISSATSU_BOOK, 1 },
+       },
+
+       {
+               /* Temple */
+               { TV_HAFTED, SV_NUNCHAKU },
+               { TV_HAFTED, SV_QUARTERSTAFF },
+               { TV_HAFTED, SV_MACE },
+               { TV_HAFTED, SV_BO_STAFF },
+
+               { TV_HAFTED, SV_WAR_HAMMER },
+               { TV_HAFTED, SV_WAR_HAMMER },
+               { TV_HAFTED, SV_MORNING_STAR },
+               { TV_HAFTED, SV_FLAIL },
+
+               { TV_HAFTED, SV_LEAD_FILLED_MACE },
+               { TV_SCROLL, SV_SCROLL_REMOVE_CURSE },
+               { TV_SCROLL, SV_SCROLL_BLESSING },
+               { TV_SCROLL, SV_SCROLL_HOLY_CHANT },
+
+               { TV_POTION, SV_POTION_HEROISM },
+               { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
+               { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
+               { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
+
+               { TV_POTION, SV_POTION_CURE_LIGHT },
+               { TV_POTION, SV_POTION_CURE_SERIOUS },
+               { TV_POTION, SV_POTION_CURE_SERIOUS },
+               { TV_POTION, SV_POTION_CURE_CRITICAL },
+
+               { TV_POTION, SV_POTION_CURE_CRITICAL },
+               { TV_POTION, SV_POTION_RESTORE_EXP },
+               { TV_POTION, SV_POTION_RESTORE_EXP },
+               { TV_POTION, SV_POTION_RESTORE_EXP },
+
+               { TV_LIFE_BOOK, 0 },
+               { TV_LIFE_BOOK, 0 },
+               { TV_LIFE_BOOK, 1 },
+               { TV_LIFE_BOOK, 1 },
+
+               { TV_CRUSADE_BOOK, 0 },
+               { TV_CRUSADE_BOOK, 0 },
+               { TV_CRUSADE_BOOK, 1 },
+               { TV_CRUSADE_BOOK, 1 },
+
+               { TV_HAFTED, SV_WHIP },
+               { TV_HAFTED, SV_MACE },
+               { TV_HAFTED, SV_BALL_AND_CHAIN },
+               { TV_HAFTED, SV_WAR_HAMMER },
+
+               { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
+               { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
+               { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
+               { TV_POTION, SV_POTION_CURE_CRITICAL },
+
+               { TV_POTION, SV_POTION_CURE_CRITICAL },
+               { TV_POTION, SV_POTION_RESTORE_EXP },
+
+               { TV_FIGURINE, 0 },
+               { TV_STATUE, SV_ANY },
+
+               { TV_SCROLL, SV_SCROLL_REMOVE_CURSE },
+               { TV_SCROLL, SV_SCROLL_REMOVE_CURSE },
+               { TV_SCROLL, SV_SCROLL_STAR_REMOVE_CURSE },
+               { TV_SCROLL, SV_SCROLL_STAR_REMOVE_CURSE }
+       },
+
+       {
+               /* Alchemy shop */
+               { TV_SCROLL, SV_SCROLL_ENCHANT_WEAPON_TO_HIT },
+               { TV_SCROLL, SV_SCROLL_ENCHANT_WEAPON_TO_DAM },
+               { TV_SCROLL, SV_SCROLL_ENCHANT_ARMOR },
+               { TV_SCROLL, SV_SCROLL_IDENTIFY },
+
+               { TV_SCROLL, SV_SCROLL_IDENTIFY },
+               { TV_SCROLL, SV_SCROLL_IDENTIFY },
+               { TV_SCROLL, SV_SCROLL_IDENTIFY },
+               { TV_SCROLL, SV_SCROLL_LIGHT },
+
+               { TV_SCROLL, SV_SCROLL_PHASE_DOOR },
+               { TV_SCROLL, SV_SCROLL_PHASE_DOOR },
+               { TV_SCROLL, SV_SCROLL_TELEPORT },
+               { TV_SCROLL, SV_SCROLL_MONSTER_CONFUSION },
+
+               { TV_SCROLL, SV_SCROLL_MAPPING },
+               { TV_SCROLL, SV_SCROLL_DETECT_GOLD },
+               { TV_SCROLL, SV_SCROLL_DETECT_ITEM },
+               { TV_SCROLL, SV_SCROLL_DETECT_TRAP },
+
+               { TV_SCROLL, SV_SCROLL_DETECT_INVIS },
+               { TV_SCROLL, SV_SCROLL_RECHARGING },
+               { TV_SCROLL, SV_SCROLL_TELEPORT },
+               { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
+
+               { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
+               { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
+               { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
+               { TV_SCROLL, SV_SCROLL_TELEPORT },
+
+               { TV_SCROLL, SV_SCROLL_TELEPORT },
+               { TV_POTION, SV_POTION_RES_STR },
+               { TV_POTION, SV_POTION_RES_INT },
+               { TV_POTION, SV_POTION_RES_WIS },
+
+               { TV_POTION, SV_POTION_RES_DEX },
+               { TV_POTION, SV_POTION_RES_CON },
+               { TV_POTION, SV_POTION_RES_CHR },
+               { TV_SCROLL, SV_SCROLL_IDENTIFY },
+
+               { TV_SCROLL, SV_SCROLL_IDENTIFY },
+               { TV_SCROLL, SV_SCROLL_STAR_IDENTIFY },
+               { TV_SCROLL, SV_SCROLL_STAR_IDENTIFY },
+               { TV_SCROLL, SV_SCROLL_LIGHT },
+
+               { TV_POTION, SV_POTION_RES_STR },
+               { TV_POTION, SV_POTION_RES_INT },
+               { TV_POTION, SV_POTION_RES_WIS },
+               { TV_POTION, SV_POTION_RES_DEX },
+
+               { TV_POTION, SV_POTION_RES_CON },
+               { TV_POTION, SV_POTION_RES_CHR },
+               { TV_SCROLL, SV_SCROLL_ENCHANT_ARMOR },
+               { TV_SCROLL, SV_SCROLL_ENCHANT_ARMOR },
+
+               { TV_SCROLL, SV_SCROLL_RECHARGING },
+               { TV_SCROLL, SV_SCROLL_PHASE_DOOR },
+               { TV_SCROLL, SV_SCROLL_ENCHANT_WEAPON_TO_HIT },
+               { TV_SCROLL, SV_SCROLL_ENCHANT_WEAPON_TO_DAM },
+
+       },
+
+       {
+               /* Magic-User store */
+               { TV_RING, SV_RING_PROTECTION },
+               { TV_RING, SV_RING_LEVITATION_FALL },
+               { TV_RING, SV_RING_PROTECTION },
+               { TV_RING, SV_RING_RESIST_FIRE },
+
+               { TV_RING, SV_RING_RESIST_COLD },
+               { TV_AMULET, SV_AMULET_CHARISMA },
+               { TV_RING, SV_RING_WARNING },
+               { TV_AMULET, SV_AMULET_RESIST_ACID },
+
+               { TV_AMULET, SV_AMULET_SEARCHING },
+               { TV_WAND, SV_WAND_SLOW_MONSTER },
+               { TV_WAND, SV_WAND_CONFUSE_MONSTER },
+               { TV_WAND, SV_WAND_SLEEP_MONSTER },
+
+               { TV_WAND, SV_WAND_MAGIC_MISSILE },
+               { TV_WAND, SV_WAND_STINKING_CLOUD },
+               { TV_WAND, SV_WAND_WONDER },
+               { TV_WAND, SV_WAND_DISARMING },
+
+               { TV_STAFF, SV_STAFF_LITE },
+               { TV_STAFF, SV_STAFF_MAPPING },
+               { TV_STAFF, SV_STAFF_DETECT_TRAP },
+               { TV_STAFF, SV_STAFF_DETECT_DOOR },
+
+               { TV_STAFF, SV_STAFF_DETECT_GOLD },
+               { TV_STAFF, SV_STAFF_DETECT_ITEM },
+               { TV_STAFF, SV_STAFF_DETECT_INVIS },
+               { TV_STAFF, SV_STAFF_DETECT_EVIL },
+
+               { TV_STAFF, SV_STAFF_TELEPORTATION },
+               { TV_STAFF, SV_STAFF_TELEPORTATION },
+               { TV_STAFF, SV_STAFF_TELEPORTATION },
+               { TV_STAFF, SV_STAFF_TELEPORTATION },
+
+               { TV_STAFF, SV_STAFF_IDENTIFY },
+               { TV_STAFF, SV_STAFF_IDENTIFY },
+               { TV_STAFF, SV_STAFF_IDENTIFY },
+
+               { TV_STAFF, SV_STAFF_IDENTIFY },
+               { TV_STAFF, SV_STAFF_REMOVE_CURSE },
+               { TV_STAFF, SV_STAFF_CURE_LIGHT },
+               { TV_STAFF, SV_STAFF_PROBING },
+
+               { TV_FIGURINE, 0 },
+
+               { TV_SORCERY_BOOK, 0 },
+               { TV_SORCERY_BOOK, 0 },
+               { TV_SORCERY_BOOK, 1 },
+               { TV_SORCERY_BOOK, 1 },
+
+               { TV_ARCANE_BOOK, 0 },
+               { TV_ARCANE_BOOK, 0 },
+               { TV_ARCANE_BOOK, 1 },
+               { TV_ARCANE_BOOK, 1 },
+
+               { TV_ARCANE_BOOK, 2 },
+               { TV_ARCANE_BOOK, 2 },
+               { TV_ARCANE_BOOK, 3 },
+               { TV_ARCANE_BOOK, 3 },
+       },
+
+       {
+               /* Black Market (unused) */
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 }
+       },
+
+       {
+               /* Home (unused) */
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 }
+       },
+
+       {
+               /* Bookstore */
+               { TV_SORCERY_BOOK, 0 },
+               { TV_SORCERY_BOOK, 0 },
+               { TV_SORCERY_BOOK, 1 },
+               { TV_SORCERY_BOOK, 1 },
+
+               { TV_NATURE_BOOK, 0 },
+               { TV_NATURE_BOOK, 0 },
+               { TV_NATURE_BOOK, 1 },
+               { TV_NATURE_BOOK, 1 },
+
+               { TV_CHAOS_BOOK, 0 },
+               { TV_CHAOS_BOOK, 0 },
+               { TV_CHAOS_BOOK, 1 },
+               { TV_CHAOS_BOOK, 1 },
+
+               { TV_DEATH_BOOK, 0 },
+               { TV_DEATH_BOOK, 0 },
+               { TV_DEATH_BOOK, 1 },
+               { TV_DEATH_BOOK, 1 },
+
+               { TV_TRUMP_BOOK, 0 },
+               { TV_TRUMP_BOOK, 0 },
+               { TV_TRUMP_BOOK, 1 },
+               { TV_TRUMP_BOOK, 1 },
+
+               { TV_ARCANE_BOOK, 0 },
+               { TV_ARCANE_BOOK, 1 },
+               { TV_ARCANE_BOOK, 2 },
+               { TV_ARCANE_BOOK, 3 },
+
+               { TV_CRAFT_BOOK, 0 },
+               { TV_CRAFT_BOOK, 0 },
+               { TV_CRAFT_BOOK, 1 },
+               { TV_CRAFT_BOOK, 1 },
+
+               { TV_DAEMON_BOOK, 0 },
+               { TV_DAEMON_BOOK, 0 },
+               { TV_DAEMON_BOOK, 1 },
+               { TV_DAEMON_BOOK, 1 },
+
+               { TV_MUSIC_BOOK, 0 },
+               { TV_MUSIC_BOOK, 0 },
+               { TV_MUSIC_BOOK, 1 },
+               { TV_MUSIC_BOOK, 1 },
+
+               { TV_HEX_BOOK, 0 },
+               { TV_HEX_BOOK, 0 },
+               { TV_HEX_BOOK, 1 },
+               { TV_HEX_BOOK, 1 },
+       },
+
+       {
+               /* Museum (unused) */
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 },
+               { 0, 0 }
+       }
+};
diff --git a/src/market/articles-on-sale.h b/src/market/articles-on-sale.h
new file mode 100644 (file)
index 0000000..dfbe415
--- /dev/null
@@ -0,0 +1,5 @@
+#pragma once
+
+#define STORE_CHOICES   48 /* Number of items to choose stock from */
+
+extern byte store_table[MAX_STORES][STORE_CHOICES][2];
index 86b1df1..5cbf90c 100644 (file)
@@ -69,562 +69,6 @@ static s16b inner_town_num = 0;
 /*** Initialize others ***/
 
 /*!
- * 店舗で販売するオブジェクトを定義する / Hack -- Objects sold in the stores -- by tval/sval pair.
- */
-byte store_table[MAX_STORES][STORE_CHOICES][2] =
-{
-       {
-               /* General Store */
-
-               { TV_FOOD, SV_FOOD_RATION },
-               { TV_FOOD, SV_FOOD_RATION },
-               { TV_FOOD, SV_FOOD_RATION },
-               { TV_FOOD, SV_FOOD_RATION },
-
-               { TV_FOOD, SV_FOOD_RATION },
-               { TV_FOOD, SV_FOOD_BISCUIT },
-               { TV_FOOD, SV_FOOD_JERKY },
-               { TV_FOOD, SV_FOOD_JERKY },
-
-               { TV_FOOD, SV_FOOD_PINT_OF_WINE },
-               { TV_FOOD, SV_FOOD_PINT_OF_ALE },
-               { TV_LITE, SV_LITE_TORCH },
-               { TV_LITE, SV_LITE_TORCH },
-
-               { TV_LITE, SV_LITE_TORCH },
-               { TV_LITE, SV_LITE_TORCH },
-               { TV_LITE, SV_LITE_LANTERN },
-               { TV_LITE, SV_LITE_LANTERN },
-
-               { TV_FLASK, 0 },
-               { TV_FLASK, 0 },
-               { TV_FLASK, 0 },
-               { TV_FLASK, 0 },
-
-               { TV_FLASK, 0 },
-               { TV_FLASK, 0 },
-               { TV_SPIKE, 0 },
-               { TV_SPIKE, 0 },
-
-               { TV_SHOT, SV_AMMO_NORMAL },
-               { TV_ARROW, SV_AMMO_NORMAL },
-               { TV_BOLT, SV_AMMO_NORMAL },
-               { TV_DIGGING, SV_SHOVEL },
-
-               { TV_DIGGING, SV_PICK },
-               { TV_CLOAK, SV_CLOAK },
-               { TV_CLOAK, SV_CLOAK },
-               { TV_CLOAK, SV_FUR_CLOAK },
-
-               { TV_FOOD, SV_FOOD_RATION },
-               { TV_FOOD, SV_FOOD_RATION },
-               { TV_FOOD, SV_FOOD_RATION },
-               { TV_FOOD, SV_FOOD_RATION },
-
-               { TV_POTION, SV_POTION_WATER },
-               { TV_POTION, SV_POTION_WATER },
-               { TV_LITE, SV_LITE_LANTERN },
-               { TV_LITE, SV_LITE_LANTERN },
-
-               { TV_FOOD, SV_FOOD_WAYBREAD },
-               { TV_FOOD, SV_FOOD_WAYBREAD },
-               { TV_CAPTURE, 0 },
-               { TV_FIGURINE, 0 },
-
-               { TV_SHOT, SV_AMMO_NORMAL },
-               { TV_ARROW, SV_AMMO_NORMAL },
-               { TV_BOLT, SV_AMMO_NORMAL },
-               { TV_DIGGING, SV_SHOVEL }
-       },
-
-       {
-               /* Armoury */
-
-               { TV_BOOTS, SV_PAIR_OF_SOFT_LEATHER_BOOTS },
-               { TV_BOOTS, SV_PAIR_OF_SOFT_LEATHER_BOOTS },
-               { TV_BOOTS, SV_PAIR_OF_HARD_LEATHER_BOOTS },
-               { TV_BOOTS, SV_PAIR_OF_HARD_LEATHER_BOOTS },
-
-               { TV_HELM, SV_HARD_LEATHER_CAP },
-               { TV_HELM, SV_HARD_LEATHER_CAP },
-               { TV_HELM, SV_METAL_CAP },
-               { TV_HELM, SV_IRON_HELM },
-
-               { TV_SOFT_ARMOR, SV_ROBE },
-               { TV_SOFT_ARMOR, SV_ROBE },
-               { TV_SOFT_ARMOR, SV_SOFT_LEATHER_ARMOR },
-               { TV_SOFT_ARMOR, SV_SOFT_LEATHER_ARMOR },
-
-               { TV_SOFT_ARMOR, SV_HARD_LEATHER_ARMOR },
-               { TV_SOFT_ARMOR, SV_HARD_LEATHER_ARMOR },
-               { TV_SOFT_ARMOR, SV_HARD_STUDDED_LEATHER },
-               { TV_SOFT_ARMOR, SV_HARD_STUDDED_LEATHER },
-
-               { TV_SOFT_ARMOR, SV_RHINO_HIDE_ARMOR },
-               { TV_SOFT_ARMOR, SV_LEATHER_SCALE_MAIL },
-               { TV_HARD_ARMOR, SV_METAL_SCALE_MAIL },
-               { TV_HARD_ARMOR, SV_CHAIN_MAIL },
-
-               { TV_HARD_ARMOR, SV_DOUBLE_RING_MAIL },
-               { TV_HARD_ARMOR, SV_AUGMENTED_CHAIN_MAIL },
-               { TV_HARD_ARMOR, SV_BAR_CHAIN_MAIL },
-               { TV_HARD_ARMOR, SV_DOUBLE_CHAIN_MAIL },
-
-               { TV_HARD_ARMOR, SV_METAL_BRIGANDINE_ARMOUR },
-               { TV_HARD_ARMOR, SV_SPLINT_MAIL },
-               { TV_GLOVES, SV_SET_OF_LEATHER_GLOVES },
-               { TV_GLOVES, SV_SET_OF_LEATHER_GLOVES },
-
-               { TV_GLOVES, SV_SET_OF_GAUNTLETS },
-               { TV_SHIELD, SV_SMALL_LEATHER_SHIELD },
-               { TV_SHIELD, SV_LARGE_LEATHER_SHIELD },
-               { TV_SHIELD, SV_SMALL_METAL_SHIELD },
-
-               { TV_BOOTS, SV_PAIR_OF_HARD_LEATHER_BOOTS },
-               { TV_BOOTS, SV_PAIR_OF_HARD_LEATHER_BOOTS },
-               { TV_HELM, SV_HARD_LEATHER_CAP },
-               { TV_HELM, SV_HARD_LEATHER_CAP },
-
-               { TV_SOFT_ARMOR, SV_ROBE },
-               { TV_SOFT_ARMOR, SV_SOFT_LEATHER_ARMOR },
-               { TV_SOFT_ARMOR, SV_SOFT_LEATHER_ARMOR },
-               { TV_SOFT_ARMOR, SV_HARD_LEATHER_ARMOR },
-
-               { TV_SOFT_ARMOR, SV_LEATHER_JACK },
-               { TV_HARD_ARMOR, SV_METAL_SCALE_MAIL },
-               { TV_HARD_ARMOR, SV_CHAIN_MAIL },
-               { TV_HARD_ARMOR, SV_CHAIN_MAIL },
-
-               { TV_GLOVES, SV_SET_OF_LEATHER_GLOVES },
-               { TV_GLOVES, SV_SET_OF_GAUNTLETS },
-               { TV_SHIELD, SV_SMALL_LEATHER_SHIELD },
-               { TV_SHIELD, SV_SMALL_LEATHER_SHIELD }
-       },
-
-       {
-               /* Weaponsmith */
-
-               { TV_SWORD, SV_DAGGER },
-               { TV_SWORD, SV_MAIN_GAUCHE },
-               { TV_SWORD, SV_RAPIER },
-               { TV_SWORD, SV_SMALL_SWORD },
-
-               { TV_SWORD, SV_SHORT_SWORD },
-               { TV_SWORD, SV_SABRE },
-               { TV_SWORD, SV_CUTLASS },
-               { TV_SWORD, SV_TULWAR },
-
-               { TV_SWORD, SV_BROAD_SWORD },
-               { TV_SWORD, SV_LONG_SWORD },
-               { TV_SWORD, SV_SCIMITAR },
-               { TV_SWORD, SV_KATANA },
-
-               { TV_SWORD, SV_BASTARD_SWORD },
-               { TV_POLEARM, SV_SPEAR },
-               { TV_POLEARM, SV_AWL_PIKE },
-               { TV_POLEARM, SV_TRIDENT },
-
-               { TV_POLEARM, SV_PIKE },
-               { TV_POLEARM, SV_BEAKED_AXE },
-               { TV_POLEARM, SV_BROAD_AXE },
-               { TV_POLEARM, SV_LANCE },
-
-               { TV_POLEARM, SV_BATTLE_AXE },
-               { TV_POLEARM, SV_HATCHET },
-               { TV_BOW, SV_SLING },
-               { TV_BOW, SV_SHORT_BOW },
-
-               { TV_BOW, SV_LIGHT_XBOW },
-               { TV_SHOT, SV_AMMO_NORMAL },
-               { TV_SHOT, SV_AMMO_NORMAL },
-               { TV_ARROW, SV_AMMO_NORMAL },
-
-               { TV_ARROW, SV_AMMO_NORMAL },
-               { TV_BOLT, SV_AMMO_NORMAL },
-               { TV_BOLT, SV_AMMO_NORMAL },
-               { TV_BOW, SV_LIGHT_XBOW },
-
-               { TV_ARROW, SV_AMMO_NORMAL },
-               { TV_BOLT, SV_AMMO_NORMAL },
-               { TV_BOW, SV_SHORT_BOW },
-               { TV_BOW, SV_LIGHT_XBOW },
-
-               { TV_SWORD, SV_DAGGER },
-               { TV_SWORD, SV_TANTO },
-               { TV_SWORD, SV_RAPIER },
-               { TV_SWORD, SV_SMALL_SWORD },
-
-               { TV_SWORD, SV_SHORT_SWORD },
-               { TV_SWORD, SV_LONG_SWORD },
-               { TV_SWORD, SV_SCIMITAR },
-               { TV_SWORD, SV_BROAD_SWORD },
-
-               { TV_HISSATSU_BOOK, 0 },
-               { TV_HISSATSU_BOOK, 0 },
-               { TV_HISSATSU_BOOK, 1 },
-               { TV_HISSATSU_BOOK, 1 },
-       },
-
-       {
-               /* Temple */
-
-               { TV_HAFTED, SV_NUNCHAKU },
-               { TV_HAFTED, SV_QUARTERSTAFF },
-               { TV_HAFTED, SV_MACE },
-               { TV_HAFTED, SV_BO_STAFF },
-
-               { TV_HAFTED, SV_WAR_HAMMER },
-               { TV_HAFTED, SV_WAR_HAMMER },
-               { TV_HAFTED, SV_MORNING_STAR },
-               { TV_HAFTED, SV_FLAIL },
-
-               { TV_HAFTED, SV_LEAD_FILLED_MACE },
-               { TV_SCROLL, SV_SCROLL_REMOVE_CURSE },
-               { TV_SCROLL, SV_SCROLL_BLESSING },
-               { TV_SCROLL, SV_SCROLL_HOLY_CHANT },
-
-               { TV_POTION, SV_POTION_HEROISM },
-               { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
-               { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
-               { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
-
-               { TV_POTION, SV_POTION_CURE_LIGHT },
-               { TV_POTION, SV_POTION_CURE_SERIOUS },
-               { TV_POTION, SV_POTION_CURE_SERIOUS },
-               { TV_POTION, SV_POTION_CURE_CRITICAL },
-
-               { TV_POTION, SV_POTION_CURE_CRITICAL },
-               { TV_POTION, SV_POTION_RESTORE_EXP },
-               { TV_POTION, SV_POTION_RESTORE_EXP },
-               { TV_POTION, SV_POTION_RESTORE_EXP },
-
-               { TV_LIFE_BOOK, 0 },
-               { TV_LIFE_BOOK, 0 },
-               { TV_LIFE_BOOK, 1 },
-               { TV_LIFE_BOOK, 1 },
-
-               { TV_CRUSADE_BOOK, 0 },
-               { TV_CRUSADE_BOOK, 0 },
-               { TV_CRUSADE_BOOK, 1 },
-               { TV_CRUSADE_BOOK, 1 },
-
-               { TV_HAFTED, SV_WHIP },
-               { TV_HAFTED, SV_MACE },
-               { TV_HAFTED, SV_BALL_AND_CHAIN },
-               { TV_HAFTED, SV_WAR_HAMMER },
-
-               { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
-               { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
-               { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
-               { TV_POTION, SV_POTION_CURE_CRITICAL },
-
-               { TV_POTION, SV_POTION_CURE_CRITICAL },
-               { TV_POTION, SV_POTION_RESTORE_EXP },
-
-               { TV_FIGURINE, 0 },
-               { TV_STATUE, SV_ANY },
-
-               { TV_SCROLL, SV_SCROLL_REMOVE_CURSE },
-               { TV_SCROLL, SV_SCROLL_REMOVE_CURSE },
-               { TV_SCROLL, SV_SCROLL_STAR_REMOVE_CURSE },
-               { TV_SCROLL, SV_SCROLL_STAR_REMOVE_CURSE }
-       },
-
-       {
-               /* Alchemy shop */
-
-               { TV_SCROLL, SV_SCROLL_ENCHANT_WEAPON_TO_HIT },
-               { TV_SCROLL, SV_SCROLL_ENCHANT_WEAPON_TO_DAM },
-               { TV_SCROLL, SV_SCROLL_ENCHANT_ARMOR },
-               { TV_SCROLL, SV_SCROLL_IDENTIFY },
-
-               { TV_SCROLL, SV_SCROLL_IDENTIFY },
-               { TV_SCROLL, SV_SCROLL_IDENTIFY },
-               { TV_SCROLL, SV_SCROLL_IDENTIFY },
-               { TV_SCROLL, SV_SCROLL_LIGHT },
-
-               { TV_SCROLL, SV_SCROLL_PHASE_DOOR },
-               { TV_SCROLL, SV_SCROLL_PHASE_DOOR },
-               { TV_SCROLL, SV_SCROLL_TELEPORT },
-               { TV_SCROLL, SV_SCROLL_MONSTER_CONFUSION },
-
-               { TV_SCROLL, SV_SCROLL_MAPPING },
-               { TV_SCROLL, SV_SCROLL_DETECT_GOLD },
-               { TV_SCROLL, SV_SCROLL_DETECT_ITEM },
-               { TV_SCROLL, SV_SCROLL_DETECT_TRAP },
-
-               { TV_SCROLL, SV_SCROLL_DETECT_INVIS },
-               { TV_SCROLL, SV_SCROLL_RECHARGING },
-               { TV_SCROLL, SV_SCROLL_TELEPORT },
-               { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
-
-               { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
-               { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
-               { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
-               { TV_SCROLL, SV_SCROLL_TELEPORT },
-
-               { TV_SCROLL, SV_SCROLL_TELEPORT },
-               { TV_POTION, SV_POTION_RES_STR },
-               { TV_POTION, SV_POTION_RES_INT },
-               { TV_POTION, SV_POTION_RES_WIS },
-
-               { TV_POTION, SV_POTION_RES_DEX },
-               { TV_POTION, SV_POTION_RES_CON },
-               { TV_POTION, SV_POTION_RES_CHR },
-               { TV_SCROLL, SV_SCROLL_IDENTIFY },
-
-               { TV_SCROLL, SV_SCROLL_IDENTIFY },
-               { TV_SCROLL, SV_SCROLL_STAR_IDENTIFY },  /* Yep, occasionally! */
-               { TV_SCROLL, SV_SCROLL_STAR_IDENTIFY },
-               { TV_SCROLL, SV_SCROLL_LIGHT },
-
-               { TV_POTION, SV_POTION_RES_STR },
-               { TV_POTION, SV_POTION_RES_INT },
-               { TV_POTION, SV_POTION_RES_WIS },
-               { TV_POTION, SV_POTION_RES_DEX },
-
-               { TV_POTION, SV_POTION_RES_CON },
-               { TV_POTION, SV_POTION_RES_CHR },
-               { TV_SCROLL, SV_SCROLL_ENCHANT_ARMOR },
-               { TV_SCROLL, SV_SCROLL_ENCHANT_ARMOR },
-
-               { TV_SCROLL, SV_SCROLL_RECHARGING },
-               { TV_SCROLL, SV_SCROLL_PHASE_DOOR },
-               { TV_SCROLL, SV_SCROLL_ENCHANT_WEAPON_TO_HIT },
-               { TV_SCROLL, SV_SCROLL_ENCHANT_WEAPON_TO_DAM },
-
-       },
-
-       {
-               /* Magic-User store */
-
-               { TV_RING, SV_RING_PROTECTION },
-               { TV_RING, SV_RING_LEVITATION_FALL },
-               { TV_RING, SV_RING_PROTECTION },
-               { TV_RING, SV_RING_RESIST_FIRE },
-
-               { TV_RING, SV_RING_RESIST_COLD },
-               { TV_AMULET, SV_AMULET_CHARISMA },
-               { TV_RING, SV_RING_WARNING },
-               { TV_AMULET, SV_AMULET_RESIST_ACID },
-
-               { TV_AMULET, SV_AMULET_SEARCHING },
-               { TV_WAND, SV_WAND_SLOW_MONSTER },
-               { TV_WAND, SV_WAND_CONFUSE_MONSTER },
-               { TV_WAND, SV_WAND_SLEEP_MONSTER },
-
-               { TV_WAND, SV_WAND_MAGIC_MISSILE },
-               { TV_WAND, SV_WAND_STINKING_CLOUD },
-               { TV_WAND, SV_WAND_WONDER },
-               { TV_WAND, SV_WAND_DISARMING },
-
-               { TV_STAFF, SV_STAFF_LITE },
-               { TV_STAFF, SV_STAFF_MAPPING },
-               { TV_STAFF, SV_STAFF_DETECT_TRAP },
-               { TV_STAFF, SV_STAFF_DETECT_DOOR },
-
-               { TV_STAFF, SV_STAFF_DETECT_GOLD },
-               { TV_STAFF, SV_STAFF_DETECT_ITEM },
-               { TV_STAFF, SV_STAFF_DETECT_INVIS },
-               { TV_STAFF, SV_STAFF_DETECT_EVIL },
-
-               { TV_STAFF, SV_STAFF_TELEPORTATION },
-               { TV_STAFF, SV_STAFF_TELEPORTATION },
-               { TV_STAFF, SV_STAFF_TELEPORTATION },
-               { TV_STAFF, SV_STAFF_TELEPORTATION },
-
-               { TV_STAFF, SV_STAFF_IDENTIFY },
-               { TV_STAFF, SV_STAFF_IDENTIFY },
-               { TV_STAFF, SV_STAFF_IDENTIFY },
-
-               { TV_STAFF, SV_STAFF_IDENTIFY },
-               { TV_STAFF, SV_STAFF_REMOVE_CURSE },
-               { TV_STAFF, SV_STAFF_CURE_LIGHT },
-               { TV_STAFF, SV_STAFF_PROBING },
-
-               { TV_FIGURINE, 0 },
-
-               { TV_SORCERY_BOOK, 0 },
-               { TV_SORCERY_BOOK, 0 },
-               { TV_SORCERY_BOOK, 1 },
-               { TV_SORCERY_BOOK, 1 },
-
-               { TV_ARCANE_BOOK, 0 },
-               { TV_ARCANE_BOOK, 0 },
-               { TV_ARCANE_BOOK, 1 },
-               { TV_ARCANE_BOOK, 1 },
-
-               { TV_ARCANE_BOOK, 2 },
-               { TV_ARCANE_BOOK, 2 },
-               { TV_ARCANE_BOOK, 3 },
-               { TV_ARCANE_BOOK, 3 },
-
-       },
-
-       {
-               /* Black Market (unused) */
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 }
-       },
-
-       {
-               /* Home (unused) */
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 }
-       },
-
-       {
-               /* Bookstore */
-               { TV_SORCERY_BOOK, 0 },
-               { TV_SORCERY_BOOK, 0 },
-               { TV_SORCERY_BOOK, 1 },
-               { TV_SORCERY_BOOK, 1 },
-
-               { TV_NATURE_BOOK, 0 },
-               { TV_NATURE_BOOK, 0 },
-               { TV_NATURE_BOOK, 1 },
-               { TV_NATURE_BOOK, 1 },
-
-               { TV_CHAOS_BOOK, 0 },
-               { TV_CHAOS_BOOK, 0 },
-               { TV_CHAOS_BOOK, 1 },
-               { TV_CHAOS_BOOK, 1 },
-
-               { TV_DEATH_BOOK, 0 },
-               { TV_DEATH_BOOK, 0 },
-               { TV_DEATH_BOOK, 1 },
-               { TV_DEATH_BOOK, 1 },
-
-               { TV_TRUMP_BOOK, 0 },           /* +16 */
-               { TV_TRUMP_BOOK, 0 },
-               { TV_TRUMP_BOOK, 1 },
-               { TV_TRUMP_BOOK, 1 },
-
-               { TV_ARCANE_BOOK, 0 },
-               { TV_ARCANE_BOOK, 1 },
-               { TV_ARCANE_BOOK, 2 },
-               { TV_ARCANE_BOOK, 3 },
-
-               { TV_CRAFT_BOOK, 0 },
-               { TV_CRAFT_BOOK, 0 },
-               { TV_CRAFT_BOOK, 1 },
-               { TV_CRAFT_BOOK, 1 },
-
-               { TV_DAEMON_BOOK, 0 },
-               { TV_DAEMON_BOOK, 0 },
-               { TV_DAEMON_BOOK, 1 },
-               { TV_DAEMON_BOOK, 1 },
-
-               { TV_MUSIC_BOOK, 0 },
-               { TV_MUSIC_BOOK, 0 },
-               { TV_MUSIC_BOOK, 1 },
-               { TV_MUSIC_BOOK, 1 },
-
-               { TV_HEX_BOOK, 0 },
-               { TV_HEX_BOOK, 0 },
-               { TV_HEX_BOOK, 1 },
-               { TV_HEX_BOOK, 1 },
-       },
-
-       {
-               /* Museum (unused) */
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 },
-               { 0, 0 }
-       }
-};
-
-
-/*!
  * @brief 取引成功時の店主のメッセージ処理 /
  * ブラックマーケットのときは別のメッセージを出す
  * Successful haggle.
@@ -4138,11 +3582,6 @@ void store_init(int town_num, int store_num)
        st_ptr->good_buy = 0;
        st_ptr->bad_buy = 0;
        st_ptr->stock_num = 0;
-
-       /*
-        * MEGA-HACK - Last visit to store is
-        * BEFORE player birth to enable store restocking
-        */
        st_ptr->last_visit = -10L * TURNS_PER_TICK * STORE_TICKS;
        for (int k = 0; k < st_ptr->stock_size; k++)
        {
index 0a6ab60..1250d88 100644 (file)
@@ -52,7 +52,6 @@ struct store_type
   * Store constants
   */
 #define STORE_INVEN_MAX 24              /* Max number of discrete objs in inven */
-#define STORE_CHOICES   48              /* Number of items to choose stock from */
 #define STORE_OBJ_LEVEL 5               /* Magic Level for normal stores */
 #define STORE_TURNOVER  9               /* Normal shop turnover, per day */
 #define STORE_MIN_KEEP  6               /* Min slots to "always" keep full */
@@ -66,5 +65,3 @@ extern void do_cmd_store(player_type *player_ptr);
 extern void store_shuffle(player_type *player_ptr, int which);
 extern void store_maint(player_type *player_ptr, int town_num, int store_num);
 extern void store_init(int town_num, int store_num);
-
-extern byte store_table[MAX_STORES][STORE_CHOICES][2];