RSS

(root)/dmassist/trunk : 20 : csrc/dnd/npc/npcEngine.c

« back to all changes in this revision

Viewing changes to csrc/dnd/npc/npcEngine.c

ziroby
2009-10-15 20:20:18
Revision ID: ziroby@users.sourceforge.net-20091015202018-1lowim1bxs4gn3np
Removed NPC Gen / JNI stuff.

Show diffs side-by-side

added added

removed removed

1
 
/* ---------------------------------------------------------------------- *
2
 
 * npcEngine.c
3
 
 *
4
 
 * by Jamis Buck (jgb3@email.byu.edu)
5
 
 *
6
 
 * NPC generation functions for the Dungeons & Dragons(tm) API.  This file 
7
 
 * is in the public domain.
8
 
 * ---------------------------------------------------------------------- */
9
 
 
10
 
#include <string.h>
11
 
#include <ctype.h>
12
 
#include <stdlib.h>
13
 
#include <stdio.h>
14
 
 
15
 
#include "dndconst.h"
16
 
#include "dndutil.h"
17
 
#include "npcEngine.h"
18
 
#include "grammar.h"
19
 
#include "gameutil.h"
20
 
 
21
 
#define PREFERRED_CLASS_CHANCE    ( 75 )
22
 
 
23
 
#define COMMON         ( 20 )
24
 
#define UNCOMMON       (  8 )
25
 
#define RARE           (  2 )
26
 
#define NEVER          (  0 )
27
 
 
28
 
typedef struct __raceabilities__ RACEABILITIES;
29
 
typedef struct __abilityscore__ ABILITYSCORE;
30
 
typedef struct __preferredfeats__ PREFERREDFEATS;
31
 
typedef struct __preferredweapons__ PREFERREDWEAPONS;
32
 
typedef struct __preferredspells__ PREFERREDSPELLS;
33
 
 
34
 
struct __raceabilities__ {
35
 
  int ability;
36
 
  int weight;
37
 
};
38
 
 
39
 
 
40
 
struct __abilityscore__ {
41
 
  int ability;
42
 
  int score;
43
 
};
44
 
 
45
 
 
46
 
struct __preferredfeats__ {
47
 
  int feat;
48
 
  int weight;
49
 
};
50
 
 
51
 
 
52
 
struct __preferredweapons__ {
53
 
  int weapon;
54
 
  int weight;
55
 
};
56
 
 
57
 
 
58
 
struct __preferredspells__ {
59
 
  int spell;
60
 
  int weight;
61
 
};
62
 
 
63
 
 
64
 
static const int allLanguages[] = { lnABYSSAL, lnAQUAN, lnAURAN, 
65
 
  lnCELESTIAL, lnCOMMON, lnDRACONIC, lnDWARVEN, lnELVEN, lnGNOME, 
66
 
  lnGOBLIN, lnGIANT, lnGNOLL, lnHALFLING, lnIGNAN, lnINFERNAL, lnORC, 
67
 
  lnSYLVAN, lnTERRAN, lnUNDERCOMMON, 0 };
68
 
 
69
 
static const int allSkills[] = { skAPPRAISE, skBALANCE, skBLUFF, skCLIMB,
70
 
  skCONCENTRATION, skCRAFT_ALCHEMY, skCRAFT_ARMORSMITHING, skCRAFT_BOWMAKING,
71
 
  skCRAFT_BLACKSMITHING, skCRAFT_CARPENTRY, skCRAFT_LEATHERWORKING,
72
 
  skCRAFT_PAINTING, skCRAFT_POTTERY, skCRAFT_SCULPTING, skCRAFT_SHIPMAKING,
73
 
  skCRAFT_STONEMASONRY, skCRAFT_TRAPMAKING, skCRAFT_WEAPONSMITHING,
74
 
  skCRAFT_WOODWORKING, skDECIPHERSCRIPT, skDIPLOMACY, skDISABLEDEVICE,
75
 
  skDISGUISE, skESCAPEARTIST, skFORGERY, skGATHERINFORMATION, skHANDLEANIMAL,
76
 
  skHEAL, skHIDE, skINTIMIDATE, skJUMP, skKNOWLEDGE_ARCANA,
77
 
  skKNOWLEDGE_ARCHITECTUREANDENGINEERING, skKNOWLEDGE_DUNGEONEERING,
78
 
  skKNOWLEDGE_GEOGRAPHY, skKNOWLEDGE_HISTORY, skKNOWLEDGE_LOCAL,
79
 
  skKNOWLEDGE_NATURE, skKNOWLEDGE_NOBILITYANDROYALTY, skKNOWLEDGE_RELIGION,
80
 
  skKNOWLEDGE_THEPLANES, skLISTEN, skMOVESILENTLY, skOPENLOCK, skPERFORM_ACT,
81
 
  skPERFORM_COMEDY, skPERFORM_DANCE, skPERFORM_KEYBOARDINSTRUMENTS,
82
 
  skPERFORM_ORATORY, skPERFORM_PERCUSSIONINSTRUMENTS, skPERFORM_STRINGINSTRUMENTS,
83
 
  skPERFORM_WINDINSTRUMENTS, skPERFORM_SING, skPROFESSION_HUNTER, skPROFESSION_MINER,
84
 
  skRIDE, skSEARCH, skSENSEMOTIVE, skSLEIGHTOFHAND, skSPEAKLANGUAGE, skSPELLCRAFT, skSPOT,
85
 
  skSURVIVAL, skSWIM, skTUMBLE, skUSEMAGICDEVICE, skUSEROPE, 0 };
86
 
 
87
 
static const int simpleWeapons[] = { wpGAUNTLET, wpUNARMED, wpDAGGER, 
88
 
  wpDAGGER_PUNCHING, wpGAUNTLET_SPIKED, wpMACE_LIGHT, wpSICKLE, wpCLUB, 
89
 
  wpHALFSPEAR, wpMACE_HEAVY, wpMORNINGSTAR, wpQUARTERSTAFF, wpSHORTSPEAR, 
90
 
  wpCROSSBOW_LIGHT, wpDART, wpSLING, wpCROSSBOW_HEAVY, wpJAVELIN, 0 };
91
 
 
92
 
static const int martialWeapons[] = { wpAXE_THROWING, wpHAMMER_LIGHT, 
93
 
  wpHANDAXE, wpLANCE_LIGHT, wpPICK_LIGHT, wpSAP, wpSWORD_SHORT, wpBATTLEAXE, 
94
 
  wpFLAIL_LIGHT, wpLANCE_HEAVY, wpLONGSWORD, wpPICK_HEAVY, wpRAPIER, 
95
 
  wpSCIMITAR, wpTRIDENT, wpWARHAMMER, wpFALCHION, wpFLAIL_HEAVY, wpGLAIVE, 
96
 
  wpGREATAXE, wpGREATCLUB, wpGREATSWORD, wpGUISARME, wpHALBERD, wpLONGSPEAR, 
97
 
  wpRANSEUR, wpSCYTHE, wpSHORTBOW, wpSHORTBOW_COMPOSITE, wpLONGBOW, 
98
 
  wpLONGBOW_COMPOSITE, 0 };
99
 
 
100
 
static const int exoticWeapons[] = { wpKUKRI, wpKAMA, wpNUNCHAKU, 
101
 
  wpSIANGHAM, wpSWORD_BASTARD, wpWARAXE_DWARVEN, wpHAMMER_GNOMEHOOKED, 
102
 
  wpAXE_ORCDOUBLE, wpCHAIN_SPIKED, wpFLAIL_DIRE, wpSWORD_TWOBLADED, 
103
 
  wpURGOSH_DWARVEN, wpCROSSBOW_HAND, wpSHURIKEN, wpWHIP, 
104
 
  wpCROSSBOW_REPEATING, wpNET, 0 };
105
 
 
106
 
static const int schoolsOfMagic[] = { ssUNIVERSAL, ssABJURATION, 
107
 
  ssCONJURATION, ssDIVINATION, ssENCHANTMENT, ssEVOCATION, ssILLUSION,
108
 
  ssNECROMANCY, ssTRANSMUTATION, 0 };
109
 
 
110
 
static const int requiredSkills[] = { skSPOT, skLISTEN, skHIDE, 
111
 
  skMOVESILENTLY, 0 };
112
 
 
113
 
/* preferred feat designations */
114
 
 
115
 
static PREFERREDFEATS barbarianFeats[] = {
116
 
  { ftALERTNESS,                  COMMON },
117
 
  { ftARMORPROFICIENCY_HEAVY,     RARE },
118
 
  { ftBLINDFIGHT,                 COMMON },
119
 
  { ftCOMBATREFLEXES,             COMMON },
120
 
  { ftDIEHARD, UNCOMMON }, 
121
 
  { ftDODGE,                      UNCOMMON*2 },
122
 
  { ftMOBILITY,                   UNCOMMON },
123
 
  { ftSPRINGATTACK,               RARE },
124
 
  { ftENDURANCE,                  COMMON },
125
 
  { ftEXOTICWEAPONPROFICIENCY,   RARE },
126
 
  { ftCOMBATEXPERTISE,                  RARE },
127
 
  { ftIMPROVEDDISARM,             RARE },
128
 
  { ftIMPROVEDTRIP,               RARE },
129
 
  { ftWHIRLWINDATTACK,            RARE },
130
 
  { ftGREATFORTITUDE,             UNCOMMON },
131
 
  { ftIMPROVEDCRITICAL,           UNCOMMON },
132
 
  { ftIMPROVEDINITIATIVE,         RARE*2 },
133
 
  { ftIMPROVEDFEINT, UNCOMMON }, 
134
 
  { ftIMPROVEDUNARMEDSTRIKE,      RARE },
135
 
        { ftIMPROVEDOVERRUN,            RARE },
136
 
  { ftINVESTIGATOR, RARE }, 
137
 
  { ftSNATCHARROWS, RARE }, 
138
 
  { ftDEFLECTARROWS,              RARE },
139
 
  { ftSTUNNINGFIST,               RARE },
140
 
  { ftIRONWILL,                   UNCOMMON },
141
 
  { ftLEADERSHIP,                 RARE },
142
 
  { ftLIGHTNINGREFLEXES,          UNCOMMON },
143
 
  { ftMOUNTEDCOMBAT,              RARE*2 },
144
 
  { ftMOUNTEDARCHERY,             RARE },
145
 
  { ftTRAMPLE,                    RARE*2 },
146
 
  { ftRIDEBYATTACK,               RARE*2 },
147
 
  { ftSPIRITEDCHARGE,             RARE },
148
 
  { ftPOINTBLANKSHOT,             RARE },
149
 
  { ftFARSHOT,                    RARE },
150
 
  { ftPRECISESHOT,                RARE },
151
 
  { ftRAPIDSHOT,                  RARE },
152
 
  { ftSHOTONTHERUN,               RARE },
153
 
  { ftPOWERATTACK,                COMMON*2 },
154
 
  { ftCLEAVE,                     COMMON },
155
 
  { ftIMPROVEDBULLRUSH,           UNCOMMON },
156
 
  { ftIMPROVEDSUNDER,                     RARE*2 },
157
 
  { ftGREATCLEAVE,                COMMON },
158
 
  { ftQUICKDRAW,                  UNCOMMON },
159
 
  { ftRUN,                        COMMON },
160
 
  { ftSHIELDPROFICIENCY,          RARE },
161
 
  { ftSKILLFOCUS,                 RARE },
162
 
  { ftTOUGHNESS,                  RARE*2 },
163
 
  { ftTRACK,                      UNCOMMON },
164
 
  { ftTWOWEAPONDEFENSE, RARE }, 
165
 
  { ftTWOWEAPONFIGHTING,          RARE },
166
 
  { ftIMPROVEDTWOWEAPONFIGHTING,  RARE },
167
 
  { ftWEAPONFINESSE,              RARE },
168
 
  { ftWEAPONFOCUS,                UNCOMMON },
169
 
  { ftPERSUASIVE, UNCOMMON }, 
170
 
  { ftSELFSUFFICIENT, UNCOMMON }, 
171
 
  { 0,                            0 }
172
 
};
173
 
 
174
 
static PREFERREDWEAPONS barbarianWeapons[] = {
175
 
  { wpGAUNTLET,            RARE },
176
 
  { wpUNARMED,             RARE },
177
 
  { wpDAGGER,              RARE },
178
 
  { wpDAGGER_PUNCHING,     RARE },
179
 
  { wpGAUNTLET_SPIKED,     RARE },
180
 
  { wpMACE_LIGHT,          RARE*2 },
181
 
  { wpSICKLE,              RARE },
182
 
  { wpCLUB,                UNCOMMON },
183
 
  { wpHALFSPEAR,           UNCOMMON },
184
 
  { wpMACE_HEAVY,          UNCOMMON },
185
 
  { wpMORNINGSTAR,         UNCOMMON },
186
 
  { wpQUARTERSTAFF,        RARE },
187
 
  { wpSHORTSPEAR,          UNCOMMON },
188
 
  { wpCROSSBOW_LIGHT,      RARE },
189
 
  { wpDART,                RARE },
190
 
  { wpSLING,               RARE },
191
 
  { wpCROSSBOW_HEAVY,      RARE },
192
 
  { wpJAVELIN,             RARE*2 },
193
 
  { wpAXE_THROWING,        RARE },
194
 
  { wpHAMMER_LIGHT,        RARE },
195
 
  { wpHANDAXE,             RARE },
196
 
  { wpLANCE_LIGHT,         RARE },
197
 
  { wpPICK_LIGHT,          RARE },
198
 
  { wpSAP,                 RARE },
199
 
  { wpSWORD_SHORT,         UNCOMMON },
200
 
  { wpBATTLEAXE,           COMMON },
201
 
  { wpFLAIL_LIGHT,         UNCOMMON },
202
 
  { wpLANCE_HEAVY,         RARE },
203
 
  { wpLONGSWORD,           COMMON*2 },
204
 
  { wpPICK_HEAVY,          RARE },
205
 
  { wpRAPIER,              RARE },
206
 
  { wpSCIMITAR,            UNCOMMON },
207
 
  { wpTRIDENT,             RARE },
208
 
  { wpWARHAMMER,           COMMON },
209
 
  { wpFALCHION,            RARE },
210
 
  { wpFLAIL_HEAVY,         UNCOMMON },
211
 
  { wpGLAIVE,              RARE },
212
 
  { wpGREATAXE,            COMMON },
213
 
  { wpGREATCLUB,           COMMON },
214
 
  { wpGREATSWORD,          COMMON },
215
 
  { wpGUISARME,            RARE },
216
 
  { wpHALBERD,             RARE },
217
 
  { wpLONGSPEAR,           UNCOMMON },
218
 
  { wpRANSEUR,             RARE },
219
 
  { wpSCYTHE,              RARE },
220
 
  { wpSHORTBOW,            UNCOMMON },
221
 
  { wpSHORTBOW_COMPOSITE,  UNCOMMON },
222
 
  { wpLONGBOW,             UNCOMMON },
223
 
  { wpLONGBOW_COMPOSITE,   UNCOMMON },
224
 
  { 0,                     0 }
225
 
};
226
 
 
227
 
static PREFERREDFEATS bardFeats[] = {
228
 
  { ftALERTNESS,                  COMMON },
229
 
  { ftARMORPROFICIENCY_HEAVY,     RARE },
230
 
  { ftBLINDFIGHT,                 UNCOMMON },
231
 
  { ftCOMBATCASTING,              COMMON },
232
 
  { ftCOMBATREFLEXES,             UNCOMMON },
233
 
  { ftDECEITFUL, UNCOMMON }, 
234
 
  { ftDILIGENT, UNCOMMON }, 
235
 
  { ftDODGE,                      COMMON },
236
 
  { ftMOBILITY,                   COMMON },
237
 
  { ftSPRINGATTACK,               UNCOMMON },
238
 
  { ftENDURANCE,                  RARE },
239
 
  { ftGREATFORTITUDE,             RARE },
240
 
  { ftIMPROVEDCRITICAL,           RARE },
241
 
  { ftIMPROVEDINITIATIVE,         UNCOMMON },
242
 
  { ftIMPROVEDFEINT, RARE }, 
243
 
  { ftIRONWILL,                   RARE },
244
 
  { ftINVESTIGATOR, RARE }, 
245
 
  { ftLEADERSHIP,                 RARE },
246
 
  { ftLIGHTNINGREFLEXES,          RARE },
247
 
  { ftMOUNTEDCOMBAT,              RARE },
248
 
  { ftMOUNTEDARCHERY,             RARE },
249
 
  { ftTRAMPLE,                    RARE },
250
 
  { ftRIDEBYATTACK,               RARE },
251
 
  { ftSPIRITEDCHARGE,             RARE },
252
 
  { ftPOINTBLANKSHOT,             UNCOMMON },
253
 
  { ftFARSHOT,                    RARE },
254
 
  { ftPRECISESHOT,                RARE },
255
 
  { ftRAPIDSHOT,                  UNCOMMON },
256
 
  { ftSHOTONTHERUN,               RARE },
257
 
  { ftPOWERATTACK,                RARE },
258
 
  { ftCLEAVE,                     RARE },
259
 
  { ftIMPROVEDSUNDER,                     RARE },
260
 
  { ftQUICKDRAW,                  RARE },
261
 
  { ftRUN,                        UNCOMMON },
262
 
  { ftSKILLFOCUS,                 COMMON },
263
 
  { ftSPELLFOCUS,                 UNCOMMON },
264
 
  { ftGREATERSPELLFOCUS,                 UNCOMMON },
265
 
  { ftSPELLPENETRATION,           RARE*2 },
266
 
  { ftGREATERSPELLPENETRATION,           RARE*2 },
267
 
  { ftTOUGHNESS,                  RARE*2 },
268
 
  { ftTRACK,                      RARE },
269
 
  { ftTWOWEAPONDEFENSE, RARE }, 
270
 
  { ftTWOWEAPONFIGHTING,          RARE },
271
 
  { ftWEAPONFINESSE,              UNCOMMON },
272
 
  { ftWEAPONFOCUS,                RARE },
273
 
  { ftBREWPOTION,                 UNCOMMON*2 },
274
 
  { ftCRAFTMAGICARMSANDARMOR,     UNCOMMON },
275
 
  { ftCRAFTROD,                   UNCOMMON },
276
 
  { ftCRAFTSTAFF,                 UNCOMMON },
277
 
  { ftCRAFTWAND,                  UNCOMMON },
278
 
  { ftCRAFTWONDROUSITEM,          UNCOMMON*2 },
279
 
  { ftFORGERING,                  UNCOMMON },
280
 
  { ftSCRIBESCROLL,               UNCOMMON*2 },
281
 
  { ftEMPOWERSPELL,               RARE },
282
 
  { ftENLARGESPELL,               RARE },
283
 
  { ftEXTENDSPELL,                RARE },
284
 
  { ftHEIGHTENSPELL,              RARE },
285
 
  { ftMAXIMIZESPELL,              RARE },
286
 
  { ftSILENTSPELL,                RARE },
287
 
  { ftSTILLSPELL,                 RARE },
288
 
  { ftWIDENSPELL,                 RARE },
289
 
  {  ftAUGMENTSUMMONING, UNCOMMON }, 
290
 
  {  ftCRAFTCONSTRUCT, RARE }, 
291
 
  { ftESCHEWMATERIALS, UNCOMMON }, 
292
 
  { ftIMPROVEDCOUNTERSPELL, UNCOMMON }, 
293
 
  { ftMAGICALAPTITUDE, UNCOMMON }, 
294
 
  { ftMANYSHOT, RARE }, 
295
 
  { ftNEGOTIATOR, UNCOMMON }, 
296
 
  { ftNIMBLEFINGERS, RARE }, 
297
 
  { ftPERSUASIVE, UNCOMMON }, 
298
 
  { ftSELFSUFFICIENT, RARE }, 
299
 
  { 0,                            0 }
300
 
};
301
 
 
302
 
static PREFERREDWEAPONS bardWeapons[] = {
303
 
  { wpGAUNTLET,            RARE },
304
 
  { wpUNARMED,             RARE },
305
 
  { wpDAGGER,              COMMON },
306
 
  { wpDAGGER_PUNCHING,     RARE },
307
 
  { wpGAUNTLET_SPIKED,     RARE },
308
 
  { wpMACE_LIGHT,          RARE*2 },
309
 
  { wpSICKLE,              RARE },
310
 
  { wpCLUB,                RARE },
311
 
  { wpHALFSPEAR,           RARE },
312
 
  { wpMACE_HEAVY,          UNCOMMON },
313
 
  { wpMORNINGSTAR,         UNCOMMON },
314
 
  { wpQUARTERSTAFF,        UNCOMMON },
315
 
  { wpSHORTSPEAR,          UNCOMMON },
316
 
  { wpCROSSBOW_LIGHT,      RARE },
317
 
  { wpDART,                RARE },
318
 
  { wpSLING,               RARE },
319
 
  { wpCROSSBOW_HEAVY,      RARE },
320
 
  { wpJAVELIN,             RARE },
321
 
  { wpSAP,                 COMMON },
322
 
  { wpSWORD_SHORT,         UNCOMMON },
323
 
  { wpLONGSWORD,           COMMON*2 },
324
 
  { wpRAPIER,              UNCOMMON },
325
 
  { wpSHORTBOW,            UNCOMMON },
326
 
  { wpSHORTBOW_COMPOSITE,  UNCOMMON },
327
 
  { wpLONGBOW,             UNCOMMON },
328
 
  { wpLONGBOW_COMPOSITE,   UNCOMMON },
329
 
  { wpWHIP,                RARE },
330
 
  { 0,                     0 }
331
 
};
332
 
 
333
 
 
334
 
static PREFERREDSPELLS prefBardSpells[] = {
335
 
        { spALARM,                                            UNCOMMON },
336
 
        { spALTERSELF,                                        UNCOMMON },
337
 
        { spANALYZEDWEOMER,                                   UNCOMMON },
338
 
        { spANIMALMESSENGER,                                  UNCOMMON },
339
 
        { spANIMALTRANCE,                                     UNCOMMON },
340
 
        { spANIMATEOBJECTS,                                   UNCOMMON },
341
 
        { spANIMATEROPE,                                      UNCOMMON },
342
 
        { spBLINDNESSDEAFNESS,                                    RARE },
343
 
        { spBLINK,                                            UNCOMMON },
344
 
        { spBLUR,                                               COMMON },
345
 
        { spBREAKENCHANTMENT,                                 UNCOMMON },
346
 
        { spCALMEMOTIONS,                                     UNCOMMON },
347
 
        { spCATSGRACE,                                          COMMON },
348
 
        { spCATSGRACEMASS,                                    UNCOMMON },
349
 
        { spCAUSEFEAR,                                        UNCOMMON },
350
 
        { spCHARMMONSTER,                                       COMMON },
351
 
        { spCHARMMONSTERMASS,                                 UNCOMMON },
352
 
        { spCHARMPERSON,                                        COMMON },
353
 
        { spCLAIRAUDIENCECLAIRVOYANCE,                        UNCOMMON },
354
 
        { spCOMPREHENDLANGUAGES,                              UNCOMMON },
355
 
        { spCONFUSION,                                          COMMON },
356
 
        { spCONFUSIONLESSER,                                  UNCOMMON },
357
 
        { spCRUSHINGDESPAIR,                                    COMMON },
358
 
        { spCURECRITICALWOUNDS,                                 COMMON },
359
 
        { spCURELIGHTWOUNDS,                                    COMMON },
360
 
        { spCURELIGHTWOUNDSMASS,                              UNCOMMON },
361
 
        { spCUREMODERATEWOUNDS,                                 COMMON },
362
 
        { spCUREMODERATEWOUNDSMASS,                           UNCOMMON },
363
 
        { spCURESERIOUSWOUNDS,                                  COMMON },
364
 
        { spDANCINGLIGHTS,                                    UNCOMMON },
365
 
        { spDARKNESS,                                         UNCOMMON },
366
 
        { spDAYLIGHT,                                         UNCOMMON },
367
 
        { spDAZE,                                             UNCOMMON },
368
 
        { spDAZEMONSTER,                                      UNCOMMON },
369
 
        { spDEEPSLUMBER,                                        COMMON },
370
 
        { spDELAYPOISON,                                      UNCOMMON },
371
 
        { spDETECTMAGIC,                                        COMMON },
372
 
        { spDETECTSCRYING,                                    UNCOMMON },
373
 
        { spDETECTSECRETDOORS,                                UNCOMMON },
374
 
        { spDETECTTHOUGHTS,                                   UNCOMMON },
375
 
        { spDIMENSIONDOOR,                                    UNCOMMON },
376
 
        { spDISGUISESELF,                                     UNCOMMON },
377
 
        { spDISPELMAGIC,                                        COMMON },
378
 
        { spDISPELMAGICGREATER,                               UNCOMMON },
379
 
        { spDISPLACEMENT,                                     UNCOMMON },
380
 
        { spDOMINATEPERSON,                                   UNCOMMON },
381
 
        { spDREAM,                                            UNCOMMON },
382
 
        { spEAGLESSPLENDOR,                                     COMMON },
383
 
        { spEAGLESSPLENDORMASS,                               UNCOMMON },
384
 
        { spENTHRALL,                                         UNCOMMON },
385
 
        { spERASE,                                            UNCOMMON },
386
 
        { spEXPEDITIOUSRETREAT,                               UNCOMMON },
387
 
        { spEYEBITE,                                            COMMON },
388
 
        { spFALSEVISION,                                      UNCOMMON },
389
 
        { spFEAR,                                             UNCOMMON },
390
 
        { spFEATHERFALL,                                      UNCOMMON },
391
 
        { spFINDTHEPATH,                                      UNCOMMON },
392
 
        { spFLARE,                                            UNCOMMON },
393
 
        { spFOXSCUNNING,                                      UNCOMMON },
394
 
        { spFOXSCUNNINGMASS,                                  UNCOMMON },
395
 
        { spFREEDOMOFMOVEMENT,                                UNCOMMON },
396
 
        { spGASEOUSFORM,                                      UNCOMMON },
397
 
        { spGEASLESSER,                                           RARE },
398
 
        { spGEASQUEST,                                        UNCOMMON },
399
 
        { spGHOSTSOUND,                                       UNCOMMON },
400
 
        { spGLIBNESS,                                         UNCOMMON },
401
 
        { spGLITTERDUST,                                      UNCOMMON },
402
 
        { spGOODHOPE,                                         UNCOMMON },
403
 
        { spGREASE,                                           UNCOMMON },
404
 
        { spHALLUCINATORYTERRAIN,                             UNCOMMON },
405
 
        { spHASTE,                                            UNCOMMON },
406
 
        { spHEROESFEAST,                                      UNCOMMON },
407
 
        { spHEROISM,                                          UNCOMMON },
408
 
        { spHEROISMGREATER,                                   UNCOMMON },
409
 
        { spHIDEOUSLAUGHTER,                                  UNCOMMON },
410
 
        { spHOLDMONSTER,                                        COMMON },
411
 
        { spHOLDPERSON,                                         COMMON },
412
 
        { spHYPNOTICPATTERN,                                  UNCOMMON },
413
 
        { spHYPNOTISM,                                        UNCOMMON },
414
 
        { spIDENTIFY,                                           COMMON },
415
 
        { spILLUSORYSCRIPT,                                   UNCOMMON },
416
 
        { spINVISIBILITY,                                       COMMON },
417
 
        { spINVISIBILITYSPHERE,                                 COMMON },
418
 
        { spINVISIBILITYGREATER,                                COMMON },
419
 
        { spIRRESISTIBLEDANCE,                                UNCOMMON },
420
 
        { spKNOWDIRECTION,                                    UNCOMMON },
421
 
        { spLEGENDLORE,                                         COMMON },
422
 
        { spLIGHT,                                            UNCOMMON },
423
 
        { spLOCATECREATURE,                                   UNCOMMON },
424
 
        { spLOCATEOBJECT,                                     UNCOMMON },
425
 
        { spLULLABY,                                          UNCOMMON },
426
 
        { spMAGEHAND,                                         UNCOMMON },
427
 
        { spMAGICAURA,                                        UNCOMMON },
428
 
        { spMAGICMOUTH,                                       UNCOMMON },
429
 
        { spMAJORIMAGE,                                       UNCOMMON },
430
 
        { spMENDING,                                          UNCOMMON },
431
 
        { spMESSAGE,                                          UNCOMMON },
432
 
        { spMINDFOG,                                          UNCOMMON },
433
 
        { spMINORIMAGE,                                       UNCOMMON },
434
 
        { spMIRAGEARCANA,                                     UNCOMMON },
435
 
        { spMIRRORIMAGE,                                      UNCOMMON },
436
 
        { spMISDIRECTION,                                     UNCOMMON },
437
 
        { spMISLEAD,                                          UNCOMMON },
438
 
        { spMODIFYMEMORY,                                     UNCOMMON },
439
 
        { spNEUTRALIZEPOISON,                                 UNCOMMON },
440
 
        { spNIGHTMARE,                                        UNCOMMON },
441
 
        { spOBSCUREOBJECT,                                    UNCOMMON },
442
 
        { spOPENCLOSE,                                        UNCOMMON },
443
 
        { spPERMANENTIMAGE,                                   UNCOMMON },
444
 
        { spPERSISTENTIMAGE,                                  UNCOMMON },
445
 
        { spPHANTOMSTEED,                                     UNCOMMON },
446
 
        { spPRESTIDIGITATION,                                 UNCOMMON },
447
 
        { spPROGRAMMEDIMAGE,                                  UNCOMMON },
448
 
        { spPROJECTIMAGE,                                     UNCOMMON },
449
 
        { spPYROTECHNICS,                                     UNCOMMON },
450
 
        { spRAGE,                                             UNCOMMON },
451
 
        { spRAINBOWPATTERN,                                   UNCOMMON },
452
 
        { spREADMAGIC,                                        UNCOMMON },
453
 
        { spREMOVECURSE,                                      UNCOMMON },
454
 
        { spREMOVEFEAR,                                       UNCOMMON },
455
 
        { spREPELVERMIN,                                      UNCOMMON },
456
 
        { spRESISTANCE,                                       UNCOMMON },
457
 
        { spSCARE,                                            UNCOMMON },
458
 
        { spSCRYING,                                          UNCOMMON },
459
 
        { spSCRYINGGREATER,                                   UNCOMMON },
460
 
        { spSCULPTSOUND,                                      UNCOMMON },
461
 
        { spSECRETPAGE,                                       UNCOMMON },
462
 
        { spSECURESHELTER,                                    UNCOMMON },
463
 
        { spSEEINVISIBILITY,                                  UNCOMMON },
464
 
        { spSEEMING,                                          UNCOMMON },
465
 
        { spSEPIASNAKESIGIL,                                  UNCOMMON },
466
 
        { spSHADOWCONJURATION,                                UNCOMMON },
467
 
        { spSHADOWEVOCATION,                                  UNCOMMON },
468
 
        { spSHADOWWALK,                                       UNCOMMON },
469
 
        { spSHATTER,                                          UNCOMMON },
470
 
        { spSHOUT,                                            UNCOMMON },
471
 
        { spSHOUTGREATER,                                     UNCOMMON },
472
 
        { spSILENCE,                                          UNCOMMON },
473
 
        { spSILENTIMAGE,                                      UNCOMMON },
474
 
        { spSLEEP,                                              COMMON },
475
 
        { spSLOW,                                             UNCOMMON },
476
 
        { spSONGOFDISCORD,                                    UNCOMMON },
477
 
        { spSOUNDBURST,                                       UNCOMMON },
478
 
        { spSPEAKWITHANIMALS,                                 UNCOMMON },
479
 
        { spSPEAKWITHPLANTS,                                  UNCOMMON },
480
 
        { spSUGGESTION,                                       UNCOMMON },
481
 
        { spSUGGESTIONMASS,                                   UNCOMMON },
482
 
        { spSUMMONINSTRUMENT,                                 UNCOMMON },
483
 
        { spSUMMONMONSTERI,                                   UNCOMMON },
484
 
        { spSUMMONMONSTERII,                                  UNCOMMON },
485
 
        { spSUMMONMONSTERIII,                                 UNCOMMON },
486
 
        { spSUMMONMONSTERIV,                                  UNCOMMON },
487
 
        { spSUMMONMONSTERV,                                   UNCOMMON },
488
 
        { spSUMMONMONSTERVI,                                  UNCOMMON },
489
 
        { spSUMMONSWARM,                                      UNCOMMON },
490
 
        { spSYMPATHETICVIBRATION,                             UNCOMMON },
491
 
        { spTINYHUT,                                          UNCOMMON },
492
 
        { spTONGUES,                                              RARE },
493
 
        { spUNDETECTABLEALIGNMENT,                            UNCOMMON },
494
 
        { spUNSEENSERVANT,                                    UNCOMMON },
495
 
        { spVEIL,                                             UNCOMMON },
496
 
        { spVENTRILOQUISM,                                    UNCOMMON },
497
 
        { spWHISPERINGWIND,                                   UNCOMMON },
498
 
        { spZONEOFSILENCE,                                    UNCOMMON },
499
 
  { 0, 0 }
500
 
};
501
 
 
502
 
 
503
 
static PREFERREDFEATS clericFeats[] = {
504
 
  { ftALERTNESS,                  UNCOMMON },
505
 
  { ftBLINDFIGHT,                 RARE*2 },
506
 
  { ftCOMBATCASTING,              COMMON },
507
 
  { ftCOMBATREFLEXES,             UNCOMMON },
508
 
  { ftDIEHARD, RARE }, 
509
 
  { ftDILIGENT, UNCOMMON }, 
510
 
  { ftDODGE,                      UNCOMMON },
511
 
  { ftMOBILITY,                   RARE*2 },
512
 
  { ftSPRINGATTACK,               RARE },
513
 
  { ftENDURANCE,                  RARE },
514
 
  { ftCOMBATEXPERTISE,                  RARE*2 },
515
 
  { ftIMPROVEDDISARM,             RARE },
516
 
  { ftIMPROVEDTRIP,               RARE },
517
 
  { ftWHIRLWINDATTACK,            RARE },
518
 
  { ftGREATFORTITUDE,             RARE },
519
 
  { ftIMPROVEDCRITICAL,           UNCOMMON },
520
 
  { ftIMPROVEDINITIATIVE,         RARE*2 },
521
 
  { ftIMPROVEDUNARMEDSTRIKE,      RARE },
522
 
  { ftIMPROVEDFEINT, RARE }, 
523
 
  { ftINVESTIGATOR, RARE }, 
524
 
  { ftSNATCHARROWS, RARE }, 
525
 
  { ftDEFLECTARROWS,              RARE },
526
 
  { ftSTUNNINGFIST,               RARE },
527
 
  { ftIRONWILL,                   RARE },
528
 
  { ftLEADERSHIP,                 COMMON },
529
 
  { ftLIGHTNINGREFLEXES,          UNCOMMON },
530
 
  { ftMOUNTEDCOMBAT,              COMMON },
531
 
  { ftMOUNTEDARCHERY,             UNCOMMON },
532
 
  { ftTRAMPLE,                    UNCOMMON },
533
 
  { ftRIDEBYATTACK,               UNCOMMON },
534
 
  { ftSPIRITEDCHARGE,             RARE*2 },
535
 
  { ftPOINTBLANKSHOT,             RARE },
536
 
  { ftFARSHOT,                    RARE },
537
 
  { ftPRECISESHOT,                RARE },
538
 
  { ftRAPIDSHOT,                  RARE },
539
 
  { ftSHOTONTHERUN,               RARE },
540
 
  { ftPOWERATTACK,                RARE*2 },
541
 
  { ftCLEAVE,                     RARE },
542
 
  { ftIMPROVEDBULLRUSH,           RARE },
543
 
  { ftIMPROVEDSUNDER,                     RARE },
544
 
  { ftGREATCLEAVE,                RARE },
545
 
  { ftQUICKDRAW,                  RARE },
546
 
  { ftRUN,                        RARE },
547
 
  { ftSKILLFOCUS,                 COMMON },
548
 
  { ftSPELLFOCUS,                 UNCOMMON },
549
 
  { ftGREATERSPELLFOCUS,                 UNCOMMON },
550
 
  { ftSPELLPENETRATION,           UNCOMMON },
551
 
  { ftGREATERSPELLPENETRATION,           UNCOMMON },
552
 
  { ftTOUGHNESS,                  RARE },
553
 
  { ftTRACK,                      RARE },
554
 
  { ftTWOWEAPONDEFENSE, RARE }, 
555
 
  { ftTWOWEAPONFIGHTING,          RARE*2 },
556
 
  { ftIMPROVEDTWOWEAPONFIGHTING,  RARE },
557
 
  { ftWEAPONFINESSE,              RARE*2 },
558
 
  { ftWEAPONFOCUS,                UNCOMMON },
559
 
  { ftBREWPOTION,                 UNCOMMON*2 },
560
 
  { ftCRAFTMAGICARMSANDARMOR,     UNCOMMON },
561
 
  { ftCRAFTROD,                   UNCOMMON },
562
 
  { ftCRAFTSTAFF,                 UNCOMMON*2 },
563
 
  { ftCRAFTWAND,                  UNCOMMON },
564
 
  { ftCRAFTWONDROUSITEM,          UNCOMMON },
565
 
  { ftFORGERING,                  UNCOMMON },
566
 
  { ftSCRIBESCROLL,               UNCOMMON*2 },
567
 
  { ftEMPOWERSPELL,               UNCOMMON },
568
 
  { ftENLARGESPELL,               UNCOMMON },
569
 
  { ftEXTENDSPELL,                COMMON },
570
 
  { ftHEIGHTENSPELL,              UNCOMMON },
571
 
  { ftMAXIMIZESPELL,              UNCOMMON },
572
 
  { ftQUICKENSPELL,               UNCOMMON },
573
 
  { ftSILENTSPELL,                UNCOMMON },
574
 
  { ftSTILLSPELL,                 UNCOMMON },
575
 
  { ftWIDENSPELL,                 UNCOMMON },
576
 
  { ftEXTRATURNING,               COMMON },
577
 
  { ftIMPROVEDTURNING,               COMMON },
578
 
  {  ftAUGMENTSUMMONING, UNCOMMON }, 
579
 
  {  ftCRAFTCONSTRUCT, RARE }, 
580
 
  { ftESCHEWMATERIALS, UNCOMMON }, 
581
 
  { ftIMPROVEDCOUNTERSPELL, UNCOMMON }, 
582
 
  { ftMAGICALAPTITUDE, RARE }, 
583
 
  { ftNEGOTIATOR, UNCOMMON }, 
584
 
  { ftPERSUASIVE, UNCOMMON }, 
585
 
  { ftSELFSUFFICIENT, UNCOMMON }, 
586
 
  { 0,                            0 }
587
 
};
588
 
 
589
 
static PREFERREDWEAPONS clericWeapons[] = {
590
 
  { wpGAUNTLET,            RARE },
591
 
  { wpUNARMED,             RARE },
592
 
  { wpDAGGER,              RARE },
593
 
  { wpDAGGER_PUNCHING,     RARE },
594
 
  { wpGAUNTLET_SPIKED,     RARE },
595
 
  { wpMACE_LIGHT,          COMMON },
596
 
  { wpSICKLE,              RARE },
597
 
  { wpCLUB,                RARE },
598
 
  { wpHALFSPEAR,           RARE },
599
 
  { wpMACE_HEAVY,          COMMON },
600
 
  { wpMORNINGSTAR,         COMMON },
601
 
  { wpQUARTERSTAFF,        UNCOMMON },
602
 
  { wpSHORTSPEAR,          UNCOMMON },
603
 
  { wpCROSSBOW_LIGHT,      RARE },
604
 
  { wpDART,                RARE },
605
 
  { wpSLING,               RARE },
606
 
  { wpCROSSBOW_HEAVY,      RARE },
607
 
  { wpJAVELIN,             RARE },
608
 
  { 0,                     0 }
609
 
};
610
 
 
611
 
static PREFERREDFEATS druidFeats[] = {
612
 
  { ftALERTNESS,                   COMMON },
613
 
  { ftBLINDFIGHT,                  UNCOMMON },
614
 
  { ftCOMBATCASTING,               UNCOMMON*2 },
615
 
  { ftCOMBATREFLEXES,              UNCOMMON },
616
 
  { ftDIEHARD, RARE }, 
617
 
  { ftDILIGENT, UNCOMMON }, 
618
 
  { ftDODGE,                       UNCOMMON },
619
 
  { ftMOBILITY,                    UNCOMMON },
620
 
  { ftSPRINGATTACK,                RARE },
621
 
  { ftENDURANCE,                   RARE*2 },
622
 
  { ftCOMBATEXPERTISE,                   RARE },
623
 
  { ftIMPROVEDDISARM,              RARE },
624
 
  { ftIMPROVEDTRIP,                RARE },
625
 
  { ftWHIRLWINDATTACK,             RARE },
626
 
  { ftGREATFORTITUDE,              UNCOMMON },
627
 
  { ftIMPROVEDCRITICAL,            RARE*2 },
628
 
  { ftIMPROVEDINITIATIVE,          UNCOMMON },
629
 
  { ftIMPROVEDUNARMEDSTRIKE,       UNCOMMON },
630
 
  { ftIMPROVEDFEINT, RARE }, 
631
 
  { ftSNATCHARROWS, RARE }, 
632
 
  { ftDEFLECTARROWS,               RARE*2 },
633
 
  { ftSTUNNINGFIST,                RARE },
634
 
  { ftIRONWILL,                    RARE },
635
 
  { ftLEADERSHIP,                  RARE },
636
 
  { ftLIGHTNINGREFLEXES,           RARE*2 },
637
 
  { ftMOUNTEDCOMBAT,               UNCOMMON },
638
 
  { ftMOUNTEDARCHERY,              RARE*2 },
639
 
  { ftTRAMPLE,                     RARE },
640
 
  { ftRIDEBYATTACK,                RARE },
641
 
  { ftSPIRITEDCHARGE,              RARE },
642
 
  { ftPOINTBLANKSHOT,              RARE },
643
 
  { ftFARSHOT,                     RARE },
644
 
  { ftPRECISESHOT,                 RARE },
645
 
  { ftRAPIDSHOT,                   RARE },
646
 
  { ftSHOTONTHERUN,                RARE },
647
 
  { ftPOWERATTACK,                 RARE },
648
 
  { ftCLEAVE,                      RARE },
649
 
  { ftIMPROVEDBULLRUSH,            RARE },
650
 
  { ftIMPROVEDSUNDER,                      RARE },
651
 
  { ftGREATCLEAVE,                 RARE*2 },
652
 
  { ftQUICKDRAW,                   RARE },
653
 
  { ftRUN,                         UNCOMMON },
654
 
  { ftSKILLFOCUS,                  COMMON },
655
 
  { ftSPELLFOCUS,                 UNCOMMON },
656
 
  { ftGREATERSPELLFOCUS,                 UNCOMMON },
657
 
  { ftSPELLPENETRATION,           UNCOMMON },
658
 
  { ftGREATERSPELLPENETRATION,           UNCOMMON },
659
 
  { ftTOUGHNESS,                   UNCOMMON },
660
 
  { ftTRACK,                       COMMON },
661
 
  { ftTWOWEAPONDEFENSE, RARE }, 
662
 
  { ftTWOWEAPONFIGHTING,           UNCOMMON },
663
 
  { ftIMPROVEDTWOWEAPONFIGHTING,   RARE },
664
 
  { ftWEAPONFINESSE,               RARE },
665
 
  { ftWEAPONFOCUS,                 RARE },
666
 
  { ftBREWPOTION,                  UNCOMMON*2 },
667
 
  { ftCRAFTMAGICARMSANDARMOR,      UNCOMMON },
668
 
  { ftCRAFTROD,                    UNCOMMON },
669
 
  { ftCRAFTSTAFF,                  UNCOMMON*2 },
670
 
  { ftCRAFTWAND,                   UNCOMMON },
671
 
  { ftCRAFTWONDROUSITEM,           UNCOMMON },
672
 
  { ftFORGERING,                   UNCOMMON },
673
 
  { ftSCRIBESCROLL,                UNCOMMON },
674
 
  { ftEMPOWERSPELL,                UNCOMMON },
675
 
  { ftENLARGESPELL,                UNCOMMON },
676
 
  { ftEXTENDSPELL,                 COMMON },
677
 
  { ftHEIGHTENSPELL,               UNCOMMON },
678
 
  { ftMAXIMIZESPELL,               UNCOMMON },
679
 
  { ftQUICKENSPELL,                UNCOMMON },
680
 
  { ftSILENTSPELL,                 UNCOMMON*2 },
681
 
  { ftSTILLSPELL,                  UNCOMMON },
682
 
  { ftWIDENSPELL,                 UNCOMMON },
683
 
  {  ftAUGMENTSUMMONING, UNCOMMON }, 
684
 
  {  ftCRAFTCONSTRUCT, RARE }, 
685
 
  { ftESCHEWMATERIALS, UNCOMMON }, 
686
 
  { ftIMPROVEDCOUNTERSPELL, UNCOMMON }, 
687
 
  { ftMAGICALAPTITUDE, RARE }, 
688
 
  { ftNATURALSPELL, COMMON }, 
689
 
  { ftNEGOTIATOR, RARE }, 
690
 
  { ftPERSUASIVE, RARE }, 
691
 
  { ftSELFSUFFICIENT, UNCOMMON }, 
692
 
  { 0,                             0 }
693
 
};
694
 
 
695
 
static PREFERREDWEAPONS druidWeapons[] = {
696
 
  { wpCLUB,                UNCOMMON },
697
 
  { wpDAGGER,              RARE },
698
 
  { wpDART,                RARE },
699
 
  { wpLONGSPEAR,           RARE },
700
 
  { wpQUARTERSTAFF,        COMMON },
701
 
  { wpSCIMITAR,            RARE },
702
 
  { wpSICKLE,              RARE },
703
 
  { wpSHORTSPEAR,          RARE },
704
 
  { wpSLING,               COMMON },
705
 
  { 0,                     0 }
706
 
};
707
 
 
708
 
static PREFERREDFEATS fighterFeats[] = {
709
 
  { ftALERTNESS,                  COMMON },
710
 
  { ftBLINDFIGHT,                 COMMON },
711
 
  { ftCOMBATREFLEXES,             UNCOMMON },
712
 
  { ftDIEHARD, UNCOMMON }, 
713
 
  { ftDILIGENT, RARE }, 
714
 
  { ftDODGE,                      UNCOMMON },
715
 
  { ftMOBILITY,                   COMMON },
716
 
  { ftSPRINGATTACK,               COMMON },
717
 
  { ftENDURANCE,                  UNCOMMON },
718
 
  { ftEXOTICWEAPONPROFICIENCY,   RARE*2 },
719
 
  { ftCOMBATEXPERTISE,                  UNCOMMON },
720
 
  { ftIMPROVEDDISARM,             UNCOMMON },
721
 
  { ftIMPROVEDTRIP,               UNCOMMON },
722
 
  { ftWHIRLWINDATTACK,            COMMON },
723
 
  { ftGREATFORTITUDE,             RARE*2 },
724
 
  { ftIMPROVEDCRITICAL,           COMMON },
725
 
  { ftIMPROVEDINITIATIVE,         COMMON },
726
 
  { ftIMPROVEDUNARMEDSTRIKE,      RARE },
727
 
  { ftIMPROVEDFEINT, UNCOMMON }, 
728
 
  { ftIMPROVEDPRECISESHOT, UNCOMMON }, 
729
 
  { ftINVESTIGATOR, RARE }, 
730
 
  { ftSNATCHARROWS, RARE }, 
731
 
  { ftDEFLECTARROWS,              RARE },
732
 
  { ftIMPROVEDSHIELDBASH, RARE }, 
733
 
  { ftSTUNNINGFIST,               RARE },
734
 
  { ftIRONWILL,                   UNCOMMON },
735
 
  { ftLEADERSHIP,                 UNCOMMON },
736
 
  { ftLIGHTNINGREFLEXES,          UNCOMMON },
737
 
  { ftMOUNTEDCOMBAT,              RARE },
738
 
  { ftMOUNTEDARCHERY,             RARE },
739
 
  { ftTRAMPLE,                    COMMON },
740
 
  { ftRIDEBYATTACK,               UNCOMMON },
741
 
  { ftSPIRITEDCHARGE,             UNCOMMON },
742
 
  { ftPOINTBLANKSHOT,             UNCOMMON },
743
 
  { ftFARSHOT,                    RARE },
744
 
  { ftPRECISESHOT,                RARE },
745
 
  { ftRAPIDSHOT,                  RARE },
746
 
  { ftSHOTONTHERUN,               RARE },
747
 
  { ftPOWERATTACK,                COMMON },
748
 
  { ftCLEAVE,                     COMMON },
749
 
  { ftIMPROVEDBULLRUSH,           UNCOMMON },
750
 
  { ftIMPROVEDSUNDER,                     UNCOMMON },
751
 
  { ftGREATCLEAVE,                UNCOMMON },
752
 
  { ftQUICKDRAW,                  UNCOMMON },
753
 
  { ftRUN,                        RARE },
754
 
  { ftSKILLFOCUS,                 RARE },
755
 
  { ftTOUGHNESS,                  UNCOMMON },
756
 
  { ftTRACK,                      RARE*2 },
757
 
  { ftTWOWEAPONDEFENSE, UNCOMMON }, 
758
 
  { ftTWOWEAPONFIGHTING,          UNCOMMON },
759
 
  { ftIMPROVEDTWOWEAPONFIGHTING,  UNCOMMON },
760
 
  { ftWEAPONFINESSE,              RARE*2 },
761
 
  { ftWEAPONFOCUS,                UNCOMMON*2 },
762
 
  { ftWEAPONSPECIALIZATION,       UNCOMMON },
763
 
  { ftGREATERWEAPONFOCUS,                COMMON },
764
 
  { ftGREATERWEAPONSPECIALIZATION,       COMMON },
765
 
  { ftMANYSHOT, RARE }, 
766
 
  { ftNEGOTIATOR, RARE }, 
767
 
  { ftPERSUASIVE, UNCOMMON }, 
768
 
  { ftRAPIDRELOAD, RARE }, 
769
 
  { ftSELFSUFFICIENT, RARE }, 
770
 
  { 0,                            0 }
771
 
};
772
 
 
773
 
static PREFERREDFEATS fighterBonusFeats[] = {
774
 
        { ftBLINDFIGHT,         COMMON },
775
 
        { ftCLEAVE,             COMMON },
776
 
        { ftCOMBATEXPERTISE,            COMMON },
777
 
        { ftCOMBATREFLEXES,             COMMON },
778
 
  { ftSNATCHARROWS, UNCOMMON }, 
779
 
        { ftDEFLECTARROWS,              UNCOMMON },
780
 
        { ftDODGE,              COMMON },
781
 
        { ftEXOTICWEAPONPROFICIENCY,            RARE },
782
 
        { ftFARSHOT,            UNCOMMON },
783
 
        { ftGREATCLEAVE,                UNCOMMON },
784
 
        { ftGREATERTWOWEAPONFIGHTING,           UNCOMMON },
785
 
        { ftGREATERWEAPONFOCUS,         COMMON },
786
 
        { ftGREATERWEAPONSPECIALIZATION,                COMMON },
787
 
        { ftIMPROVEDBULLRUSH,           RARE },
788
 
        { ftIMPROVEDCRITICAL,           COMMON },
789
 
        { ftIMPROVEDDISARM,             RARE },
790
 
        { ftIMPROVEDFEINT,              RARE },
791
 
        { ftIMPROVEDGRAPPLE,            RARE },
792
 
        { ftIMPROVEDINITIATIVE,         UNCOMMON },
793
 
        { ftIMPROVEDOVERRUN,            RARE },
794
 
        { ftIMPROVEDPRECISESHOT,                UNCOMMON },
795
 
        { ftIMPROVEDSHIELDBASH,         RARE },
796
 
        { ftIMPROVEDSUNDER,             UNCOMMON },
797
 
        { ftIMPROVEDTRIP,               UNCOMMON },
798
 
        { ftIMPROVEDTWOWEAPONFIGHTING,          UNCOMMON },
799
 
        { ftIMPROVEDUNARMEDSTRIKE,              RARE },
800
 
        { ftMANYSHOT,           RARE },
801
 
        { ftMOBILITY,           COMMON },
802
 
        { ftMOUNTEDARCHERY,             RARE },
803
 
        { ftMOUNTEDCOMBAT,              RARE },
804
 
        { ftPOINTBLANKSHOT,             UNCOMMON },
805
 
        { ftPOWERATTACK,                COMMON },
806
 
        { ftPRECISESHOT,                UNCOMMON },
807
 
        { ftQUICKDRAW,          UNCOMMON },
808
 
        { ftRAPIDRELOAD,                RARE },
809
 
        { ftRAPIDSHOT,          UNCOMMON },
810
 
        { ftRIDEBYATTACK,               RARE },
811
 
        { ftSHOTONTHERUN,               RARE },
812
 
        { ftSNATCHARROWS,               RARE },
813
 
        { ftSPIRITEDCHARGE,             RARE },
814
 
        { ftSPRINGATTACK,               UNCOMMON },
815
 
        { ftSTUNNINGFIST,               RARE },
816
 
        { ftTWOWEAPONDEFENSE,           RARE },
817
 
        { ftTWOWEAPONFIGHTING,          RARE },
818
 
        { ftWEAPONFINESSE,              UNCOMMON },
819
 
        { ftWEAPONFOCUS,                RARE },
820
 
        { ftWEAPONSPECIALIZATION,               UNCOMMON },
821
 
        { ftWHIRLWINDATTACK,            COMMON },
822
 
        { 0,                            0 }
823
 
};
824
 
 
825
 
static PREFERREDWEAPONS fighterWeapons[] = {
826
 
  { wpGAUNTLET,            RARE*2 },
827
 
  { wpUNARMED,             RARE*2 },
828
 
  { wpDAGGER,              RARE },
829
 
  { wpDAGGER_PUNCHING,     RARE },
830
 
  { wpGAUNTLET_SPIKED,     RARE*2 },
831
 
  { wpMACE_LIGHT,          RARE },
832
 
  { wpSICKLE,              RARE },
833
 
  { wpCLUB,                RARE },
834
 
  { wpHALFSPEAR,           RARE },
835
 
  { wpMACE_HEAVY,          RARE*2 },
836
 
  { wpMORNINGSTAR,         RARE*2 },
837
 
  { wpQUARTERSTAFF,        RARE },
838
 
  { wpSHORTSPEAR,          UNCOMMON },
839
 
  { wpCROSSBOW_LIGHT,      RARE },
840
 
  { wpDART,                RARE },
841
 
  { wpSLING,               RARE },
842
 
  { wpCROSSBOW_HEAVY,      RARE },
843
 
  { wpJAVELIN,             RARE*2 },
844
 
  { wpAXE_THROWING,        RARE },
845
 
  { wpHAMMER_LIGHT,        RARE },
846
 
  { wpHANDAXE,             RARE },
847
 
  { wpLANCE_LIGHT,         UNCOMMON },
848
 
  { wpPICK_LIGHT,          RARE },
849
 
  { wpSAP,                 RARE },
850
 
  { wpSWORD_SHORT,         UNCOMMON },
851
 
  { wpBATTLEAXE,           UNCOMMON },
852
 
  { wpFLAIL_LIGHT,         UNCOMMON },
853
 
  { wpLANCE_HEAVY,         UNCOMMON },
854
 
  { wpLONGSWORD,           COMMON*2 },
855
 
  { wpPICK_HEAVY,          RARE },
856
 
  { wpRAPIER,              UNCOMMON },
857
 
  { wpSCIMITAR,            UNCOMMON },
858
 
  { wpTRIDENT,             RARE },
859
 
  { wpWARHAMMER,           UNCOMMON },
860
 
  { wpFALCHION,            RARE },
861
 
  { wpFLAIL_HEAVY,         UNCOMMON },
862
 
  { wpGLAIVE,              RARE },
863
 
  { wpGREATAXE,            UNCOMMON },
864
 
  { wpGREATCLUB,           UNCOMMON },
865
 
  { wpGREATSWORD,          COMMON },
866
 
  { wpGUISARME,            RARE },
867
 
  { wpHALBERD,             UNCOMMON },
868
 
  { wpLONGSPEAR,           UNCOMMON },
869
 
  { wpRANSEUR,             RARE },
870
 
  { wpSCYTHE,              RARE },
871
 
  { wpSHORTBOW,            COMMON },
872
 
  { wpSHORTBOW_COMPOSITE,  UNCOMMON },
873
 
  { wpLONGBOW,             UNCOMMON },
874
 
  { wpLONGBOW_COMPOSITE,   UNCOMMON },
875
 
  { 0,                     0 }
876
 
};
877
 
 
878
 
static PREFERREDFEATS monkFeats[] = {
879
 
  { ftALERTNESS,                  COMMON },
880
 
  { ftBLINDFIGHT,                 COMMON },
881
 
  { ftDIEHARD, RARE }, 
882
 
  { ftDILIGENT, RARE }, 
883
 
  { ftDODGE,                      COMMON },
884
 
  { ftMOBILITY,                   COMMON },
885
 
  { ftSPRINGATTACK,               UNCOMMON },
886
 
  { ftENDURANCE,                  RARE*2 },
887
 
  { ftCOMBATEXPERTISE,                  COMMON },
888
 
  { ftIMPROVEDDISARM,             UNCOMMON },
889
 
  { ftWHIRLWINDATTACK,            UNCOMMON },
890
 
  { ftGREATFORTITUDE,             RARE },
891
 
  { ftIMPROVEDCRITICAL,           RARE },
892
 
  { ftIMPROVEDINITIATIVE,         UNCOMMON },
893
 
  { ftIMPROVEDFEINT, UNCOMMON }, 
894
 
  { ftINVESTIGATOR, RARE }, 
895
 
  { ftIRONWILL,                   UNCOMMON },
896
 
  { ftLEADERSHIP,                 RARE },
897
 
  { ftLIGHTNINGREFLEXES,          UNCOMMON },
898
 
  { ftMOUNTEDCOMBAT,              RARE },
899
 
  { ftMOUNTEDARCHERY,             RARE },
900
 
  { ftTRAMPLE,                    RARE },
901
 
  { ftRIDEBYATTACK,               RARE },
902
 
  { ftSPIRITEDCHARGE,             RARE },
903
 
  { ftPOINTBLANKSHOT,             RARE },
904
 
  { ftFARSHOT,                    RARE },
905
 
  { ftPRECISESHOT,                RARE },
906
 
  { ftRAPIDSHOT,                  RARE },
907
 
  { ftSHOTONTHERUN,               RARE },
908
 
  { ftPOWERATTACK,                RARE },
909
 
  { ftCLEAVE,                     RARE },
910
 
  { ftIMPROVEDBULLRUSH,           RARE },
911
 
  { ftIMPROVEDSUNDER,                     RARE },
912
 
  { ftGREATCLEAVE,                RARE },
913
 
  { ftQUICKDRAW,                  RARE },
914
 
  { ftRUN,                        UNCOMMON },
915
 
  { ftSKILLFOCUS,                 UNCOMMON },
916
 
  { ftTOUGHNESS,                  RARE },
917
 
  { ftTRACK,                      RARE*2 },
918
 
  { ftTWOWEAPONDEFENSE, RARE }, 
919
 
  { ftTWOWEAPONFIGHTING,          RARE },
920
 
  { ftIMPROVEDTWOWEAPONFIGHTING,  RARE },
921
 
  { ftWEAPONFINESSE,              UNCOMMON },
922
 
  { ftWEAPONFOCUS,                UNCOMMON },
923
 
  { ftNEGOTIATOR, RARE }, 
924
 
  { ftPERSUASIVE, RARE }, 
925
 
  { ftSELFSUFFICIENT, RARE }, 
926
 
  { 0,                            0 }
927
 
};
928
 
 
929
 
static PREFERREDFEATS monkBonusFeats1[] = {
930
 
        { ftIMPROVEDGRAPPLE,            COMMON },
931
 
        { ftSTUNNINGFIST,                       COMMON },
932
 
        { 0,                            0 }
933
 
};
934
 
 
935
 
static PREFERREDFEATS monkBonusFeats2[] = {
936
 
        { ftCOMBATREFLEXES,                     COMMON },
937
 
        { ftDEFLECTARROWS,                      COMMON },
938
 
        { 0,                            0 }
939
 
};
940
 
 
941
 
static PREFERREDFEATS monkBonusFeats6[] = {
942
 
        { ftIMPROVEDDISARM,             COMMON },
943
 
        { ftIMPROVEDTRIP,               COMMON },
944
 
        { 0,                            0 }
945
 
};
946
 
 
947
 
static PREFERREDWEAPONS monkWeapons[] = {
948
 
  { wpCLUB,                UNCOMMON },
949
 
  { wpCROSSBOW_LIGHT,      RARE },
950
 
  { wpCROSSBOW_HEAVY,      RARE },
951
 
  { wpDAGGER,              COMMON },
952
 
  { wpHANDAXE,             RARE },
953
 
  { wpJAVELIN,             RARE },
954
 
  { wpKAMA,                COMMON },
955
 
  { wpNUNCHAKU,            COMMON },
956
 
  { wpQUARTERSTAFF,        COMMON },
957
 
  { wpSHURIKEN,            UNCOMMON },
958
 
  { wpSIANGHAM,            UNCOMMON },
959
 
  { wpSLING,               UNCOMMON },
960
 
  { 0,                     0 }
961
 
};
962
 
 
963
 
static PREFERREDFEATS paladinFeats[] = {
964
 
  { ftALERTNESS,                  UNCOMMON },
965
 
  { ftBLINDFIGHT,                 UNCOMMON },
966
 
  { ftCOMBATCASTING,              UNCOMMON },
967
 
  { ftCOMBATREFLEXES,             COMMON },
968
 
  { ftDIEHARD, UNCOMMON }, 
969
 
  { ftDILIGENT, UNCOMMON }, 
970
 
  { ftDODGE,                      UNCOMMON },
971
 
  { ftMOBILITY,                   UNCOMMON },
972
 
  { ftSPRINGATTACK,               UNCOMMON },
973
 
  { ftENDURANCE,                  UNCOMMON },
974
 
  { ftEXOTICWEAPONPROFICIENCY,   RARE },
975
 
  { ftCOMBATEXPERTISE,                  UNCOMMON },
976
 
  { ftIMPROVEDDISARM,             RARE },
977
 
  { ftIMPROVEDTRIP,               RARE },
978
 
  { ftWHIRLWINDATTACK,            RARE },
979
 
  { ftGREATFORTITUDE,             RARE },
980
 
  { ftIMPROVEDCRITICAL,           UNCOMMON },
981
 
  { ftIMPROVEDINITIATIVE,         UNCOMMON },
982
 
  { ftIMPROVEDUNARMEDSTRIKE,      RARE },
983
 
  { ftIMPROVEDFEINT, UNCOMMON }, 
984
 
        { ftIMPROVEDOVERRUN,            RARE },
985
 
  { ftIMPROVEDPRECISESHOT, RARE }, 
986
 
  { ftIMPROVEDSHIELDBASH, RARE }, 
987
 
  { ftINVESTIGATOR, RARE }, 
988
 
  { ftSNATCHARROWS, RARE }, 
989
 
  { ftDEFLECTARROWS,              RARE },
990
 
  { ftSTUNNINGFIST,               RARE },
991
 
  { ftIRONWILL,                   UNCOMMON },
992
 
  { ftLEADERSHIP,                 COMMON*2 },
993
 
  { ftLIGHTNINGREFLEXES,          UNCOMMON },
994
 
  { ftMOUNTEDCOMBAT,              COMMON },
995
 
  { ftMOUNTEDARCHERY,             COMMON },
996
 
  { ftTRAMPLE,                    COMMON },
997
 
  { ftRIDEBYATTACK,               COMMON },
998
 
  { ftSPIRITEDCHARGE,             COMMON },
999
 
  { ftPOINTBLANKSHOT,             UNCOMMON },
1000
 
  { ftFARSHOT,                    UNCOMMON },
1001
 
  { ftPRECISESHOT,                UNCOMMON },
1002
 
  { ftRAPIDSHOT,                  RARE },
1003
 
  { ftSHOTONTHERUN,               RARE },
1004
 
  { ftPOWERATTACK,                COMMON },
1005
 
  { ftCLEAVE,                     UNCOMMON },
1006
 
  { ftIMPROVEDBULLRUSH,           UNCOMMON },
1007
 
  { ftIMPROVEDSUNDER,                     UNCOMMON },
1008
 
  { ftGREATCLEAVE,                UNCOMMON },
1009
 
  { ftQUICKDRAW,                  RARE },
1010
 
  { ftRUN,                        RARE },
1011
 
  { ftSKILLFOCUS,                 UNCOMMON },
1012
 
  { ftSPELLFOCUS,                 RARE },
1013
 
  { ftSPELLPENETRATION,           RARE },
1014
 
  { ftTOUGHNESS,                  UNCOMMON },
1015
 
  { ftTRACK,                      RARE },
1016
 
  { ftTWOWEAPONFIGHTING,          RARE },
1017
 
  { ftIMPROVEDTWOWEAPONFIGHTING,  RARE },
1018
 
  { ftWEAPONFINESSE,              UNCOMMON*2 },
1019
 
  { ftWEAPONFOCUS,                UNCOMMON*2 },
1020
 
  { ftBREWPOTION,                 RARE },
1021
 
  { ftCRAFTMAGICARMSANDARMOR,     RARE },
1022
 
  { ftCRAFTROD,                   RARE },
1023
 
  { ftCRAFTSTAFF,                 RARE },
1024
 
  { ftCRAFTWAND,                  RARE },
1025
 
  { ftCRAFTWONDROUSITEM,          RARE },
1026
 
  { ftFORGERING,                  RARE },
1027
 
  { ftSCRIBESCROLL,               RARE },
1028
 
  { ftEMPOWERSPELL,               RARE },
1029
 
  { ftENLARGESPELL,               RARE },
1030
 
  { ftEXTENDSPELL,                RARE },
1031
 
  { ftHEIGHTENSPELL,              RARE },
1032
 
  { ftMAXIMIZESPELL,              RARE },
1033
 
  { ftQUICKENSPELL,               RARE },
1034
 
  { ftSILENTSPELL,                RARE },
1035
 
  { ftSTILLSPELL,                 RARE },
1036
 
  { ftWIDENSPELL,                 RARE },
1037
 
  { ftEXTRATURNING,               UNCOMMON },
1038
 
  { ftIMPROVEDTURNING,               UNCOMMON },
1039
 
  { ftESCHEWMATERIALS, RARE }, 
1040
 
  { ftIMPROVEDCOUNTERSPELL, RARE }, 
1041
 
  { ftMANYSHOT, RARE }, 
1042
 
  { ftNEGOTIATOR, UNCOMMON }, 
1043
 
  { ftPERSUASIVE, UNCOMMON }, 
1044
 
  { ftRAPIDRELOAD, RARE }, 
1045
 
  { ftSELFSUFFICIENT, RARE }, 
1046
 
  { 0,                            0 }
1047
 
};
1048
 
 
1049
 
static PREFERREDWEAPONS paladinWeapons[] = {
1050
 
  { wpGAUNTLET,            RARE*2 },
1051
 
  { wpUNARMED,             RARE*2 },
1052
 
  { wpDAGGER,              RARE },
1053
 
  { wpDAGGER_PUNCHING,     RARE },
1054
 
  { wpGAUNTLET_SPIKED,     RARE*2 },
1055
 
  { wpMACE_LIGHT,          RARE },
1056
 
  { wpSICKLE,              RARE },
1057
 
  { wpCLUB,                RARE },
1058
 
  { wpHALFSPEAR,           RARE },
1059
 
  { wpMACE_HEAVY,          RARE*2 },
1060
 
  { wpMORNINGSTAR,         RARE*2 },
1061
 
  { wpQUARTERSTAFF,        RARE },
1062
 
  { wpSHORTSPEAR,          UNCOMMON },
1063
 
  { wpCROSSBOW_LIGHT,      RARE },
1064
 
  { wpDART,                RARE },
1065
 
  { wpSLING,               RARE },
1066
 
  { wpCROSSBOW_HEAVY,      RARE },
1067
 
  { wpJAVELIN,             RARE*2 },
1068
 
  { wpAXE_THROWING,        RARE },
1069
 
  { wpHAMMER_LIGHT,        RARE },
1070
 
  { wpHANDAXE,             RARE },
1071
 
  { wpLANCE_LIGHT,         UNCOMMON },
1072
 
  { wpPICK_LIGHT,          RARE },
1073
 
  { wpSAP,                 RARE },
1074
 
  { wpSWORD_SHORT,         UNCOMMON },
1075
 
  { wpBATTLEAXE,           UNCOMMON },
1076
 
  { wpFLAIL_LIGHT,         UNCOMMON },
1077
 
  { wpLANCE_HEAVY,         UNCOMMON },
1078
 
  { wpLONGSWORD,           COMMON*2 },
1079
 
  { wpPICK_HEAVY,          RARE },
1080
 
  { wpRAPIER,              UNCOMMON },
1081
 
  { wpSCIMITAR,            UNCOMMON },
1082
 
  { wpTRIDENT,             RARE },
1083
 
  { wpWARHAMMER,           UNCOMMON },
1084
 
  { wpFALCHION,            RARE },
1085
 
  { wpFLAIL_HEAVY,         UNCOMMON },
1086
 
  { wpGLAIVE,              RARE },
1087
 
  { wpGREATAXE,            UNCOMMON },
1088
 
  { wpGREATCLUB,           UNCOMMON },
1089
 
  { wpGREATSWORD,          COMMON },
1090
 
  { wpGUISARME,            RARE },
1091
 
  { wpHALBERD,             UNCOMMON },
1092
 
  { wpLONGSPEAR,           UNCOMMON },
1093
 
  { wpRANSEUR,             RARE },
1094
 
  { wpSCYTHE,              RARE },
1095
 
  { wpSHORTBOW,            COMMON },
1096
 
  { wpSHORTBOW_COMPOSITE,  UNCOMMON },
1097
 
  { wpLONGBOW,             UNCOMMON },
1098
 
  { wpLONGBOW_COMPOSITE,   UNCOMMON },
1099
 
  { 0,                     0 }
1100
 
};
1101
 
 
1102
 
static PREFERREDFEATS rangerFeats[] = {
1103
 
  { ftALERTNESS,                  COMMON },
1104
 
  { ftARMORPROFICIENCY_HEAVY,     RARE },
1105
 
  { ftBLINDFIGHT,                 UNCOMMON },
1106
 
  { ftCOMBATCASTING,              RARE },
1107
 
  { ftCOMBATREFLEXES,             COMMON },
1108
 
  { ftDECEITFUL, UNCOMMON }, 
1109
 
  { ftDIEHARD, UNCOMMON }, 
1110
 
  { ftDILIGENT, UNCOMMON }, 
1111
 
  { ftDODGE,                      COMMON },
1112
 
  { ftMOBILITY,                   COMMON },
1113
 
  { ftSPRINGATTACK,               COMMON },
1114
 
  { ftENDURANCE,                  UNCOMMON },
1115
 
  { ftEXOTICWEAPONPROFICIENCY,   RARE },
1116
 
  { ftCOMBATEXPERTISE,                  COMMON },
1117
 
  { ftIMPROVEDDISARM,             UNCOMMON },
1118
 
  { ftIMPROVEDTRIP,               UNCOMMON },
1119
 
  { ftWHIRLWINDATTACK,            UNCOMMON },
1120
 
  { ftGREATFORTITUDE,             RARE },
1121
 
  { ftIMPROVEDCRITICAL,           UNCOMMON },
1122
 
  { ftIMPROVEDINITIATIVE,         COMMON },
1123
 
  { ftIMPROVEDUNARMEDSTRIKE,      UNCOMMON },
1124
 
  { ftIMPROVEDFEINT, UNCOMMON }, 
1125
 
        { ftIMPROVEDOVERRUN,            RARE },
1126
 
  { ftIMPROVEDPRECISESHOT, UNCOMMON }, 
1127
 
  { ftIMPROVEDSHIELDBASH, RARE }, 
1128
 
  { ftINVESTIGATOR, RARE*2 }, 
1129
 
  { ftSNATCHARROWS, RARE }, 
1130
 
  { ftDEFLECTARROWS,              RARE },
1131
 
  { ftSTUNNINGFIST,               RARE },
1132
 
  { ftIRONWILL,                   UNCOMMON },
1133
 
  { ftLEADERSHIP,                 RARE },
1134
 
  { ftLIGHTNINGREFLEXES,          UNCOMMON },
1135
 
  { ftMOUNTEDCOMBAT,              COMMON },
1136
 
  { ftMOUNTEDARCHERY,             COMMON },
1137
 
  { ftTRAMPLE,                    UNCOMMON },
1138
 
  { ftRIDEBYATTACK,               UNCOMMON },
1139
 
  { ftSPIRITEDCHARGE,             UNCOMMON },
1140
 
  { ftPOINTBLANKSHOT,             COMMON },
1141
 
  { ftFARSHOT,                    COMMON },
1142
 
  { ftPRECISESHOT,                COMMON },
1143
 
  { ftRAPIDSHOT,                  UNCOMMON },
1144
 
  { ftSHOTONTHERUN,               UNCOMMON },
1145
 
  { ftPOWERATTACK,                UNCOMMON },
1146
 
  { ftCLEAVE,                     UNCOMMON },
1147
 
  { ftIMPROVEDBULLRUSH,           RARE },
1148
 
  { ftIMPROVEDSUNDER,                     RARE },
1149
 
  { ftGREATCLEAVE,                RARE },
1150
 
  { ftQUICKDRAW,                  UNCOMMON },
1151
 
  { ftRUN,                        UNCOMMON },
1152
 
  { ftSKILLFOCUS,                 COMMON },
1153
 
  { ftSPELLFOCUS,                 RARE },
1154
 
  { ftSPELLPENETRATION,           RARE },
1155
 
  { ftTOUGHNESS,                  UNCOMMON },
1156
 
  { ftIMPROVEDTWOWEAPONFIGHTING,  COMMON },
1157
 
  { ftWEAPONFINESSE,              UNCOMMON*2 },
1158
 
  { ftWEAPONFOCUS,                UNCOMMON*2 },
1159
 
  { ftBREWPOTION,                 RARE*2 },
1160
 
  { ftCRAFTMAGICARMSANDARMOR,     RARE },
1161
 
  { ftCRAFTROD,                   RARE },
1162
 
  { ftCRAFTSTAFF,                 RARE },
1163
 
  { ftCRAFTWAND,                  RARE },
1164
 
  { ftCRAFTWONDROUSITEM,          RARE },
1165
 
  { ftFORGERING,                  RARE },
1166
 
  { ftSCRIBESCROLL,               RARE },
1167
 
  { ftEMPOWERSPELL,               RARE },
1168
 
  { ftENLARGESPELL,               RARE },
1169
 
  { ftEXTENDSPELL,                RARE },
1170
 
  { ftHEIGHTENSPELL,              RARE },
1171
 
  { ftMAXIMIZESPELL,              RARE },
1172
 
  { ftQUICKENSPELL,               RARE },
1173
 
  { ftSILENTSPELL,                RARE },
1174
 
  { ftSTILLSPELL,                 RARE },
1175
 
  { ftWIDENSPELL,                 RARE },
1176
 
  { ftESCHEWMATERIALS, RARE }, 
1177
 
  { ftIMPROVEDCOUNTERSPELL, RARE }, 
1178
 
  { ftMAGICALAPTITUDE, RARE }, 
1179
 
  { ftMANYSHOT, RARE },  
1180
 
  { ftNEGOTIATOR, RARE }, 
1181
 
  { ftPERSUASIVE, RARE }, 
1182
 
  { ftRAPIDRELOAD, RARE }, 
1183
 
  { ftSELFSUFFICIENT, COMMON }, 
1184
 
  { ftSTEALTHY, UNCOMMON }, 
1185
 
  { ftTWOWEAPONDEFENSE, UNCOMMON }, 
1186
 
  { 0,                            0 }
1187
 
};
1188
 
 
1189
 
static PREFERREDFEATS rangerBonusFeats[] = {
1190
 
  { ftRANGERARCHERY,                                    COMMON },
1191
 
  { ftRANGERGREATERARCHERY,                             COMMON },
1192
 
  { ftRANGERGREATERTWOWEAPONFIGHTING,   COMMON },
1193
 
  { ftRANGERIMPROVEDARCHERY,                    COMMON },
1194
 
  { ftRANGERIMPROVEDTWOWEAPONFIGHTING,  COMMON },
1195
 
  { ftRANGERTWOWEAPONFIGHTING,                  COMMON },
1196
 
  { 0,                            0 }
1197
 
};
1198
 
 
1199
 
static PREFERREDWEAPONS rangerWeapons[] = {
1200
 
  { wpGAUNTLET,            RARE },
1201
 
  { wpUNARMED,             RARE*2 },
1202
 
  { wpDAGGER,              RARE*2 },
1203
 
  { wpDAGGER_PUNCHING,     RARE },
1204
 
  { wpGAUNTLET_SPIKED,     RARE },
1205
 
  { wpMACE_LIGHT,          RARE },
1206
 
  { wpSICKLE,              RARE },
1207
 
  { wpCLUB,                RARE*2 },
1208
 
  { wpHALFSPEAR,           RARE*2 },
1209
 
  { wpMACE_HEAVY,          RARE },
1210
 
  { wpMORNINGSTAR,         RARE*2 },
1211
 
  { wpQUARTERSTAFF,        COMMON },
1212
 
  { wpSHORTSPEAR,          UNCOMMON },
1213
 
  { wpCROSSBOW_LIGHT,      RARE },
1214
 
  { wpDART,                RARE },
1215
 
  { wpSLING,               RARE },
1216
 
  { wpCROSSBOW_HEAVY,      RARE },
1217
 
  { wpJAVELIN,             RARE },
1218
 
  { wpAXE_THROWING,        RARE },
1219
 
  { wpHAMMER_LIGHT,        RARE },
1220
 
  { wpHANDAXE,             RARE },
1221
 
  { wpLANCE_LIGHT,         RARE },
1222
 
  { wpPICK_LIGHT,          RARE },
1223
 
  { wpSAP,                 RARE },
1224
 
  { wpSWORD_SHORT,         UNCOMMON },
1225
 
  { wpBATTLEAXE,           RARE },
1226
 
  { wpFLAIL_LIGHT,         RARE },
1227
 
  { wpLANCE_HEAVY,         RARE },
1228
 
  { wpLONGSWORD,           COMMON*2 },
1229
 
  { wpPICK_HEAVY,          RARE },
1230
 
  { wpRAPIER,              RARE },
1231
 
  { wpSCIMITAR,            RARE },
1232
 
  { wpTRIDENT,             RARE },
1233
 
  { wpWARHAMMER,           RARE },
1234
 
  { wpFALCHION,            RARE },
1235
 
  { wpFLAIL_HEAVY,         RARE },
1236
 
  { wpGLAIVE,              RARE },
1237
 
  { wpGREATAXE,            RARE },
1238
 
  { wpGREATCLUB,           RARE },
1239
 
  { wpGREATSWORD,          RARE },
1240
 
  { wpGUISARME,            RARE },
1241
 
  { wpHALBERD,             RARE },
1242
 
  { wpLONGSPEAR,           UNCOMMON },
1243
 
  { wpRANSEUR,             RARE },
1244
 
  { wpSCYTHE,              RARE },
1245
 
  { wpSHORTBOW,            COMMON },
1246
 
  { wpSHORTBOW_COMPOSITE,  COMMON },
1247
 
  { wpLONGBOW,             COMMON },
1248
 
  { wpLONGBOW_COMPOSITE,   COMMON },
1249
 
  { 0,                     0 }
1250
 
};
1251
 
 
1252
 
static PREFERREDFEATS rogueFeats[] = {
1253
 
  { ftALERTNESS,                  COMMON },
1254
 
  { ftARMORPROFICIENCY_MEDIUM,    RARE },
1255
 
  { ftARMORPROFICIENCY_HEAVY,     RARE },
1256
 
  { ftBLINDFIGHT,                 UNCOMMON },
1257
 
  { ftCOMBATREFLEXES,             UNCOMMON },
1258
 
  { ftDECEITFUL, UNCOMMON }, 
1259
 
  { ftDEFTHANDS, UNCOMMON }, 
1260
 
  { ftDIEHARD, RARE }, 
1261
 
  { ftDILIGENT, UNCOMMON }, 
1262
 
  { ftDODGE,                      COMMON },
1263
 
  { ftMOBILITY,                   COMMON },
1264
 
  { ftSPRINGATTACK,               COMMON },
1265
 
  { ftENDURANCE,                  RARE },
1266
 
  { ftEXOTICWEAPONPROFICIENCY,   RARE },
1267
 
  { ftMARTIALWEAPONPROFICIENCY,  RARE*2 },
1268
 
  { ftCOMBATEXPERTISE,                  UNCOMMON },
1269
 
  { ftIMPROVEDDISARM,             COMMON },
1270
 
  { ftIMPROVEDTRIP,               UNCOMMON },
1271
 
  { ftWHIRLWINDATTACK,            RARE },
1272
 
  { ftGREATFORTITUDE,             RARE },
1273
 
  { ftIMPROVEDCRITICAL,           COMMON },
1274
 
  { ftIMPROVEDINITIATIVE,         COMMON },
1275
 
  { ftIMPROVEDUNARMEDSTRIKE,      UNCOMMON },
1276
 
  { ftIMPROVEDFEINT, UNCOMMON*2 }, 
1277
 
  { ftIMPROVEDPRECISESHOT, UNCOMMON }, 
1278
 
  { ftINVESTIGATOR, UNCOMMON }, 
1279
 
  { ftSNATCHARROWS, UNCOMMON }, 
1280
 
  { ftDEFLECTARROWS,              UNCOMMON },
1281
 
  { ftSTUNNINGFIST,               UNCOMMON },
1282
 
  { ftIRONWILL,                   UNCOMMON },
1283
 
  { ftLEADERSHIP,                 RARE },
1284
 
  { ftLIGHTNINGREFLEXES,          UNCOMMON },
1285
 
  { ftMOUNTEDCOMBAT,              UNCOMMON },
1286
 
  { ftMOUNTEDARCHERY,             UNCOMMON },
1287
 
  { ftTRAMPLE,                    RARE },
1288
 
  { ftRIDEBYATTACK,               RARE },
1289
 
  { ftSPIRITEDCHARGE,             RARE },
1290
 
  { ftPOINTBLANKSHOT,             COMMON },
1291
 
  { ftFARSHOT,                    COMMON },
1292
 
  { ftPRECISESHOT,                COMMON },
1293
 
  { ftRAPIDSHOT,                  COMMON },
1294
 
  { ftSHOTONTHERUN,               COMMON },
1295
 
  { ftPOWERATTACK,                UNCOMMON },
1296
 
  { ftCLEAVE,                     RARE },
1297
 
  { ftIMPROVEDBULLRUSH,           RARE },
1298
 
  { ftIMPROVEDSUNDER,                     UNCOMMON },
1299
 
  { ftGREATCLEAVE,                RARE },
1300
 
  { ftQUICKDRAW,                  UNCOMMON },
1301
 
  { ftRUN,                        UNCOMMON },
1302
 
  { ftSHIELDPROFICIENCY,          UNCOMMON },
1303
 
  { ftSKILLFOCUS,                 COMMON },
1304
 
  { ftTOUGHNESS,                  RARE },
1305
 
  { ftTRACK,                      UNCOMMON },
1306
 
  { ftTWOWEAPONDEFENSE, UNCOMMON }, 
1307
 
  { ftTWOWEAPONFIGHTING,          UNCOMMON },
1308
 
  { ftIMPROVEDTWOWEAPONFIGHTING,  RARE },
1309
 
  { ftWEAPONFINESSE,              UNCOMMON },
1310
 
  { ftWEAPONFOCUS,                UNCOMMON },
1311
 
  { ftMAGICALAPTITUDE, UNCOMMON }, 
1312
 
  { ftMANYSHOT, RARE*2 }, 
1313
 
  { ftNEGOTIATOR, UNCOMMON }, 
1314
 
  { ftNIMBLEFINGERS, UNCOMMON }, 
1315
 
  { ftPERSUASIVE, UNCOMMON }, 
1316
 
  { ftRAPIDRELOAD, RARE }, 
1317
 
  { ftSTEALTHY, UNCOMMON }, 
1318
 
  { 0,                            0 }
1319
 
};
1320
 
 
1321
 
static PREFERREDWEAPONS rogueWeapons[] = {
1322
 
  { wpCROSSBOW_HAND,       RARE },
1323
 
  { wpCROSSBOW_LIGHT,      RARE },
1324
 
  { wpDAGGER,              UNCOMMON },
1325
 
  { wpDAGGER_PUNCHING,     RARE },
1326
 
  { wpDART,                RARE*2 },
1327
 
  { wpMACE_LIGHT,          RARE },
1328
 
  { wpSAP,                 UNCOMMON },
1329
 
  { wpSHORTBOW,            UNCOMMON },
1330
 
  { wpSHORTBOW_COMPOSITE,  UNCOMMON },
1331
 
  { wpSWORD_SHORT,         COMMON },
1332
 
  { wpCLUB,                RARE },
1333
 
  { wpCROSSBOW_HEAVY,      RARE },
1334
 
  { wpMACE_HEAVY,          RARE },
1335
 
  { wpMORNINGSTAR,         RARE },
1336
 
  { wpQUARTERSTAFF,        RARE },
1337
 
  { wpRAPIER,              RARE },
1338
 
  { 0,                     0 }
1339
 
};
1340
 
 
1341
 
static PREFERREDFEATS sorcererFeats[] = {
1342
 
  { ftALERTNESS,                  UNCOMMON },
1343
 
  { ftARMORPROFICIENCY_LIGHT,     RARE },
1344
 
  { ftBLINDFIGHT,                 RARE },
1345
 
  { ftCOMBATCASTING,              COMMON },
1346
 
  { ftCOMBATREFLEXES,             RARE },
1347
 
  { ftDILIGENT, RARE }, 
1348
 
  { ftDODGE,                      UNCOMMON },
1349
 
  { ftMOBILITY,                   UNCOMMON },
1350
 
  { ftSPRINGATTACK,               RARE },
1351
 
  { ftENDURANCE,                  RARE },
1352
 
  { ftEXOTICWEAPONPROFICIENCY,   RARE },
1353
 
  { ftMARTIALWEAPONPROFICIENCY,  RARE },
1354
 
  { ftSIMPLEWEAPONPROFICIENCY,   RARE },
1355
 
  { ftCOMBATEXPERTISE,                  RARE },
1356
 
  { ftIMPROVEDDISARM,             RARE },
1357
 
  { ftIMPROVEDTRIP,               RARE },
1358
 
  { ftWHIRLWINDATTACK,            RARE },
1359
 
  { ftGREATFORTITUDE,             RARE*2 },
1360
 
  { ftIMPROVEDCRITICAL,           RARE },
1361
 
  { ftIMPROVEDINITIATIVE,         UNCOMMON },
1362
 
  { ftIMPROVEDUNARMEDSTRIKE,      UNCOMMON },
1363
 
  { ftINVESTIGATOR, RARE }, 
1364
 
  { ftDEFLECTARROWS,              RARE },
1365
 
  { ftSTUNNINGFIST,               RARE },
1366
 
  { ftIRONWILL,                   UNCOMMON },
1367
 
  { ftLEADERSHIP,                 UNCOMMON },
1368
 
  { ftLIGHTNINGREFLEXES,          UNCOMMON },
1369
 
  { ftMOUNTEDCOMBAT,              RARE },
1370
 
  { ftMOUNTEDARCHERY,             RARE },
1371
 
  { ftTRAMPLE,                    RARE },
1372
 
  { ftRIDEBYATTACK,               RARE },
1373
 
  { ftSPIRITEDCHARGE,             RARE },
1374
 
  { ftPOINTBLANKSHOT,             UNCOMMON },
1375
 
  { ftFARSHOT,                    UNCOMMON },
1376
 
  { ftPRECISESHOT,                UNCOMMON },
1377
 
  { ftRAPIDSHOT,                  UNCOMMON },
1378
 
  { ftSHOTONTHERUN,               RARE },
1379
 
  { ftPOWERATTACK,                RARE },
1380
 
  { ftCLEAVE,                     RARE },
1381
 
  { ftIMPROVEDBULLRUSH,           RARE },
1382
 
  { ftIMPROVEDSUNDER,                     RARE },
1383
 
  { ftGREATCLEAVE,                RARE },
1384
 
  { ftQUICKDRAW,                  RARE },
1385
 
  { ftRUN,                        UNCOMMON },
1386
 
  { ftSHIELDPROFICIENCY,          RARE },
1387
 
  { ftSKILLFOCUS,                 COMMON },
1388
 
  { ftSPELLFOCUS,                 COMMON },
1389
 
  { ftGREATERSPELLFOCUS,                 COMMON },
1390
 
  { ftSPELLPENETRATION,           COMMON },
1391
 
  { ftGREATERSPELLPENETRATION,           COMMON },
1392
 
  { ftTOUGHNESS,                  UNCOMMON },
1393
 
  { ftTRACK,                      RARE },
1394
 
  { ftTWOWEAPONDEFENSE, RARE }, 
1395
 
  { ftTWOWEAPONFIGHTING,          RARE },
1396
 
  { ftIMPROVEDTWOWEAPONFIGHTING,  RARE },
1397
 
  { ftWEAPONFINESSE,              RARE },
1398
 
  { ftWEAPONFOCUS,                RARE },
1399
 
  { ftBREWPOTION,                 COMMON },
1400
 
  { ftCRAFTMAGICARMSANDARMOR,     COMMON },
1401
 
  { ftCRAFTROD,                   COMMON },
1402
 
  { ftCRAFTSTAFF,                 COMMON },
1403
 
  { ftCRAFTWAND,                  COMMON },
1404
 
  { ftCRAFTWONDROUSITEM,          COMMON },
1405
 
  { ftFORGERING,                  COMMON },
1406
 
  { ftSCRIBESCROLL,               COMMON*2 },
1407
 
  { ftEMPOWERSPELL,               RARE*2 },
1408
 
  { ftENLARGESPELL,               RARE*2 },
1409
 
  { ftEXTENDSPELL,                RARE*2 },
1410
 
  { ftHEIGHTENSPELL,              UNCOMMON },
1411
 
  { ftMAXIMIZESPELL,              RARE*2 },
1412
 
  { ftSILENTSPELL,                UNCOMMON },
1413
 
  { ftSTILLSPELL,                 UNCOMMON },
1414
 
  { ftWIDENSPELL,                 RARE },
1415
 
  {  ftAUGMENTSUMMONING, UNCOMMON }, 
1416
 
  {  ftCRAFTCONSTRUCT, RARE }, 
1417
 
  { ftESCHEWMATERIALS, UNCOMMON }, 
1418
 
  { ftIMPROVEDCOUNTERSPELL, RARE }, 
1419
 
  { ftIMPROVEDFAMILIAR, RARE }, 
1420
 
  { ftMAGICALAPTITUDE, UNCOMMON }, 
1421
 
  { ftNEGOTIATOR, RARE }, 
1422
 
  { ftPERSUASIVE, UNCOMMON }, 
1423
 
  { ftRAPIDRELOAD, RARE }, 
1424
 
 { 0,                            0 }
1425
 
};
1426
 
 
1427
 
static PREFERREDWEAPONS sorcererWeapons[] = {
1428
 
  { wpGAUNTLET,            RARE },
1429
 
  { wpUNARMED,             RARE },
1430
 
  { wpDAGGER,              COMMON },
1431
 
  { wpDAGGER_PUNCHING,     RARE },
1432
 
  { wpGAUNTLET_SPIKED,     RARE },
1433
 
  { wpMACE_LIGHT,          UNCOMMON },
1434
 
  { wpSICKLE,              RARE },
1435
 
  { wpCLUB,                UNCOMMON },
1436
 
  { wpHALFSPEAR,           RARE },
1437
 
  { wpMACE_HEAVY,          COMMON },
1438
 
  { wpMORNINGSTAR,         UNCOMMON },
1439
 
  { wpQUARTERSTAFF,        COMMON },
1440
 
  { wpSHORTSPEAR,          UNCOMMON },
1441
 
  { wpCROSSBOW_LIGHT,      UNCOMMON },
1442
 
  { wpDART,                RARE },
1443
 
  { wpSLING,               RARE },
1444
 
  { wpCROSSBOW_HEAVY,      RARE },
1445
 
  { wpJAVELIN,             RARE },
1446
 
  { 0,                     0 }
1447
 
};
1448
 
 
1449
 
static PREFERREDSPELLS prefSorcererSpells[] = {
1450
 
        { spACIDARROW,                                          COMMON },
1451
 
        { spACIDFOG,                                          UNCOMMON },
1452
 
        { spACIDSPLASH,                                       UNCOMMON },
1453
 
        { spALARM,                                            UNCOMMON },
1454
 
        { spALTERSELF,                                        UNCOMMON },
1455
 
        { spANALYZEDWEOMER,                                     COMMON },
1456
 
        { spANIMALGROWTH,                                     UNCOMMON },
1457
 
        { spANIMATEDEAD,                                      UNCOMMON },
1458
 
        { spANIMATEROPE,                                      UNCOMMON },
1459
 
        { spANTIMAGICFIELD,                                   UNCOMMON },
1460
 
        { spANTIPATHY,                                        UNCOMMON },
1461
 
        { spARCANEEYE,                                        UNCOMMON },
1462
 
        { spARCANELOCK,                                       UNCOMMON },
1463
 
        { spARCANEMARK,                                       UNCOMMON },
1464
 
        { spARCANESIGHT,                                      UNCOMMON },
1465
 
        { spARCANESIGHTGREATER,                               UNCOMMON },
1466
 
        { spASTRALPROJECTION,                                 UNCOMMON },
1467
 
        { spBALEFULPOLYMORPH,                                   COMMON },
1468
 
        { spBANISHMENT,                                       UNCOMMON },
1469
 
        { spBEARSENDURANCE,                                   UNCOMMON },
1470
 
        { spBEARSENDURANCEMASS,                               UNCOMMON },
1471
 
        { spBESTOWCURSE,                                      UNCOMMON },
1472
 
        { spBINDING,                                          UNCOMMON },
1473
 
        { spBLACKTENTACLES,                                   UNCOMMON },
1474
 
        { spBLIGHT,                                           UNCOMMON },
1475
 
        { spBLINDNESSDEAFNESS,                                UNCOMMON },
1476
 
        { spBLINK,                                            UNCOMMON },
1477
 
        { spBLUR,                                               COMMON },
1478
 
        { spBREAKENCHANTMENT,                                 UNCOMMON },
1479
 
        { spBULLSSTRENGTH,                                    UNCOMMON },
1480
 
        { spBULLSSTRENGTHMASS,                                UNCOMMON },
1481
 
        { spBURNINGHANDS,                                     UNCOMMON },
1482
 
        { spCATSGRACE,                                        UNCOMMON },
1483
 
        { spCATSGRACEMASS,                                    UNCOMMON },
1484
 
        { spCAUSEFEAR,                                        UNCOMMON },
1485
 
        { spCHAINLIGHTNING,                                     COMMON },
1486
 
        { spCHARMMONSTER,                                       COMMON },
1487
 
        { spCHARMMONSTERMASS,                                   COMMON },
1488
 
        { spCHARMPERSON,                                        COMMON },
1489
 
        { spCHILLTOUCH,                                       UNCOMMON },
1490
 
        { spCIRCLEOFDEATH,                                    UNCOMMON },
1491
 
        { spCLAIRAUDIENCECLAIRVOYANCE,                        UNCOMMON },
1492
 
        { spCLENCHEDFIST,                                     UNCOMMON },
1493
 
        { spCLONE,                                            UNCOMMON },
1494
 
        { spCLOUDKILL,                                          COMMON },
1495
 
        { spCOLORSPRAY,                                       UNCOMMON },
1496
 
        { spCOMMANDUNDEAD,                                    UNCOMMON },
1497
 
        { spCOMPREHENDLANGUAGES,                              UNCOMMON },
1498
 
        { spCONEOFCOLD,                                         COMMON },
1499
 
        { spCONFUSION,                                        UNCOMMON },
1500
 
        { spCONTACTOTHERPLANE,                                UNCOMMON },
1501
 
        { spCONTAGION,                                        UNCOMMON },
1502
 
        { spCONTINGENCY,                                      UNCOMMON },
1503
 
        { spCONTINUALFLAME,                                   UNCOMMON },
1504
 
        { spCONTROLUNDEAD,                                    UNCOMMON },
1505
 
        { spCONTROLWATER,                                     UNCOMMON },
1506
 
        { spCONTROLWEATHER,                                   UNCOMMON },
1507
 
        { spCREATEGREATERUNDEAD,                              UNCOMMON },
1508
 
        { spCREATEUNDEAD,                                     UNCOMMON },
1509
 
        { spCRUSHINGDESPAIR,                                  UNCOMMON },
1510
 
        { spCRUSHINGHAND,                                     UNCOMMON },
1511
 
        { spDANCINGLIGHTS,                                      COMMON },
1512
 
        { spDARKNESS,                                         UNCOMMON },
1513
 
        { spDARKVISION,                                       UNCOMMON },
1514
 
        { spDAYLIGHT,                                         UNCOMMON },
1515
 
        { spDAZE,                                             UNCOMMON },
1516
 
        { spDAZEMONSTER,                                      UNCOMMON },
1517
 
        { spDEEPSLUMBER,                                      UNCOMMON },
1518
 
        { spDELAYEDBLASTFIREBALL,                               COMMON },
1519
 
        { spDEMAND,                                           UNCOMMON },
1520
 
        { spDETECTMAGIC,                                        COMMON },
1521
 
        { spDETECTPOISON,                                     UNCOMMON },
1522
 
        { spDETECTSCRYING,                                    UNCOMMON },
1523
 
        { spDETECTSECRETDOORS,                                UNCOMMON },
1524
 
        { spDETECTTHOUGHTS,                                   UNCOMMON },
1525
 
        { spDETECTUNDEAD,                                     UNCOMMON },
1526
 
        { spDIMENSIONDOOR,                                    UNCOMMON },
1527
 
        { spDIMENSIONALANCHOR,                                UNCOMMON },
1528
 
        { spDIMENSIONALLOCK,                                  UNCOMMON },
1529
 
        { spDISCERNLOCATION,                                  UNCOMMON },
1530
 
        { spDISGUISESELF,                                     UNCOMMON },
1531
 
        { spDISINTEGRATE,                                       COMMON },
1532
 
        { spDISMISSAL,                                        UNCOMMON },
1533
 
        { spDISPELMAGIC,                                        COMMON },
1534
 
        { spDISPELMAGICGREATER,                               UNCOMMON },
1535
 
        { spDISPLACEMENT,                                     UNCOMMON },
1536
 
        { spDISRUPTUNDEAD,                                    UNCOMMON },
1537
 
        { spDOMINATEMONSTER,                                  UNCOMMON },
1538
 
        { spDOMINATEPERSON,                                   UNCOMMON },
1539
 
        { spDREAM,                                            UNCOMMON },
1540
 
        { spEAGLESSPLENDOR,                                   UNCOMMON },
1541
 
        { spEAGLESSPLENDORMASS,                               UNCOMMON },
1542
 
        { spENDUREELEMENTS,                                   UNCOMMON },
1543
 
        { spENERGYDRAIN,                                      UNCOMMON },
1544
 
        { spENERVATION,                                       UNCOMMON },
1545
 
        { spENLARGEPERSON,                                    UNCOMMON },
1546
 
        { spENLARGEPERSONMASS,                                UNCOMMON },
1547
 
        { spERASE,                                            UNCOMMON },
1548
 
        { spETHEREALJAUNT,                                    UNCOMMON },
1549
 
        { spETHEREALNESS,                                     UNCOMMON },
1550
 
        { spEXPEDITIOUSRETREAT,                               UNCOMMON },
1551
 
        { spEXPLOSIVERUNES,                                   UNCOMMON },
1552
 
        { spEYEBITE,                                            COMMON },
1553
 
        { spFABRICATE,                                        UNCOMMON },
1554
 
        { spFALSELIFE,                                        UNCOMMON },
1555
 
        { spFALSEVISION,                                      UNCOMMON },
1556
 
        { spFEAR,                                             UNCOMMON },
1557
 
        { spFEATHERFALL,                                      UNCOMMON },
1558
 
        { spFEEBLEMIND,                                       UNCOMMON },
1559
 
        { spFINGEROFDEATH,                                    UNCOMMON },
1560
 
        { spFIRESHIELD,                                       UNCOMMON },
1561
 
        { spFIRETRAP,                                         UNCOMMON },
1562
 
        { spFIREBALL,                                           COMMON },
1563
 
        { spFLAMEARROW,                                       UNCOMMON },
1564
 
        { spFLAMINGSPHERE,                                    UNCOMMON },
1565
 
        { spFLARE,                                            UNCOMMON },
1566
 
        { spFLESHTOSTONE,                                       COMMON },
1567
 
        { spFLOATINGDISK,                                     UNCOMMON },
1568
 
        { spFLY,                                                COMMON },
1569
 
        { spFOGCLOUD,                                         UNCOMMON },
1570
 
        { spFORCECAGE,                                        UNCOMMON },
1571
 
        { spFORCEFULHAND,                                     UNCOMMON },
1572
 
        { spFORESIGHT,                                        UNCOMMON },
1573
 
        { spFOXSCUNNING,                                      UNCOMMON },
1574
 
        { spFOXSCUNNINGMASS,                                  UNCOMMON },
1575
 
        { spFREEDOM,                                          UNCOMMON },
1576
 
        { spFREEZINGSPHERE,                                   UNCOMMON },
1577
 
        { spGASEOUSFORM,                                          RARE },
1578
 
        { spGATE,                                             UNCOMMON },
1579
 
        { spGEASLESSER,                                       UNCOMMON },
1580
 
        { spGEASQUEST,                                            RARE },
1581
 
        { spGENTLEREPOSE,                                     UNCOMMON },
1582
 
        { spGHOSTSOUND,                                         COMMON },
1583
 
        { spGHOULTOUCH,                                       UNCOMMON },
1584
 
        { spGLITTERDUST,                                      UNCOMMON },
1585
 
        { spGLOBEOFINVULNERABILITY,                           UNCOMMON },
1586
 
        { spGLOBEOFINVULNERABILITYLESSER,                      UNCOMMON },
1587
 
        { spGRASPINGHAND,                                     UNCOMMON },
1588
 
        { spGREASE,                                           UNCOMMON },
1589
 
        { spGUARDSANDWARDS,                                   UNCOMMON },
1590
 
        { spGUSTOFWIND,                                       UNCOMMON },
1591
 
        { spHALLUCINATORYTERRAIN,                             UNCOMMON },
1592
 
        { spHALTUNDEAD,                                       UNCOMMON },
1593
 
        { spHASTE,                                              COMMON },
1594
 
        { spHEROISM,                                          UNCOMMON },
1595
 
        { spHEROISMGREATER,                                   UNCOMMON },
1596
 
        { spHIDEOUSLAUGHTER,                                  UNCOMMON },
1597
 
        { spHOLDMONSTER,                                        COMMON },
1598
 
        { spHOLDMONSTERMASS,                                  UNCOMMON },
1599
 
        { spHOLDPERSON,                                         COMMON },
1600
 
        { spHOLDPERSONMASS,                                   UNCOMMON },
1601
 
        { spHOLDPORTAL,                                       UNCOMMON },
1602
 
        { spHORRIDWILTING,                                      COMMON },
1603
 
        { spHYPNOTICPATTERN,                                  UNCOMMON },
1604
 
        { spHYPNOTISM,                                        UNCOMMON },
1605
 
        { spICESTORM,                                         UNCOMMON },
1606
 
        { spIDENTIFY,                                           COMMON },
1607
 
        { spILLUSORYSCRIPT,                                   UNCOMMON },
1608
 
        { spILLUSORYWALL,                                     UNCOMMON },
1609
 
        { spIMPRISONMENT,                                     UNCOMMON },
1610
 
        { spINCENDIARYCLOUD,                                    COMMON },
1611
 
        { spINSANITY,                                         UNCOMMON },
1612
 
        { spINSTANTSUMMONS,                                   UNCOMMON },
1613
 
        { spINTERPOSINGHAND,                                  UNCOMMON },
1614
 
        { spINVISIBILITY,                                       COMMON },
1615
 
        { spINVISIBILITYSPHERE,                               UNCOMMON },
1616
 
        { spINVISIBILITYGREATER,                                COMMON },
1617
 
        { spINVISIBILITYMASS,                                   COMMON },
1618
 
        { spIRONBODY,                                         UNCOMMON },
1619
 
        { spIRRESISTIBLEDANCE,                                UNCOMMON },
1620
 
        { spJUMP,                                             UNCOMMON },
1621
 
        { spKEENEDGE,                                         UNCOMMON },
1622
 
        { spKNOCK,                                              COMMON },
1623
 
        { spLEGENDLORE,                                       UNCOMMON },
1624
 
        { spLEVITATE,                                         UNCOMMON },
1625
 
        { spLIGHT,                                              COMMON },
1626
 
        { spLIGHTNINGBOLT,                                      COMMON },
1627
 
        { spLIMITEDWISH,                                      UNCOMMON },
1628
 
        { spLOCATECREATURE,                                   UNCOMMON },
1629
 
        { spLOCATEOBJECT,                                     UNCOMMON },
1630
 
        { spMAGEARMOR,                                          COMMON },
1631
 
        { spMAGEHAND,                                           COMMON },
1632
 
        { spMAGESDISJUNCTION,                                 UNCOMMON },
1633
 
        { spMAGESFAITHFULHOUND,                               UNCOMMON },
1634
 
        { spMAGESMAGNIFICENTMANSION,                          UNCOMMON },
1635
 
        { spMAGESPRIVATESANCTUM,                              UNCOMMON },
1636
 
        { spMAGESSWORD,                                       UNCOMMON },
1637
 
        { spMAGICAURA,                                        UNCOMMON },
1638
 
        { spMAGICCIRCLEAGAINSTCHAOS,                          UNCOMMON },
1639
 
        { spMAGICCIRCLEAGAINSTEVIL,                           UNCOMMON },
1640
 
        { spMAGICCIRCLEAGAINSTGOOD,                           UNCOMMON },
1641
 
        { spMAGICCIRCLEAGAINSTLAW,                            UNCOMMON },
1642
 
        { spMAGICJAR,                                         UNCOMMON },
1643
 
        { spMAGICMISSILE,                                     COMMON*2 },
1644
 
        { spMAGICMOUTH,                                       UNCOMMON },
1645
 
        { spMAGICWEAPON,                                      UNCOMMON },
1646
 
        { spMAGICWEAPONGREATER,                               UNCOMMON },
1647
 
        { spMAJORCREATION,                                    UNCOMMON },
1648
 
        { spMAJORIMAGE,                                       UNCOMMON },
1649
 
        { spMAZE,                                             UNCOMMON },
1650
 
        { spMENDING,                                          UNCOMMON },
1651
 
        { spMESSAGE,                                          UNCOMMON },
1652
 
        { spMETEORSWARM,                                        COMMON },
1653
 
        { spMINDBLANK,                                        UNCOMMON },
1654
 
        { spMINDFOG,                                          UNCOMMON },
1655
 
        { spMINORCREATION,                                    UNCOMMON },
1656
 
        { spMINORIMAGE,                                       UNCOMMON },
1657
 
        { spMIRAGEARCANA,                                     UNCOMMON },
1658
 
        { spMIRRORIMAGE,                                        COMMON },
1659
 
        { spMISDIRECTION,                                     UNCOMMON },
1660
 
        { spMISLEAD,                                          UNCOMMON },
1661
 
        { spMOMENTOFPRESCIENCE,                               UNCOMMON },
1662
 
        { spMOUNT,                                            UNCOMMON },
1663
 
        { spMOVEEARTH,                                        UNCOMMON },
1664
 
        { spNIGHTMARE,                                        UNCOMMON },
1665
 
        { spNONDETECTION,                                     UNCOMMON },
1666
 
        { spOBSCUREOBJECT,                                    UNCOMMON },
1667
 
        { spOBSCURINGMIST,                                    UNCOMMON },
1668
 
        { spOPENCLOSE,                                        UNCOMMON },
1669
 
        { spOVERLANDFLIGHT,                                   UNCOMMON },
1670
 
        { spOWLSWISDOM,                                       UNCOMMON },
1671
 
        { spOWLSWISDOMMASS,                                   UNCOMMON },
1672
 
        { spPASSWALL,                                         UNCOMMON },
1673
 
        { spPERMANENCY,                                       UNCOMMON },
1674
 
        { spPERMANENTIMAGE,                                   UNCOMMON },
1675
 
        { spPERSISTENTIMAGE,                                  UNCOMMON },
1676
 
        { spPHANTASMALKILLER,                                 UNCOMMON },
1677
 
        { spPHANTOMSTEED,                                     UNCOMMON },
1678
 
        { spPHANTOMTRAP,                                      UNCOMMON },
1679
 
        { spPHASEDOOR,                                        UNCOMMON },
1680
 
        { spPLANARBINDING,                                    UNCOMMON },
1681
 
        { spPLANARBINDINGGREATER,                             UNCOMMON },
1682
 
        { spPLANARBINDINGLESSER,                              UNCOMMON },
1683
 
        { spPLANESHIFT,                                       UNCOMMON },
1684
 
        { spPOLARRAY,                                         UNCOMMON },
1685
 
        { spPOLYMORPH,                                          COMMON },
1686
 
        { spPOLYMORPHANYOBJECT,                                 COMMON },
1687
 
        { spPOWERWORDBLIND,                                   UNCOMMON },
1688
 
        { spPOWERWORDKILL,                                    UNCOMMON },
1689
 
        { spPOWERWORDSTUN,                                    UNCOMMON },
1690
 
        { spPRESTIDIGITATION,                                 UNCOMMON },
1691
 
        { spPRISMATICSPHERE,                                  UNCOMMON },
1692
 
        { spPRISMATICSPRAY,                                   UNCOMMON },
1693
 
        { spPRISMATICWALL,                                    UNCOMMON },
1694
 
        { spPROGRAMMEDIMAGE,                                  UNCOMMON },
1695
 
        { spPROJECTIMAGE,                                     UNCOMMON },
1696
 
        { spPROTECTIONFROMARROWS,                             UNCOMMON },
1697
 
        { spPROTECTIONFROMCHAOS,                              UNCOMMON },
1698
 
        { spPROTECTIONFROMENERGY,                             UNCOMMON },
1699
 
        { spPROTECTIONFROMEVIL,                               UNCOMMON },
1700
 
        { spPROTECTIONFROMGOOD,                               UNCOMMON },
1701
 
        { spPROTECTIONFROMLAW,                                UNCOMMON },
1702
 
        { spPROTECTIONFROMSPELLS,                             UNCOMMON },
1703
 
        { spPRYINGEYES,                                       UNCOMMON },
1704
 
        { spPRYINGEYESGREATER,                                UNCOMMON },
1705
 
        { spPYROTECHNICS,                                     UNCOMMON },
1706
 
        { spRAGE,                                             UNCOMMON },
1707
 
        { spRAINBOWPATTERN,                                   UNCOMMON },
1708
 
        { spRAYOFENFEEBLEMENT,                                UNCOMMON },
1709
 
        { spRAYOFEXHAUSTION,                                  UNCOMMON },
1710
 
        { spRAYOFFROST,                                       UNCOMMON },
1711
 
        { spREADMAGIC,                                          COMMON },
1712
 
        { spREDUCEPERSON,                                     UNCOMMON },
1713
 
        { spREDUCEPERSONMASS,                                 UNCOMMON },
1714
 
        { spREFUGE,                                           UNCOMMON },
1715
 
        { spREMOVECURSE,                                      UNCOMMON },
1716
 
        { spREPULSION,                                        UNCOMMON },
1717
 
        { spRESILIENTSPHERE,                                  UNCOMMON },
1718
 
        { spRESISTENERGY,                                     UNCOMMON },
1719
 
        { spRESISTANCE,                                       UNCOMMON },
1720
 
        { spREVERSEGRAVITY,                                   UNCOMMON },
1721
 
        { spROPETRICK,                                        UNCOMMON },
1722
 
        { spSCARE,                                            UNCOMMON },
1723
 
        { spSCINTILLATINGPATTERN,                             UNCOMMON },
1724
 
        { spSCORCHINGRAY,                                     UNCOMMON },
1725
 
        { spSCREEN,                                           UNCOMMON },
1726
 
        { spSCRYING,                                          UNCOMMON },
1727
 
        { spSCRYINGGREATER,                                   UNCOMMON },
1728
 
        { spSECRETCHEST,                                      UNCOMMON },
1729
 
        { spSECRETPAGE,                                       UNCOMMON },
1730
 
        { spSECURESHELTER,                                    UNCOMMON },
1731
 
        { spSEEINVISIBILITY,                                  UNCOMMON },
1732
 
        { spSEEMING,                                          UNCOMMON },
1733
 
        { spSENDING,                                          UNCOMMON },
1734
 
        { spSEPIASNAKESIGIL,                                  UNCOMMON },
1735
 
        { spSEQUESTER,                                        UNCOMMON },
1736
 
        { spSHADES,                                           UNCOMMON },
1737
 
        { spSHADOWCONJURATION,                                UNCOMMON },
1738
 
        { spSHADOWCONJURATIONGREATER,                         UNCOMMON },
1739
 
        { spSHADOWEVOCATION,                                  UNCOMMON },
1740
 
        { spSHADOWEVOCATIONGREATER,                           UNCOMMON },
1741
 
        { spSHADOWWALK,                                       UNCOMMON },
1742
 
        { spSHAPECHANGE,                                        COMMON },
1743
 
        { spSHATTER,                                          UNCOMMON },
1744
 
        { spSHIELD,                                             COMMON },
1745
 
        { spSHOCKINGGRASP,                                    UNCOMMON },
1746
 
        { spSHOUT,                                            UNCOMMON },
1747
 
        { spSHOUTGREATER,                                     UNCOMMON },
1748
 
        { spSHRINKITEM,                                       UNCOMMON },
1749
 
        { spSILENTIMAGE,                                      UNCOMMON },
1750
 
        { spSIMULACRUM,                                       UNCOMMON },
1751
 
        { spSLEEP,                                              COMMON },
1752
 
        { spSLEETSTORM,                                       UNCOMMON },
1753
 
        { spSLOW,                                               COMMON },
1754
 
        { spSOLIDFOG,                                         UNCOMMON },
1755
 
        { spSOULBIND,                                         UNCOMMON },
1756
 
        { spSPECTRALHAND,                                     UNCOMMON },
1757
 
        { spSPELLTURNING,                                     UNCOMMON },
1758
 
        { spSPIDERCLIMB,                                      UNCOMMON },
1759
 
        { spSTATUE,                                           UNCOMMON },
1760
 
        { spSTINKINGCLOUD,                                    UNCOMMON },
1761
 
        { spSTONESHAPE,                                       UNCOMMON },
1762
 
        { spSTONETOFLESH,                                     UNCOMMON },
1763
 
        { spSTONESKIN,                                        UNCOMMON },
1764
 
        { spSUGGESTION,                                       UNCOMMON },
1765
 
        { spSUGGESTIONMASS,                                   UNCOMMON },
1766
 
        { spSUMMONMONSTERI,                                   UNCOMMON },
1767
 
        { spSUMMONMONSTERII,                                  UNCOMMON },
1768
 
        { spSUMMONMONSTERIII,                                 UNCOMMON },
1769
 
        { spSUMMONMONSTERIV,                                  UNCOMMON },
1770
 
        { spSUMMONMONSTERIX,                                  UNCOMMON },
1771
 
        { spSUMMONMONSTERV,                                   UNCOMMON },
1772
 
        { spSUMMONMONSTERVI,                                  UNCOMMON },
1773
 
        { spSUMMONMONSTERVII,                                 UNCOMMON },
1774
 
        { spSUMMONMONSTERVIII,                                UNCOMMON },
1775
 
        { spSUMMONSWARM,                                      UNCOMMON },
1776
 
        { spSUNBURST,                                         UNCOMMON },
1777
 
        { spSYMBOLOFDEATH,                                    UNCOMMON },
1778
 
        { spSYMBOLOFFEAR,                                     UNCOMMON },
1779
 
        { spSYMBOLOFINSANITY,                                 UNCOMMON },
1780
 
        { spSYMBOLOFPAIN,                                     UNCOMMON },
1781
 
        { spSYMBOLOFPERSUASION,                               UNCOMMON },
1782
 
        { spSYMBOLOFSLEEP,                                    UNCOMMON },
1783
 
        { spSYMBOLOFSTUNNING,                                 UNCOMMON },
1784
 
        { spSYMBOLOFWEAKNESS,                                 UNCOMMON },
1785
 
        { spSYMPATHY,                                         UNCOMMON },
1786
 
        { spTELEKINESIS,                                      UNCOMMON },
1787
 
        { spTELEKINETICSPHERE,                                UNCOMMON },
1788
 
        { spTELEPATHICBOND,                                   UNCOMMON },
1789
 
        { spTELEPORT,                                           COMMON },
1790
 
        { spTELEPORTOBJECT,                                   UNCOMMON },
1791
 
        { spTELEPORTGREATER,                                    COMMON },
1792
 
        { spTELEPORTATIONCIRCLE,                              UNCOMMON },
1793
 
        { spTEMPORALSTASIS,                                   UNCOMMON },
1794
 
        { spTIMESTOP,                                         UNCOMMON },
1795
 
        { spTINYHUT,                                          UNCOMMON },
1796
 
        { spTONGUES,                                          UNCOMMON },
1797
 
        { spTOUCHOFFATIGUE,                                   UNCOMMON },
1798
 
        { spTOUCHOFIDIOCY,                                    UNCOMMON },
1799
 
        { spTRANSFORMATION,                                   UNCOMMON },
1800
 
        { spTRANSMUTEMUDTOROCK,                               UNCOMMON },
1801
 
        { spTRANSMUTEROCKTOMUD,                               UNCOMMON },
1802
 
        { spTRAPTHESOUL,                                      UNCOMMON },
1803
 
        { spTRUESEEING,                                       UNCOMMON },
1804
 
        { spTRUESTRIKE,                                       UNCOMMON },
1805
 
        { spUNDEATHTODEATH,                                   UNCOMMON },
1806
 
        { spUNSEENSERVANT,                                    UNCOMMON },
1807
 
        { spVAMPIRICTOUCH,                                    UNCOMMON },
1808
 
        { spVEIL,                                             UNCOMMON },
1809
 
        { spVENTRILOQUISM,                                    UNCOMMON },
1810
 
        { spVISION,                                           UNCOMMON },
1811
 
        { spWAILOFTHEBANSHEE,                                 UNCOMMON },
1812
 
        { spWALLOFFIRE,                                       UNCOMMON },
1813
 
        { spWALLOFFORCE,                                      UNCOMMON },
1814
 
        { spWALLOFICE,                                        UNCOMMON },
1815
 
        { spWALLOFIRON,                                       UNCOMMON },
1816
 
        { spWALLOFSTONE,                                      UNCOMMON },
1817
 
        { spWATERBREATHING,                                   UNCOMMON },
1818
 
        { spWAVESOFEXHAUSTION,                                UNCOMMON },
1819
 
        { spWAVESOFFATIGUE,                                   UNCOMMON },
1820
 
        { spWEB,                                                COMMON },
1821
 
        { spWEIRD,                                            UNCOMMON },
1822
 
        { spWHISPERINGWIND,                                   UNCOMMON },
1823
 
        { spWINDWALL,                                         UNCOMMON },
1824
 
        { spWISH,                                               RARE*2 },
1825
 
  { 0, 0 }
1826
 
};
1827
 
 
1828
 
static PREFERREDFEATS wizardFeats[] = {
1829
 
  { ftALERTNESS,                  UNCOMMON },
1830
 
  { ftARMORPROFICIENCY_LIGHT,     RARE },
1831
 
  { ftBLINDFIGHT,                 RARE },
1832
 
  { ftCOMBATCASTING,              COMMON },
1833
 
  { ftCOMBATREFLEXES,             RARE },
1834
 
  { ftDILIGENT, RARE }, 
1835
 
  { ftDODGE,                      UNCOMMON },
1836
 
  { ftMOBILITY,                   UNCOMMON },
1837
 
  { ftSPRINGATTACK,               RARE },
1838
 
  { ftENDURANCE,                  RARE },
1839
 
  { ftEXOTICWEAPONPROFICIENCY,   RARE },
1840
 
  { ftMARTIALWEAPONPROFICIENCY,  RARE },
1841
 
  { ftSIMPLEWEAPONPROFICIENCY,   RARE },
1842
 
  { ftCOMBATEXPERTISE,                  RARE },
1843
 
  { ftIMPROVEDDISARM,             RARE },
1844
 
  { ftIMPROVEDTRIP,               RARE },
1845
 
  { ftWHIRLWINDATTACK,            RARE },
1846
 
  { ftGREATFORTITUDE,             RARE*2 },
1847
 
  { ftIMPROVEDCRITICAL,           RARE },
1848
 
  { ftIMPROVEDINITIATIVE,         UNCOMMON },
1849
 
  { ftIMPROVEDUNARMEDSTRIKE,      UNCOMMON },
1850
 
  { ftINVESTIGATOR, RARE }, 
1851
 
  { ftDEFLECTARROWS,              RARE },
1852
 
  { ftSTUNNINGFIST,               RARE },
1853
 
  { ftIRONWILL,                   UNCOMMON },
1854
 
  { ftLEADERSHIP,                 UNCOMMON },
1855
 
  { ftLIGHTNINGREFLEXES,          UNCOMMON },
1856
 
  { ftMOUNTEDCOMBAT,              RARE },
1857
 
  { ftMOUNTEDARCHERY,             RARE },
1858
 
  { ftTRAMPLE,                    RARE },
1859
 
  { ftRIDEBYATTACK,               RARE },
1860
 
  { ftSPIRITEDCHARGE,             RARE },
1861
 
  { ftPOINTBLANKSHOT,             UNCOMMON },
1862
 
  { ftFARSHOT,                    UNCOMMON },
1863
 
  { ftPRECISESHOT,                UNCOMMON },
1864
 
  { ftRAPIDSHOT,                  UNCOMMON },
1865
 
  { ftSHOTONTHERUN,               RARE },
1866
 
  { ftPOWERATTACK,                RARE },
1867
 
  { ftCLEAVE,                     RARE },
1868
 
  { ftIMPROVEDBULLRUSH,           RARE },
1869
 
  { ftIMPROVEDSUNDER,                     RARE },
1870
 
  { ftGREATCLEAVE,                RARE },
1871
 
  { ftQUICKDRAW,                  RARE },
1872
 
  { ftRUN,                        UNCOMMON },
1873
 
  { ftSHIELDPROFICIENCY,          RARE },
1874
 
  { ftSKILLFOCUS,                 UNCOMMON },
1875
 
  { ftSPELLFOCUS,                 COMMON },
1876
 
  { ftGREATERSPELLFOCUS,                 COMMON },
1877
 
  { ftSPELLPENETRATION,           COMMON },
1878
 
  { ftGREATERSPELLPENETRATION,           COMMON },
1879
 
  { ftTOUGHNESS,                  UNCOMMON },
1880
 
  { ftTRACK,                      RARE },
1881
 
  { ftTWOWEAPONDEFENSE, RARE }, 
1882
 
  { ftTWOWEAPONFIGHTING,          RARE },
1883
 
  { ftIMPROVEDTWOWEAPONFIGHTING,  RARE },
1884
 
  { ftWEAPONFINESSE,              RARE },
1885
 
  { ftWEAPONFOCUS,                RARE },
1886
 
  { ftBREWPOTION,                 COMMON },
1887
 
  { ftCRAFTMAGICARMSANDARMOR,     COMMON },
1888
 
  { ftCRAFTROD,                   COMMON },
1889
 
  { ftCRAFTSTAFF,                 COMMON },
1890
 
  { ftCRAFTWAND,                  COMMON },
1891
 
  { ftCRAFTWONDROUSITEM,          COMMON },
1892
 
  { ftFORGERING,                  COMMON },
1893
 
  { ftSCRIBESCROLL,               COMMON*2 },
1894
 
  { ftEMPOWERSPELL,               COMMON },
1895
 
  { ftENLARGESPELL,               COMMON },
1896
 
  { ftEXTENDSPELL,                COMMON },
1897
 
  { ftHEIGHTENSPELL,              COMMON },
1898
 
  { ftMAXIMIZESPELL,              COMMON },
1899
 
  { ftQUICKENSPELL,               COMMON },
1900
 
  { ftSILENTSPELL,                COMMON },
1901
 
  { ftSTILLSPELL,                 COMMON },
1902
 
  { ftWIDENSPELL,                 UNCOMMON },
1903
 
  { ftSPELLMASTERY,               UNCOMMON },
1904
 
  {  ftAUGMENTSUMMONING, COMMON }, 
1905
 
  {  ftCRAFTCONSTRUCT, UNCOMMON }, 
1906
 
  { ftESCHEWMATERIALS, UNCOMMON }, 
1907
 
  { ftIMPROVEDCOUNTERSPELL, UNCOMMON }, 
1908
 
  { ftIMPROVEDFAMILIAR, RARE }, 
1909
 
  { ftMAGICALAPTITUDE, UNCOMMON }, 
1910
 
  { ftNEGOTIATOR, RARE }, 
1911
 
  { ftPERSUASIVE, RARE }, 
1912
 
  { ftRAPIDRELOAD, RARE }, 
1913
 
  { 0,                            0 }
1914
 
};
1915
 
 
1916
 
static PREFERREDFEATS wizardBonusFeats[] = {
1917
 
  { ftBREWPOTION,                 COMMON },
1918
 
  { ftCRAFTMAGICARMSANDARMOR,     UNCOMMON },
1919
 
  { ftCRAFTROD,                   RARE },
1920
 
  { ftCRAFTSTAFF,                 UNCOMMON },
1921
 
  { ftCRAFTWAND,                  COMMON },
1922
 
  { ftCRAFTWONDROUSITEM,          UNCOMMON },
1923
 
  { ftCRAFTCONSTRUCT,             UNCOMMON }, 
1924
 
  { ftFORGERING,                  COMMON },
1925
 
  { ftSCRIBESCROLL,               COMMON*2 },
1926
 
  { ftEMPOWERSPELL,               COMMON },
1927
 
  { ftENLARGESPELL,               COMMON },
1928
 
  { ftEXTENDSPELL,                COMMON },
1929
 
  { ftHEIGHTENSPELL,              COMMON },
1930
 
  { ftMAXIMIZESPELL,              COMMON },
1931
 
  { ftQUICKENSPELL,               COMMON },
1932
 
  { ftSILENTSPELL,                COMMON },
1933
 
  { ftSTILLSPELL,                 COMMON },
1934
 
  { ftWIDENSPELL,                 COMMON },
1935
 
  { ftSPELLMASTERY,               UNCOMMON },
1936
 
  { 0,                            0 }
1937
 
};
1938
 
 
1939
 
static PREFERREDWEAPONS wizardWeapons[] = {
1940
 
  { wpCLUB,                RARE },
1941
 
  { wpDAGGER,              COMMON },
1942
 
  { wpCROSSBOW_HEAVY,      RARE },
1943
 
  { wpCROSSBOW_LIGHT,      UNCOMMON },
1944
 
  { wpQUARTERSTAFF,        COMMON },
1945
 
  { 0,                     0 }
1946
 
};
1947
 
 
1948
 
static PREFERREDSPELLS prefWizardSpells[] = {
1949
 
        { spACIDARROW,                                          COMMON },
1950
 
        { spACIDFOG,                                          UNCOMMON },
1951
 
        { spACIDSPLASH,                                       UNCOMMON },
1952
 
        { spALARM,                                            UNCOMMON },
1953
 
        { spALTERSELF,                                        UNCOMMON },
1954
 
        { spANALYZEDWEOMER,                                     COMMON },
1955
 
        { spANIMALGROWTH,                                     UNCOMMON },
1956
 
        { spANIMATEDEAD,                                      UNCOMMON },
1957
 
        { spANIMATEROPE,                                      UNCOMMON },
1958
 
        { spANTIMAGICFIELD,                                   UNCOMMON },
1959
 
        { spANTIPATHY,                                        UNCOMMON },
1960
 
        { spARCANEEYE,                                        UNCOMMON },
1961
 
        { spARCANELOCK,                                       UNCOMMON },
1962
 
        { spARCANEMARK,                                       UNCOMMON },
1963
 
        { spARCANESIGHT,                                      UNCOMMON },
1964
 
        { spARCANESIGHTGREATER,                               UNCOMMON },
1965
 
        { spASTRALPROJECTION,                                 UNCOMMON },
1966
 
        { spBALEFULPOLYMORPH,                                   COMMON },
1967
 
        { spBANISHMENT,                                       UNCOMMON },
1968
 
        { spBEARSENDURANCE,                                   UNCOMMON },
1969
 
        { spBEARSENDURANCEMASS,                               UNCOMMON },
1970
 
        { spBESTOWCURSE,                                      UNCOMMON },
1971
 
        { spBINDING,                                          UNCOMMON },
1972
 
        { spBLACKTENTACLES,                                   UNCOMMON },
1973
 
        { spBLIGHT,                                           UNCOMMON },
1974
 
        { spBLINDNESSDEAFNESS,                                UNCOMMON },
1975
 
        { spBLINK,                                            UNCOMMON },
1976
 
        { spBLUR,                                               COMMON },
1977
 
        { spBREAKENCHANTMENT,                                 UNCOMMON },
1978
 
        { spBULLSSTRENGTH,                                    UNCOMMON },
1979
 
        { spBULLSSTRENGTHMASS,                                UNCOMMON },
1980
 
        { spBURNINGHANDS,                                     UNCOMMON },
1981
 
        { spCATSGRACE,                                        UNCOMMON },
1982
 
        { spCATSGRACEMASS,                                    UNCOMMON },
1983
 
        { spCAUSEFEAR,                                        UNCOMMON },
1984
 
        { spCHAINLIGHTNING,                                     COMMON },
1985
 
        { spCHARMMONSTER,                                       COMMON },
1986
 
        { spCHARMMONSTERMASS,                                   COMMON },
1987
 
        { spCHARMPERSON,                                        COMMON },
1988
 
        { spCHILLTOUCH,                                       UNCOMMON },
1989
 
        { spCIRCLEOFDEATH,                                    UNCOMMON },
1990
 
        { spCLAIRAUDIENCECLAIRVOYANCE,                        UNCOMMON },
1991
 
        { spCLENCHEDFIST,                                     UNCOMMON },
1992
 
        { spCLONE,                                            UNCOMMON },
1993
 
        { spCLOUDKILL,                                          COMMON },
1994
 
        { spCOLORSPRAY,                                       UNCOMMON },
1995
 
        { spCOMMANDUNDEAD,                                    UNCOMMON },
1996
 
        { spCOMPREHENDLANGUAGES,                              UNCOMMON },
1997
 
        { spCONEOFCOLD,                                         COMMON },
1998
 
        { spCONFUSION,                                        UNCOMMON },
1999
 
        { spCONTACTOTHERPLANE,                                UNCOMMON },
2000
 
        { spCONTAGION,                                        UNCOMMON },
2001
 
        { spCONTINGENCY,                                      UNCOMMON },
2002
 
        { spCONTINUALFLAME,                                   UNCOMMON },
2003
 
        { spCONTROLUNDEAD,                                    UNCOMMON },
2004
 
        { spCONTROLWATER,                                     UNCOMMON },
2005
 
        { spCONTROLWEATHER,                                   UNCOMMON },
2006
 
        { spCREATEGREATERUNDEAD,                              UNCOMMON },
2007
 
        { spCREATEUNDEAD,                                     UNCOMMON },
2008
 
        { spCRUSHINGDESPAIR,                                  UNCOMMON },
2009
 
        { spCRUSHINGHAND,                                     UNCOMMON },
2010
 
        { spDANCINGLIGHTS,                                      COMMON },
2011
 
        { spDARKNESS,                                         UNCOMMON },
2012
 
        { spDARKVISION,                                       UNCOMMON },
2013
 
        { spDAYLIGHT,                                         UNCOMMON },
2014
 
        { spDAZE,                                             UNCOMMON },
2015
 
        { spDAZEMONSTER,                                      UNCOMMON },
2016
 
        { spDEEPSLUMBER,                                      UNCOMMON },
2017
 
        { spDELAYEDBLASTFIREBALL,                               COMMON },
2018
 
        { spDEMAND,                                           UNCOMMON },
2019
 
        { spDETECTMAGIC,                                        COMMON },
2020
 
        { spDETECTPOISON,                                     UNCOMMON },
2021
 
        { spDETECTSCRYING,                                    UNCOMMON },
2022
 
        { spDETECTSECRETDOORS,                                UNCOMMON },
2023
 
        { spDETECTTHOUGHTS,                                   UNCOMMON },
2024
 
        { spDETECTUNDEAD,                                     UNCOMMON },
2025
 
        { spDIMENSIONDOOR,                                    UNCOMMON },
2026
 
        { spDIMENSIONALANCHOR,                                UNCOMMON },
2027
 
        { spDIMENSIONALLOCK,                                  UNCOMMON },
2028
 
        { spDISCERNLOCATION,                                  UNCOMMON },
2029
 
        { spDISGUISESELF,                                     UNCOMMON },
2030
 
        { spDISINTEGRATE,                                       COMMON },
2031
 
        { spDISMISSAL,                                        UNCOMMON },
2032
 
        { spDISPELMAGIC,                                        COMMON },
2033
 
        { spDISPELMAGICGREATER,                               UNCOMMON },
2034
 
        { spDISPLACEMENT,                                     UNCOMMON },
2035
 
        { spDISRUPTUNDEAD,                                    UNCOMMON },
2036
 
        { spDOMINATEMONSTER,                                  UNCOMMON },
2037
 
        { spDOMINATEPERSON,                                   UNCOMMON },
2038
 
        { spDREAM,                                            UNCOMMON },
2039
 
        { spEAGLESSPLENDOR,                                   UNCOMMON },
2040
 
        { spEAGLESSPLENDORMASS,                               UNCOMMON },
2041
 
        { spENDUREELEMENTS,                                   UNCOMMON },
2042
 
        { spENERGYDRAIN,                                      UNCOMMON },
2043
 
        { spENERVATION,                                       UNCOMMON },
2044
 
        { spENLARGEPERSON,                                    UNCOMMON },
2045
 
        { spENLARGEPERSONMASS,                                UNCOMMON },
2046
 
        { spERASE,                                            UNCOMMON },
2047
 
        { spETHEREALJAUNT,                                    UNCOMMON },
2048
 
        { spETHEREALNESS,                                     UNCOMMON },
2049
 
        { spEXPEDITIOUSRETREAT,                               UNCOMMON },
2050
 
        { spEXPLOSIVERUNES,                                   UNCOMMON },
2051
 
        { spEYEBITE,                                            COMMON },
2052
 
        { spFABRICATE,                                        UNCOMMON },
2053
 
        { spFALSELIFE,                                        UNCOMMON },
2054
 
        { spFALSEVISION,                                      UNCOMMON },
2055
 
        { spFEAR,                                             UNCOMMON },
2056
 
        { spFEATHERFALL,                                      UNCOMMON },
2057
 
        { spFEEBLEMIND,                                       UNCOMMON },
2058
 
        { spFINGEROFDEATH,                                    UNCOMMON },
2059
 
        { spFIRESHIELD,                                       UNCOMMON },
2060
 
        { spFIRETRAP,                                         UNCOMMON },
2061
 
        { spFIREBALL,                                           COMMON },
2062
 
        { spFLAMEARROW,                                       UNCOMMON },
2063
 
        { spFLAMINGSPHERE,                                    UNCOMMON },
2064
 
        { spFLARE,                                            UNCOMMON },
2065
 
        { spFLESHTOSTONE,                                       COMMON },
2066
 
        { spFLOATINGDISK,                                     UNCOMMON },
2067
 
        { spFLY,                                                COMMON },
2068
 
        { spFOGCLOUD,                                         UNCOMMON },
2069
 
        { spFORCECAGE,                                        UNCOMMON },
2070
 
        { spFORCEFULHAND,                                     UNCOMMON },
2071
 
        { spFORESIGHT,                                        UNCOMMON },
2072
 
        { spFOXSCUNNING,                                      UNCOMMON },
2073
 
        { spFOXSCUNNINGMASS,                                  UNCOMMON },
2074
 
        { spFREEDOM,                                          UNCOMMON },
2075
 
        { spFREEZINGSPHERE,                                   UNCOMMON },
2076
 
        { spGASEOUSFORM,                                          RARE },
2077
 
        { spGATE,                                             UNCOMMON },
2078
 
        { spGEASLESSER,                                       UNCOMMON },
2079
 
        { spGEASQUEST,                                            RARE },
2080
 
        { spGENTLEREPOSE,                                     UNCOMMON },
2081
 
        { spGHOSTSOUND,                                         COMMON },
2082
 
        { spGHOULTOUCH,                                       UNCOMMON },
2083
 
        { spGLITTERDUST,                                      UNCOMMON },
2084
 
        { spGLOBEOFINVULNERABILITY,                           UNCOMMON },
2085
 
        { spGLOBEOFINVULNERABILITYLESSER,                      UNCOMMON },
2086
 
        { spGRASPINGHAND,                                     UNCOMMON },
2087
 
        { spGREASE,                                           UNCOMMON },
2088
 
        { spGUARDSANDWARDS,                                   UNCOMMON },
2089
 
        { spGUSTOFWIND,                                       UNCOMMON },
2090
 
        { spHALLUCINATORYTERRAIN,                             UNCOMMON },
2091
 
        { spHALTUNDEAD,                                       UNCOMMON },
2092
 
        { spHASTE,                                              COMMON },
2093
 
        { spHEROISM,                                          UNCOMMON },
2094
 
        { spHEROISMGREATER,                                   UNCOMMON },
2095
 
        { spHIDEOUSLAUGHTER,                                  UNCOMMON },
2096
 
        { spHOLDMONSTER,                                        COMMON },
2097
 
        { spHOLDMONSTERMASS,                                  UNCOMMON },
2098
 
        { spHOLDPERSON,                                         COMMON },
2099
 
        { spHOLDPERSONMASS,                                   UNCOMMON },
2100
 
        { spHOLDPORTAL,                                       UNCOMMON },
2101
 
        { spHORRIDWILTING,                                      COMMON },
2102
 
        { spHYPNOTICPATTERN,                                  UNCOMMON },
2103
 
        { spHYPNOTISM,                                        UNCOMMON },
2104
 
        { spICESTORM,                                         UNCOMMON },
2105
 
        { spIDENTIFY,                                           COMMON },
2106
 
        { spILLUSORYSCRIPT,                                   UNCOMMON },
2107
 
        { spILLUSORYWALL,                                     UNCOMMON },
2108
 
        { spIMPRISONMENT,                                     UNCOMMON },
2109
 
        { spINCENDIARYCLOUD,                                    COMMON },
2110
 
        { spINSANITY,                                         UNCOMMON },
2111
 
        { spINSTANTSUMMONS,                                   UNCOMMON },
2112
 
        { spINTERPOSINGHAND,                                  UNCOMMON },
2113
 
        { spINVISIBILITY,                                       COMMON },
2114
 
        { spINVISIBILITYSPHERE,                               UNCOMMON },
2115
 
        { spINVISIBILITYGREATER,                                COMMON },
2116
 
        { spINVISIBILITYMASS,                                   COMMON },
2117
 
        { spIRONBODY,                                         UNCOMMON },
2118
 
        { spIRRESISTIBLEDANCE,                                UNCOMMON },
2119
 
        { spJUMP,                                             UNCOMMON },
2120
 
        { spKEENEDGE,                                         UNCOMMON },
2121
 
        { spKNOCK,                                              COMMON },
2122
 
        { spLEGENDLORE,                                       UNCOMMON },
2123
 
        { spLEVITATE,                                         UNCOMMON },
2124
 
        { spLIGHT,                                              COMMON },
2125
 
        { spLIGHTNINGBOLT,                                      COMMON },
2126
 
        { spLIMITEDWISH,                                      UNCOMMON },
2127
 
        { spLOCATECREATURE,                                   UNCOMMON },
2128
 
        { spLOCATEOBJECT,                                     UNCOMMON },
2129
 
        { spMAGEARMOR,                                          COMMON },
2130
 
        { spMAGEHAND,                                           COMMON },
2131
 
        { spMAGESDISJUNCTION,                                 UNCOMMON },
2132
 
        { spMAGESFAITHFULHOUND,                               UNCOMMON },
2133
 
        { spMAGESLUCUBRATION,                                 UNCOMMON },
2134
 
        { spMAGESMAGNIFICENTMANSION,                          UNCOMMON },
2135
 
        { spMAGESPRIVATESANCTUM,                              UNCOMMON },
2136
 
        { spMAGESSWORD,                                       UNCOMMON },
2137
 
        { spMAGICAURA,                                        UNCOMMON },
2138
 
        { spMAGICCIRCLEAGAINSTCHAOS,                          UNCOMMON },
2139
 
        { spMAGICCIRCLEAGAINSTEVIL,                           UNCOMMON },
2140
 
        { spMAGICCIRCLEAGAINSTGOOD,                           UNCOMMON },
2141
 
        { spMAGICCIRCLEAGAINSTLAW,                            UNCOMMON },
2142
 
        { spMAGICJAR,                                         UNCOMMON },
2143
 
        { spMAGICMISSILE,                                     COMMON*2 },
2144
 
        { spMAGICMOUTH,                                       UNCOMMON },
2145
 
        { spMAGICWEAPON,                                      UNCOMMON },
2146
 
        { spMAGICWEAPONGREATER,                               UNCOMMON },
2147
 
        { spMAJORCREATION,                                    UNCOMMON },
2148
 
        { spMAJORIMAGE,                                       UNCOMMON },
2149
 
        { spMAZE,                                             UNCOMMON },
2150
 
        { spMENDING,                                          UNCOMMON },
2151
 
        { spMESSAGE,                                          UNCOMMON },
2152
 
        { spMETEORSWARM,                                        COMMON },
2153
 
        { spMINDBLANK,                                        UNCOMMON },
2154
 
        { spMINDFOG,                                          UNCOMMON },
2155
 
        { spMINORCREATION,                                    UNCOMMON },
2156
 
        { spMINORIMAGE,                                       UNCOMMON },
2157
 
        { spMIRAGEARCANA,                                     UNCOMMON },
2158
 
        { spMIRRORIMAGE,                                        COMMON },
2159
 
        { spMISDIRECTION,                                     UNCOMMON },
2160
 
        { spMISLEAD,                                          UNCOMMON },
2161
 
        { spMNEMONICENHANCER,                                 UNCOMMON },
2162
 
        { spMOMENTOFPRESCIENCE,                               UNCOMMON },
2163
 
        { spMOUNT,                                            UNCOMMON },
2164
 
        { spMOVEEARTH,                                        UNCOMMON },
2165
 
        { spNIGHTMARE,                                        UNCOMMON },
2166
 
        { spNONDETECTION,                                     UNCOMMON },
2167
 
        { spOBSCUREOBJECT,                                    UNCOMMON },
2168
 
        { spOBSCURINGMIST,                                    UNCOMMON },
2169
 
        { spOPENCLOSE,                                        UNCOMMON },
2170
 
        { spOVERLANDFLIGHT,                                   UNCOMMON },
2171
 
        { spOWLSWISDOM,                                       UNCOMMON },
2172
 
        { spOWLSWISDOMMASS,                                   UNCOMMON },
2173
 
        { spPASSWALL,                                         UNCOMMON },
2174
 
        { spPERMANENCY,                                       UNCOMMON },
2175
 
        { spPERMANENTIMAGE,                                   UNCOMMON },
2176
 
        { spPERSISTENTIMAGE,                                  UNCOMMON },
2177
 
        { spPHANTASMALKILLER,                                 UNCOMMON },
2178
 
        { spPHANTOMSTEED,                                     UNCOMMON },
2179
 
        { spPHANTOMTRAP,                                      UNCOMMON },
2180
 
        { spPHASEDOOR,                                        UNCOMMON },
2181
 
        { spPLANARBINDING,                                    UNCOMMON },
2182
 
        { spPLANARBINDINGGREATER,                             UNCOMMON },
2183
 
        { spPLANARBINDINGLESSER,                              UNCOMMON },
2184
 
        { spPLANESHIFT,                                       UNCOMMON },
2185
 
        { spPOLARRAY,                                         UNCOMMON },
2186
 
        { spPOLYMORPH,                                          COMMON },
2187
 
        { spPOLYMORPHANYOBJECT,                                 COMMON },
2188
 
        { spPOWERWORDBLIND,                                   UNCOMMON },
2189
 
        { spPOWERWORDKILL,                                    UNCOMMON },
2190
 
        { spPOWERWORDSTUN,                                    UNCOMMON },
2191
 
        { spPRESTIDIGITATION,                                 UNCOMMON },
2192
 
        { spPRISMATICSPHERE,                                  UNCOMMON },
2193
 
        { spPRISMATICSPRAY,                                   UNCOMMON },
2194
 
        { spPRISMATICWALL,                                    UNCOMMON },
2195
 
        { spPROGRAMMEDIMAGE,                                  UNCOMMON },
2196
 
        { spPROJECTIMAGE,                                     UNCOMMON },
2197
 
        { spPROTECTIONFROMARROWS,                             UNCOMMON },
2198
 
        { spPROTECTIONFROMCHAOS,                              UNCOMMON },
2199
 
        { spPROTECTIONFROMENERGY,                             UNCOMMON },
2200
 
        { spPROTECTIONFROMEVIL,                               UNCOMMON },
2201
 
        { spPROTECTIONFROMGOOD,                               UNCOMMON },
2202
 
        { spPROTECTIONFROMLAW,                                UNCOMMON },
2203
 
        { spPROTECTIONFROMSPELLS,                             UNCOMMON },
2204
 
        { spPRYINGEYES,                                       UNCOMMON },
2205
 
        { spPRYINGEYESGREATER,                                UNCOMMON },
2206
 
        { spPYROTECHNICS,                                     UNCOMMON },
2207
 
        { spRAGE,                                             UNCOMMON },
2208
 
        { spRAINBOWPATTERN,                                   UNCOMMON },
2209
 
        { spRAYOFENFEEBLEMENT,                                UNCOMMON },
2210
 
        { spRAYOFEXHAUSTION,                                  UNCOMMON },
2211
 
        { spRAYOFFROST,                                       UNCOMMON },
2212
 
        { spREADMAGIC,                                          COMMON },
2213
 
        { spREDUCEPERSON,                                     UNCOMMON },
2214
 
        { spREDUCEPERSONMASS,                                 UNCOMMON },
2215
 
        { spREFUGE,                                           UNCOMMON },
2216
 
        { spREMOVECURSE,                                      UNCOMMON },
2217
 
        { spREPULSION,                                        UNCOMMON },
2218
 
        { spRESILIENTSPHERE,                                  UNCOMMON },
2219
 
        { spRESISTENERGY,                                     UNCOMMON },
2220
 
        { spRESISTANCE,                                       UNCOMMON },
2221
 
        { spREVERSEGRAVITY,                                   UNCOMMON },
2222
 
        { spROPETRICK,                                        UNCOMMON },
2223
 
        { spSCARE,                                            UNCOMMON },
2224
 
        { spSCINTILLATINGPATTERN,                             UNCOMMON },
2225
 
        { spSCORCHINGRAY,                                     UNCOMMON },
2226
 
        { spSCREEN,                                           UNCOMMON },
2227
 
        { spSCRYING,                                          UNCOMMON },
2228
 
        { spSCRYINGGREATER,                                   UNCOMMON },
2229
 
        { spSECRETCHEST,                                      UNCOMMON },
2230
 
        { spSECRETPAGE,                                       UNCOMMON },
2231
 
        { spSECURESHELTER,                                    UNCOMMON },
2232
 
        { spSEEINVISIBILITY,                                  UNCOMMON },
2233
 
        { spSEEMING,                                          UNCOMMON },
2234
 
        { spSENDING,                                          UNCOMMON },
2235
 
        { spSEPIASNAKESIGIL,                                  UNCOMMON },
2236
 
        { spSEQUESTER,                                        UNCOMMON },
2237
 
        { spSHADES,                                           UNCOMMON },
2238
 
        { spSHADOWCONJURATION,                                UNCOMMON },
2239
 
        { spSHADOWCONJURATIONGREATER,                         UNCOMMON },
2240
 
        { spSHADOWEVOCATION,                                  UNCOMMON },
2241
 
        { spSHADOWEVOCATIONGREATER,                           UNCOMMON },
2242
 
        { spSHADOWWALK,                                       UNCOMMON },
2243
 
        { spSHAPECHANGE,                                        COMMON },
2244
 
        { spSHATTER,                                          UNCOMMON },
2245
 
        { spSHIELD,                                             COMMON },
2246
 
        { spSHOCKINGGRASP,                                    UNCOMMON },
2247
 
        { spSHOUT,                                            UNCOMMON },
2248
 
        { spSHOUTGREATER,                                     UNCOMMON },
2249
 
        { spSHRINKITEM,                                       UNCOMMON },
2250
 
        { spSILENTIMAGE,                                      UNCOMMON },
2251
 
        { spSIMULACRUM,                                       UNCOMMON },
2252
 
        { spSLEEP,                                              COMMON },
2253
 
        { spSLEETSTORM,                                       UNCOMMON },
2254
 
        { spSLOW,                                               COMMON },
2255
 
        { spSOLIDFOG,                                         UNCOMMON },
2256
 
        { spSOULBIND,                                         UNCOMMON },
2257
 
        { spSPECTRALHAND,                                     UNCOMMON },
2258
 
        { spSPELLTURNING,                                     UNCOMMON },
2259
 
        { spSPIDERCLIMB,                                      UNCOMMON },
2260
 
        { spSTATUE,                                           UNCOMMON },
2261
 
        { spSTINKINGCLOUD,                                    UNCOMMON },
2262
 
        { spSTONESHAPE,                                       UNCOMMON },
2263
 
        { spSTONETOFLESH,                                     UNCOMMON },
2264
 
        { spSTONESKIN,                                        UNCOMMON },
2265
 
        { spSUGGESTION,                                       UNCOMMON },
2266
 
        { spSUGGESTIONMASS,                                   UNCOMMON },
2267
 
        { spSUMMONMONSTERI,                                   UNCOMMON },
2268
 
        { spSUMMONMONSTERII,                                  UNCOMMON },
2269
 
        { spSUMMONMONSTERIII,                                 UNCOMMON },
2270
 
        { spSUMMONMONSTERIV,                                  UNCOMMON },
2271
 
        { spSUMMONMONSTERIX,                                  UNCOMMON },
2272
 
        { spSUMMONMONSTERV,                                   UNCOMMON },
2273
 
        { spSUMMONMONSTERVI,                                  UNCOMMON },
2274
 
        { spSUMMONMONSTERVII,                                 UNCOMMON },
2275
 
        { spSUMMONMONSTERVIII,                                UNCOMMON },
2276
 
        { spSUMMONSWARM,                                      UNCOMMON },
2277
 
        { spSUNBURST,                                         UNCOMMON },
2278
 
        { spSYMBOLOFDEATH,                                    UNCOMMON },
2279
 
        { spSYMBOLOFFEAR,                                     UNCOMMON },
2280
 
        { spSYMBOLOFINSANITY,                                 UNCOMMON },
2281
 
        { spSYMBOLOFPAIN,                                     UNCOMMON },
2282
 
        { spSYMBOLOFPERSUASION,                               UNCOMMON },
2283
 
        { spSYMBOLOFSLEEP,                                    UNCOMMON },
2284
 
        { spSYMBOLOFSTUNNING,                                 UNCOMMON },
2285
 
        { spSYMBOLOFWEAKNESS,                                 UNCOMMON },
2286
 
        { spSYMPATHY,                                         UNCOMMON },
2287
 
        { spTELEKINESIS,                                      UNCOMMON },
2288
 
        { spTELEKINETICSPHERE,                                UNCOMMON },
2289
 
        { spTELEPATHICBOND,                                   UNCOMMON },
2290
 
        { spTELEPORT,                                           COMMON },
2291
 
        { spTELEPORTOBJECT,                                   UNCOMMON },
2292
 
        { spTELEPORTGREATER,                                    COMMON },
2293
 
        { spTELEPORTATIONCIRCLE,                              UNCOMMON },
2294
 
        { spTEMPORALSTASIS,                                   UNCOMMON },
2295
 
        { spTIMESTOP,                                         UNCOMMON },
2296
 
        { spTINYHUT,                                          UNCOMMON },
2297
 
        { spTONGUES,                                          UNCOMMON },
2298
 
        { spTOUCHOFFATIGUE,                                   UNCOMMON },
2299
 
        { spTOUCHOFIDIOCY,                                    UNCOMMON },
2300
 
        { spTRANSFORMATION,                                   UNCOMMON },
2301
 
        { spTRANSMUTEMUDTOROCK,                               UNCOMMON },
2302
 
        { spTRANSMUTEROCKTOMUD,                               UNCOMMON },
2303
 
        { spTRAPTHESOUL,                                      UNCOMMON },
2304
 
        { spTRUESEEING,                                       UNCOMMON },
2305
 
        { spTRUESTRIKE,                                       UNCOMMON },
2306
 
        { spUNDEATHTODEATH,                                   UNCOMMON },
2307
 
        { spUNSEENSERVANT,                                    UNCOMMON },
2308
 
        { spVAMPIRICTOUCH,                                    UNCOMMON },
2309
 
        { spVEIL,                                             UNCOMMON },
2310
 
        { spVENTRILOQUISM,                                    UNCOMMON },
2311
 
        { spVISION,                                           UNCOMMON },
2312
 
        { spWAILOFTHEBANSHEE,                                 UNCOMMON },
2313
 
        { spWALLOFFIRE,                                       UNCOMMON },
2314
 
        { spWALLOFFORCE,                                      UNCOMMON },
2315
 
        { spWALLOFICE,                                        UNCOMMON },
2316
 
        { spWALLOFIRON,                                       UNCOMMON },
2317
 
        { spWALLOFSTONE,                                      UNCOMMON },
2318
 
        { spWATERBREATHING,                                   UNCOMMON },
2319
 
        { spWAVESOFEXHAUSTION,                                UNCOMMON },
2320
 
        { spWAVESOFFATIGUE,                                   UNCOMMON },
2321
 
        { spWEB,                                                COMMON },
2322
 
        { spWEIRD,                                            UNCOMMON },
2323
 
        { spWHISPERINGWIND,                                   UNCOMMON },
2324
 
        { spWINDWALL,                                         UNCOMMON },
2325
 
        { spWISH,                                               RARE*2 },
2326
 
  { 0, 0 }
2327
 
};
2328
 
 
2329
 
static PREFERREDFEATS adeptFeats[] = {
2330
 
  { ftALERTNESS,                  UNCOMMON },
2331
 
  { ftARMORPROFICIENCY_LIGHT,     RARE },
2332
 
  { ftBLINDFIGHT,                 RARE },
2333
 
  { ftCOMBATCASTING,              COMMON },
2334
 
  { ftCOMBATREFLEXES,             RARE },
2335
 
  { ftDODGE,                      UNCOMMON },
2336
 
  { ftMOBILITY,                   UNCOMMON },
2337
 
  { ftSPRINGATTACK,               RARE },
2338
 
  { ftENDURANCE,                  RARE },
2339
 
  { ftEXOTICWEAPONPROFICIENCY,   RARE },
2340
 
  { ftMARTIALWEAPONPROFICIENCY,  RARE },
2341
 
  { ftCOMBATEXPERTISE,                  RARE },
2342
 
  { ftIMPROVEDDISARM,             RARE },
2343
 
  { ftIMPROVEDTRIP,               RARE },
2344
 
  { ftWHIRLWINDATTACK,            RARE },
2345
 
  { ftGREATFORTITUDE,             RARE*2 },
2346
 
  { ftIMPROVEDCRITICAL,           RARE },
2347
 
  { ftIMPROVEDINITIATIVE,         UNCOMMON },
2348
 
  { ftIMPROVEDUNARMEDSTRIKE,      UNCOMMON },
2349
 
  { ftDEFLECTARROWS,              RARE },
2350
 
  { ftSTUNNINGFIST,               RARE },
2351
 
  { ftIRONWILL,                   UNCOMMON },
2352
 
  { ftLEADERSHIP,                 UNCOMMON },
2353
 
  { ftLIGHTNINGREFLEXES,          UNCOMMON },
2354
 
  { ftMOUNTEDCOMBAT,              RARE },
2355
 
  { ftMOUNTEDARCHERY,             RARE },
2356
 
  { ftTRAMPLE,                    RARE },
2357
 
  { ftRIDEBYATTACK,               RARE },
2358
 
  { ftSPIRITEDCHARGE,             RARE },
2359
 
  { ftPOINTBLANKSHOT,             UNCOMMON },
2360
 
  { ftFARSHOT,                    UNCOMMON },
2361
 
  { ftPRECISESHOT,                UNCOMMON },
2362
 
  { ftRAPIDSHOT,                  UNCOMMON },
2363
 
  { ftSHOTONTHERUN,               RARE },
2364
 
  { ftPOWERATTACK,                RARE },
2365
 
  { ftCLEAVE,                     RARE },
2366
 
  { ftIMPROVEDBULLRUSH,           RARE },
2367
 
  { ftIMPROVEDSUNDER,                     RARE },
2368
 
  { ftGREATCLEAVE,                RARE },
2369
 
  { ftQUICKDRAW,                  RARE },
2370
 
  { ftRUN,                        UNCOMMON },
2371
 
  { ftSHIELDPROFICIENCY,          RARE },
2372
 
  { ftSKILLFOCUS,                 UNCOMMON },
2373
 
  { ftSPELLFOCUS,                 COMMON },
2374
 
  { ftSPELLPENETRATION,           COMMON },
2375
 
  { ftTOUGHNESS,                  UNCOMMON },
2376
 
  { ftTRACK,                      RARE },
2377
 
  { ftTWOWEAPONFIGHTING,          RARE },
2378
 
  { ftIMPROVEDTWOWEAPONFIGHTING,  RARE },
2379
 
  { ftWEAPONFINESSE,              RARE },
2380
 
  { ftWEAPONFOCUS,                RARE },
2381
 
  { ftBREWPOTION,                 COMMON },
2382
 
  { ftCRAFTMAGICARMSANDARMOR,     COMMON },
2383
 
  { ftCRAFTROD,                   COMMON },
2384
 
  { ftCRAFTSTAFF,                 COMMON },
2385
 
  { ftCRAFTWAND,                  COMMON },
2386
 
  { ftCRAFTWONDROUSITEM,          COMMON },
2387
 
  { ftFORGERING,                  COMMON },
2388
 
  { ftSCRIBESCROLL,               COMMON*2 },
2389
 
  { ftEMPOWERSPELL,               COMMON },
2390
 
  { ftENLARGESPELL,               COMMON },
2391
 
  { ftEXTENDSPELL,                COMMON },
2392
 
  { ftHEIGHTENSPELL,              COMMON },
2393
 
  { ftMAXIMIZESPELL,              COMMON },
2394
 
  { ftQUICKENSPELL,               COMMON },
2395
 
  { ftSILENTSPELL,                COMMON },
2396
 
  { ftSTILLSPELL,                 COMMON },
2397
 
  { 0,                            0 }
2398
 
};
2399
 
 
2400
 
static PREFERREDFEATS commonFeats[] = {
2401
 
  { ftALERTNESS,                  UNCOMMON },
2402
 
  { ftARMORPROFICIENCY_LIGHT,     RARE },
2403
 
  { ftARMORPROFICIENCY_MEDIUM,    RARE },
2404
 
  { ftARMORPROFICIENCY_HEAVY,     RARE },
2405
 
  { ftBLINDFIGHT,                 RARE },
2406
 
  { ftCOMBATREFLEXES,             RARE },
2407
 
  { ftDODGE,                      RARE },
2408
 
  { ftMOBILITY,                   RARE },
2409
 
  { ftSPRINGATTACK,               RARE },
2410
 
  { ftENDURANCE,                  RARE },
2411
 
  { ftEXOTICWEAPONPROFICIENCY,   RARE },
2412
 
  { ftMARTIALWEAPONPROFICIENCY,  RARE },
2413
 
  { ftSIMPLEWEAPONPROFICIENCY,   RARE },
2414
 
  { ftCOMBATEXPERTISE,                  RARE },
2415
 
  { ftIMPROVEDDISARM,             RARE },
2416
 
  { ftIMPROVEDTRIP,               RARE },
2417
 
  { ftWHIRLWINDATTACK,            RARE },
2418
 
  { ftGREATFORTITUDE,             UNCOMMON },
2419
 
  { ftIMPROVEDCRITICAL,           RARE },
2420
 
  { ftIMPROVEDINITIATIVE,         RARE },
2421
 
  { ftIMPROVEDUNARMEDSTRIKE,      RARE },
2422
 
  { ftDEFLECTARROWS,              RARE },
2423
 
  { ftSTUNNINGFIST,               RARE },
2424
 
  { ftIRONWILL,                   UNCOMMON },
2425
 
  { ftLEADERSHIP,                 RARE },
2426
 
  { ftLIGHTNINGREFLEXES,          UNCOMMON },
2427
 
  { ftMOUNTEDCOMBAT,              RARE },
2428
 
  { ftMOUNTEDARCHERY,             RARE },
2429
 
  { ftTRAMPLE,                    RARE },
2430
 
  { ftRIDEBYATTACK,               RARE },
2431
 
  { ftSPIRITEDCHARGE,             RARE },
2432
 
  { ftPOINTBLANKSHOT,             UNCOMMON },
2433
 
  { ftFARSHOT,                    UNCOMMON },
2434
 
  { ftPRECISESHOT,                UNCOMMON },
2435
 
  { ftRAPIDSHOT,                  RARE },
2436
 
  { ftSHOTONTHERUN,               RARE },
2437
 
  { ftPOWERATTACK,                RARE },
2438
 
  { ftCLEAVE,                     RARE },
2439
 
  { ftIMPROVEDBULLRUSH,           RARE },
2440
 
  { ftIMPROVEDSUNDER,                     RARE },
2441
 
  { ftGREATCLEAVE,                RARE },
2442
 
  { ftQUICKDRAW,                  RARE },
2443
 
  { ftRUN,                        UNCOMMON },
2444
 
  { ftSHIELDPROFICIENCY,          RARE },
2445
 
  { ftSKILLFOCUS,                 COMMON*3 },
2446
 
  { ftTOUGHNESS,                  RARE },
2447
 
  { ftTRACK,                      RARE },
2448
 
  { ftTWOWEAPONFIGHTING,          RARE },
2449
 
  { ftIMPROVEDTWOWEAPONFIGHTING,  RARE },
2450
 
  { ftWEAPONFINESSE,              RARE },
2451
 
  { ftWEAPONFOCUS,                RARE },
2452
 
  { 0,                            0 }
2453
 
};
2454
 
 
2455
 
static PREFERREDWEAPONS adeptWeapons[] = {
2456
 
  { wpGAUNTLET,            RARE },
2457
 
  { wpUNARMED,             RARE },
2458
 
  { wpDAGGER,              COMMON },
2459
 
  { wpDAGGER_PUNCHING,     RARE },
2460
 
  { wpGAUNTLET_SPIKED,     RARE },
2461
 
  { wpMACE_LIGHT,          UNCOMMON },
2462
 
  { wpSICKLE,              RARE },
2463
 
  { wpCLUB,                UNCOMMON },
2464
 
  { wpHALFSPEAR,           RARE },
2465
 
  { wpMACE_HEAVY,          RARE },
2466
 
  { wpMORNINGSTAR,         RARE },
2467
 
  { wpQUARTERSTAFF,        COMMON },
2468
 
  { wpSHORTSPEAR,          UNCOMMON },
2469
 
  { wpCROSSBOW_LIGHT,      UNCOMMON },
2470
 
  { wpDART,                RARE },
2471
 
  { wpSLING,               RARE },
2472
 
  { wpCROSSBOW_HEAVY,      RARE },
2473
 
  { wpJAVELIN,             RARE },
2474
 
  { 0,                     0 }
2475
 
};
2476
 
 
2477
 
static PREFERREDFEATS nobleFeats[] = {
2478
 
  { ftALERTNESS,                  COMMON },
2479
 
  { ftBLINDFIGHT,                 RARE },
2480
 
  { ftCOMBATREFLEXES,             RARE },
2481
 
  { ftDODGE,                      RARE },
2482
 
  { ftMOBILITY,                   RARE },
2483
 
  { ftSPRINGATTACK,               RARE },
2484
 
  { ftENDURANCE,                  RARE },
2485
 
  { ftEXOTICWEAPONPROFICIENCY,   RARE },
2486
 
  { ftCOMBATEXPERTISE,                  RARE },
2487
 
  { ftIMPROVEDDISARM,             RARE },
2488
 
  { ftIMPROVEDTRIP,               RARE },
2489
 
  { ftWHIRLWINDATTACK,            RARE },
2490
 
  { ftGREATFORTITUDE,             RARE },
2491
 
  { ftIMPROVEDCRITICAL,           RARE },
2492
 
  { ftIMPROVEDINITIATIVE,         UNCOMMON },
2493
 
  { ftIMPROVEDUNARMEDSTRIKE,      RARE },
2494
 
  { ftDEFLECTARROWS,              RARE },
2495
 
  { ftSTUNNINGFIST,               RARE },
2496
 
  { ftIRONWILL,                   UNCOMMON },
2497
 
  { ftLEADERSHIP,                 COMMON*2 },
2498
 
  { ftLIGHTNINGREFLEXES,          RARE },
2499
 
  { ftMOUNTEDCOMBAT,              COMMON },
2500
 
  { ftMOUNTEDARCHERY,             COMMON },
2501
 
  { ftTRAMPLE,                    RARE },
2502
 
  { ftRIDEBYATTACK,               RARE },
2503
 
  { ftSPIRITEDCHARGE,             RARE },
2504
 
  { ftPOINTBLANKSHOT,             COMMON },
2505
 
  { ftFARSHOT,                    UNCOMMON },
2506
 
  { ftPRECISESHOT,                UNCOMMON },
2507
 
  { ftRAPIDSHOT,                  RARE },
2508
 
  { ftSHOTONTHERUN,               RARE },
2509
 
  { ftPOWERATTACK,                RARE },
2510
 
  { ftCLEAVE,                     RARE },
2511
 
  { ftIMPROVEDBULLRUSH,           RARE },
2512
 
  { ftIMPROVEDSUNDER,                     RARE },
2513
 
  { ftGREATCLEAVE,                RARE },
2514
 
  { ftQUICKDRAW,                  RARE },
2515
 
  { ftRUN,                        RARE },
2516
 
  { ftSKILLFOCUS,                 COMMON*3 },
2517
 
  { ftTOUGHNESS,                  RARE },
2518
 
  { ftTRACK,                      RARE },
2519
 
  { ftTWOWEAPONFIGHTING,          RARE },
2520
 
  { ftIMPROVEDTWOWEAPONFIGHTING,  RARE },
2521
 
  { ftWEAPONFINESSE,              RARE },
2522
 
  { ftWEAPONFOCUS,                RARE },
2523
 
  { 0,                            0 }
2524
 
};
2525
 
 
2526
 
static PREFERREDWEAPONS nobleWeapons[] = {
2527
 
  { wpGAUNTLET,            RARE },
2528
 
  { wpUNARMED,             RARE*2 },
2529
 
  { wpDAGGER,              RARE*2 },
2530
 
  { wpDAGGER_PUNCHING,     RARE },
2531
 
  { wpGAUNTLET_SPIKED,     RARE },
2532
 
  { wpMACE_LIGHT,          RARE },
2533
 
  { wpSICKLE,              RARE },
2534
 
  { wpCLUB,                RARE*2 },
2535
 
  { wpHALFSPEAR,           RARE*2 },
2536
 
  { wpMACE_HEAVY,          RARE },
2537
 
  { wpMORNINGSTAR,         RARE*2 },
2538
 
  { wpQUARTERSTAFF,        UNCOMMON },
2539
 
  { wpSHORTSPEAR,          UNCOMMON },
2540
 
  { wpCROSSBOW_LIGHT,      RARE },
2541
 
  { wpDART,                RARE },
2542
 
  { wpSLING,               RARE },
2543
 
  { wpCROSSBOW_HEAVY,      RARE },
2544
 
  { wpJAVELIN,             RARE },
2545
 
  { wpAXE_THROWING,        RARE },
2546
 
  { wpHAMMER_LIGHT,        RARE },
2547
 
  { wpHANDAXE,             RARE },
2548
 
  { wpLANCE_LIGHT,         RARE },
2549
 
  { wpPICK_LIGHT,          RARE },
2550
 
  { wpSAP,                 RARE },
2551
 
  { wpSWORD_SHORT,         COMMON },
2552
 
  { wpBATTLEAXE,           RARE },
2553
 
  { wpFLAIL_LIGHT,         RARE },
2554
 
  { wpLANCE_HEAVY,         RARE },
2555
 
  { wpLONGSWORD,           COMMON*2 },
2556
 
  { wpPICK_HEAVY,          RARE },
2557
 
  { wpRAPIER,              UNCOMMON },
2558
 
  { wpSCIMITAR,            RARE },
2559
 
  { wpTRIDENT,             RARE },
2560
 
  { wpWARHAMMER,           RARE },
2561
 
  { wpFALCHION,            RARE },
2562
 
  { wpFLAIL_HEAVY,         RARE },
2563
 
  { wpGLAIVE,              RARE },
2564
 
  { wpGREATAXE,            RARE },
2565
 
  { wpGREATCLUB,           RARE },
2566
 
  { wpGREATSWORD,          RARE },
2567
 
  { wpGUISARME,            RARE },
2568
 
  { wpHALBERD,             RARE },
2569
 
  { wpLONGSPEAR,           UNCOMMON },
2570
 
  { wpRANSEUR,             RARE },
2571
 
  { wpSCYTHE,              RARE },
2572
 
  { wpSHORTBOW,            COMMON },
2573
 
  { wpSHORTBOW_COMPOSITE,  COMMON },
2574
 
  { wpLONGBOW,             COMMON },
2575
 
  { wpLONGBOW_COMPOSITE,   COMMON },
2576
 
  { 0,                     0 }
2577
 
};
2578
 
 
2579
 
static PREFERREDFEATS expertFeats[] = {
2580
 
  { ftALERTNESS,                  COMMON },
2581
 
  { ftARMORPROFICIENCY_MEDIUM,    RARE },
2582
 
  { ftARMORPROFICIENCY_HEAVY,     RARE },
2583
 
  { ftBLINDFIGHT,                 RARE },
2584
 
  { ftCOMBATREFLEXES,             RARE },
2585
 
  { ftDODGE,                      RARE },
2586
 
  { ftMOBILITY,                   RARE },
2587
 
  { ftSPRINGATTACK,               RARE },
2588
 
  { ftENDURANCE,                  RARE },
2589
 
  { ftEXOTICWEAPONPROFICIENCY,   RARE },
2590
 
  { ftMARTIALWEAPONPROFICIENCY,  RARE },
2591
 
  { ftCOMBATEXPERTISE,                  RARE },
2592
 
  { ftIMPROVEDDISARM,             RARE },
2593
 
  { ftIMPROVEDTRIP,               RARE },
2594
 
  { ftWHIRLWINDATTACK,            RARE },
2595
 
  { ftGREATFORTITUDE,             RARE },
2596
 
  { ftIMPROVEDCRITICAL,           RARE },
2597
 
  { ftIMPROVEDINITIATIVE,         UNCOMMON },
2598
 
  { ftIMPROVEDUNARMEDSTRIKE,      RARE },
2599
 
  { ftDEFLECTARROWS,              RARE },
2600
 
  { ftSTUNNINGFIST,               RARE },
2601
 
  { ftIRONWILL,                   RARE },
2602
 
  { ftLEADERSHIP,                 RARE },
2603
 
  { ftLIGHTNINGREFLEXES,          RARE },
2604
 
  { ftMOUNTEDCOMBAT,              RARE },
2605
 
  { ftMOUNTEDARCHERY,             RARE },
2606
 
  { ftTRAMPLE,                    RARE },
2607
 
  { ftRIDEBYATTACK,               RARE },
2608
 
  { ftSPIRITEDCHARGE,             RARE },
2609
 
  { ftPOINTBLANKSHOT,             COMMON },
2610
 
  { ftFARSHOT,                    UNCOMMON },
2611
 
  { ftPRECISESHOT,                UNCOMMON },
2612
 
  { ftRAPIDSHOT,                  RARE },
2613
 
  { ftSHOTONTHERUN,               RARE },
2614
 
  { ftPOWERATTACK,                RARE },
2615
 
  { ftCLEAVE,                     RARE },
2616
 
  { ftIMPROVEDBULLRUSH,           RARE },
2617
 
  { ftIMPROVEDSUNDER,                     RARE },
2618
 
  { ftGREATCLEAVE,                RARE },
2619
 
  { ftQUICKDRAW,                  RARE },
2620
 
  { ftRUN,                        RARE },
2621
 
  { ftSKILLFOCUS,                 COMMON*4 },
2622
 
  { ftTOUGHNESS,                  RARE },
2623
 
  { ftTRACK,                      RARE },
2624
 
  { ftTWOWEAPONFIGHTING,          RARE },
2625
 
  { ftIMPROVEDTWOWEAPONFIGHTING,  RARE },
2626
 
  { ftWEAPONFINESSE,              RARE },
2627
 
  { ftWEAPONFOCUS,                RARE },
2628
 
  { 0,                            0 }
2629
 
};
2630
 
 
2631
 
static PREFERREDWEAPONS expertWeapons[] = {
2632
 
  { wpGAUNTLET,            RARE },
2633
 
  { wpUNARMED,             RARE },
2634
 
  { wpDAGGER,              COMMON },
2635
 
  { wpDAGGER_PUNCHING,     RARE },
2636
 
  { wpGAUNTLET_SPIKED,     RARE },
2637
 
  { wpMACE_LIGHT,          UNCOMMON },
2638
 
  { wpSICKLE,              RARE },
2639
 
  { wpCLUB,                UNCOMMON },
2640
 
  { wpHALFSPEAR,           RARE },
2641
 
  { wpMACE_HEAVY,          RARE },
2642
 
  { wpMORNINGSTAR,         RARE },
2643
 
  { wpQUARTERSTAFF,        COMMON },
2644
 
  { wpSHORTSPEAR,          UNCOMMON },
2645
 
  { wpCROSSBOW_LIGHT,      UNCOMMON },
2646
 
  { wpDART,                RARE },
2647
 
  { wpSLING,               RARE },
2648
 
  { wpCROSSBOW_HEAVY,      RARE },
2649
 
  { wpJAVELIN,             RARE },
2650
 
  { 0,                     0 }
2651
 
};
2652
 
 
2653
 
static PREFERREDWEAPONS commonWeapons[] = {
2654
 
  { 0,                     0 }
2655
 
};
2656
 
 
2657
 
static PREFERREDFEATS warriorFeats[] = {
2658
 
  { ftALERTNESS,                  COMMON },
2659
 
  { ftBLINDFIGHT,                 COMMON },
2660
 
  { ftCOMBATREFLEXES,             UNCOMMON },
2661
 
  { ftDODGE,                      UNCOMMON },
2662
 
  { ftMOBILITY,                   UNCOMMON },
2663
 
  { ftSPRINGATTACK,               UNCOMMON },
2664
 
  { ftENDURANCE,                  UNCOMMON },
2665
 
  { ftEXOTICWEAPONPROFICIENCY,   RARE*2 },
2666
 
  { ftCOMBATEXPERTISE,                  UNCOMMON },
2667
 
  { ftIMPROVEDDISARM,             UNCOMMON },
2668
 
  { ftIMPROVEDTRIP,               UNCOMMON },
2669
 
  { ftWHIRLWINDATTACK,            UNCOMMON },
2670
 
  { ftGREATFORTITUDE,             RARE*2 },
2671
 
  { ftIMPROVEDCRITICAL,           UNCOMMON },
2672
 
  { ftIMPROVEDINITIATIVE,         COMMON },
2673
 
  { ftIMPROVEDUNARMEDSTRIKE,      UNCOMMON },
2674
 
  { ftDEFLECTARROWS,              RARE },
2675
 
  { ftSTUNNINGFIST,               RARE },
2676
 
  { ftIRONWILL,                   RARE },
2677
 
  { ftLEADERSHIP,                 COMMON },
2678
 
  { ftLIGHTNINGREFLEXES,          UNCOMMON },
2679
 
  { ftMOUNTEDCOMBAT,              COMMON },
2680
 
  { ftMOUNTEDARCHERY,             UNCOMMON },
2681
 
  { ftTRAMPLE,                    COMMON },
2682
 
  { ftRIDEBYATTACK,               COMMON },
2683
 
  { ftSPIRITEDCHARGE,             UNCOMMON },
2684
 
  { ftPOINTBLANKSHOT,             UNCOMMON },
2685
 
  { ftFARSHOT,                    RARE },
2686
 
  { ftPRECISESHOT,                RARE },
2687
 
  { ftRAPIDSHOT,                  RARE },
2688
 
  { ftSHOTONTHERUN,               RARE },
2689
 
  { ftPOWERATTACK,                COMMON },
2690
 
  { ftCLEAVE,                     COMMON },
2691
 
  { ftIMPROVEDBULLRUSH,           UNCOMMON },
2692
 
  { ftIMPROVEDSUNDER,                     UNCOMMON },
2693
 
  { ftGREATCLEAVE,                UNCOMMON },
2694
 
  { ftQUICKDRAW,                  UNCOMMON },
2695
 
  { ftRUN,                        RARE },
2696
 
  { ftSKILLFOCUS,                 UNCOMMON },
2697
 
  { ftTOUGHNESS,                  UNCOMMON },
2698
 
  { ftTRACK,                      RARE*2 },
2699
 
  { ftTWOWEAPONFIGHTING,          UNCOMMON },
2700
 
  { ftIMPROVEDTWOWEAPONFIGHTING,  UNCOMMON },
2701
 
  { ftWEAPONFINESSE,              UNCOMMON*2 },
2702
 
  { ftWEAPONFOCUS,                UNCOMMON*2 },
2703
 
  { 0,                            0 }
2704
 
};
2705
 
 
2706
 
struct {
2707
 
  int               dtop_PC;
2708
 
  int               dtop_NPC;
2709
 
  int               dtop_All;
2710
 
  int               type;
2711
 
  PREFERREDFEATS*   feats;
2712
 
  PREFERREDFEATS*   bonusFeats;
2713
 
  PREFERREDWEAPONS* weapons;
2714
 
  int               abilities[6];
2715
 
} classes[] = {
2716
 
  {   9,   0,   4, pcBARBARIAN,   barbarianFeats, 0,                 barbarianWeapons, { abSTRENGTH, abCONSTITUTION, abDEXTERITY, abWISDOM, abCHARISMA, abINTELLIGENCE } },
2717
 
  {  18,   0,   8, pcBARD,        bardFeats,      0,                 bardWeapons,      { abCHARISMA, abDEXTERITY, abINTELLIGENCE, abCONSTITUTION, abSTRENGTH, abWISDOM } },
2718
 
  {  27,   0,  12, pcCLERIC,      clericFeats,    0,                 clericWeapons,    { abWISDOM, abSTRENGTH, abCHARISMA, abCONSTITUTION, abDEXTERITY, abINTELLIGENCE } },
2719
 
  {  36,   0,  16, pcDRUID,       druidFeats,     0,                 druidWeapons,     { abWISDOM, abDEXTERITY, abSTRENGTH, abINTELLIGENCE, abCONSTITUTION, abCHARISMA } },
2720
 
  {  46,   0,  20, pcFIGHTER,     fighterFeats,   fighterBonusFeats, fighterWeapons,   { abSTRENGTH, abCONSTITUTION, abDEXTERITY, abINTELLIGENCE, abCHARISMA, abWISDOM } },
2721
 
  {  55,   0,  24, pcMONK,        monkFeats,      0,                 monkWeapons,      { abWISDOM, abDEXTERITY, abSTRENGTH, abINTELLIGENCE, abCONSTITUTION, abCHARISMA } },
2722
 
  {  64,   0,  28, pcPALADIN,     paladinFeats,   0,                 paladinWeapons,   { abCHARISMA, abWISDOM, abSTRENGTH, abCONSTITUTION, abINTELLIGENCE, abDEXTERITY } },
2723
 
  {  73,   0,  32, pcRANGER,      rangerFeats,    0,                             rangerWeapons,    { abDEXTERITY, abSTRENGTH, abWISDOM, abINTELLIGENCE, abCONSTITUTION, abCHARISMA } },
2724
 
  {  82,   0,  36, pcROGUE,       rogueFeats,     0,                 rogueWeapons,     { abDEXTERITY, abWISDOM, abINTELLIGENCE, abCONSTITUTION, abSTRENGTH, abCHARISMA } },
2725
 
  {  91,   0,  40, pcSORCERER,    sorcererFeats,  0,                 sorcererWeapons,  { abCHARISMA, abINTELLIGENCE, abCONSTITUTION, abDEXTERITY, abWISDOM, abSTRENGTH } },
2726
 
  { 100,   0,  44, pcWIZARD,      wizardFeats,    wizardBonusFeats,  wizardWeapons,    { abINTELLIGENCE, abCONSTITUTION, abDEXTERITY, abWISDOM, abCHARISMA, abSTRENGTH } },
2727
 
  {   0,  20,  48, npcADEPT,      adeptFeats,     0,                 adeptWeapons,     { abWISDOM, abINTELLIGENCE, abCHARISMA, abSTRENGTH, abCONSTITUTION, abDEXTERITY } },
2728
 
  {   0,  40,  52, npcARISTOCRAT, nobleFeats,     0,                 nobleWeapons,     { abCHARISMA, abWISDOM, abDEXTERITY, abINTELLIGENCE, abSTRENGTH, abCONSTITUTION } },
2729
 
  {   0,  60,  92, npcCOMMONER,   commonFeats,    0,                 commonWeapons,    { abSTRENGTH, abWISDOM, abDEXTERITY, abINTELLIGENCE, abCHARISMA, abCONSTITUTION } },
2730
 
  {   0,  80,  96, npcEXPERT,     expertFeats,    0,                 expertWeapons,    { abDEXTERITY, abINTELLIGENCE, abWISDOM, abCONSTITUTION, abCHARISMA, abSTRENGTH } },
2731
 
  {   0, 100, 100, npcWARRIOR,    warriorFeats,   0,                 fighterWeapons,   { abSTRENGTH, abCONSTITUTION, abDEXTERITY, abINTELLIGENCE, abCHARISMA, abWISDOM } },
2732
 
  {   0,   0,   0, 0,             0,              0,                 0,                { 0, 0, 0, 0, 0, 0 } }
2733
 
};
2734
 
 
2735
 
 
2736
 
struct {
2737
 
  int dtop_Core;
2738
 
  int dtop_DMG;
2739
 
  int dtop_MM;
2740
 
  int dtop_All;
2741
 
  int dtop_CC;
2742
 
  int type;
2743
 
} races[] = {
2744
 
  {  30,   0,   0,   2,   0, rcHUMAN },              
2745
 
  {  40,   0,   0,   4,   0, rcHALFELF },            
2746
 
  {  55,   0,   0,   6,   0, rcELF_HIGH },           
2747
 
  {  70,   0,   0,   8,   0, rcDWARF_HILL },         
2748
 
  {  85,   0,   0,  10,   0, rcHALFLING_LIGHTFOOT },
2749
 
  {  95,   0,   0,  12,   0, rcGNOME_ROCK },         
2750
 
  { 100,   0,   0,  14,   0, rcHALFORC },            
2751
 
  {   0,   3,   0,  15,   0, rcAASIMAR },            
2752
 
  {   0,   6,   0,  17,   0, rcDWARF_DEEP },         
2753
 
  {   0,  11,   0,  19,   0, rcDWARF_MOUNTAIN },
2754
 
  {   0,  14,   0,  21,   0, rcELF_GRAY },           
2755
 
  {   0,  17,   0,  23,   0, rcELF_WILD },           
2756
 
  {   0,  20,   0,  25,   0, rcELF_WOOD },           
2757
 
  {   0,  25,   0,  27,   0, rcGNOME_FOREST },       
2758
 
  {   0,  28,   0,  29,   0, rcHALFLING_DEEP },
2759
 
  {   0,  33,   0,  31,   0, rcHALFLING_TALLFELLOW },
2760
 
  {   0,  36,   0,  33,   0, rcGNOME_SVIRFNEBLIN },  
2761
 
  {   0,  39,   0,  35,   0, rcLIZARDFOLK },         
2762
 
  {   0,  42,   0,  37,   0, rcDOPPLEGANGER },       
2763
 
  {   0,  48,   0,  39,   0, rcGOBLIN },             
2764
 
  {   0,  53,   0,  41,   0, rcHOBGOBLIN },          
2765
 
  {   0,  59,   0,  43,   0, rcKOBOLD },             
2766
 
  {   0,  64,   0,  45,   0, rcORC },                
2767
 
  {   0,  67,   0,  46,   0, rcTIEFLING },           
2768
 
  {   0,  70,   0,  47,   0, rcELF_DROW },
2769
 
  {   0,  71,   0,  48,   0, rcELF_AQUATIC },
2770
 
  {   0,  73,   0,  49,   0, rcDWARF_DUERGAR },      
2771
 
  {   0,  74,   0,  50,   0, rcDWARF_DERRO },        
2772
 
  {   0,  77,   0,  51,   0, rcGNOLL },              
2773
 
  {   0,  80,   0,  53,   0, rcTROGLODYTE },         
2774
 
  {   0,  85,   0,  55,   0, rcBUGBEAR },            
2775
 
  {   0,  91,   0,  57,   0, rcOGRE },               
2776
 
  {   0,  94,   0,  58,   0, rcMINOTAUR },           
2777
 
  {   0,  97,   0,  59,   0, rcMINDFLAYER },         
2778
 
  {   0, 100,   0,  60,   0, rcOGREMAGE },           
2779
 
  {   0,   0,   4,  62,   0, rcARANEA },             
2780
 
  {   0,   0,   8,  63,   0, rcAZER },               
2781
 
  {   0,   0,  13,  65,   0, rcCENTAUR },            
2782
 
  {   0,   0,  17,  66,   0, rcDRIDER },             
2783
 
  {   0,   0,  21,  68,   0, rcETTIN },              
2784
 
  {   0,   0,  26,  70,   0, rcGIANT_HILL },         
2785
 
  {   0,   0,  30,  72,   0, rcGIANT_STONE },        
2786
 
  {   0,   0,  34,  74,   0, rcGIANT_FROST },        
2787
 
  {   0,   0,  38,  76,   0, rcGIANT_FIRE },         
2788
 
  {   0,   0,  42,  78,   0, rcGIANT_CLOUD },        
2789
 
  {   0,   0,  46,  79,   0, rcGIANT_STORM },        
2790
 
  {   0,   0,  50,  81,   0, rcGRIMLOCK },           
2791
 
  {   0,   0,  54,  83,   0, rcHAG_SEA },            
2792
 
  {   0,   0,  58,  85,   0, rcHAG_ANNIS },          
2793
 
  {   0,   0,  62,  86,   0, rcHAG_GREEN },          
2794
 
  {   0,   0,  67,  88,   0, rcHARPY },              
2795
 
  {   0,   0,  71,  90,   0, rcKUOTOA },             
2796
 
  {   0,   0,  75,  92,   0, rcLOCATHAH },           
2797
 
  {   0,   0,  79,  93,   0, rcMEDUSA },             
2798
 
  {   0,   0,  83,  95,   0, rcSAHUAGIN },           
2799
 
  {   0,   0,  88,  97,   0, rcTROLL },
2800
 
  {   0,   0,  92,  98,   0, rcYUANTI_PUREBLOOD },   
2801
 
  {   0,   0,  96,  99,   0, rcYUANTI_HALFBLOOD },   
2802
 
  {   0,   0, 100, 100,   0, rcYUANTI_ABOMINATION }, 
2803
 
  {   0,   0,   0,   0,   4, rcCC_ABANDONED },       
2804
 
  {   0,   0,   0,   0,   9, rcCC_ASAATH },