1 #include "market/articles-on-sale.h"
2 #include "object/tval-types.h"
3 #include "sv-definition/sv-amulet-types.h"
4 #include "sv-definition/sv-armor-types.h"
5 #include "sv-definition/sv-bow-types.h"
6 #include "sv-definition/sv-digging-types.h"
7 #include "sv-definition/sv-food-types.h"
8 #include "sv-definition/sv-other-types.h"
9 #include "sv-definition/sv-lite-types.h"
10 #include "sv-definition/sv-potion-types.h"
11 #include "sv-definition/sv-protector-types.h"
12 #include "sv-definition/sv-scroll-types.h"
13 #include "sv-definition/sv-ring-types.h"
14 #include "sv-definition/sv-staff-types.h"
15 #include "sv-definition/sv-wand-types.h"
16 #include "sv-definition/sv-weapon-types.h"
19 * 店舗で販売するオブジェクトを定義する / Hack -- Objects sold in the stores -- by tval/sval pair.
21 byte store_table[MAX_STORES][STORE_CHOICES][2] =
25 { TV_FOOD, SV_FOOD_RATION },
26 { TV_FOOD, SV_FOOD_RATION },
27 { TV_FOOD, SV_FOOD_RATION },
28 { TV_FOOD, SV_FOOD_RATION },
30 { TV_FOOD, SV_FOOD_RATION },
31 { TV_FOOD, SV_FOOD_BISCUIT },
32 { TV_FOOD, SV_FOOD_JERKY },
33 { TV_FOOD, SV_FOOD_JERKY },
35 { TV_FOOD, SV_FOOD_PINT_OF_WINE },
36 { TV_FOOD, SV_FOOD_PINT_OF_ALE },
37 { TV_LITE, SV_LITE_TORCH },
38 { TV_LITE, SV_LITE_TORCH },
40 { TV_LITE, SV_LITE_TORCH },
41 { TV_LITE, SV_LITE_TORCH },
42 { TV_LITE, SV_LITE_LANTERN },
43 { TV_LITE, SV_LITE_LANTERN },
55 { TV_SHOT, SV_AMMO_NORMAL },
56 { TV_ARROW, SV_AMMO_NORMAL },
57 { TV_BOLT, SV_AMMO_NORMAL },
58 { TV_DIGGING, SV_SHOVEL },
60 { TV_DIGGING, SV_PICK },
61 { TV_CLOAK, SV_CLOAK },
62 { TV_CLOAK, SV_CLOAK },
63 { TV_CLOAK, SV_FUR_CLOAK },
65 { TV_FOOD, SV_FOOD_RATION },
66 { TV_FOOD, SV_FOOD_RATION },
67 { TV_FOOD, SV_FOOD_RATION },
68 { TV_FOOD, SV_FOOD_RATION },
70 { TV_POTION, SV_POTION_WATER },
71 { TV_POTION, SV_POTION_WATER },
72 { TV_LITE, SV_LITE_LANTERN },
73 { TV_LITE, SV_LITE_LANTERN },
75 { TV_FOOD, SV_FOOD_WAYBREAD },
76 { TV_FOOD, SV_FOOD_WAYBREAD },
80 { TV_SHOT, SV_AMMO_NORMAL },
81 { TV_ARROW, SV_AMMO_NORMAL },
82 { TV_BOLT, SV_AMMO_NORMAL },
83 { TV_DIGGING, SV_SHOVEL }
88 { TV_BOOTS, SV_PAIR_OF_SOFT_LEATHER_BOOTS },
89 { TV_BOOTS, SV_PAIR_OF_SOFT_LEATHER_BOOTS },
90 { TV_BOOTS, SV_PAIR_OF_HARD_LEATHER_BOOTS },
91 { TV_BOOTS, SV_PAIR_OF_HARD_LEATHER_BOOTS },
93 { TV_HELM, SV_HARD_LEATHER_CAP },
94 { TV_HELM, SV_HARD_LEATHER_CAP },
95 { TV_HELM, SV_METAL_CAP },
96 { TV_HELM, SV_IRON_HELM },
98 { TV_SOFT_ARMOR, SV_ROBE },
99 { TV_SOFT_ARMOR, SV_ROBE },
100 { TV_SOFT_ARMOR, SV_SOFT_LEATHER_ARMOR },
101 { TV_SOFT_ARMOR, SV_SOFT_LEATHER_ARMOR },
103 { TV_SOFT_ARMOR, SV_HARD_LEATHER_ARMOR },
104 { TV_SOFT_ARMOR, SV_HARD_LEATHER_ARMOR },
105 { TV_SOFT_ARMOR, SV_HARD_STUDDED_LEATHER },
106 { TV_SOFT_ARMOR, SV_HARD_STUDDED_LEATHER },
108 { TV_SOFT_ARMOR, SV_RHINO_HIDE_ARMOR },
109 { TV_SOFT_ARMOR, SV_LEATHER_SCALE_MAIL },
110 { TV_HARD_ARMOR, SV_METAL_SCALE_MAIL },
111 { TV_HARD_ARMOR, SV_CHAIN_MAIL },
113 { TV_HARD_ARMOR, SV_DOUBLE_RING_MAIL },
114 { TV_HARD_ARMOR, SV_AUGMENTED_CHAIN_MAIL },
115 { TV_HARD_ARMOR, SV_BAR_CHAIN_MAIL },
116 { TV_HARD_ARMOR, SV_DOUBLE_CHAIN_MAIL },
118 { TV_HARD_ARMOR, SV_METAL_BRIGANDINE_ARMOUR },
119 { TV_HARD_ARMOR, SV_SPLINT_MAIL },
120 { TV_GLOVES, SV_SET_OF_LEATHER_GLOVES },
121 { TV_GLOVES, SV_SET_OF_LEATHER_GLOVES },
123 { TV_GLOVES, SV_SET_OF_GAUNTLETS },
124 { TV_SHIELD, SV_SMALL_LEATHER_SHIELD },
125 { TV_SHIELD, SV_LARGE_LEATHER_SHIELD },
126 { TV_SHIELD, SV_SMALL_METAL_SHIELD },
128 { TV_BOOTS, SV_PAIR_OF_HARD_LEATHER_BOOTS },
129 { TV_BOOTS, SV_PAIR_OF_HARD_LEATHER_BOOTS },
130 { TV_HELM, SV_HARD_LEATHER_CAP },
131 { TV_HELM, SV_HARD_LEATHER_CAP },
133 { TV_SOFT_ARMOR, SV_ROBE },
134 { TV_SOFT_ARMOR, SV_SOFT_LEATHER_ARMOR },
135 { TV_SOFT_ARMOR, SV_SOFT_LEATHER_ARMOR },
136 { TV_SOFT_ARMOR, SV_HARD_LEATHER_ARMOR },
138 { TV_SOFT_ARMOR, SV_LEATHER_JACK },
139 { TV_HARD_ARMOR, SV_METAL_SCALE_MAIL },
140 { TV_HARD_ARMOR, SV_CHAIN_MAIL },
141 { TV_HARD_ARMOR, SV_CHAIN_MAIL },
143 { TV_GLOVES, SV_SET_OF_LEATHER_GLOVES },
144 { TV_GLOVES, SV_SET_OF_GAUNTLETS },
145 { TV_SHIELD, SV_SMALL_LEATHER_SHIELD },
146 { TV_SHIELD, SV_SMALL_LEATHER_SHIELD }
151 { TV_SWORD, SV_DAGGER },
152 { TV_SWORD, SV_MAIN_GAUCHE },
153 { TV_SWORD, SV_RAPIER },
154 { TV_SWORD, SV_SMALL_SWORD },
156 { TV_SWORD, SV_SHORT_SWORD },
157 { TV_SWORD, SV_SABRE },
158 { TV_SWORD, SV_CUTLASS },
159 { TV_SWORD, SV_TULWAR },
161 { TV_SWORD, SV_BROAD_SWORD },
162 { TV_SWORD, SV_LONG_SWORD },
163 { TV_SWORD, SV_SCIMITAR },
164 { TV_SWORD, SV_KATANA },
166 { TV_SWORD, SV_BASTARD_SWORD },
167 { TV_POLEARM, SV_SPEAR },
168 { TV_POLEARM, SV_AWL_PIKE },
169 { TV_POLEARM, SV_TRIDENT },
171 { TV_POLEARM, SV_PIKE },
172 { TV_POLEARM, SV_BEAKED_AXE },
173 { TV_POLEARM, SV_BROAD_AXE },
174 { TV_POLEARM, SV_LANCE },
176 { TV_POLEARM, SV_BATTLE_AXE },
177 { TV_POLEARM, SV_HATCHET },
178 { TV_BOW, SV_SLING },
179 { TV_BOW, SV_SHORT_BOW },
181 { TV_BOW, SV_LIGHT_XBOW },
182 { TV_SHOT, SV_AMMO_NORMAL },
183 { TV_SHOT, SV_AMMO_NORMAL },
184 { TV_ARROW, SV_AMMO_NORMAL },
186 { TV_ARROW, SV_AMMO_NORMAL },
187 { TV_BOLT, SV_AMMO_NORMAL },
188 { TV_BOLT, SV_AMMO_NORMAL },
189 { TV_BOW, SV_LIGHT_XBOW },
191 { TV_ARROW, SV_AMMO_NORMAL },
192 { TV_BOLT, SV_AMMO_NORMAL },
193 { TV_BOW, SV_SHORT_BOW },
194 { TV_BOW, SV_LIGHT_XBOW },
196 { TV_SWORD, SV_DAGGER },
197 { TV_SWORD, SV_TANTO },
198 { TV_SWORD, SV_RAPIER },
199 { TV_SWORD, SV_SMALL_SWORD },
201 { TV_SWORD, SV_SHORT_SWORD },
202 { TV_SWORD, SV_LONG_SWORD },
203 { TV_SWORD, SV_SCIMITAR },
204 { TV_SWORD, SV_BROAD_SWORD },
206 { TV_HISSATSU_BOOK, 0 },
207 { TV_HISSATSU_BOOK, 0 },
208 { TV_HISSATSU_BOOK, 1 },
209 { TV_HISSATSU_BOOK, 1 },
214 { TV_HAFTED, SV_NUNCHAKU },
215 { TV_HAFTED, SV_QUARTERSTAFF },
216 { TV_HAFTED, SV_MACE },
217 { TV_HAFTED, SV_BO_STAFF },
219 { TV_HAFTED, SV_WAR_HAMMER },
220 { TV_HAFTED, SV_WAR_HAMMER },
221 { TV_HAFTED, SV_MORNING_STAR },
222 { TV_HAFTED, SV_FLAIL },
224 { TV_HAFTED, SV_LEAD_FILLED_MACE },
225 { TV_SCROLL, SV_SCROLL_REMOVE_CURSE },
226 { TV_SCROLL, SV_SCROLL_BLESSING },
227 { TV_SCROLL, SV_SCROLL_HOLY_CHANT },
229 { TV_POTION, SV_POTION_HEROISM },
230 { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
231 { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
232 { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
234 { TV_POTION, SV_POTION_CURE_LIGHT },
235 { TV_POTION, SV_POTION_CURE_SERIOUS },
236 { TV_POTION, SV_POTION_CURE_SERIOUS },
237 { TV_POTION, SV_POTION_CURE_CRITICAL },
239 { TV_POTION, SV_POTION_CURE_CRITICAL },
240 { TV_POTION, SV_POTION_RESTORE_EXP },
241 { TV_POTION, SV_POTION_RESTORE_EXP },
242 { TV_POTION, SV_POTION_RESTORE_EXP },
249 { TV_CRUSADE_BOOK, 0 },
250 { TV_CRUSADE_BOOK, 0 },
251 { TV_CRUSADE_BOOK, 1 },
252 { TV_CRUSADE_BOOK, 1 },
254 { TV_HAFTED, SV_WHIP },
255 { TV_HAFTED, SV_MACE },
256 { TV_HAFTED, SV_BALL_AND_CHAIN },
257 { TV_HAFTED, SV_WAR_HAMMER },
259 { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
260 { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
261 { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
262 { TV_POTION, SV_POTION_CURE_CRITICAL },
264 { TV_POTION, SV_POTION_CURE_CRITICAL },
265 { TV_POTION, SV_POTION_RESTORE_EXP },
268 { TV_STATUE, SV_ANY },
270 { TV_SCROLL, SV_SCROLL_REMOVE_CURSE },
271 { TV_SCROLL, SV_SCROLL_REMOVE_CURSE },
272 { TV_SCROLL, SV_SCROLL_STAR_REMOVE_CURSE },
273 { TV_SCROLL, SV_SCROLL_STAR_REMOVE_CURSE }
278 { TV_SCROLL, SV_SCROLL_ENCHANT_WEAPON_TO_HIT },
279 { TV_SCROLL, SV_SCROLL_ENCHANT_WEAPON_TO_DAM },
280 { TV_SCROLL, SV_SCROLL_ENCHANT_ARMOR },
281 { TV_SCROLL, SV_SCROLL_IDENTIFY },
283 { TV_SCROLL, SV_SCROLL_IDENTIFY },
284 { TV_SCROLL, SV_SCROLL_IDENTIFY },
285 { TV_SCROLL, SV_SCROLL_IDENTIFY },
286 { TV_SCROLL, SV_SCROLL_LIGHT },
288 { TV_SCROLL, SV_SCROLL_PHASE_DOOR },
289 { TV_SCROLL, SV_SCROLL_PHASE_DOOR },
290 { TV_SCROLL, SV_SCROLL_TELEPORT },
291 { TV_SCROLL, SV_SCROLL_MONSTER_CONFUSION },
293 { TV_SCROLL, SV_SCROLL_MAPPING },
294 { TV_SCROLL, SV_SCROLL_DETECT_GOLD },
295 { TV_SCROLL, SV_SCROLL_DETECT_ITEM },
296 { TV_SCROLL, SV_SCROLL_DETECT_TRAP },
298 { TV_SCROLL, SV_SCROLL_DETECT_INVIS },
299 { TV_SCROLL, SV_SCROLL_RECHARGING },
300 { TV_SCROLL, SV_SCROLL_TELEPORT },
301 { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
303 { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
304 { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
305 { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
306 { TV_SCROLL, SV_SCROLL_TELEPORT },
308 { TV_SCROLL, SV_SCROLL_TELEPORT },
309 { TV_POTION, SV_POTION_RES_STR },
310 { TV_POTION, SV_POTION_RES_INT },
311 { TV_POTION, SV_POTION_RES_WIS },
313 { TV_POTION, SV_POTION_RES_DEX },
314 { TV_POTION, SV_POTION_RES_CON },
315 { TV_POTION, SV_POTION_RES_CHR },
316 { TV_SCROLL, SV_SCROLL_IDENTIFY },
318 { TV_SCROLL, SV_SCROLL_IDENTIFY },
319 { TV_SCROLL, SV_SCROLL_STAR_IDENTIFY },
320 { TV_SCROLL, SV_SCROLL_STAR_IDENTIFY },
321 { TV_SCROLL, SV_SCROLL_LIGHT },
323 { TV_POTION, SV_POTION_RES_STR },
324 { TV_POTION, SV_POTION_RES_INT },
325 { TV_POTION, SV_POTION_RES_WIS },
326 { TV_POTION, SV_POTION_RES_DEX },
328 { TV_POTION, SV_POTION_RES_CON },
329 { TV_POTION, SV_POTION_RES_CHR },
330 { TV_SCROLL, SV_SCROLL_ENCHANT_ARMOR },
331 { TV_SCROLL, SV_SCROLL_ENCHANT_ARMOR },
333 { TV_SCROLL, SV_SCROLL_RECHARGING },
334 { TV_SCROLL, SV_SCROLL_PHASE_DOOR },
335 { TV_SCROLL, SV_SCROLL_ENCHANT_WEAPON_TO_HIT },
336 { TV_SCROLL, SV_SCROLL_ENCHANT_WEAPON_TO_DAM },
341 /* Magic-User store */
342 { TV_RING, SV_RING_PROTECTION },
343 { TV_RING, SV_RING_LEVITATION_FALL },
344 { TV_RING, SV_RING_PROTECTION },
345 { TV_RING, SV_RING_RESIST_FIRE },
347 { TV_RING, SV_RING_RESIST_COLD },
348 { TV_AMULET, SV_AMULET_CHARISMA },
349 { TV_RING, SV_RING_WARNING },
350 { TV_AMULET, SV_AMULET_RESIST_ACID },
352 { TV_AMULET, SV_AMULET_SEARCHING },
353 { TV_WAND, SV_WAND_SLOW_MONSTER },
354 { TV_WAND, SV_WAND_CONFUSE_MONSTER },
355 { TV_WAND, SV_WAND_SLEEP_MONSTER },
357 { TV_WAND, SV_WAND_MAGIC_MISSILE },
358 { TV_WAND, SV_WAND_STINKING_CLOUD },
359 { TV_WAND, SV_WAND_WONDER },
360 { TV_WAND, SV_WAND_DISARMING },
362 { TV_STAFF, SV_STAFF_LITE },
363 { TV_STAFF, SV_STAFF_MAPPING },
364 { TV_STAFF, SV_STAFF_DETECT_TRAP },
365 { TV_STAFF, SV_STAFF_DETECT_DOOR },
367 { TV_STAFF, SV_STAFF_DETECT_GOLD },
368 { TV_STAFF, SV_STAFF_DETECT_ITEM },
369 { TV_STAFF, SV_STAFF_DETECT_INVIS },
370 { TV_STAFF, SV_STAFF_DETECT_EVIL },
372 { TV_STAFF, SV_STAFF_TELEPORTATION },
373 { TV_STAFF, SV_STAFF_TELEPORTATION },
374 { TV_STAFF, SV_STAFF_TELEPORTATION },
375 { TV_STAFF, SV_STAFF_TELEPORTATION },
377 { TV_STAFF, SV_STAFF_IDENTIFY },
378 { TV_STAFF, SV_STAFF_IDENTIFY },
379 { TV_STAFF, SV_STAFF_IDENTIFY },
381 { TV_STAFF, SV_STAFF_IDENTIFY },
382 { TV_STAFF, SV_STAFF_REMOVE_CURSE },
383 { TV_STAFF, SV_STAFF_CURE_LIGHT },
384 { TV_STAFF, SV_STAFF_PROBING },
388 { TV_SORCERY_BOOK, 0 },
389 { TV_SORCERY_BOOK, 0 },
390 { TV_SORCERY_BOOK, 1 },
391 { TV_SORCERY_BOOK, 1 },
393 { TV_ARCANE_BOOK, 0 },
394 { TV_ARCANE_BOOK, 0 },
395 { TV_ARCANE_BOOK, 1 },
396 { TV_ARCANE_BOOK, 1 },
398 { TV_ARCANE_BOOK, 2 },
399 { TV_ARCANE_BOOK, 2 },
400 { TV_ARCANE_BOOK, 3 },
401 { TV_ARCANE_BOOK, 3 },
405 /* Black Market (unused) */
478 { TV_SORCERY_BOOK, 0 },
479 { TV_SORCERY_BOOK, 0 },
480 { TV_SORCERY_BOOK, 1 },
481 { TV_SORCERY_BOOK, 1 },
483 { TV_NATURE_BOOK, 0 },
484 { TV_NATURE_BOOK, 0 },
485 { TV_NATURE_BOOK, 1 },
486 { TV_NATURE_BOOK, 1 },
488 { TV_CHAOS_BOOK, 0 },
489 { TV_CHAOS_BOOK, 0 },
490 { TV_CHAOS_BOOK, 1 },
491 { TV_CHAOS_BOOK, 1 },
493 { TV_DEATH_BOOK, 0 },
494 { TV_DEATH_BOOK, 0 },
495 { TV_DEATH_BOOK, 1 },
496 { TV_DEATH_BOOK, 1 },
498 { TV_TRUMP_BOOK, 0 },
499 { TV_TRUMP_BOOK, 0 },
500 { TV_TRUMP_BOOK, 1 },
501 { TV_TRUMP_BOOK, 1 },
503 { TV_ARCANE_BOOK, 0 },
504 { TV_ARCANE_BOOK, 1 },
505 { TV_ARCANE_BOOK, 2 },
506 { TV_ARCANE_BOOK, 3 },
508 { TV_CRAFT_BOOK, 0 },
509 { TV_CRAFT_BOOK, 0 },
510 { TV_CRAFT_BOOK, 1 },
511 { TV_CRAFT_BOOK, 1 },
513 { TV_DEMON_BOOK, 0 },
514 { TV_DEMON_BOOK, 0 },
515 { TV_DEMON_BOOK, 1 },
516 { TV_DEMON_BOOK, 1 },
518 { TV_MUSIC_BOOK, 0 },
519 { TV_MUSIC_BOOK, 0 },
520 { TV_MUSIC_BOOK, 1 },
521 { TV_MUSIC_BOOK, 1 },
530 /* Museum (unused) */