OSDN Git Service

5d783b48925983f47ccd95aa17f4888d97701c1e
[hengbandforosx/hengbandosx.git] / src / market / articles-on-sale.c
1 #include "market/articles-on-sale.h"
2 #include "sv-definition/sv-amulet-types.h"
3 #include "sv-definition/sv-armor-types.h"
4 #include "sv-definition/sv-bow-types.h"
5 #include "sv-definition/sv-digging-types.h"
6 #include "sv-definition/sv-food-types.h"
7 #include "sv-definition/sv-other-types.h"
8 #include "sv-definition/sv-lite-types.h"
9 #include "sv-definition/sv-potion-types.h"
10 #include "sv-definition/sv-protector-types.h"
11 #include "sv-definition/sv-scroll-types.h"
12 #include "sv-definition/sv-ring-types.h"
13 #include "sv-definition/sv-rod-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"
17
18 /*!
19  * @brief 店舗で常時販売するオブジェクトを定義する 
20  * @detail
21  * 上から優先して配置する。
22  * 重複して同じ商品を設定した場合、数量が増える。
23  * 17エントリーまで設定可能。(最後は TV_NONE で止める)
24  * 種類が多すぎる場合、店舗を埋めつくすので注意。
25  */
26 store_stock_item_type store_regular_table[MAX_STORES][STORE_MAX_KEEP] =
27
28         {
29         /* General Store */
30         { TV_FOOD, SV_FOOD_RATION },
31         { TV_LITE, SV_LITE_TORCH },
32         { TV_LITE, SV_LITE_LANTERN },
33         { TV_FLASK, SV_FLASK_OIL },
34         { TV_POTION, SV_POTION_WATER },
35         { TV_SPIKE, 0 },
36         { TV_NONE, 0 },
37     },
38     {
39         /* Armoury */
40         { TV_NONE, 0 },
41     },
42     {
43         /* Weaponsmith */
44         { TV_HISSATSU_BOOK, 0 },
45         { TV_SHOT, SV_AMMO_NORMAL },
46         { TV_SHOT, SV_AMMO_NORMAL },
47         { TV_ARROW, SV_AMMO_NORMAL },
48         { TV_ARROW, SV_AMMO_NORMAL },
49         { TV_BOLT, SV_AMMO_NORMAL },
50         { TV_BOLT, SV_AMMO_NORMAL },
51         { TV_NONE, 0 },
52     },
53     {
54         /* Temple */
55         { TV_POTION, SV_POTION_CURE_CRITICAL },
56         { TV_POTION, SV_POTION_CURE_SERIOUS },
57         { TV_POTION, SV_POTION_HEROISM },
58         { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
59         { TV_SCROLL, SV_SCROLL_REMOVE_CURSE },
60         { TV_LIFE_BOOK, 0 },
61         { TV_CRUSADE_BOOK, 0 },
62         { TV_NONE, 0 },
63     },
64     {
65         /* Alchemy shop */
66         { TV_SCROLL, SV_SCROLL_PHASE_DOOR },
67         { TV_SCROLL, SV_SCROLL_PHASE_DOOR },
68         { TV_SCROLL, SV_SCROLL_TELEPORT },
69         { TV_SCROLL, SV_SCROLL_TELEPORT },
70         { TV_SCROLL, SV_SCROLL_RECHARGING },
71         { TV_SCROLL, SV_SCROLL_IDENTIFY },
72         { TV_SCROLL, SV_SCROLL_DETECT_GOLD },
73         { TV_NONE, 0 },
74     },
75     {
76         /* Magic User */
77         { TV_STAFF, SV_STAFF_IDENTIFY },
78         { TV_STAFF, SV_STAFF_IDENTIFY },
79         { TV_STAFF, SV_STAFF_MAPPING },
80         { TV_ARCANE_BOOK, 0 },
81         { TV_SORCERY_BOOK, 0 },
82         { TV_NONE, 0 },
83     },
84     {
85         /* Blackmarket */
86         { TV_NONE, 0 },
87     },
88     {
89         /* Home */
90         { TV_NONE, 0 },
91     },
92     {
93         /* Bookstore */
94         { TV_SORCERY_BOOK, 0 },
95         { TV_NATURE_BOOK, 0 },
96         { TV_CHAOS_BOOK, 0 },
97         { TV_DEATH_BOOK, 0 },
98         { TV_TRUMP_BOOK, 0 },
99         { TV_ARCANE_BOOK, 0 },
100         { TV_CRAFT_BOOK, 0 },
101         { TV_DEMON_BOOK, 0 },
102         { TV_MUSIC_BOOK, 0 },
103         { TV_HEX_BOOK, 0 },
104         { TV_NONE, 0 },
105     },
106     {
107         /* Museum */
108         { TV_NONE, 0 },
109     },
110 };
111
112 /*!
113  * @brief 店舗でランダム販売するオブジェクトを定義する
114  * @detail tval/svalのペア
115  */
116 store_stock_item_type store_table[MAX_STORES][STORE_CHOICES] =
117 {
118         {
119                 /* General Store */
120                 { TV_FOOD, SV_FOOD_RATION },
121                 { TV_FOOD, SV_FOOD_RATION },
122                 { TV_FOOD, SV_FOOD_RATION },
123                 { TV_FOOD, SV_FOOD_RATION },
124
125                 { TV_FOOD, SV_FOOD_BISCUIT },
126                 { TV_FOOD, SV_FOOD_JERKY },
127                 { TV_FOOD, SV_FOOD_PINT_OF_WINE },
128                 { TV_FOOD, SV_FOOD_PINT_OF_ALE },
129
130                 { TV_LITE, SV_LITE_TORCH },
131                 { TV_LITE, SV_LITE_TORCH },
132                 { TV_LITE, SV_LITE_LANTERN },
133                 { TV_LITE, SV_LITE_LANTERN },
134
135                 { TV_POTION, SV_POTION_WATER },
136                 { TV_POTION, SV_POTION_WATER },
137                 { TV_FOOD, SV_FOOD_WAYBREAD },
138                 { TV_FOOD, SV_FOOD_WAYBREAD },
139
140                 { TV_FLASK, 0 },
141                 { TV_FLASK, 0 },
142                 { TV_SPIKE, 0 },
143                 { TV_SPIKE, 0 },
144
145                 { TV_SPIKE, 0 },
146                 { TV_SPIKE, 0 },
147                 { TV_SHOT, SV_AMMO_NORMAL },
148                 { TV_SHOT, SV_AMMO_NORMAL },
149
150                 { TV_ARROW, SV_AMMO_NORMAL },
151                 { TV_ARROW, SV_AMMO_NORMAL },
152                 { TV_BOLT, SV_AMMO_NORMAL },
153                 { TV_BOLT, SV_AMMO_NORMAL },
154
155                 { TV_DIGGING, SV_SHOVEL },
156                 { TV_DIGGING, SV_SHOVEL },
157                 { TV_DIGGING, SV_PICK },
158                 { TV_CLOAK, SV_CLOAK },
159
160                 { TV_CLOAK, SV_CLOAK },
161                 { TV_CLOAK, SV_FUR_CLOAK },
162                 { TV_CAPTURE, 0 },
163                 { TV_CAPTURE, 0 },
164
165                 { TV_FIGURINE, 0 },
166         { TV_WHISTLE, 1 },
167         { TV_ROD, SV_ROD_PESTICIDE },
168         { TV_STATUE, SV_ANY },
169
170                 { TV_NONE, 0 },
171         { TV_NONE, 0 },
172         { TV_NONE, 0 },
173         { TV_NONE, 0 },
174
175                 { TV_NONE, 0 },
176         { TV_NONE, 0 },
177         { TV_NONE, 0 },
178         { TV_NONE, 0 },
179         },
180
181         {
182                 /* Armoury */
183                 { TV_BOOTS, SV_PAIR_OF_SOFT_LEATHER_BOOTS },
184                 { TV_BOOTS, SV_PAIR_OF_SOFT_LEATHER_BOOTS },
185                 { TV_BOOTS, SV_PAIR_OF_HARD_LEATHER_BOOTS },
186                 { TV_BOOTS, SV_PAIR_OF_HARD_LEATHER_BOOTS },
187
188                 { TV_HELM, SV_HARD_LEATHER_CAP },
189                 { TV_HELM, SV_HARD_LEATHER_CAP },
190                 { TV_HELM, SV_METAL_CAP },
191                 { TV_HELM, SV_IRON_HELM },
192
193                 { TV_SOFT_ARMOR, SV_ROBE },
194                 { TV_SOFT_ARMOR, SV_ROBE },
195                 { TV_SOFT_ARMOR, SV_SOFT_LEATHER_ARMOR },
196                 { TV_SOFT_ARMOR, SV_SOFT_LEATHER_ARMOR },
197
198                 { TV_SOFT_ARMOR, SV_HARD_LEATHER_ARMOR },
199                 { TV_SOFT_ARMOR, SV_HARD_LEATHER_ARMOR },
200                 { TV_SOFT_ARMOR, SV_HARD_STUDDED_LEATHER },
201                 { TV_SOFT_ARMOR, SV_HARD_STUDDED_LEATHER },
202
203                 { TV_SOFT_ARMOR, SV_RHINO_HIDE_ARMOR },
204                 { TV_SOFT_ARMOR, SV_LEATHER_SCALE_MAIL },
205                 { TV_HARD_ARMOR, SV_METAL_SCALE_MAIL },
206                 { TV_HARD_ARMOR, SV_CHAIN_MAIL },
207
208                 { TV_HARD_ARMOR, SV_DOUBLE_RING_MAIL },
209                 { TV_HARD_ARMOR, SV_AUGMENTED_CHAIN_MAIL },
210                 { TV_HARD_ARMOR, SV_BAR_CHAIN_MAIL },
211                 { TV_HARD_ARMOR, SV_DOUBLE_CHAIN_MAIL },
212
213                 { TV_HARD_ARMOR, SV_METAL_BRIGANDINE_ARMOUR },
214                 { TV_HARD_ARMOR, SV_SPLINT_MAIL },
215                 { TV_GLOVES, SV_SET_OF_LEATHER_GLOVES },
216                 { TV_GLOVES, SV_SET_OF_LEATHER_GLOVES },
217
218                 { TV_GLOVES, SV_SET_OF_GAUNTLETS },
219                 { TV_SHIELD, SV_SMALL_LEATHER_SHIELD },
220                 { TV_SHIELD, SV_LARGE_LEATHER_SHIELD },
221                 { TV_SHIELD, SV_SMALL_METAL_SHIELD },
222
223                 { TV_BOOTS, SV_PAIR_OF_HARD_LEATHER_BOOTS },
224                 { TV_BOOTS, SV_PAIR_OF_HARD_LEATHER_BOOTS },
225                 { TV_HELM, SV_HARD_LEATHER_CAP },
226                 { TV_HELM, SV_HARD_LEATHER_CAP },
227
228                 { TV_SOFT_ARMOR, SV_ROBE },
229                 { TV_SOFT_ARMOR, SV_SOFT_LEATHER_ARMOR },
230                 { TV_SOFT_ARMOR, SV_SOFT_LEATHER_ARMOR },
231                 { TV_SOFT_ARMOR, SV_HARD_LEATHER_ARMOR },
232
233                 { TV_SOFT_ARMOR, SV_LEATHER_JACK },
234                 { TV_HARD_ARMOR, SV_METAL_SCALE_MAIL },
235                 { TV_HARD_ARMOR, SV_CHAIN_MAIL },
236                 { TV_HARD_ARMOR, SV_CHAIN_MAIL },
237
238                 { TV_GLOVES, SV_SET_OF_LEATHER_GLOVES },
239                 { TV_GLOVES, SV_SET_OF_GAUNTLETS },
240                 { TV_SHIELD, SV_SMALL_LEATHER_SHIELD },
241                 { TV_SHIELD, SV_SMALL_LEATHER_SHIELD }
242         },
243
244         {
245                 /* Weaponsmith */
246                 { TV_SWORD, SV_DAGGER },
247                 { TV_SWORD, SV_MAIN_GAUCHE },
248                 { TV_SWORD, SV_RAPIER },
249                 { TV_SWORD, SV_SMALL_SWORD },
250
251                 { TV_SWORD, SV_SHORT_SWORD },
252                 { TV_SWORD, SV_SABRE },
253                 { TV_SWORD, SV_CUTLASS },
254                 { TV_SWORD, SV_TULWAR },
255
256                 { TV_SWORD, SV_BROAD_SWORD },
257                 { TV_SWORD, SV_LONG_SWORD },
258                 { TV_SWORD, SV_SCIMITAR },
259                 { TV_SWORD, SV_KATANA },
260
261                 { TV_SWORD, SV_BASTARD_SWORD },
262                 { TV_POLEARM, SV_SPEAR },
263                 { TV_POLEARM, SV_AWL_PIKE },
264                 { TV_POLEARM, SV_TRIDENT },
265
266                 { TV_POLEARM, SV_PIKE },
267                 { TV_POLEARM, SV_BEAKED_AXE },
268                 { TV_POLEARM, SV_BROAD_AXE },
269                 { TV_POLEARM, SV_LANCE },
270
271                 { TV_POLEARM, SV_BATTLE_AXE },
272                 { TV_POLEARM, SV_HATCHET },
273                 { TV_BOW, SV_SLING },
274                 { TV_BOW, SV_SHORT_BOW },
275
276                 { TV_BOW, SV_LIGHT_XBOW },
277                 { TV_SHOT, SV_AMMO_NORMAL },
278                 { TV_SHOT, SV_AMMO_NORMAL },
279                 { TV_ARROW, SV_AMMO_NORMAL },
280
281                 { TV_ARROW, SV_AMMO_NORMAL },
282                 { TV_BOLT, SV_AMMO_NORMAL },
283                 { TV_BOLT, SV_AMMO_NORMAL },
284                 { TV_BOW, SV_LIGHT_XBOW },
285
286                 { TV_ARROW, SV_AMMO_NORMAL },
287                 { TV_BOLT, SV_AMMO_NORMAL },
288                 { TV_BOW, SV_SHORT_BOW },
289                 { TV_BOW, SV_LIGHT_XBOW },
290
291                 { TV_SWORD, SV_DAGGER },
292                 { TV_SWORD, SV_TANTO },
293                 { TV_SWORD, SV_RAPIER },
294                 { TV_SWORD, SV_SMALL_SWORD },
295
296                 { TV_SWORD, SV_SHORT_SWORD },
297                 { TV_SWORD, SV_LONG_SWORD },
298                 { TV_SWORD, SV_SCIMITAR },
299                 { TV_SWORD, SV_BROAD_SWORD },
300
301                 { TV_HISSATSU_BOOK, 0 },
302                 { TV_HISSATSU_BOOK, 0 },
303                 { TV_HISSATSU_BOOK, 1 },
304                 { TV_HISSATSU_BOOK, 1 },
305         },
306
307         {
308                 /* Temple */
309                 { TV_HAFTED, SV_NUNCHAKU },
310                 { TV_HAFTED, SV_QUARTERSTAFF },
311                 { TV_HAFTED, SV_MACE },
312                 { TV_HAFTED, SV_BO_STAFF },
313
314                 { TV_HAFTED, SV_WAR_HAMMER },
315                 { TV_HAFTED, SV_WAR_HAMMER },
316                 { TV_HAFTED, SV_MORNING_STAR },
317                 { TV_HAFTED, SV_FLAIL },
318
319                 { TV_HAFTED, SV_LEAD_FILLED_MACE },
320                 { TV_SCROLL, SV_SCROLL_REMOVE_CURSE },
321                 { TV_SCROLL, SV_SCROLL_BLESSING },
322                 { TV_SCROLL, SV_SCROLL_HOLY_CHANT },
323
324                 { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
325                 { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
326                 { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
327         { TV_POTION, SV_POTION_CURE_LIGHT },
328
329                 { TV_POTION, SV_POTION_HEROISM },
330                 { TV_POTION, SV_POTION_HEROISM },
331                 { TV_POTION, SV_POTION_CURE_SERIOUS },
332                 { TV_POTION, SV_POTION_CURE_SERIOUS },
333
334                 { TV_POTION, SV_POTION_CURE_CRITICAL },
335                 { TV_POTION, SV_POTION_CURE_CRITICAL },
336                 { TV_POTION, SV_POTION_CURE_CRITICAL },
337                 { TV_POTION, SV_POTION_CURE_CRITICAL },
338
339                 { TV_POTION, SV_POTION_RESTORE_EXP },
340                 { TV_POTION, SV_POTION_RESTORE_EXP },
341                 { TV_POTION, SV_POTION_RESTORE_EXP },
342                 { TV_POTION, SV_POTION_RESTORE_EXP },
343
344                 { TV_LIFE_BOOK, 0 },
345                 { TV_LIFE_BOOK, 1 },
346                 { TV_LIFE_BOOK, 1 },
347                 { TV_LIFE_BOOK, 1 },
348
349                 { TV_CRUSADE_BOOK, 0 },
350                 { TV_CRUSADE_BOOK, 1 },
351                 { TV_CRUSADE_BOOK, 1 },
352                 { TV_CRUSADE_BOOK, 1 },
353
354                 { TV_HAFTED, SV_WHIP },
355                 { TV_HAFTED, SV_MACE },
356                 { TV_HAFTED, SV_BALL_AND_CHAIN },
357                 { TV_HAFTED, SV_WAR_HAMMER },
358
359                 { TV_POTION, SV_POTION_RESIST_HEAT },
360                 { TV_POTION, SV_POTION_RESIST_COLD },
361                 { TV_FIGURINE, 0 },
362                 { TV_STATUE, SV_ANY },
363
364                 { TV_SCROLL, SV_SCROLL_REMOVE_CURSE },
365                 { TV_SCROLL, SV_SCROLL_REMOVE_CURSE },
366                 { TV_SCROLL, SV_SCROLL_STAR_REMOVE_CURSE },
367                 { TV_SCROLL, SV_SCROLL_STAR_REMOVE_CURSE },
368         },
369
370         {
371                 /* Alchemy shop */
372                 { TV_SCROLL, SV_SCROLL_ENCHANT_WEAPON_TO_HIT },
373                 { TV_SCROLL, SV_SCROLL_ENCHANT_WEAPON_TO_DAM },
374                 { TV_SCROLL, SV_SCROLL_ENCHANT_ARMOR },
375                 { TV_SCROLL, SV_SCROLL_IDENTIFY },
376
377                 { TV_SCROLL, SV_SCROLL_IDENTIFY },
378                 { TV_SCROLL, SV_SCROLL_IDENTIFY },
379                 { TV_SCROLL, SV_SCROLL_IDENTIFY },
380                 { TV_SCROLL, SV_SCROLL_LIGHT },
381
382                 { TV_SCROLL, SV_SCROLL_PHASE_DOOR },
383                 { TV_SCROLL, SV_SCROLL_PHASE_DOOR },
384                 { TV_SCROLL, SV_SCROLL_TELEPORT },
385                 { TV_SCROLL, SV_SCROLL_MONSTER_CONFUSION },
386
387                 { TV_SCROLL, SV_SCROLL_MAPPING },
388                 { TV_SCROLL, SV_SCROLL_DETECT_GOLD },
389                 { TV_SCROLL, SV_SCROLL_DETECT_ITEM },
390                 { TV_SCROLL, SV_SCROLL_DETECT_TRAP },
391
392                 { TV_SCROLL, SV_SCROLL_DETECT_INVIS },
393                 { TV_SCROLL, SV_SCROLL_RECHARGING },
394                 { TV_SCROLL, SV_SCROLL_TELEPORT },
395                 { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
396
397                 { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
398                 { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
399                 { TV_SCROLL, SV_SCROLL_WORD_OF_RECALL },
400                 { TV_SCROLL, SV_SCROLL_TELEPORT },
401
402                 { TV_SCROLL, SV_SCROLL_TELEPORT },
403                 { TV_POTION, SV_POTION_RES_STR },
404                 { TV_POTION, SV_POTION_RES_INT },
405                 { TV_POTION, SV_POTION_RES_WIS },
406
407                 { TV_POTION, SV_POTION_RES_DEX },
408                 { TV_POTION, SV_POTION_RES_CON },
409                 { TV_POTION, SV_POTION_RES_CHR },
410                 { TV_SCROLL, SV_SCROLL_IDENTIFY },
411
412                 { TV_SCROLL, SV_SCROLL_IDENTIFY },
413                 { TV_SCROLL, SV_SCROLL_STAR_IDENTIFY },
414                 { TV_SCROLL, SV_SCROLL_STAR_IDENTIFY },
415                 { TV_SCROLL, SV_SCROLL_LIGHT },
416
417                 { TV_POTION, SV_POTION_RES_STR },
418                 { TV_POTION, SV_POTION_RES_INT },
419                 { TV_POTION, SV_POTION_RES_WIS },
420                 { TV_POTION, SV_POTION_RES_DEX },
421
422                 { TV_POTION, SV_POTION_RES_CON },
423                 { TV_POTION, SV_POTION_RES_CHR },
424                 { TV_SCROLL, SV_SCROLL_ENCHANT_ARMOR },
425                 { TV_SCROLL, SV_SCROLL_ENCHANT_ARMOR },
426
427                 { TV_SCROLL, SV_SCROLL_RECHARGING },
428                 { TV_SCROLL, SV_SCROLL_PHASE_DOOR },
429                 { TV_SCROLL, SV_SCROLL_ENCHANT_WEAPON_TO_HIT },
430                 { TV_SCROLL, SV_SCROLL_ENCHANT_WEAPON_TO_DAM },
431
432         },
433
434         {
435                 /* Magic-User store */
436                 { TV_RING, SV_RING_PROTECTION },
437                 { TV_RING, SV_RING_LEVITATION_FALL },
438                 { TV_RING, SV_RING_PROTECTION },
439                 { TV_RING, SV_RING_RESIST_FIRE },
440
441                 { TV_RING, SV_RING_RESIST_COLD },
442                 { TV_AMULET, SV_AMULET_CHARISMA },
443                 { TV_RING, SV_RING_WARNING },
444                 { TV_AMULET, SV_AMULET_RESIST_ACID },
445
446                 { TV_AMULET, SV_AMULET_SEARCHING },
447                 { TV_WAND, SV_WAND_SLOW_MONSTER },
448                 { TV_WAND, SV_WAND_CONFUSE_MONSTER },
449                 { TV_WAND, SV_WAND_SLEEP_MONSTER },
450
451                 { TV_WAND, SV_WAND_MAGIC_MISSILE },
452                 { TV_WAND, SV_WAND_STINKING_CLOUD },
453                 { TV_WAND, SV_WAND_WONDER },
454                 { TV_WAND, SV_WAND_DISARMING },
455
456                 { TV_STAFF, SV_STAFF_LITE },
457                 { TV_STAFF, SV_STAFF_MAPPING },
458                 { TV_STAFF, SV_STAFF_DETECT_TRAP },
459                 { TV_STAFF, SV_STAFF_DETECT_DOOR },
460
461                 { TV_STAFF, SV_STAFF_DETECT_GOLD },
462                 { TV_STAFF, SV_STAFF_DETECT_ITEM },
463                 { TV_STAFF, SV_STAFF_DETECT_INVIS },
464                 { TV_STAFF, SV_STAFF_DETECT_EVIL },
465
466                 { TV_STAFF, SV_STAFF_TELEPORTATION },
467                 { TV_STAFF, SV_STAFF_TELEPORTATION },
468                 { TV_STAFF, SV_STAFF_TELEPORTATION },
469                 { TV_STAFF, SV_STAFF_TELEPORTATION },
470
471                 { TV_STAFF, SV_STAFF_IDENTIFY },
472                 { TV_STAFF, SV_STAFF_IDENTIFY },
473                 { TV_STAFF, SV_STAFF_IDENTIFY },
474
475                 { TV_STAFF, SV_STAFF_IDENTIFY },
476                 { TV_STAFF, SV_STAFF_REMOVE_CURSE },
477                 { TV_STAFF, SV_STAFF_CURE_LIGHT },
478                 { TV_STAFF, SV_STAFF_PROBING },
479
480                 { TV_FIGURINE, 0 },
481
482                 { TV_SORCERY_BOOK, 0 },
483                 { TV_SORCERY_BOOK, 0 },
484                 { TV_SORCERY_BOOK, 1 },
485                 { TV_SORCERY_BOOK, 1 },
486
487                 { TV_ARCANE_BOOK, 0 },
488                 { TV_ARCANE_BOOK, 0 },
489                 { TV_ARCANE_BOOK, 1 },
490                 { TV_ARCANE_BOOK, 1 },
491
492                 { TV_ARCANE_BOOK, 2 },
493                 { TV_ARCANE_BOOK, 2 },
494                 { TV_ARCANE_BOOK, 3 },
495                 { TV_ARCANE_BOOK, 3 },
496         },
497
498         {
499                 /* Black Market (unused) */
500                 { 0, 0 },
501                 { 0, 0 },
502                 { 0, 0 },
503                 { 0, 0 },
504                 { 0, 0 },
505                 { 0, 0 },
506                 { 0, 0 },
507                 { 0, 0 },
508                 { 0, 0 },
509                 { 0, 0 },
510                 { 0, 0 },
511                 { 0, 0 },
512                 { 0, 0 },
513                 { 0, 0 },
514                 { 0, 0 },
515                 { 0, 0 },
516                 { 0, 0 },
517                 { 0, 0 },
518                 { 0, 0 },
519                 { 0, 0 },
520                 { 0, 0 },
521                 { 0, 0 },
522                 { 0, 0 },
523                 { 0, 0 },
524                 { 0, 0 },
525                 { 0, 0 },
526                 { 0, 0 },
527                 { 0, 0 },
528                 { 0, 0 },
529                 { 0, 0 },
530                 { 0, 0 },
531                 { 0, 0 }
532         },
533
534         {
535                 /* Home (unused) */
536                 { 0, 0 },
537                 { 0, 0 },
538                 { 0, 0 },
539                 { 0, 0 },
540                 { 0, 0 },
541                 { 0, 0 },
542                 { 0, 0 },
543                 { 0, 0 },
544                 { 0, 0 },
545                 { 0, 0 },
546                 { 0, 0 },
547                 { 0, 0 },
548                 { 0, 0 },
549                 { 0, 0 },
550                 { 0, 0 },
551                 { 0, 0 },
552                 { 0, 0 },
553                 { 0, 0 },
554                 { 0, 0 },
555                 { 0, 0 },
556                 { 0, 0 },
557                 { 0, 0 },
558                 { 0, 0 },
559                 { 0, 0 },
560                 { 0, 0 },
561                 { 0, 0 },
562                 { 0, 0 },
563                 { 0, 0 },
564                 { 0, 0 },
565                 { 0, 0 },
566                 { 0, 0 },
567                 { 0, 0 }
568         },
569
570         {
571                 /* Bookstore */
572                 { TV_SORCERY_BOOK, 0 },
573                 { TV_SORCERY_BOOK, 0 },
574                 { TV_SORCERY_BOOK, 1 },
575                 { TV_SORCERY_BOOK, 1 },
576
577                 { TV_NATURE_BOOK, 0 },
578                 { TV_NATURE_BOOK, 0 },
579                 { TV_NATURE_BOOK, 1 },
580                 { TV_NATURE_BOOK, 1 },
581
582                 { TV_CHAOS_BOOK, 0 },
583                 { TV_CHAOS_BOOK, 0 },
584                 { TV_CHAOS_BOOK, 1 },
585                 { TV_CHAOS_BOOK, 1 },
586
587                 { TV_DEATH_BOOK, 0 },
588                 { TV_DEATH_BOOK, 0 },
589                 { TV_DEATH_BOOK, 1 },
590                 { TV_DEATH_BOOK, 1 },
591
592                 { TV_TRUMP_BOOK, 0 },
593                 { TV_TRUMP_BOOK, 0 },
594                 { TV_TRUMP_BOOK, 1 },
595                 { TV_TRUMP_BOOK, 1 },
596
597                 { TV_ARCANE_BOOK, 0 },
598                 { TV_ARCANE_BOOK, 1 },
599                 { TV_ARCANE_BOOK, 2 },
600                 { TV_ARCANE_BOOK, 3 },
601
602                 { TV_CRAFT_BOOK, 0 },
603                 { TV_CRAFT_BOOK, 0 },
604                 { TV_CRAFT_BOOK, 1 },
605                 { TV_CRAFT_BOOK, 1 },
606
607                 { TV_DEMON_BOOK, 0 },
608                 { TV_DEMON_BOOK, 0 },
609                 { TV_DEMON_BOOK, 1 },
610                 { TV_DEMON_BOOK, 1 },
611
612                 { TV_MUSIC_BOOK, 0 },
613                 { TV_MUSIC_BOOK, 0 },
614                 { TV_MUSIC_BOOK, 1 },
615                 { TV_MUSIC_BOOK, 1 },
616
617                 { TV_HEX_BOOK, 0 },
618                 { TV_HEX_BOOK, 0 },
619                 { TV_HEX_BOOK, 1 },
620                 { TV_HEX_BOOK, 1 },
621         },
622
623         {
624                 /* Museum (unused) */
625                 { 0, 0 },
626                 { 0, 0 },
627                 { 0, 0 },
628                 { 0, 0 },
629                 { 0, 0 },
630                 { 0, 0 },
631                 { 0, 0 },
632                 { 0, 0 },
633                 { 0, 0 },
634                 { 0, 0 },
635                 { 0, 0 },
636                 { 0, 0 },
637                 { 0, 0 },
638                 { 0, 0 },
639                 { 0, 0 },
640                 { 0, 0 },
641                 { 0, 0 },
642                 { 0, 0 },
643                 { 0, 0 },
644                 { 0, 0 },
645                 { 0, 0 },
646                 { 0, 0 },
647                 { 0, 0 },
648                 { 0, 0 },
649                 { 0, 0 },
650                 { 0, 0 },
651                 { 0, 0 },
652                 { 0, 0 },
653                 { 0, 0 },
654                 { 0, 0 },
655                 { 0, 0 },
656                 { 0, 0 }
657         }
658 };