Blindfold removal fix
[slashemextended.git] / src / role.c
blob683938a3b28aaf026c6c50c95a4347fca6cc2d0a
1 /* SCCS Id: @(#)role.c 3.4 2003/01/08 */
2 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985-1999. */
3 /* NetHack may be freely redistributed. See license for details. */
5 #include "hack.h"
8 /*** Table of all roles ***/
9 /* According to AD&D, HD for some classes (ex. Wizard) should be smaller
10 * (4-sided for wizards). But this is not AD&D, and using the AD&D
11 * rule here produces an unplayable character. Thus I have used a minimum
12 * of an 10-sided hit die for everything. Another AD&D change: wizards get
13 * a minimum strength of 4 since without one you can't teleport or cast
14 * spells. --KAA
16 * As the wizard has been updated (wizard patch 5 jun '96) their HD can be
17 * brought closer into line with AD&D. This forces wizards to use magic more
18 * and distance themselves from their attackers. --LSZ
20 * With the introduction of races, some hit points and energy
21 * has been reallocated for each race. The values assigned
22 * to the roles has been reduced by the amount allocated to
23 * humans. --KMH
25 * God names use a leading underscore to flag goddesses.
28 /* thanks to CK for pointing out some stat distribution bugs --Amy */
30 /* IMPORTANT!!! do_wear.c has code for an artifact that turns the player into a Binder by index number. If any new roles
31 * are inserted above the Binder, please update the index number accordingly! --Amy */
33 const struct Role roles[] = {
34 { {"Acid Mage", 0}, {
35 {"Oozer", 0},
36 {"Slimer", 0},
37 {"Sludge Mage", 0},
38 {"Spiller", 0},
39 {"Corroder", 0},
40 {"Acidsplasher", 0},
41 {"Hazardous Materials Specialist", 0},
42 {"Laboratory Science PhD", 0},
43 {"Acid-Master", 0} },
44 "The Lord of the Pit", "Goldblight of the Flame", "Warpfire Hellspawn", /* Special */
45 "Aci", "Slime Pit", "Electric Power Station",
46 PM_ACID_MAGE, NON_PM, PM_UNDEAD_ACID_MAGE, NON_PM, PM_ACID_HOUND_PUP,
47 PM_ACIDSNORT, PM_ATTENDANT, PM_LIGHTNINGROD, PM_DYNAMO,
48 PM_DROW_MATRON, PM_TITAN, S_ANGEL, S_GIANT,
50 ART_SLOW_BLADE,
51 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
52 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
53 /* Str Int Wis Dex Con Cha */ /* Direct copy from Wizard */
54 /*{ 7, 10, 7, 7, 7, 7 },*/
55 { 3, 3, 3, 3, 3, 3 },
56 { 10, 30, 10, 20, 20, 10 },
57 /* new limit values for the six attributes by Amy */
58 { 16, 20, 16, 16, 15, 14 },
59 /* Init Lower Higher */
60 { 15, 0, 0, 8, 1, 0 }, /* Hit points */
61 { 15, 3, 0, 2, 0, 3 },12, /* Energy */
62 0, 1, 0,
63 2, 10, A_INT, SPE_ACID_STREAM, -4, 100 /* From old role.c */
66 { {"Activistor", 0}, {
67 {"Little Rebel", 0},
68 {"Do-Gooder", 0},
69 {"Demonstrant", 0},
70 {"Worker on strike", 0},
71 {"Protestor", 0},
72 {"Rebellious Individual", 0},
73 {"Involved Activist", 0},
74 {"Renegade Fighter", 0},
75 {"Savior", 0} },
76 "Anti-War Movement", "Global Freedom Council", "Human Rights Progression", /* buzzwords used by activists */
77 "Act", "Activist Home", "Ghostly Halls",
78 PM_ACTIVISTOR, NON_PM, PM_UNDEAD_ACTIVISTOR, NON_PM, PM_ACTIVISTOR,
79 PM_ACTIVIST_SPEAKER, PM_ATTENDANT, PM_IMELDA_S_GHOST, PM_GHOST_OF_HEEL,
80 PM_ANIMATED_WEDGE_SANDAL, PM_ANIMATED_SEXY_LEATHER_PUMP, S_GOLEM, S_NEMESE,
81 ART_ACTIVIST_STICK,
82 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
83 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
84 /* Str Int Wis Dex Con Cha */
85 /*{ 13, 13, 13, 9, 13, 7 },*/
86 { 3, 3, 3, 3, 3, 3 },
87 { 10, 25, 25, 10, 10, 20 },
88 /* new limit values for the six attributes by Amy */
89 { 18, 14, 14, 18, 16, 20 },
90 /* Init Lower Higher */
91 { 12, 0, 0, 3, 1, 0 }, /* Hit points */
92 { 20, 0, 0, 4, 0, 4 },12, /* Energy */
93 10, 9, 2, 1, 10, A_INT, SPE_TELEPORT_AWAY, -4, 50
96 { { "Aklyst", 0 }, {
97 { "Club Carrier", 0 },
98 { "Bola Thrower", 0 },
99 { "Range Applier", 0 },
100 { "Melee Detonator", 0 },
101 { "Iron Maul", 0 },
102 { "Sounding Clasher", 0 },
103 { "Two-Square Melee Master", 0 },
104 { "Nun-Chuck", 0 },
105 { "World Whacker", 0 } },
106 "_Sulis", "_Sequana", "_Damona", /* celtic */
107 "Akl", "Marital Arts Dodo", "Ghosterville",
108 PM_AKLYST, NON_PM, PM_UNDEAD_AKLYST, NON_PM, NON_PM,
109 PM_THREE_POINT_SIX_DEV, PM_APPRENTICE, PM_GRIMACE_CASPAR, PM_DOUR_LAUGHING_GHOST,
110 PM_KRUSHE, PM_TACKLE_JELLY, S_GHOST, S_JELLY,
111 ART_NOBREAK, /* aklys, +10 damage and +20 to-hit; instead of breaking, it loses enchantment */
112 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
113 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
114 /* Str Int Wis Dex Con Cha */
115 { 3, 3, 3, 3, 3, 3 },
116 { 25, 10, 10, 25, 20, 10 },
117 /* new limit values for the six attributes by Amy */
118 { STR19(19), 17, 17, 19, 18, 16 },
119 /* Init Lower Higher */
120 { 12, 0, 0, 5, 4, 0 }, /* Hit points */
121 { 3, 3, 0, 3, 0, 3 },15, /* Energy */
122 10, 9, -2,
123 6, 12, A_INT, SPE_MAGICTORCH, -4, 30
126 { { "Alltecher", 0 }, {
127 { "Technology Researcher", 0 },
128 { "Resourceful Explorer", 0 },
129 { "Versatile Allrounder", 0 },
130 { "Many-Sided Student", 0 },
131 { "Multifunction Organism", 0 },
132 { "Eclectic Expert", 0 },
133 { "Super-Generalist", 0 },
134 { "Special Technique Master", 0 },
135 { "Technical Chameleon", 0 } },
136 "Earnest Dejesus", "_Madelene Thursday Lo", "Gray Hayes", /* CDDA */
137 "All", "Techonology Park", "Climate HQ",
138 PM_ALLTECHER, NON_PM, PM_UNDEAD_ALLTECHER, NON_PM, NON_PM,
139 PM_VAIN_PRINCIPAL, PM_HUNTER, PM_SASSY_LUISA, PM_NEW_FARMER_HUSSY,
140 PM_SAUCY_FEMMY, PM_SASSY_LASSY, S_RUSTMONST, S_FLYFISH,
141 ART_CORONA_OF_THE_ELEMENT, /* ring of technicality */
142 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
143 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
144 /* Str Int Wis Dex Con Cha */
145 { 3, 3, 3, 3, 3, 3 },
146 { 18, 16, 16, 16, 18, 16 },
147 /* new limit values for the six attributes by Amy */
148 { 6, 6, 6, 6, 6, 6 },
149 /* Init Lower Higher */
150 { 14, 0, 0, 0, 0, 0 }, /* Hit points */
151 { 2, 0, 0, 0, 0, 0 },10, /* Energy */
152 -10, 12, 0,
153 5, 14, A_INT, SPE_TECH_BOOST, -4, 25
156 { {"Altmer", 0}, {
157 {"Cantrip Caster", 0},
158 {"Stunted Magician", 0},
159 {"Vapor Mage", 0},
160 {"Ghost Mage", 0},
161 {"Mage Dominion", 0},
162 {"Mage Empress", 0},
163 {"Spellbane", 0},
164 {"Armored Mage", 0},
165 {"Archmage", 0} },
166 "_Eilistraee", "_Kiaransali", "_Lolth", /* Elven */
168 "Alt", "Summerset Isle", "Necrotic Caverns",
169 PM_ALTMER, NON_PM, PM_UNDEAD_ALTMER, NON_PM, PM_GOLD_GOLEM,
170 PM_SINDERION, PM_HIGHEST_ELF, PM_MANNIMARCO, PM_WORM_ANCHORITE,
171 PM_NECROMANCER, PM_DARK_SAGE, S_HUMAN, S_HUMAN,
173 ART_AMBASSADOR_ROBE,
174 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
175 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
176 /* Str Int Wis Dex Con Cha */
177 /*{ 13, 13, 13, 9, 13, 7 },*/
178 { 3, 3, 3, 3, 3, 3 },
179 { 10, 30, 30, 10, 10, 10 },
180 /* new limit values for the six attributes by Amy */
181 { 12, 25, 18, 15, 14, 16 },
182 /* Init Lower Higher */
183 { 10, 0, 0, 4, 2, 0 }, /* Hit points */
184 { 40, 0, 0, 12, 0, 15 },12, /* Energy */
185 10, 9, 2, 1, 10, A_INT, SPE_FINGER_OF_DEATH, -4, 250
188 { {"Amazon", 0}, {
189 {"Villager", 0},
190 {"Chosen for Reaping", 0},
191 {"Low Tribute", 0},
192 {"Tribute", 0},
193 {"Career Tribute", 0},
194 {"Master Hunter", 0},
195 {"Hunger Games Winner", 0},
196 {"Peetabane", 0},
197 {"Right Hand of Cato", 0} },
198 "_Suzanne Collins", "_Effie Trinket", "President Snow", /* hunger games */
199 "Ama", "Cornucopia Fresh Forest", "Hunger Games Battleground",
200 PM_AMAZON, NON_PM, PM_UNDEAD_AMAZON, NON_PM, PM_VALKYRIE,
201 PM_CATO, PM_HUNTER, PM_PEETA, PM_MAD_BUCKING_FASTARD,
202 PM_TRIBUTE, PM_TRACKER_JACKER, S_HUMAN, S_ANT,
204 ART_GUNBOW,
205 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
206 /* Str Int Wis Dex Con Cha */
207 /*{ 10, 8, 7, 10, 17, 6 },*/
208 { 3, 3, 3, 3, 3, 3 },
209 { 20, 15, 8, 25, 14, 18 },
210 /* new limit values for the six attributes by Amy */
211 { 18, 16, 15, 25, 17, 22 },
212 /* Init Lower Higher */
213 { 15, 0, 0, 5, 4, 0 }, /* Hit points */
214 { 10, 0, 0, 2, 0, 3 },11, /* Energy */
215 10, 10, 0, 0, 8, A_INT, SPE_ENTRAPPING, -4, 40
217 { {"Anachronist", 0}, {
218 {"Survivor", 0},
219 {"Recruit",0},
220 {"Insurgent",0},
221 {"Trooper", 0},
222 {"Rebel Leader", 0},
223 {"Chrono Commandant", 0},
224 {"Anachrononononaut",0},
225 {"Fatebreaker", 0},
226 {"Hope of the Future", 0} },
227 0, 0, 0, /* chosen randomly from among the other roles */
228 "Ana", "the Last Redoubt", "Ground Zero",
229 PM_ANACHRONIST, NON_PM, PM_UNDEAD_ANACHRONIST, NON_PM, PM_JEDI,
230 PM_SARA__THE_LAST_ORACLE, PM_TROOPER, PM_ELDER_BRAIN, PM_LOWER_BRAIN,
231 PM_DOPPELGANGER, PM_MIND_FLAYER, S_TRAPPER, S_UMBER,
232 ART_ITCHALAQUIAQUE,
233 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
234 /* Str Int Wis Dex Con Cha */
235 /* { 10, 10, 7, 10, 7, 7 }, */
236 { 3, 3, 3, 3, 3, 3 },
237 { 17, 18, 17, 13, 19, 16 },
238 /* new limit values for the six attributes by Amy */
239 { STR18(100), 14, 14, 18, 20, 12 },
240 /* Init Lower Higher */
241 { 11, 0, 0, 8, 1, 0 }, /* Hit points */
242 { 2, 0, 0, 2, 0, 2 },14, /* Energy */
243 10, 5, 0, 2, 10, A_INT, SPE_SLOW_MONSTER, -9, 20
246 { {"Anachronounbinder", 0}, {
247 {"Hexorcist", 0},
248 {"Anachrononono-nononono", 0},
249 {"Vestige Vanquisher", 0},
250 {"Spirit Killer", 0},
251 {"Mind Player", 0},
252 {"Psionaut", 0},
253 {"Void Voider", 0},
254 {"Telekinetic", 0},
255 {"Keeper of the Gate", 0} },
256 "Tariru", "FIQ", "Demo", /* dnethack players */
257 "Acu", "The Elder Pool", "The Far Reach",
258 PM_ANACHRONOUNBINDER, NON_PM, PM_UNDEAD_ANACHRONOUNBINDER, NON_PM, PM_BRAIN_GOLEM,
259 PM_MASTER_ULITHARID, PM_VERY_MINDLESS_THRALL, /*PM_MENZOBERRANZAN*/PM_DNETHACK_MASTER_DEV, PM_DNETHACK_PLAYER,
260 PM_DOPPELGANGER, PM_MIND_FLAYER, S_TRAPPER, S_UMBER,
261 ART_ELDER_CEREBRAL_FLUID,
262 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
263 /* Str Int Wis Dex Con Cha */
264 { 3, 3, 3, 3, 3, 3 },
265 { 17, 18, 17, 13, 19, 16 },
266 /* new limit values for the six attributes by Amy */
267 { STR18(100), 18, 18, 18, 18, 18 },
268 /* Init Lower Higher */
269 { 14, 0, 0, 4, 2, 0 }, /* Hit points */
270 { 4, 0, 0, 2, 0, 3 },12, /* Energy */
271 10, 5, 0, 2, 10, A_INT, SPE_DETECT_MONSTERS, -9, 20
274 { {"Archeologist", 0}, {
275 {"Digger", 0},
276 {"Field Worker",0},
277 {"Investigator",0},
278 {"Exhumer", 0},
279 {"Excavator", 0},
280 {"Spelunker", 0},
281 {"Speleologist",0},
282 {"Collector", 0},
283 {"Curator", 0} },
284 "Quetzalcoatl", "Camaxtli", "Huhetotl", /* Central American */
285 "Arc", "the College of Archeology", "the Tomb of the Toltec Kings",
286 PM_ARCHEOLOGIST, NON_PM, PM_UNDEAD_ARCHEOLOGIST, NON_PM, NON_PM,
287 PM_LORD_CARNARVON, PM_STUDENT, PM_MINION_OF_HUHETOTL, PM_MINION_OF_QUETZALCOATL,
288 NON_PM, PM_HUMAN_MUMMY, S_SNAKE, S_MUMMY,
289 #if 0
290 ART_WEREBANE, ART_GRAYSWANDIR,
291 #endif
292 ART_ORB_OF_DETECTION,
293 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
294 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
295 /* Str Int Wis Dex Con Cha */
296 /* { 7, 10, 10, 7, 7, 7 },*/
297 { 3, 3, 3, 3, 3, 3 },
298 { 20, 20, 20, 10, 20, 10 }, /* This must add up to 100 or it won't work right (attrib.c uses this code). Again, thanks to CK for pointing it out. --Amy */
299 /* new limit values for the six attributes by Amy */
300 { 18, 16, 17, 20, 16, 18 },
301 /* Init Lower Higher */
302 { 16, 0, 0, 8, 1, 0 }, /* Hit points */
303 { 10, 0, 0, 1, 0, 1 },14, /* Energy */
304 10, 5, 0, 2, 10, A_INT, SPE_MAGIC_MAPPING, -4, 40
307 { {"Artist", 0}, {
308 {"Paint Splotcher", 0},
309 {"Brushswinger", 0},
310 {"Color Cribber", 0},
311 {"Painter", 0},
312 {"Picture Designer", 0},
313 {"Successful Artist", 0},
314 {"Brush Virtue", 0},
315 {"Canvas Enchanter", 0},
316 {"Creator of Unique Paintings", 0}},
317 "Leonardo", "Picasso", "Dali", /* famous artists */
318 "Art", "Painting Studio", "Vandalized Plains",
319 PM_ARTIST, NON_PM, PM_UNDEAD_ARTIST, NON_PM, NON_PM,
320 PM_PAINTMASTER, PM_GUIDE, PM_BRAGGING_VANDAL, PM_FUCKED_UP_PERSON,
321 PM_CRITIC, PM_VANDAL, S_HUMAN, S_HUMAN,
323 ART_MIRAGE_TAIL,
324 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
325 /* Str Int Wis Dex Con Cha */
326 /*{ 7, 10, 6, 7, 7, 10 },*/
327 { 3, 3, 3, 3, 3, 3 },
328 { 12, 20, 20, 20, 12, 16 },
329 /* new limit values for the six attributes by Amy */
330 { STR19(20), 15, 15, 20, 16, 19 },
331 /* Init Lower Higher */
332 { 16, 0, 0, 8, 0, 0 }, /* Hit points */
333 { 12, 0, 0, 1, 0, 1 },14, /* Energy */
334 0, 5, 1, 2, 10, A_INT, SPE_INVISIBILITY, -4, 70
338 { {"Assassin", 0}, {
339 {"Dark Brotherhood Initiate", 0},
340 {"Whetblade", 0},
341 {"Killer", 0},
342 {"Contract Killer", 0},
343 {"Silent Killer", 0},
344 {"Devious Cutthroat", 0},
345 {"Knife After Dark", 0},
346 {"Deadly Blade", 0},
347 {"Merciless Murderer", 0}},
348 "Ehud", "Ford", "Ivins", /* unknown origin */
349 "Ass", "the Assassins' Guild Hall", "the Thieves' Guild Hall",
350 PM_ASSASSIN, NON_PM, PM_UNDEAD_ASSASSIN, NON_PM, PM_HUMAN_THIEF,
351 PM_MASTER_OF_ASSASSINS, PM_THUG, PM_MASTER_OF_THIEVES, PM_MASTER_OF_DESASTER, /* also tourist quest nemesis */
352 PM_SMIRKING_SNEAK_THIEF, PM_ROGUE, S_HUMAN, S_HUMAN,
354 ART_KILLING_EDGE,
355 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
356 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
357 /* Str Int Wis Dex Con Cha */
358 /*{ 7, 7, 7, 10, 7, 6 },*/
359 { 3, 3, 3, 3, 3, 3 },
360 { 30, 15, 5, 30, 15, 5 },
361 /* new limit values for the six attributes by Amy */
362 { STR18(50), 18, 14, 21, 16, 19 },
363 /* Init Lower Higher */
364 { 15, 0, 0, 8, 1, 0 }, /* Hit points */
365 { 3, 0, 0, 1, 0, 1 },11, /* Energy */
366 10, 8, 0, 1, 9, A_INT, SPE_INVISIBILITY, -4, 40
369 { {"Astronaut", 0}, {
370 {"Rocket Tester", 0},
371 {"Vostok Martyr", 0},
372 {"Deimos Stevedore", "Moon Walker"},
373 {"Leonov Engineer", 0},
374 {"Marauder Pilot", 0},
375 {"Von Braun Staff", 0},
376 {"LongShot Navigator", 0},
377 {"Tie Fighter Ace", 0},
378 {"Nostromo Survivor", 0} },
379 "Neil Armstrong", "_Sally Ride", "Yuri Gagarin", /* famous astronauts */
380 "Ast", "NAFA Headquarter", "Terrorist Underground",
381 PM_ASTRONAUT, NON_PM, PM_UNDEAD_ASTRONAUT, NON_PM, PM_UFO,
382 PM_NAFA_BOSS, PM_STARNOID, PM_THE_MAN_IN_THE_MOON, PM_DECIMATED_SPINNER,
383 PM_NASTY_LIGHT, PM_PSI_RAY, S_LIGHT, S_WORM_TAIL,
385 ART_ROCKET_IMPULSE, /* torso armor */
386 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
387 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
388 /* Str Int Wis Dex Con Cha */
389 /*{ 16, 7, 7, 15, 16, 6 },*/
390 { 3, 3, 3, 3, 3, 3 },
391 { 20, 14, 14, 12, 20, 20 },
392 /* new limit values for the six attributes by Amy */
393 { STR19(19), 19, 19, 20, 20, 19 },
394 /* Init Lower Higher */
395 { 19, 0, 0, 5, 4, 0 }, /* Hit points */
396 { 12, 0, 0, 3, 0, 2 }, 14, /* Energy */
397 10, 6, 0, 2, 10, A_INT, SPE_TIME_STOP, -4, 100
400 { {"Augurer", 0}, {
401 {"College Student", 0},
402 {"Deviant Seer", 0},
403 {"Fortune Teller", 0},
404 {"Seer Graduate", 0},
405 {"Visioneer", 0},
406 {"Wise Seer", 0},
407 {"Void Diviner", 0},
408 {"Psychic Visor", 0},
409 {"Hidden Depth Explorer", 0} },
410 "Dunlain", "Savos Aren", "_Hert the Vampire", /* Skyrim */
411 "Aug", "Icy Depths of Winterhold",
412 "Labyrinthian Den",
413 PM_AUGURER, NON_PM, PM_UNDEAD_AUGURER, NON_PM, PM_FLOATING_EYE,
414 PM_UPPER_AUGURER, PM_STUDENT, PM_ESTORMO, PM_ANCANO,
415 PM_THALMOR, PM_FAIRY_DRAGON, S_DRAGON, S_HUMAN,
417 ART_ARCHON_STAFF,
418 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
419 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
420 /* Str Int Wis Dex Con Cha */
421 /*{ 10, 7, 8, 8, 7, 7 },*/
422 { 3, 3, 3, 3, 3, 3 },
423 { 5, 30, 30, 5, 5, 25 },
424 /* new limit values for the six attributes by Amy */
425 { 10, 22, 25, 17, 13, 16 },
426 /* Init Lower Higher */
427 { 9, 0, 0, 0, 1, 0 }, /* Hit points */
428 { 18, 4, 0, 4, 0, 8 },10, /* Energy */
429 10, 8,-2, 2, 20, A_WIS, SPE_PASSWALL, -4, 200
432 { {"Barbarian", 0}, {
433 {"Plunderer", "Plunderess"},
434 {"Pillager", 0},
435 {"Bandit", 0},
436 {"Brigand", 0},
437 {"Raider", 0},
438 {"Reaver", 0},
439 {"Slayer", 0},
440 {"Chieftain", "Chieftainess"},
441 {"Conqueror", "Conqueress"} },
442 "Mitra", "Crom", "Set", /* Hyborian */
443 "Bar", "the Camp of the Duali Tribe", "the Duali Oasis",
444 PM_BARBARIAN, NON_PM, PM_UNDEAD_BARBARIAN, NON_PM, NON_PM,
445 PM_PELIAS, PM_CHIEFTAIN, PM_THOTH_AMON, PM_THOTH_AMUN,
446 PM_OGRE, PM_TROLL, S_OGRE, S_TROLL,
447 #if 0
448 ART_CLEAVER, ART_DEATHSWORD,
449 #endif
450 ART_HEART_OF_AHRIMAN,
451 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
452 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
453 /* Str Int Wis Dex Con Cha */
454 /*{ 16, 7, 7, 15, 16, 6 },*/
455 { 3, 3, 3, 3, 3, 3 },
456 { 30, 6, 7, 20, 30, 7 },
457 /* new limit values for the six attributes by Amy */
458 { STR19(22), 8, 8, 16, 20, 8 },
459 /* Init Lower Higher */
460 { 20, 0, 0,10, 2, 0 }, /* Hit points */
461 { 5, 0, 0, 1, 0, 1 },10, /* Energy */
462 10, 14, 0, 0, 8, A_INT, SPE_HASTE_SELF, -4, 15
465 { {"Bard", 0}, {
466 {"Rhymer", 0},
467 {"Lyrist", 0},
468 {"Sonneteer", 0},
469 {"Jongleur", 0},
470 {"Troubadour", 0},
471 {"Minstrel", 0},
472 {"Lorist", 0},
473 {"Well-known Bard", 0},
474 {"Master Bard", 0} },
475 "Garl Glittergold", "Flandal Steelskin", "Urdlen",
476 "Brd", "the Conservatorium", "the Island of Anthemoessa",
477 PM_BARD, NON_PM, PM_UNDEAD_BARD, NON_PM, NON_PM,
478 PM_PINDAR, PM_RHYMER, PM_AGLAOPE, PM_SKYLLA,
479 PM_SNAKE, PM_WHITE_UNICORN, S_SNAKE, S_UNICORN,
480 ART_LYRE_OF_ORPHEUS,
481 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
482 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
483 /* Str Int Wis Dex Con Cha */
484 /*{ 7, 7, 7, 10, 6, 10 },*/
485 { 3, 3, 3, 3, 3, 3 },
486 { 10, 10, 15, 25, 10, 30 },
487 /* new limit values for the six attributes by Amy */
488 { 14, 18, 18, 18, 15, 22 },
489 /* Init Lower Higher */
490 { 11, 0, 0, 8, 1, 0 }, /* Hit points */
491 { 4, 3, 0, 1, 0, 2 },10, /* Energy */
492 10, 3,-3, 2, 9, A_INT, SPE_SLEEP, -4, 40
496 { {"Binder", 0}, {
497 {"Exile", 0},
498 {"Heratic", 0},
499 {"Cultist", 0},
500 {"Real Binder", 0},
501 {"Akousmatikoi", 0},
502 {"Mathematikoi", 0},
503 {"Doctor", 0},
504 {"Unbinder", 0},
505 {"Gnostikos", 0} },
506 "Yaldabaoth", "the void", "_Sophia", /* Gnostic */
507 "Bin", "the lost library", "the Tower of Woe",
508 PM_BINDER, NON_PM, PM_UNDEAD_BINDER, NON_PM, NON_PM,
509 PM_STRANGE_CORPSE, NON_PM, PM_ACERERAK, PM_RECERARAK,
510 PM_SKELETON, PM_LICH, S_HUMANOID, S_LICH,
511 ART_PEN_OF_THE_VOID,
512 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
513 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
514 /* Str Int Wis Dex Con Cha */
515 /*{ 6, 6, 6, 6, 6, 6 },*/
516 { 3, 3, 3, 3, 3, 3 },
517 { 16, 17, 17, 17, 16, 17 },
518 /* new limit values for the six attributes by Amy */
519 { STR18(100), 18, 18, 18, 18, 18 },
520 /* Init Lower Higher */
521 { 11, 0, 0, 10, 2, 0 }, /* Hit points */
522 { 5, 0, 1, 0, 1, 0 },15, /* Energy */
523 -5, 10, 5, 10, 25, A_INT, SPE_SLEEP, -14, 30
526 { {"Bleeder", 0}, {
527 {"Leg-scratched Boy", "Leg-scratched Girl"},
528 {"Wounded Guy", "Wounded Gal"},
529 {"Dripper", 0},
530 {"Pourer", 0},
531 {"Red Lake Creator", 0},
532 {"Tearshedder", 0},
533 {"Unlucky Individual", 0},
534 {"Diseased Sibling", 0},
535 {"Cursed King", "Cursed Queen"} },
536 "Glycocalyx", "Fibrinogen", "_Hemophilia", /* hereditary disease */
537 "Ble", "hemorrhagic hospital", "red-sprinkled battle area",
538 PM_BLEEDER, NON_PM, PM_UNDEAD_BLEEDER, NON_PM, PM_ANIMATED_WEDGE_SANDAL,
539 PM_DISEASED_HEIR, PM_UNFORTUNATE_VICTIM, PM_BLOODY_BEAUTIES, PM_SCRATCHING_MARIA,
540 PM_BATTLE_GIRL, PM_ANIMATED_SEXY_LEATHER_PUMP, S_GOLEM, S_HUMAN,
541 ART_BLOODY_BEAUTY,
542 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
543 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
544 /* Str Int Wis Dex Con Cha */
545 /*{ 6, 6, 6, 6, 6, 6 },*/
546 { 3, 3, 3, 3, 3, 3 },
547 { 12, 20, 24, 8, 10, 26 },
548 /* new limit values for the six attributes by Amy */
549 { STR18(100), 20, 20, 18, 20, 18 },
550 /* Init Lower Higher */
551 { 20, 0, 0, 16, 12, 0 }, /* Hit points */
552 { 8, 0, 4, 0, 4, 0 },15, /* Energy */
553 0, 10, 5, 10, 25, A_INT, SPE_FULL_HEALING, -4, 35
556 { {"Bloodseeker", 0}, {
557 {"Battlefield Newbie", 0},
558 {"Training Fighter", 0},
559 {"Weaponbearer", 0},
560 {"Battle Veteran", 0},
561 {"Honored Fighter", 0},
562 {"Cruel Warlord", 0},
563 {"Bonecrusher", 0},
564 {"Spinebreaker", 0},
565 {"Decapitator", 0}},
566 "_Rhea Oro", "_Liebea Luna", "_Elenya Pure", /* taken from a fanfic */
567 "Blo", "Vlad's Second Tower", "deep in the depths of the dungeon",
568 PM_BLOODSEEKER, NON_PM, PM_UNDEAD_BLOODSEEKER, NON_PM, PM_VAMPIRE,
569 PM_VLAD_THE_SKEWERER, PM_CHIEFTAIN, PM_MAILER_DAEMON, PM_SPAM_MAIL_DEMON,
570 PM_ANIMATED_ARMOR, PM_PRINTER_DAEMON, S_GOLEM, S_DEMON,
572 ART_RUPTURER,
573 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
574 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
575 /* Str Int Wis Dex Con Cha */
576 /*{ 16, 7, 7, 15, 16, 6 },*/
577 { 3, 3, 3, 3, 3, 3 },
578 { 30, 6, 7, 20, 30, 7 },
579 /* new limit values for the six attributes by Amy */
580 { STR19(19), 12, 14, 18, 18, 12 },
581 /* Init Lower Higher */
582 { 20, 0, 0,10, 2, 0 }, /* Hit points */
583 { 5, 0, 0, 1, 0, 1 },10, /* Energy */
584 10, 14, 0, 0, 8, A_INT, SPE_DRAIN_LIFE, -4, 20
586 { {"Bosmer", 0}, {
587 {"Treehut Dweller", 0},
588 {"Flora Watcher", 0},
589 {"Timberlander", 0},
590 {"Leafcloth Wearer", 0},
591 {"Woodrunner", 0},
592 {"Jungle Hunter", 0},
593 {"Guerilla Bowman", 0},
594 {"Bow Sniper", 0},
595 {"Master Hunter", 0} },
596 "Eddergud", "Vhaeraun", "the black web", /* Elven */
598 "Bos", "Valenwood", "Fiery Pits of Despair",
599 PM_BOSMER, NON_PM, PM_UNDEAD_BOSMER, NON_PM, PM_DINGO_PUPPY,
600 PM_GLARTHIR, PM_HIGHEST_ELF, PM_ELSE_GOD_HATER, PM_MYTHICAL_DAWN_AGENT,
601 PM_CHASME, PM_FIRE_DEMON, S_DEMON, S_DEMON,
603 ART_BOW_OF_VINES,
604 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
605 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
606 /* Str Int Wis Dex Con Cha */
607 /*{ 13, 13, 13, 9, 13, 7 },*/
608 { 3, 3, 3, 3, 3, 3 },
609 { 10, 15, 15, 30, 10, 20 },
610 /* new limit values for the six attributes by Amy */
611 { 18, 19, 20, 24, 13, 20 },
612 /* Init Lower Higher */
613 { 18, 0, 0, 6, 1, 0 }, /* Hit points */
614 { 8, 0, 0, 2, 0, 2 },12, /* Energy */
615 10, 9, 2, 1, 10, A_INT, SPE_INVISIBILITY, -4, 40
618 { {"Bully", 0}, {
619 {"Money Addict", 0},
620 {"Small-time Bully", 0},
621 {"Little Mobber", 0},
622 {"Clique Bully", 0},
623 {"Cape Stealer", 0},
624 {"Leather-clad Thief", 0},
625 {"Mean Mobbing Bully", 0},
626 {"Violent Bully", 0},
627 {"Weapon Toting Bully", 0}},
628 "_Everella Shrine", "Butch DeLoria", "Draco Malfoy", /* popular bullies */
629 "Bul", "your classroom", "greaseball's home",
630 PM_BULLY, NON_PM, PM_UNDEAD_BULLY, NON_PM, PM_CLEFAIRY,
631 PM_PRINCIPAL_CLARK, PM_THUG, PM_JOE_THE_GREASER, PM_WALLY_WITH_THE_BROLLY,
632 PM_LECTURER, PM_UNDEAD_OFFICER, S_HUMAN, S_HUMAN,
633 ART_SHARPENED_TOOTHPICK,
634 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
635 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
636 /* Str Int Wis Dex Con Cha */
637 /*{ 10, 7, 7, 7, 13, 6 },*/
638 { 3, 3, 3, 3, 3, 3 },
639 { 30, 5, 15, 15, 30, 5 },
640 /* new limit values for the six attributes by Amy */
641 { STR18(100), 12, 10, 19, 18, 18 },
642 /* Init Lower Higher */
643 { 10, 0, 0, 5, 0, 0 }, /* Hit points */
644 { 1, 0, 0, 1, 0, 1 },10, /* Energy */
645 -10, 5, 0, 2, 10, A_INT, SPE_FINGER, -4, 30
648 { {"Butt Lover", 0}, {
649 {"Stroking Hands", 0},
650 {"Feel-Upper", 0},
651 {"Farting Gas Inhaler", 0},
652 {"Squeaking Noise Enjoyer", 0},
653 {"Curve Lover", 0},
654 {"Graceful Body Admirer", 0},
655 {"Blissful Air Current", 0},
656 {"Sexiness Expert", 0},
657 {"Master Softhand", 0} },
658 "_Eveline", "_Elena", "_Marlen",
659 "But", "Farting Gas Chamber", "Stupid Law Factory",
660 PM_BUTT_LOVER, NON_PM, PM_UNDEAD_BUTT_LOVER, NON_PM, PM_JESSICA,
661 PM_BEN_ARGIMUNT, PM_MAIDEN, PM_CATCALL_SELINA, PM_ORGASMIC_BITCH,
662 PM_FARTING_WOMAN, PM_PRETTY_ASIAN_WOMAN, S_HUMAN, S_HUMAN,
664 ART_GROPESTROKER, /* gloves */
665 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
666 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
667 /* Str Int Wis Dex Con Cha */ /* Direct copy from Wizard */
668 /*{ 7, 10, 7, 7, 7, 7 },*/
669 { 3, 3, 3, 3, 3, 3 },
670 { 20, 10, 20, 30, 10, 10 },
671 /* new limit values for the six attributes by Amy */
672 { 18, 12, 15, 20, 14, 12 },
673 /* Init Lower Higher */
674 { 10, 0, 0, 2, 3, 0 }, /* Hit points */
675 { 5, 1, 0, 1, 0, 0 }, 10, /* Energy */
676 10, 10, -2,
677 4, 6, A_INT, SPE_STINKING_CLOUD, -4, 30 /* From old role.c */
680 { {"Camperstriker", 0}, {
681 {"Aimbot User", 0},
682 {"Wallhack Exploiter", 0},
683 {"Dirty Camper", 0},
684 {"Asshole Player", 0},
685 {"Kickban Bait", 0},
686 {"MMORPG Troll", 0},
687 {"Server Hacker", 0},
688 {"Godmode Cheater", 0},
689 {"Instawin Scriptkiddy", 0} },
690 "_the Bitches", "_the Hell Brides", "_the Sluts with Syphilis", /* taken from a fanfic --Amy */
691 "Cam", "Tiny Hamlet", "Inside Part",
692 PM_CAMPERSTRIKER, NON_PM, PM_UNDEAD_CAMPERSTRIKER, NON_PM, NON_PM,
693 PM_MARC, PM_ATTENDANT, PM_ARABELLA, PM_TUFTED_ASIAN_GIRL,
694 PM_SMART_TRAPPER, PM_TRAPPER_KING, S_HUMAN, S_HUMAN,
695 ART_AMULET_OF_KINGS,
696 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
697 /* Str Int Wis Dex Con Cha */
698 { 3, 3, 3, 3, 3, 3 },
699 { 17, 17, 16, 17, 17, 16 },
700 /* new limit values for the six attributes by Amy */
701 { STR18(100), 18, 18, 18, 18, 18 },
702 /* Init Lower Higher */
703 { 14, 0, 0, 4, 1, 0 }, /* Hit points */
704 { 7, 2, 0, 1, 0, 1 },10, /* Energy */
705 0, 12,-2, 0, 10, A_INT, SPE_REMOVE_CURSE, -4, 100
708 { { "Cartomancer", 0 }, {
709 { "Learner", 0 },
710 { "Shuffler", 0 },
711 { "Player", 0 },
712 { "Reader", 0 },
713 { "Strategist", 0 },
714 { "Deck Stacker", 0 },
715 { "Card Collector", 0 },
716 { "Deck Stacker", 0 },
717 { "King of Games", "Queen of Games" } },
718 "Johnny", "Spike", "Timmy", /* Card player archetypes */
719 "Car", "the Card Training School", "the Great Card Arena",
720 PM_CARTOMANCER, NON_PM, PM_UNDEAD_CARTOMANCER, NON_PM, PM_LITTLE_DOG,
721 PM_LORD_OF_THE_CARDS, PM_STUDENT, PM_DAL_ZETHIRE, PM_MTG_OVERLORD,
722 PM_COBRA, PM_GUARDIAN_NAGA, S_SNAKE, S_NAGA,
724 ART_HOLOGRAPHIC_VOID_LILY,
725 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
726 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
727 /* Str Int Wis Dex Con Cha */
728 { 3, 3, 3, 3, 3, 3 },
729 { 10, 30, 10, 20, 20, 10 },
730 /* new limit values for the six attributes by Amy */
731 { 18, 20, 18, 18, 16, 18 },
732 /* Init Lower Higher */
733 { 15, 0, 0, 8, 1, 0 }, /* Hit points */
734 { 15, 3, 0, 2, 0, 3 },12, /* Energy */
735 0, 1, 0,
736 3, 10, A_INT, SPE_CREATE_MONSTER, -4, 50
739 { {"Caveman", "Cavewoman"}, {
740 {"Troglodyte", 0},
741 {"Aborigine", 0},
742 {"Wanderer", 0},
743 {"Vagrant", 0},
744 {"Wayfarer", 0},
745 {"Roamer", 0},
746 {"Nomad", 0},
747 {"Rover", 0},
748 {"Pioneer", 0} },
749 "Anu", "_Ishtar", "Anshar", /* Babylonian */
750 "Cav", "the Caves of the Ancestors", "the Dragon's Lair",
751 PM_CAVEMAN, PM_CAVEWOMAN, PM_UNDEAD_CAVEMAN, PM_UNDEAD_CAVEWOMAN, PM_LITTLE_DOG,
752 PM_SHAMAN_KARNOV, PM_NEANDERTHAL, PM_CHROMATIC_DRAGON, PM_OCTARINE_DRAGON,
753 PM_BUGBEAR, PM_HILL_GIANT, S_HUMANOID, S_GIANT,
754 #if 0
755 ART_GIANTKILLER, ART_SKULLCRUSHER,
756 #endif
757 ART_SCEPTRE_OF_MIGHT,
758 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
759 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
760 /* Str Int Wis Dex Con Cha */
761 /*{ 10, 7, 7, 7, 8, 6 },*/
762 { 3, 3, 3, 3, 3, 3 },
763 { 30, 6, 7, 20, 30, 7 },
764 /* new limit values for the six attributes by Amy */
765 { STR19(20), 8, 10, 17, 21, 6 },
766 /* Init Lower Higher */
767 { 19, 0, 0, 8, 2, 0 }, /* Hit points */
768 { 3, 0, 0, 1, 0, 1 },10, /* Energy */
769 0, 12, 0, 1, 8, A_INT, SPE_DIG, -4, 20
772 { {"Cellar Child", 0}, {
773 {"Isolated Modder", 0},
774 {"Autistic Programmer", 0},
775 {"Whiny Crybaby", 0},
776 {"Balance Analphabet", 0},
777 {"Dumplog Scanner", 0},
778 {"Ragefitter", 0},
779 {"Accusing Lux", 0},
780 {"Repository Deleter", 0},
781 {"Self-Appointed Coding God", 0} },
782 "_Your Magical Roommate", "_Your Annoying Sister", "_Your Insufferable Mother-In-Law", /* special */
783 "Cel", "Lightless Crib", "Agoraphobia Avenue",
784 PM_CELLAR_CHILD, NON_PM, PM_UNDEAD_CELLAR_CHILD, NON_PM, PM_MONKEY,
785 PM_KRIS_TIAN, PM_ATTENDANT, PM_GRANDMASTER_SVEN, PM_WORLD_PWNZOR,
786 PM_VOLCANO_GIANT, PM_ALGROTH, S_GIANT, S_TROLL,
788 ART_PEDIATRIC_GAWKING_GANGS,
789 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
790 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
791 /* Str Int Wis Dex Con Cha */
792 /*{ 16, 7, 7, 15, 16, 6 },*/
793 { 3, 3, 3, 3, 3, 3 },
794 { 5, 5, 5, 75, 5, 5 },
795 /* new limit values for the six attributes by Amy */
796 { 12, 10, 15, 14, 12, 4 },
797 /* Init Lower Higher */
798 { 8, 0, 0, 1, 1, 0 }, /* Hit points */
799 { 12, 0, 0, 5, 0, 4 }, 9, /* Energy */
800 -20, 0, -6, 10, 20, A_INT, SPE_TELEPORT_AWAY, -4, 200
803 { {"Chaos Sorceror", 0}, {
804 {"Chaotic Dweller", 0},
805 {"Enemy of Order", 0},
806 {"Madman", "Madwoman"},
807 {"Vicious Diceroller", 0},
808 {"Russian Roulette Player", 0},
809 {"Spell Randomizer", 0},
810 {"Effect Warper", 0},
811 {"Cool Calculator", 0},
812 {"Master of Entropy", 0} },
813 "_Arle Nadja", "_Celine Jules", "_Miki Onimaru", /* anime */
814 "Cha", "Motherfucker's Den", "Robber's Crib",
815 PM_CHAOS_SORCEROR, NON_PM, PM_UNDEAD_CHAOS_SORCEROR, NON_PM, PM_CHAOS_POLYMORPHER,
816 PM_H__THE_MOTHERFUCKER, PM_ATTENDANT, PM_CRISTI_THE_ROBBER, PM_SIGMUND_FROM_DCSS,
817 PM_CHANGING_LASER, PM_RNG_LASER, S_LIGHT, S_EYE,
818 ART_BLADE_OF_GOTHMOG,
819 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
820 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
821 /* Str Int Wis Dex Con Cha */
822 { 3, 3, 3, 3, 3, 3 },
823 { 20, 20, 15, 10, 25, 10 },
824 /* new limit values for the six attributes by Amy */
825 { 18, 20, 16, 14, 14, 13 },
826 /* Init Lower Higher */
827 { 12, 0, 0, 1, 10, 0 }, /* Hit points */
828 { 17, 4, 0, 6, 0, 1 }, 16, /* Energy */
829 -10, 0, 2,
830 3, 12, A_INT, SPE_HELLISH_BOLT, -4, 100 /* From old role.c */
833 { {"Chevalier", 0}, {
834 {"Basher", 0},
835 {"Undefiler", 0},
836 {"Faithful", 0},
837 {"Religious One", 0},
838 {"Returned One", 0},
839 {"Sacred One", 0},
840 {"Celestial", 0},
841 {"Decomposer", 0},
842 {"Annihilator", 0} },
843 "Buddha", "Jahwe", "Allah", /* major real-world religions */
844 "Che", "Ancient Temple", "the World-Eater's domain",
845 PM_CHEVALIER, NON_PM, PM_UNDEAD_CHEVALIER, NON_PM, NON_PM,
846 PM_EREC, PM_ACOLYTE, PM_ALDUIN, PM_WALDUIN,
847 PM_TROLL_ZOMBIE, PM_MANTICORE, S_DRAGON, S_DRAGON,
848 ART_MAGIC_MIRROR_OF_ARTHUBERT,
849 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
850 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
851 /* Str Int Wis Dex Con Cha */
852 /*{ 7, 7, 10, 7, 7, 7 },*/
853 { 3, 3, 3, 3, 3, 3 },
854 { 20, 10, 30, 15, 20, 5 },
855 /* new limit values for the six attributes by Amy */
856 { STR18(50), 16, 18, 17, 17, 18 },
857 /* Init Lower Higher */
858 { 20, 0, 0, 9, 1, 0 }, /* Hit points */
859 { 17, 3, 0, 2, 0, 2 },10, /* Energy */
860 0, 3,-2, 2, 10, A_WIS, SPE_REMOVE_CURSE, -4, 70
863 { {"Climacterial", 0}, {
864 {"Body Juice Worshipper", 0},
865 {"Icky Sapper", 0},
866 {"Outbleeder", 0},
867 {"Orgasmaniac", 0},
868 {"Menstrator", 0},
869 {"Eggjumper", 0},
870 {"Menopause Hesitator", 0},
871 {"Big Birthmother", 0},
872 {"Smegmatic Reacher", 0} },
873 "_Sophie Kinsella", "_Mavis Cheek", "_Charlotte Roche", /* authors */
874 "Cli", "Countryside Birthclinic", "The Temple of Xian",
875 PM_CLIMACTERIAL, NON_PM, PM_UNDEAD_CLIMACTERIAL, NON_PM, PM_ISABEL,
876 PM_NURSE_CATHERINE, PM_ATTENDANT, PM_LARUS, PM_MALE_VERSION_OF_LARA_CROFT,
877 PM_BROWN_BEAR, PM_HANGING_SEMEN_EJACULATOR, S_QUADRUPED, S_TURRET,
878 ART_CLICKPASS, /* soft chastity belt */
879 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
880 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
881 /* Str Int Wis Dex Con Cha */
882 /*{ 13, 13, 13, 9, 13, 7 },*/
883 { 3, 3, 3, 3, 3, 3 },
884 { 10, 20, 10, 20, 15, 25 },
885 /* new limit values for the six attributes by Amy */
886 { 14, 19, 18, 22, 18, 22 },
887 /* Init Lower Higher */
888 { 20, 0, 0, 2, 1, 0 }, /* Hit points */
889 { 4, 0, 0, 2, 0, 7 },14, /* Energy */
890 10, 8, -5, 3, 6, A_INT, SPE_BLOOD_STREAM, -4, 50
893 { { "Combatant", 0 }, {
894 { "Fighter Lad", 0 },
895 { "Puncher", 0 },
896 { "Weaponless Adventurer", 0 },
897 { "Spell-Abstainer", 0 },
898 { "Trained Muscle", 0 },
899 { "Lack Compensator", 0 },
900 { "Specialized Minmaxer", 0 },
901 { "Almost Supreme Master", 0 },
902 { "Combat Boss", 0 } },
903 "Arev", "U.GUR", "Khaldi", /* armenian */
904 "Com", "Battlefist Grounds", "Ontology Stage",
905 PM_COMBATANT, NON_PM, PM_UNDEAD_COMBATANT, NON_PM, NON_PM,
906 PM_MASTER_KENJI, PM_STUDENT, PM_RIVAL_OF_ENVY, PM_DARK_HAIRED_BOSS,
907 PM_APPARITION, PM_SPLICESHEE, S_WRAITH, S_GOLEM,
908 ART_MAJOR_PRESENCE, /* gauntlets, +2 to-hit and damage */
909 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
910 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
911 /* Str Int Wis Dex Con Cha */
912 { 3, 3, 3, 3, 3, 3 },
913 { 20, 14, 14, 20, 20, 12 },
914 /* new limit values for the six attributes by Amy */
915 { STR18(100), 16, 16, 18, 18, 18 },
916 /* Init Lower Higher */
917 { 16, 0, 0, 3, 2, 0 }, /* Hit points */
918 { 5, 3, 0, 2, 0, 2 },14, /* Energy */
919 10, 7, -2,
920 5, 10, A_INT, SPE_GAIN_SPACT, -4, 40
923 { {"Convict", 0}, {
924 {"Detainee", 0},
925 {"Inmate", 0},
926 {"Jail-bird",0},
927 {"Prisoner",0},
928 {"Outlaw", 0},
929 {"Crook", 0},
930 {"Desperado", 0},
931 {"Felon", 0},
932 {"Fugitive", 0} },
933 "Ilmater", "Grumbar", "_Tymora", /* Faerunian */
934 "Con", "Castle Waterdeep Dungeon", "the Warden's Level",
935 PM_CONVICT, NON_PM, PM_UNDEAD_CONVICT, NON_PM, PM_SEWER_RAT,
936 PM_ROBERT_THE_LIFER, PM_INMATE, PM_WARDEN_ARIANNA, PM_WARDEN_BRIANNA,
937 PM_GIANT_BEETLE, PM_SOLDIER_ANT, S_RODENT, S_SPIDER,
938 ART_IRON_BALL_OF_LIBERATION,
939 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
940 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
941 /* Str Int Wis Dex Con Cha */
942 /*{ 10, 7, 7, 7, 13, 6 },*/
943 { 3, 3, 3, 3, 3, 3 },
944 { 20, 20, 10, 20, 20, 10 },
945 /* new limit values for the six attributes by Amy */
946 { STR18(100), 12, 12, 20, 18, 18 },
947 /* Init Lower Higher */
948 { 12, 0, 0, 8, 0, 0 }, /* Hit points */
949 { 3, 0, 0, 1, 0, 1 },10, /* Energy */
950 -50, 5, 0, 2, 10, A_INT, SPE_TELEPORT_AWAY, -4, 20
953 { {"Cook", 0}, {
954 {"one who forgot the salt", 0},
955 {"pepper-choker", 0},
956 {"second-class waiter", "second-class waitress"},
957 {"waiter", "waitress"},
958 {"kitchen chef", 0},
959 {"star cook", 0},
960 {"five-star cook", 0},
961 {"national championship cook", 0},
962 {"world-championship cook", 0} },
963 "McDonalds", "Kentucky's Fried Chicken", "Burger King", /* fast food places */
964 "Coo", "Goose Cooking Quarters", "that stupid monkey's place",
965 PM_COOK, NON_PM, PM_UNDEAD_COOK, NON_PM, PM_LITTLE_DOG,
966 PM_KING_K__ROOL, PM_ATTENDANT, PM_DONKEY_KONG, PM_KIDDY_KONG,
967 PM_CROCODILE, PM_MASTODON, S_QUADRUPED, S_FELINE,
969 ART_KITCHEN_CUTTER,
970 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
971 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
972 /* Str Int Wis Dex Con Cha */
973 /*{ 7, 7, 7, 10, 7, 6 },*/
974 { 3, 3, 3, 3, 3, 3 },
975 { 20, 10, 10, 30, 20, 10 },
976 /* new limit values for the six attributes by Amy */
977 { STR18(10), 16, 14, 19, 16, 19 },
978 /* Init Lower Higher */
979 { 9, 0, 0, 3, 1, 0 }, /* Hit points */
980 { 3, 0, 0, 1, 0, 1 },11, /* Energy */
981 10, 8, 0, 1, 9, A_INT, SPE_FIREBALL, -4, 30
985 { {"Courier", 0}, {
986 {"Vault Dweller", 0},
987 {"Hiker", 0},
988 {"Urban Legend",0},
989 {"Landstalker",0},
990 {"Searcher", 0},
991 {"Capital Crime Queen", 0},
992 {"Opportunist", 0},
993 {"Peacebringer", 0},
994 {"Messiah", 0} },
995 "President Kimball", "Mr. House", "Caesar", /* Fallout New Vegas */
996 "Cou", "in the middle of nowhere", "scum hideout",
997 PM_COURIER, NON_PM, PM_UNDEAD_COURIER, NON_PM, PM_LITTLE_DOG,
998 PM_YES_MAN, PM_ATTENDANT, PM_SOME_RANDOM_GUY, PM_CLONED_NEW_VEGAS_NPC,
999 PM_JACKAL, PM_CAZADOR, S_DOG, S_ANT,
1000 ART_WITHERED_NINE_MILLIMETER,
1001 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
1002 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1003 /* Str Int Wis Dex Con Cha */
1004 /*{ 10, 7, 7, 7, 13, 6 },*/
1005 { 3, 3, 3, 3, 3, 3 },
1006 { 20, 20, 10, 20, 20, 10 },
1007 /* new limit values for the six attributes by Amy */
1008 { STR18(20), 14, 10, 14, 16, 10 },
1009 /* Init Lower Higher */
1010 { 10, 0, 0, 5, 0, 0 }, /* Hit points */
1011 { 1, 0, 0, 1, 0, 1 },10, /* Energy */
1012 -10, 5, 0, 2, 10, A_INT, SPE_ENDURE_HEAT, -4, 20
1015 { {"Cracker", 0}, {
1016 {"Savescummer", 0},
1017 {"File Sharer", 0},
1018 {"W@r3z d00d", 0},
1019 {"Script Kiddie", 0},
1020 {"H@x0r", 0},
1021 {"1337 H@x0r", 0},
1022 {"Decker", 0},
1023 {"Virusneaker", 0},
1024 {"Phreaker", 0} },
1025 "Wikileaks", "Guccifer 2.0", "Anonymous", /* h@cking */
1026 "Cra", "Darknet Gateway", "NSA Office",
1027 PM_CRACKER, NON_PM, PM_UNDEAD_CRACKER, NON_PM, PM_SOFTWARE_BUG,
1028 PM_YHELOTHAR, PM_HACKER, PM_E_TYPE, PM_W_TYPE,
1029 PM_DEPHMAH_SEPHIRAH, PM_RNGED_KOP, S_KOP, S_HUMAN,
1031 ART_ROTATING_THROUGH, /* better iron chain */
1032 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
1033 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1034 /* Str Int Wis Dex Con Cha */
1035 /*{ 16, 7, 7, 15, 16, 6 },*/
1036 { 3, 3, 3, 3, 3, 3 },
1037 { 15, 25, 10, 20, 20, 10 },
1038 /* new limit values for the six attributes by Amy */
1039 { STR18(20), 20, 18, 18, 18, 16 },
1040 /* Init Lower Higher */
1041 { 15, 0, 0, 4, 3, 0 }, /* Hit points */
1042 { 12, 0, 0, 5, 0, 2 }, 12, /* Energy */
1043 -10, 6, 1, 4, 12, A_INT, SPE_GAIN_SPACT, -4, 100
1046 { {"Cruel Abuser", 0}, { /* too many role names starting with A, so I added that adjective --Amy */
1047 {"Whipper", 0},
1048 {"Lasher", 0},
1049 {"Sadist",0},
1050 {"Kinky Fucker",0},
1051 {"Punisher", 0},
1052 {"Riding Crop Lover", 0},
1053 {"BDSM Fetishist", 0},
1054 {"Painmaker", 0},
1055 {"Grey wannabe", 0} },
1056 "Jacob Black", "_Bella Swan", "Edward Cullen", /* Twilight */
1057 "Abu", "Red Room of Death", "Little Miss Steele's Apartment",
1058 PM_CRUEL_ABUSER, NON_PM, PM_UNDEAD_CRUEL_ABUSER, NON_PM, PM_CRUEL_ABUSER,
1059 PM_CHRISTIAN_GRAY, PM_INMATE, PM_ANASTASIA_STEELE, PM_WHINY_MARY_SUE,
1060 PM_OFFICER, PM_KOP_KCHIEF, S_KOP, S_HUMAN,
1061 ART_PAINKILLER,
1062 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
1063 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1064 /* Str Int Wis Dex Con Cha */
1065 /*{ 10, 7, 7, 7, 13, 6 },*/
1066 { 3, 3, 3, 3, 3, 3 },
1067 { 20, 20, 10, 20, 20, 10 },
1068 /* new limit values for the six attributes by Amy */
1069 { STR18(100), 14, 8, 18, 19, 18 },
1070 /* Init Lower Higher */
1071 { 12, 0, 0, 8, 0, 0 }, /* Hit points */
1072 { 3, 0, 0, 1, 0, 1 },10, /* Energy */
1073 -10, 5, 0, 2, 10, A_INT, SPE_FORCE_BOLT, -4, 40
1076 { {"Cyberninja", 0}, { /* ZAPM ninja */
1077 {"Eavesdropper", 0},
1078 {"Looming Shadow", 0},
1079 {"Infiltrator", 0},
1080 {"Sabotager", 0},
1081 {"Terrorist", 0},
1082 {"Corporate Spy", 0},
1083 {"Black Hand", 0},
1084 {"Cyber Assassin", 0},
1085 {"Unseen Master", 0} },
1086 "Diddy the Fail Master", "Bantor the Gay Voice", "Conker the Bad Fur Squirrel", /* Diddy Kong Failing :P */
1087 "Cyb", "Teki-Owned Castle", "Rice Plant Fields",
1088 PM_CYBERNINJA, NON_PM, PM_UNDEAD_CYBERNINJA, NON_PM, PM_DENRYU,
1089 PM_PRINCE_SARTOR, PM_ROSHI, PM_FENG_SHAO, PM_ONA_KENUGI,
1090 PM_VARUNA, PM_KILL_WING, S_GREMLIN, S_GREMLIN,
1092 ART_GAYSECT, /* 2h axe with bisection attack */
1093 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
1094 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1095 /* Str Int Wis Dex Con Cha */
1096 /*{ 16, 7, 7, 15, 16, 6 },*/
1097 { 3, 3, 3, 3, 3, 3 },
1098 { 30, 10, 8, 30, 14, 8 },
1099 /* new limit values for the six attributes by Amy */
1100 { STR18(100), 17, 19, 20, 18, 19 },
1101 /* Init Lower Higher */
1102 { 19, 0, 0, 8, 1, 0 }, /* Hit points */
1103 { 7, 0, 0, 1, 0, 1 },11, /* Energy */
1104 10, 10, 0, 0, 8, A_INT, SPE_DEFOG, -4, 25
1107 { {"Dancer", 0}, {
1108 {"Swing Student", 0},
1109 {"Toe Stepper", 0},
1110 {"Spinner", 0},
1111 {"Gymnast", 0},
1112 {"Dancehall Artist", 0},
1113 {"Sindancer", 0},
1114 {"Souldancer", 0},
1115 {"Lifedancer", 0},
1116 {"World-Class Dancer", 0} },
1117 "_the Archomentals", "Cryonax", "_the Elder Elemental",
1118 "Dan", "the Seasonal Festival Grounds", "the Elemental Confluence",
1119 PM_DANCER, NON_PM, PM_UNDEAD_DANCER, NON_PM, PM_LITTLE_DOG,
1120 PM_TROUPE_LEADER, PM_BACKUP_DANCER, PM_BOSS_TIME_ELEMENTAL, PM_FORGOTTEN_REALMS_VORTEX,
1121 PM_THRIAE, PM_GREMLIN, S_GREMLIN, S_ELEMENTAL,
1123 ART_SOFTSTEP, /* anastasia shoes */
1124 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
1125 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1126 /* Str Int Wis Dex Con Cha */
1127 { 3, 3, 3, 3, 3, 3 },
1128 { 20, 10, 15, 30, 10, 20 },
1129 /* new limit values for the six attributes by Amy */
1130 { 18, 18, 20, 25, 16, 25 },
1131 /* Init Lower Higher */
1132 { 10, 0, 0, 8, 1, 0 }, /* Hit points */
1133 { 2, 2, 0, 2, 0, 2 }, 8, /* Energy */
1134 8, 5, -2,
1135 2, 30, A_WIS, SPE_SLOW_MONSTER, -4, 50
1138 { {"Death Eater", 0}, {
1139 {"Filthy Worm", 0},
1140 {"Creeping Maggot", 0},
1141 {"Lowly Being", 0},
1142 {"Black Mage", 0},
1143 {"Curse Caster",0},
1144 {"Imperious", 0},
1145 {"Crucious", 0},
1146 {"Deathbringer", 0},
1147 {"Dark Lord's Bodyguard", 0} },
1148 "Merlin", "Salazar Slytherin", "Lord Voldemort", /* Harry Potter */
1149 "Dea", "Malfoy Manor", "the Order of the Phoenix",
1150 PM_DEATH_EATER, NON_PM, PM_UNDEAD_DEATH_EATER, NON_PM, PM_SESSILICHEN,
1151 PM_BELLATRIX_LESTRANGE, PM_FELLOW_DEATH_EATER, PM_HARRY_POTTER, PM_PARRY_HOTTER,
1152 PM_AUROR, PM_ELVEN_MASTER_ROGUE, S_ANGEL, S_HUMAN,
1153 ART_ELDER_STAFF,
1154 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1155 /* Str Int Wis Dex Con Cha */ /* Direct copy from Wizard */
1156 /*{ 7, 10, 7, 7, 7, 7 },*/
1157 { 3, 3, 3, 3, 3, 3 },
1158 { 10, 30, 10, 20, 20, 10 },
1159 /* new limit values for the six attributes by Amy */
1160 { 16, 20, 12, 16, 14, 8 },
1161 /* Init Lower Higher */
1162 { 17, 0, 0, 8, 1, 0 }, /* Hit points */
1163 { 15, 3, 0, 2, 0, 3 },12, /* Energy */
1164 0, 1, 0,
1165 2, 10, A_INT, SPE_FINGER_OF_DEATH, -4, 200
1168 { {"Demagogue", 0}, {
1169 {"Assumption Spreader", 0},
1170 {"Big Lips", 0},
1171 {"Loud Agitator", 0},
1172 {"Tally Heretic", 0},
1173 {"Mass Rallier", 0},
1174 {"Mob Mobilizer", 0},
1175 {"Politic Revolutionizer", 0},
1176 {"State Usurper", 0},
1177 {"King of Fake News", 0} },
1178 "Heimskr", "_Suffragette", "Cromwell", /* annoying NPCs in certain video games */
1179 "Dem", "Fake News Office", "Recursion Office",
1180 PM_DEMAGOGUE, NON_PM, PM_UNDEAD_DEMAGOGUE, NON_PM, PM_THALMOR,
1181 PM_SINISTER_PRESIDENT, PM_PAGE, PM_MISTER_NAYSAYER, PM_SHROUDED_MIND,
1182 PM_GREYLEVEL_KOP, PM_BLACK_KOPETEER, S_KOP, S_ANGEL,
1184 ART_MESSAGE_MEGAPHONE,
1185 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
1186 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1187 /* Str Int Wis Dex Con Cha */
1188 /*{ 16, 7, 7, 15, 16, 6 },*/
1189 { 3, 3, 3, 3, 3, 3 },
1190 { 20, 5, 5, 20, 30, 20 },
1191 /* new limit values for the six attributes by Amy */
1192 { STR19(20), 10, 10, 18, 19, 18 },
1193 /* Init Lower Higher */
1194 { 20, 0, 0, 8, 4, 0 }, /* Hit points */
1195 { 1, 0, 0, 1, 0, 1 }, 18, /* Energy */
1196 -50, 6, 4, 7, 15, A_INT, SPE_MESSAGE, -4, 30
1199 { {"Diablist", 0}, {
1200 {"Stocks That Hunter Inside Dweller", 0},
1201 {"Cemetery Plunderer", 0},
1202 {"Catacomb Evil-Fighter", 0},
1203 {"Desert Caravanist", 0},
1204 {"Tomb Comber", 0},
1205 {"Jungle Stinger", 0},
1206 {"Temple Cleanser", 0},
1207 {"Heavenly Fortress Defender", 0},
1208 {"Diablobane", 0} },
1209 "Athulua", "Bul-Kathos", "Rathma", /* Diablo series */
1210 "Dia", "Pandemonium Fortress", "Chaos Sanctuary",
1211 PM_DIABLIST, NON_PM, PM_UNDEAD_DIABLIST, NON_PM, PM_ROGUE_HIRELING,
1212 PM_TYRAEL, PM_SUPER_WARRIOR, PM_THE_THICKNESSES, PM_DIPPEL,
1213 PM_STYGIAN_HAG, PM_STORM_CALLER, S_DOG, S_ELEMENTAL,
1215 ART_HAMMER_OF_HELLFORGE, /* mallet */
1216 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
1217 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1218 /* Str Int Wis Dex Con Cha */ /* Direct copy from Wizard */
1219 /*{ 7, 10, 7, 7, 7, 7 },*/
1220 { 3, 3, 3, 3, 3, 3 },
1221 { 17, 17, 16, 17, 17, 16 },
1222 /* new limit values for the six attributes by Amy */
1223 { STR18(100), 18, 18, 18, 18, 18 },
1224 /* Init Lower Higher */
1225 { 25, 0, 0, 1, 1, 0 }, /* Hit points */
1226 { 8, 1, 0, 1, 0, 1 }, 15, /* Energy */
1227 0, 8, 0,
1228 0, 0, A_INT, SPE_FIRE_GOLEM, -4, 100 /* From old role.c */
1231 { {"Dissident", 0}, {
1232 {"Mars Castaway", "Moon Base Staff"},
1233 {"Orbital Watch", 0},
1234 {"Land Agent", 0},
1235 {"Covert Eye", 0},
1236 {"Arms Dealer", 0},
1237 {"Belt Capo", 0},
1238 {"Planet Conqueror", 0},
1239 {"System Kingpin", 0},
1240 {"Sector Crimelord", 0} },
1241 "_Aung San Suu Kyi", "Ai Weiwei", "Vladimir Bukovsky", /* famous dissidents */
1242 "Dis", "Secret Underground", "Gavenmengte Location",
1243 PM_DISSIDENT, NON_PM, PM_UNDEAD_DISSIDENT, NON_PM, PM_CHRISTINE,
1244 PM_DARKNET_GATER, PM_EXTERMINATOR, PM_SCHWING_JI, PM_DICTATORIAL_PRESIDENT,
1245 PM_KOPKEEPER, PM_GOVERNMENT_FLUNKIE, S_KOP, S_ANGEL,
1247 ART_VOICESHUTTER, /* hammer */
1248 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
1249 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1250 /* Str Int Wis Dex Con Cha */
1251 /*{ 16, 7, 7, 15, 16, 6 },*/
1252 { 3, 3, 3, 3, 3, 3 },
1253 { 20, 15, 15, 15, 20, 15 },
1254 /* new limit values for the six attributes by Amy */
1255 { STR18(100), 18, 18, 18, 19, 19 },
1256 /* Init Lower Higher */
1257 { 20, 0, 0, 4, 4, 0 }, /* Hit points */
1258 { 8, 0, 0, 2, 0, 3 }, 16, /* Energy */
1259 10, 9, -1, 3, 12, A_INT, SPE_NEXUSPORT, -4, 50
1262 { {"Diver", 0}, {
1263 {"Beachcomber", 0},
1264 {"Paddler", 0},
1265 {"Snorkeler", 0},
1266 {"Swimmer", 0},
1267 {"Wave-rider", 0},
1268 {"Cruiser", 0},
1269 {"Surfer", 0},
1270 {"Spearfisher", 0},
1271 {"Torpedo", 0} },
1272 "Tane", "Tangaroa", "Whiro", /* Polynesian */
1273 "Div", "Scuba Dock", "Melville's Sea of Doom",
1274 PM_DIVER, NON_PM, PM_UNDEAD_DIVER, NON_PM, NON_PM,
1275 PM_JACQUES_COUSTEAU, PM_ATTENDANT, PM_MOBY_DICK, PM_MOBY_DIGGER,
1276 PM_BLUE_WHALE, PM_TENTACRUEL, S_EEL, S_EEL,
1277 ART_MAUI_S_FISHHOOK,
1278 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
1279 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1280 /* Str Int Wis Dex Con Cha */
1281 /*{ 8, 7, 7, 8, 8, 7 },*/
1282 { 3, 3, 3, 3, 3, 3 },
1283 { 20, 15, 10, 20, 25, 10 },
1284 /* new limit values for the six attributes by Amy */
1285 { STR18(60), 18, 17, 19, 16, 19 },
1286 /* Init Lower Higher */
1287 { 10, 0, 0, 8, 1, 0 }, /* Hit points */
1288 { 1, 0, 0, 1, 0, 1 },12, /* Energy */
1289 10, 8, 0, 2, 9, A_INT, SPE_DETECT_MONSTERS, -4, 40
1292 { {"Doll Mistress", 0}, {
1293 {"Puppet Trainer", 0},
1294 {"Yin Seal Thrower", 0},
1295 {"Spell Capturer", 0},
1296 {"Magic Puppeteer", 0},
1297 {"Death Forest Survivor", 0},
1298 {"Mount Fucking Moon Hiker", 0},
1299 {"Gates of Hell Visitor", 0},
1300 {"Puppet League Participant", 0},
1301 {"Puppet League Champion", 0}},
1302 "_Sakuya", "_Reimu", "_Yukari Yakumo", /* Touhou */
1303 "Dol", "Touhou Pokemon Center", "Scarlet's Concentration Camp",
1304 PM_DOLL_MISTRESS, NON_PM, PM_UNDEAD_DOLL_MISTRESS, NON_PM, PM_GOODWIFE,
1305 PM_TENSHI_AND_MEILING, PM_ATTENDANT, PM_FLANDRE_SCARLET, PM_SCARLET_DEVIL,
1306 PM_ASIAN_LADY, PM_TUFTED_ASIAN_GIRL, S_GOLEM, S_GOLEM,
1307 ART_MASTER_BALL,
1308 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
1309 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1310 /* Str Int Wis Dex Con Cha */
1311 /*{ 13, 13, 13, 9, 13, 7 },*/
1312 { 3, 3, 3, 3, 3, 3 },
1313 { 10, 20, 10, 30, 10, 20 },
1314 /* new limit values for the six attributes by Amy */
1315 { 18, 20, 18, 21, 16, 20 },
1316 /* Init Lower Higher */
1317 { 14, 0, 0, 6, 1, 0 }, /* Hit points */
1318 { 4, 0, 0, 1, 0, 1 },12, /* Energy */
1319 10, 9, 2, 1, 10, A_INT, SPE_STONE_TO_FLESH, -4, 50
1322 { {"Doom Marine", 0}, {
1323 {"Mars Marine", 0},
1324 {"Demon Blaster", 0},
1325 {"Gun-Toting Avenger", 0},
1326 {"Kalashnikov Gunner", 0},
1327 {"BFG Wielder", 0},
1328 {"Spiderdemon Hunter", 0},
1329 {"Nether Realm Traveler", 0},
1330 {"Hell Gate Closer", 0},
1331 {"Cyberdemon's Bane", 0}},
1332 "Zombieman Brigade", "The Revenants", "Cyberdemon MkIII Deluxe", /* Doom 2 */
1333 "Mar", "Martian Base", "Icon of Sin",
1334 PM_DOOM_MARINE, NON_PM, PM_UNDEAD_DOOM_MARINE, NON_PM, PM_SOLDIER,
1335 PM_LAST_SURVIVING_OTHER_HUMAN, PM_SUPER_WARRIOR, PM_JOHN_ROMERO, PM_EYGOORTS_TOGAAL_JEZEHH,
1336 PM_HERRER, PM_ROCKET_FATGUY, S_DEMON, S_DEMON,
1337 ART_BRUTAL_CHAINSAW,
1338 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
1339 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1340 /* Str Int Wis Dex Con Cha */
1341 /*{ 10, 7, 7, 7, 13, 6 },*/
1342 { 3, 3, 3, 3, 3, 3 },
1343 { 30, 4, 3, 30, 30, 3 },
1344 /* new limit values for the six attributes by Amy */
1345 { STR19(19), 13, 12, 16, 20, 12 },
1346 /* Init Lower Higher */
1347 { 15, 0, 0, 10, 0, 0 }, /* Hit points */
1348 { 1, 0, 0, 1, 0, 1 },15, /* Energy */
1349 10, 10, -4, 6, 18, A_INT, SPE_TELEPORT_AWAY, -4, 10
1353 { {"DQ Slime", 0}, {
1354 {"Globule", 0},
1355 {"Moist", 0},
1356 {"Wiggly", 0},
1357 {"Jiggly", 0},
1358 {"Slurry", 0},
1359 {"Slime Knight", 0},
1360 {"Slime Hero", 0},
1361 {"King Slime", "Queen Slime"},
1362 {"Slime God", "Slime Goddess"} },
1363 "King Somnus", "_Rubiss", "Malroth", /* Dragon Warrior */
1364 "Sli", "The Slime Paradise", "The village of Humbleton",
1365 PM_DQ_SLIME, NON_PM, PM_UNDEAD_DQ_SLIME, NON_PM, NON_PM,
1366 PM_SLIME_EMPEROR, PM_GLOBULE, PM_LEGENDARY_HERO, PM_PURGATORY_DUDE,
1367 PM_ROYAL_GUARDIAN, PM_DWARF_KING, S_HUMAN, S_HUMANOID,
1369 ART_SLIME_CROWN,
1370 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
1371 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1372 /* Str Int Wis Dex Con Cha */
1373 /*{ 7, 7, 7, 10, 7, 6 },*/
1374 { 3, 3, 3, 3, 3, 3 },
1375 { 20, 10, 10, 30, 20, 10 },
1376 /* new limit values for the six attributes by Amy */
1377 { STR18(100), 18, 20, 18, 16, 12 },
1378 /* Init Lower Higher */
1379 { 5, 0, 0, 2, 8, 0 }, /* Hit points */
1380 { 1, 0, 0, 2, 0, 8 },15, /* Energy */
1381 -20, 8, 0, 6, 14, A_INT, SPE_ACID_STREAM, -4, 60
1384 { { "Dragonmaster", 0 }, {
1385 { "Servant of Scales", 0 },
1386 { "Page of Wings", 0 },
1387 { "Page of Claws", 0 },
1388 { "Page of Scales", 0 },
1389 { "Knight of the Skies", 0 },
1390 { "Knight of Talons", 0 },
1391 { "Knight of Scales", 0 },
1392 { "Knight of Power", 0 },
1393 { "Knight of Breath", 0 } },
1394 "Enki", "Enlil", "_Ereshkigal", /* Sumerian */
1395 "Dra", "the Sacred Nesting Grounds", "the Draconic Boneyard",
1396 PM_DRAGONMASTER, NON_PM, PM_UNDEAD_DRAGONMASTER, NON_PM, PM_BABY_RED_DRAGON,
1397 PM_DRAKEMOTHER, PM_DRAKE, PM_SLIPSCALE_THE_BETRAYER, PM_ORDRAGON,
1398 PM_VAMPIRE, PM_WRAITH, S_ZOMBIE, S_VAMPIRE,
1399 ART_SHARUR,
1400 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
1401 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1402 /* Str Int Wis Dex Con Cha */
1403 { 3, 3, 3, 3, 3, 3 },
1404 { 30, 15, 15, 10, 20, 10 },
1405 /* new limit values for the six attributes by Amy */
1406 { STR18(100), 19, 18, 15, 17, 15 },
1407 /* Init Lower Higher */
1408 { 14, 0, 0, 8, 2, 0 }, /* Hit points */
1409 { 1, 4, 0, 1, 0, 2 },10, /* Energy */
1410 10, 8, -2,
1411 0, 9, A_INT, SPE_FIREBALL, -4, 30
1414 { {"Druid", 0}, {
1415 {"Fire Tower Caster", 0},
1416 {"Rock Melter", 0},
1417 {"Eruption Magician", 0},
1418 {"Windchiller", 0},
1419 {"Tornado Chief", 0},
1420 {"Volcano Prince", 0},
1421 {"Causer of Hurricanes", 0},
1422 {"Armageddon Mage", 0},
1423 {"Thundering Earthshaker", 0} },
1424 "Tal Rascha", "_Blood Raven", "B-a-a-l", /* Diablo 2 */
1425 "Drd", "Scosglen Forests", "the place where everyone dies",
1426 PM_DRUID, NON_PM, PM_UNDEAD_DRUID, NON_PM, PM_RAVEN,
1427 PM_HALBU, PM_HUNTER, PM_HEFFER, PM_THE_SMITH,
1428 PM_MOVED_SHAMAN, PM_VOLCANIC_ELEMENTAL, S_KOBOLD, S_ELEMENTAL,
1430 ART_HEFFER_S_BOW,
1431 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1432 /* Str Int Wis Dex Con Cha */
1433 /*{ 10, 8, 7, 10, 17, 6 },*/
1434 { 3, 3, 3, 3, 3, 3 },
1435 { 20, 15, 8, 25, 14, 18 },
1436 /* new limit values for the six attributes by Amy */
1437 { STR18(50), 18, 16, 14, 10, 16 },
1438 /* Init Lower Higher */
1439 { 8, 0, 0, 1, 1, 0 }, /* Hit points */
1440 { 12, 0, 0, 3, 0, 4 },11, /* Energy */
1441 10, 7, -3, 2, 9, A_INT, SPE_CREATE_FAMILIAR, -4, 90
1444 { {"Drunk", 0}, {
1445 {"Drinker", 0},
1446 {"Boozer", 0},
1447 {"Alcoholic",0},
1448 {"Winetester",0},
1449 {"Vodkaholic", 0},
1450 {"Scrapper", 0},
1451 {"Bar-Brawler", 0},
1452 {"Beer King", "Beer Queen"},
1453 {"Ethanol Addict", 0} },
1454 "Apollo", "Dionysus", "Pan", /* Drunken */
1455 "Dru", "Brass Lantern Bar", "Moriarty's Saloon",
1456 PM_DRUNK, NON_PM, PM_UNDEAD_DRUNK, NON_PM, NON_PM,
1457 PM_ANDY_STAHL, PM_ATTENDANT, PM_COLIN_MORIARTY, PM_GREEDY_SCOTTISH_BARKEEPER,
1458 PM_GNOME_WARRIOR, PM_DWARF_KING, S_HUMAN, S_GNOME,
1459 ART_CLOAK_OF_NEUTRALITY,
1460 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
1461 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1462 /* Str Int Wis Dex Con Cha */
1463 /*{ 10, 7, 7, 7, 13, 6 },*/
1464 { 3, 3, 3, 3, 3, 3 },
1465 { 20, 20, 10, 20, 20, 10 },
1466 /* new limit values for the six attributes by Amy */
1467 { STR18(100), 14, 16, 15, 18, 12 },
1468 /* Init Lower Higher */
1469 { 12, 0, 0, 8, 0, 0 }, /* Hit points */
1470 { 3, 0, 0, 1, 0, 1 },10, /* Energy */
1471 0, 5, 0, 2, 10, A_INT, SPE_DETECT_FOOD, -4, 30
1474 { {"Dunmer", 0}, {
1475 {"Radical Elf", 0},
1476 {"one who doesn't like foreigners", 0},
1477 {"S'wit Remover", 0},
1478 {"N'wah Basher", 0},
1479 {"causer of suffering", 0},
1480 {"Merciless Assassin", 0},
1481 {"Morag Tong member", 0},
1482 {"Morag Tong leader", 0},
1483 {"Morag Tong Master Assassin", 0} },
1484 "Orome", "_Yavanna", "Tulkas", /* Elven */
1486 "Dun", "Gnisis", "Red Mountain",
1487 PM_DUNMER, NON_PM, PM_UNDEAD_DUNMER, NON_PM, PM_ZUBAT,
1488 PM_VIVEC, PM_HIGHEST_ELF, PM_DAGOTH_UR, PM_MEHRUNES_DAGON,
1489 PM_OBLIVION_DAEDRA, PM_ASH_CLANNFEAR, S_NEMESE, S_NEMESE,
1491 ART_N_WAH_KILLER,
1492 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
1493 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1494 /* Str Int Wis Dex Con Cha */
1495 /*{ 13, 13, 13, 9, 13, 7 },*/
1496 { 3, 3, 3, 3, 3, 3 },
1497 { 25, 15, 15, 20, 20, 5 },
1498 /* new limit values for the six attributes by Amy */
1499 { STR18(50), 17, 14, 18, 16, 16 },
1500 /* Init Lower Higher */
1501 { 18, 0, 0, 6, 1, 0 }, /* Hit points */
1502 { 8, 0, 0, 2, 0, 2 },12, /* Energy */
1503 10, 9, 2, 1, 10, A_INT, SPE_CANCELLATION, -4, 40
1506 { {"Electric Mage", 0}, {
1507 {"Charger", 0},
1508 {"Bolter", 0},
1509 {"Buzzer", 0},
1510 {"Hummer", 0},
1511 {"Energic", 0},
1512 {"Arclite", 0},
1513 {"Volt Technician", 0},
1514 {"Thundermage", 0},
1515 {"Shock-Master", 0} },
1516 "Thomas Alva Edison", "Benjamin Franklin", "_Marilyn Monroe", /* associated with electricity */
1517 "Ele", "Bolttown", "Celebrity Graveyard",
1518 PM_ELECTRIC_MAGE, NON_PM, PM_UNDEAD_ELECTRIC_MAGE, NON_PM, PM_SHOCK_HOUND_PUP,
1519 PM_GUITAR_HERO, PM_SHOCKER, PM_ELVIS_PRESLEY, PM_ROCK_N_ROLL_KING,
1520 PM_SHOGGOTH, PM_BURBLING_BLOB, S_PUDDING, S_BLOB,
1521 ART_THUNDER_WHISTLE,
1522 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
1523 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1524 /* Str Int Wis Dex Con Cha */ /* Direct copy from Wizard */
1525 /*{ 7, 10, 7, 7, 7, 7 },*/
1526 { 3, 3, 3, 3, 3, 3 },
1527 { 10, 30, 10, 20, 20, 10 },
1528 /* new limit values for the six attributes by Amy */
1529 { 16, 20, 16, 16, 15, 14 },
1530 /* Init Lower Higher */
1531 { 15, 0, 0, 8, 1, 0 }, /* Hit points */
1532 { 15, 3, 0, 2, 0, 3 },12, /* Energy */
1533 0, 1, 0,
1534 2, 10, A_INT, SPE_LIGHTNING, -4, 100 /* From old role.c */
1537 { {"Elementalist", 0}, {
1538 {"Fire Fingers", 0},
1539 {"Icicle Hands", 0},
1540 {"Air Current Lover", 0},
1541 {"Earth Digger", 0},
1542 {"Inferno Strider", 0},
1543 {"Hurricane Center", 0},
1544 {"Glacial Avalanche", 0},
1545 {"Migmatite Carver", 0},
1546 {"Astral Controller", 0} },
1547 "Amon Ra", "Hersifon", "Mor Havoc", /* Age of Empires */
1548 "Elm", "Greenery Grove", "Astral Depths",
1549 PM_ELEMENTALIST, NON_PM, PM_UNDEAD_ELEMENTALIST, NON_PM, PM_FRY,
1550 PM_LAURA_THE_ELEMENTAL_LADY, PM_ATTENDANT, PM_LAHIRA_THE_EVIL_ELEMENTALIST, PM_WATER_CONTROL_GIRL,
1551 PM_THEMATIC_ASTRAL_ELEMENTAL, PM_LAURA_S_HUGGING_BOOT, S_ELEMENTAL, S_ELEMENTAL,
1552 ART_BEAM_MULTIPLIER,
1553 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
1554 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1555 /* Str Int Wis Dex Con Cha */ /* Direct copy from Wizard */
1556 /*{ 7, 10, 7, 7, 7, 7 },*/
1557 { 3, 3, 3, 3, 3, 3 },
1558 { 5, 25, 20, 25, 15, 10 },
1559 /* new limit values for the six attributes by Amy */
1560 { 18, 18, 18, 18, 16, 17 },
1561 /* Init Lower Higher */
1562 { 10, 0, 0, 4, 2, 0 }, /* Hit points */
1563 { 20, 5, 0, 3, 0, 1 },13, /* Energy */
1564 10, 0, -2,
1565 5, 20, A_INT, SPE_CALL_THE_ELEMENTS, -4, 100 /* From old role.c */
1568 { {"Elph", 0}, {
1569 {"Edhel", "Elleth"},
1570 {"Edhel", "Elleth"}, /* elf-maid */
1571 {"Ohtar", "Ohtie"}, /* warrior */
1572 {"Kano", /* commander (Q.) ['a] */
1573 "Kanie"}, /* educated guess, until further research- SAC */
1574 {"Arandur", /* king's servant, minister (Q.) - guess */
1575 "Aranduriel"}, /* educated guess */
1576 {"Hir", "Hiril"}, /* lord, lady (S.) ['ir] */
1577 {"Aredhel", "Arwen"}, /* noble elf, maiden (S.) */
1578 {"Ernil", "Elentariel"}, /* prince (S.), elf-maiden (Q.) */
1579 {"Elentar", "Elentari"} }, /* Star-king, -queen (Q.) */
1580 "Solonor Thelandira", "Aerdrie Faenya", "Erevan Ilesere", /* Elven */
1582 "Elp", "the great Circle of Elwing", "the Goblins' Cave",
1583 PM_ELPH, NON_PM, PM_UNDEAD_ELPH, NON_PM, PM_LITTLE_DOG, /* Orion & canis major */
1584 PM_EARENDIL, PM_HIGHEST_ELF, PM_GOBLIN_KING, PM_GOBLIN_SUB_KING,
1585 PM_URUK_HAI, PM_OGRE, S_ORC, S_OGRE,
1587 ART_PALANTIR_OF_WESTERNESSE,
1588 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
1589 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1590 /* Str Int Wis Dex Con Cha */
1591 /*{ 13, 13, 13, 9, 13, 7 },*/
1592 { 3, 3, 3, 3, 3, 3 },
1593 { 30, 10, 10, 20, 20, 10 },
1594 /* new limit values for the six attributes by Amy */
1595 { 18, 19, 19, 24, 16, 20 },
1596 /* Init Lower Higher */
1597 { 18, 0, 0, 6, 1, 0 }, /* Hit points */
1598 { 8, 0, 0, 2, 0, 2 },12, /* Energy */
1599 10, 9, 2, 1, 10, A_INT, SPE_INVISIBILITY, -4, 60
1602 { { "Emera", 0 }, {
1603 { "Sexhater", 0 },
1604 { "Relationship Avoider", 0 },
1605 { "Me-Neither-Shouter", 0 },
1606 { "Privileged Potato", 0 },
1607 { "Butt Resoler", 0 },
1608 { "Terrible Dad", 0 },
1609 { "Projection Of All That Is Wrong", 0 },
1610 { "Militant Emera", 0 },
1611 { "Exshooter", 0 } },
1612 "Slim Jim", "Milwaukee Jon", "Bose Jefferson", /* Road Rash */
1613 "Eme", "Toxic HQ", "Feminist Center",
1614 PM_EMERA, NON_PM, PM_UNDEAD_EMERA, NON_PM, PM_EMERA,
1615 PM_VERNON_DURSLEY, PM_FELLOW_DEATH_EATER, PM_SANITA_EKERENZE, PM_FLOEY_STINT,
1616 PM_HC_SEX_PRINCESS, PM_FLAX_WOMAN, S_ARCHFIEND, S_ANGEL,
1617 ART_MEANCANE, /* walking stick */
1618 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
1619 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1620 /* Str Int Wis Dex Con Cha */
1621 { 3, 3, 3, 3, 3, 3 },
1622 { 30, 5, 5, 10, 45, 5 },
1623 /* new limit values for the six attributes by Amy */
1624 { STR19(20), 8, 6, 15, 20, 5 },
1625 /* Init Lower Higher */
1626 { 25, 0, 0, 10, 1, 0 }, /* Hit points */
1627 { 2, 1, 0, 1, 0, 1 },8, /* Energy */
1628 -20, 16, 5,
1629 20, 20, A_INT, SPE_SHINING_WAVE, -4, 10
1632 { {"Empath", 0}, {
1633 {"Enlightened One", 0},
1634 {"Mind Mirror", 0},
1635 {"Thought Catcher", 0},
1636 {"Subconscious Link", 0},
1637 {"Psionic Vein", 0},
1638 {"Brainwave Warper", 0},
1639 {"Neuroconductor", 0},
1640 {"Mind Overlord", 0},
1641 {"Fate Weaver", 0} },
1642 "_Grolla Seyfarth", "_Pamela & Carl Arwig", "_Iris Sepperin", /* erka_es, and the "Carl Arwig" is an inside joke */
1643 "Emp", "Magnetic Shield Cave", "Antenna Grounds",
1644 PM_EMPATH, NON_PM, PM_UNDEAD_EMPATH, NON_PM, PM_NURSE,
1645 PM_HYACINTOR, PM_INTERN, PM_BRANTER_GUN, PM_RELIGIOUS_HOUSE_NOTICER,
1646 PM_MIND_FLAYER, PM_SWAPPED_MASTER_MIND_FLAYER, S_HUMANOID, S_HUMANOID,
1648 ART_CONTROLLER_HAT, /* helm of telepathy, invoke for taming */
1649 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
1650 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1651 /* Str Int Wis Dex Con Cha */
1652 /*{ 16, 7, 7, 15, 16, 6 },*/
1653 { 3, 3, 3, 3, 3, 3 },
1654 { 10, 30, 20, 20, 5, 15 },
1655 /* new limit values for the six attributes by Amy */
1656 { 18, 25, 20, 18, 16, 18 },
1657 /* Init Lower Higher */
1658 { 10, 0, 0, 3, 2, 0 }, /* Hit points */
1659 { 24, 0, 0, 5, 0, 3 }, 18, /* Energy */
1660 10, 6, -5, 3, 13, A_INT, SPE_FULL_HEALING, -4, 150
1663 { {"Erdrick", 0}, {
1664 {"Young Boy", "Young Girl"},
1665 {"Village Hero", 0},
1666 {"City Hero", 0},
1667 {"Island Hero", 0},
1668 {"Country Hero", 0},
1669 {"Continent Hero", 0},
1670 {"World Hero", 0},
1671 {"Super Hero", 0},
1672 {"Legend", 0} },
1673 0, 0, 0, /* special deities */
1674 "Erd", "Tantagel Castle", "Charlock Castle",
1675 PM_ERDRICK, NON_PM, PM_UNDEAD_ERDRICK, NON_PM, NON_PM,
1676 PM_KING_LORIK, PM_ROYAL_GUARD, PM_DRAGONLORD, PM_SUPER_OLD_PURPLE_DRAGON,
1677 PM_SLIME, PM_DRAKEE, S_BLOB, S_BAT,
1679 ART_BALL_OF_LIGHT,
1680 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
1681 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1682 /* Str Int Wis Dex Con Cha */
1683 /*{ 7, 7, 7, 10, 7, 6 },*/
1684 { 3, 3, 3, 3, 3, 3 },
1685 { 20, 10, 10, 30, 20, 10 },
1686 /* new limit values for the six attributes by Amy */
1687 { STR18(100), 16, 17, 17, 18, 16 },
1688 /* Init Lower Higher */
1689 { 7, 0, 0, 2, 1, 0 }, /* Hit points */
1690 { 2, 0, 0, 2, 0, 1 },16, /* Energy */
1691 0, 8, 0, 3, 11, A_INT, SPE_LIGHTNING, -4, 30
1694 { {"Failed Existence", 0}, {
1695 {"Looser", 0},
1696 {"Failure", 0},
1697 {"Bum", 0},
1698 {"Torn Person", 0},
1699 {"Chainsmoker", 0},
1700 {"Walking Beer Bottle", 0},
1701 {"Limping Tramp", 0},
1702 {"Luckless Individual", 0},
1703 {"Choosy Beggar", 0} },
1704 0, 0, 0, /* special deities */
1705 "Fai", "Red Carpet", "Violet Carpet",
1706 PM_FAILED_EXISTENCE, NON_PM, PM_UNDEAD_FAILED_EXISTENCE, NON_PM, NON_PM,
1707 PM_GRUFF_CO_WORKER, PM_MODEL, PM_IRINA, PM_MODEL_MUMMY,
1708 PM_UNDEAD_ACTIVISTOR, PM_UNDEAD_FEAT_MASTER, S_HUMAN, S_HUMAN,
1709 ART_UNOBTAINABLE_BEAUTIES,
1710 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
1711 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1712 /* Str Int Wis Dex Con Cha */
1713 /*{ 13, 13, 13, 9, 13, 7 },*/
1714 { 3, 3, 3, 3, 3, 3 },
1715 { 10, 25, 15, 15, 10, 25 },
1716 /* new limit values for the six attributes by Amy */
1717 { 12, 16, 16, 21, 14, 25 },
1718 /* Init Lower Higher */
1719 { 12, 0, 0, 4, 2, 0 }, /* Hit points */
1720 { 8, 0, 0, 1, 0, 2 },12, /* Energy */
1721 10, 9, 2, 1, 10, A_INT, SPE_FORBIDDEN_KNOWLEDGE, -4, 90
1724 { {"Feat Master", 0}, { /* stunt master, but there were too many role names beginning with S */
1725 {"Hopper", 0},
1726 {"Jumper", 0},
1727 {"Stunter", 0},
1728 {"Flyer", 0},
1729 {"Airdasher", 0},
1730 {"Warpjumper", 0},
1731 {"Implacable Protagonist", 0},
1732 {"Main Attraction", 0},
1733 {"Movie Star", 0}},
1734 "James Bond", "Chuck Norris", "Jackie Chan", /* movie heroes */
1735 "Stu", "Recording Studio", "Noob Studio",
1736 PM_FEAT_MASTER, NON_PM, PM_UNDEAD_FEAT_MASTER, NON_PM, PM_ANTIMATTER_VORTEX,
1737 PM_STUNT_DOUBLE, PM_PAGE, PM_RON_WEASLEY, PM_HERMIONE_GRANGER,
1738 PM_FLYING_GUY, PM_HERMIONE_GRANGER, S_HUMAN, S_NEMESE,
1740 ART_COAT_OF_STYLE,
1741 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1742 /* Str Int Wis Dex Con Cha */
1743 /*{ 13, 7, 14, 8, 10, 17 },*/
1744 { 3, 3, 3, 3, 3, 3 },
1745 { 5, 5, 5, 60, 5, 20 },
1746 /* new limit values for the six attributes by Amy */
1747 { 17, 16, 12, 25, 16, 22 },
1748 /* Init Lower Higher */
1749 { 19, 0, 0, 8, 2, 0 }, /* Hit points */
1750 { 10, 4, 0, 1, 0, 2 },10, /* Energy */
1751 10, 8,-2, 0, 9, A_WIS, SPE_JUMPING, -4, 50
1754 { {"Feminist", 0}, {
1755 {"Rebel Woman", 0},
1756 {"Wannabe Maneater", 0},
1757 {"Fingernail Scratcher", 0},
1758 {"Purple Dress Wearer", 0},
1759 {"Well-known SJW", 0},
1760 {"Safe Zone Defender", 0},
1761 {"Nutsmasher", 0},
1762 {"Rolling Pin Swinger", 0},
1763 {"Bane of Men Worldwide", 0} },
1764 "_Tinanya", "_Helen", "_Rejda",
1765 "Fem", "Designated Safe Zone", "Men-Infested Caverns",
1766 PM_FEMINIST, NON_PM, PM_UNDEAD_FEMINIST, NON_PM, PM_BLOCK_HEELED_GIRL,
1767 PM_FEMMY, PM_NYMPHET, PM_DR__FAUST__THE_PATRIARCH, PM_WIFEBEATER_ASSHOLE,
1768 PM_POWERFUL_IDIOT, PM_PATRIARCH, S_CENTAUR, S_GIANT,
1769 ART_GENDER_INSPECIFIC_WHIP,
1770 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
1771 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1772 /* Str Int Wis Dex Con Cha */
1773 /*{ 13, 13, 13, 9, 13, 7 },*/
1774 { 3, 3, 3, 3, 3, 3 },
1775 { 20, 5, 5, 20, 20, 30 },
1776 /* new limit values for the six attributes by Amy */
1777 { STR18(50), 12, 14, 19, 18, 21 },
1778 /* Init Lower Higher */
1779 { 15, 0, 0, 4, 4, 0 }, /* Hit points */
1780 { 10, 0, 0, 7, 0, 0 }, 15, /* Energy */
1781 0, 6, -4, 2, 7, A_INT, SPE_HORRIFY, -4, 100
1784 { {"Fencer", 0}, {
1785 {"Alcor", 0},
1786 {"Dubhe", 0},
1787 {"Merak", 0},
1788 {"Phecda", 0},
1789 {"Megrez", 0},
1790 {"Alioth", 0},
1791 {"Mizar", 0},
1792 {"Benetnash", 0},
1793 {"Polaris", 0} },
1794 "Sol", "_Terra", "_Luna",
1795 "Fen", "the Starry Rift", "Stella Maris",
1796 PM_FENCER, NON_PM, PM_UNDEAD_FENCER, NON_PM, PM_ORDINATOR,
1797 PM_RIGIL, PM_SUPER_WARRIOR, PM_TOLIMAN, PM_FLORELLA,
1798 PM_AIR_ELEMENTAL, PM_SNAKE, S_SNAKE, S_ZOMBIE,
1799 ART_FORTUNE_SWORD,
1800 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
1801 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1802 /* Str Int Wis Dex Con Cha */ /* Direct copy from Wizard */
1803 /*{ 7, 10, 7, 7, 7, 7 },*/
1804 { 3, 3, 3, 3, 3, 3 },
1805 { 20, 15, 10, 25, 20, 10 },
1806 /* new limit values for the six attributes by Amy */
1807 { STR19(20), 15, 16, 21, 18, 19 },
1808 /* Init Lower Higher */
1809 { 12, 0, 0, 9, 2, 0 }, /* Hit points */
1810 { 13, 2, 0, 2, 0, 2 },12, /* Energy */
1811 0, 3, -2, 2, 6, A_INT, SPE_ENCHANT_WEAPON, -4, 25
1814 { {"Fighter", 0}, {
1815 {"Mercury", 0},
1816 {"Venus", 0},
1817 {"Mars", 0},
1818 {"Jupiter", 0},
1819 {"Saturn", 0},
1820 {"Uranus", 0},
1821 {"Neptune", 0},
1822 {"Pluto", 0},
1823 {"Moon", 0} },
1824 "_Selene", "Helios", "_Eos",
1825 "Fig", "the Castle of Moon", "the Earth",
1826 PM_FIGHTER, NON_PM, PM_UNDEAD_FIGHTER, NON_PM, PM_KITTEN,
1827 PM_PRINCESS_OF_MOON, PM_PLANETARY_FIGHTER, PM_JEDEITE, PM_WEDI_KNIGHT,
1828 PM_EARTH_ELEMENTAL, PM_SNAKE, S_SNAKE, S_ZOMBIE,
1829 ART_SILVER_CRYSTAL,
1830 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
1831 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1832 /* Str Int Wis Dex Con Cha */ /* Direct copy from Wizard */
1833 /*{ 7, 10, 7, 7, 7, 7 },*/
1834 { 3, 3, 3, 3, 3, 3 },
1835 { 25, 10, 10, 20, 25, 10 },
1836 /* new limit values for the six attributes by Amy */
1837 { STR19(19), 16, 21, 18, 19, 19 },
1838 /* Init Lower Higher */
1839 { 13, 0, 0, 10, 4, 0 }, /* Hit points */
1840 { 4, 0, 0, 1, 0, 1 },16, /* Energy */
1841 10, 5, -2, 4, 10, A_INT, SPE_HASTE_SELF, -4, 25
1844 { {"Firefighter", 0}, {
1845 {"Hazard Trainee", 0},
1846 {"Brigade Runner", 0},
1847 {"Watercannon User", 0},
1848 {"Extinguisher", 0},
1849 {"Forest Fire Specialist", 0},
1850 {"Anti-Flame Fighter", 0},
1851 {"Fire Leader", 0},
1852 {"Flash Fire Deleter", 0},
1853 {"Eternal Firefighter", 0} },
1854 "Prometheus", "Thor", "Arson", /* Fire */
1855 "Fir", "Fire-Brigade Base", "Smokey Forest",
1856 PM_FIREFIGHTER, NON_PM, PM_UNDEAD_FIREFIGHTER, NON_PM, PM_LITTLE_DOG,
1857 PM_SMOKEY, PM_ATTENDANT, PM_EDDIE_THE_PYRO, PM_TEAM_FORTRESS_PYRO,
1858 PM_FIRE_ELEMENTAL, PM_SALAMANDER, S_ELEMENTAL, S_LIZARD,
1860 ART_FIRE_BRIGADE_REEL,
1861 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
1862 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1863 /* Str Int Wis Dex Con Cha */ /* Direct copy from Wizard */
1864 /*{ 7, 10, 7, 7, 7, 7 },*/
1865 { 3, 3, 3, 3, 3, 3 },
1866 { 10, 30, 10, 20, 20, 10 },
1867 /* new limit values for the six attributes by Amy */
1868 { STR19(21), 17, 19, 18, 19, 20 },
1869 /* Init Lower Higher */
1870 { 15, 0, 0, 8, 1, 0 }, /* Hit points */
1871 { 15, 3, 0, 2, 0, 3 },12, /* Energy */
1872 0, 1, 0,
1873 2, 10, A_INT, SPE_TELEPORT_AWAY, -4, 30 /* From old role.c */
1876 { { "Fjorde", 0 }, {
1877 { "Fishtank Dipper", 0 },
1878 { "Nibble Arouser", 0 },
1879 { "Pondseeker", 0 },
1880 { "Submarine Crew", 0 },
1881 { "Flood Lover", 0 },
1882 { "Player's Competitor", 0 },
1883 { "Deep Biter", 0 },
1884 { "Monsterfish Fighter", 0 },
1885 { "First Place Challenger", 0 } },
1886 "Cheep Cheep", "Blubber", "Boss Bass", /* Super Mario */
1887 "Fjo", "Beginner's Aquarium", "The Self-Refilling Fishtank",
1888 PM_FJORDE, NON_PM, PM_UNDEAD_FJORDE, NON_PM, PM_FLYING_BLOODFISH,
1889 PM_UNSEEN_RACE_LEADER, PM_PREP, PM_BUSSBITE__THE_GIANT_FISH, PM_FJORDE_S_WET_DREAM,
1890 PM_LEWD_KRAKEN, PM_WHITE_WHALE, S_EEL, S_FLYFISH,
1891 ART_SCOOBA_COOBA, /* cloak of magic resistance that protects items from water and lets you swim in lava */
1892 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
1893 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1894 /* Str Int Wis Dex Con Cha */
1895 { 3, 3, 3, 3, 3, 3 },
1896 { 25, 20, 10, 20, 15, 10 },
1897 /* new limit values for the six attributes by Amy */
1898 { 18, 15, 16, 22, 20, 18 },
1899 /* Init Lower Higher */
1900 { 18, 0, 0, 5, 3, 0 }, /* Hit points */
1901 { 1, 1, 0, 1, 0, 1 },16, /* Energy */
1902 10, 9, -1,
1903 4, 8, A_INT, SPE_SWIMMING, -4, 40
1906 { {"Flame Mage", 0}, {
1907 {"Spark", 0}, /* WAC was Igniter */
1908 {"Igniter", 0},
1909 {"Broiler", 0}, /* WAC was Igniter */
1910 {"Combuster", 0}, /* WAC was Torcher */
1911 {"Torcher", 0},
1912 {"Scorcher", 0}, /* WAC was Torcher */
1913 {"Incinerator", 0},
1914 {"Disintegrator", 0}, /* WAC was Incinerator */
1915 {"Flame-Master", 0} },
1916 "Earth", "Fire", "Ash", /* Special */
1917 "Fla", "the great Circle of Flame", "the Water Mage's Cave",
1918 PM_FLAME_MAGE, NON_PM, PM_UNDEAD_FLAME_MAGE, NON_PM, PM_HELL_HOUND_PUP,
1919 PM_HIGH_FLAME_MAGE, PM_IGNITER, PM_WATER_MAGE, PM_AIR_SPIRIT,
1920 PM_WATER_ELEMENTAL, PM_RUST_MONSTER, S_ELEMENTAL, S_RUSTMONST,
1921 #if 0
1922 ART_FIREWALL, ART_FIRE_BRAND,
1923 #endif
1924 ART_CANDLE_OF_ETERNAL_FLAME,
1925 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
1926 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1927 /* Str Int Wis Dex Con Cha */ /* Direct copy from Wizard */
1928 /*{ 7, 10, 7, 7, 7, 7 },*/
1929 { 3, 3, 3, 3, 3, 3 },
1930 { 10, 30, 10, 20, 20, 10 },
1931 /* new limit values for the six attributes by Amy */
1932 { 15, 20, 18, 14, 14, 16 },
1933 /* Init Lower Higher */
1934 { 15, 0, 0, 8, 1, 0 }, /* Hit points */
1935 { 15, 3, 0, 2, 0, 3 },12, /* Energy */
1936 0, 1, 0,
1937 2, 10, A_INT, SPE_FIREBALL, -4, 100 /* From old role.c */
1940 { {"Form Changer", 0}, {
1941 {"Balanced Doppelganger", 0},
1942 {"Fluctuated Controller", 0},
1943 {"Restricted Polymorpher", 0},
1944 {"Armor Preserver", 0},
1945 {"Shuddering Vibrator", 0},
1946 {"Skillful Shifter", 0},
1947 {"Master of Transmogrifying", 0},
1948 {"Polyself Hero", 0},
1949 {"Reality Creator", 0} },
1950 "Polypiling", "Monster Polymorphing", "Self-Polymorph",
1951 "For", "Everchanging Automata", "Unmappable Level",
1952 PM_FORM_CHANGER, NON_PM, PM_UNDEAD_FORM_CHANGER, NON_PM, PM_CHAMELEON,
1953 PM_JONADAB, PM_SHIFTER, PM_PINOBOT, PM_THERESA_FLAUSCHEBUESCHEL_MAY,
1954 PM_GENETIC_ENGINEER, PM_NIGHTINGALE, S_QUANTMECH, S_LIZARD,
1955 ART_EXTRA_CONTROL,
1956 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
1957 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1958 /* Str Int Wis Dex Con Cha */
1959 /*{ 13, 13, 13, 9, 13, 7 },*/
1960 { 3, 3, 3, 3, 3, 3 },
1961 { 16, 16, 17, 17, 16, 16 },
1962 /* new limit values for the six attributes by Amy */
1963 { 18, 20, 16, 18, 16, 15 },
1964 /* Init Lower Higher */
1965 { 10, 0, 0, 2, 2, 0 }, /* Hit points */
1966 { 30, 0, 0, 10, 0, 5 }, 16, /* Energy */
1967 10, 8, 0, 5, 13, A_INT, SPE_POLYMORPH, -4, 100
1970 { {"Foxhound Agent", 0}, {
1971 {"Recruit", 0},
1972 {"Octopus", 0},
1973 {"Raven", 0},
1974 {"Mantis", 0},
1975 {"Wolf", 0},
1976 {"Fox", 0},
1977 {"Foxhound", 0},
1978 {"Big Boss", 0},
1979 {"Solid Snake", 0}},
1980 "Colonel Campbell", "Deepthroat", "The Patriots", /* probably some TV show or movie? */
1981 "Fox", "Special Agents Bureau", "Oberon HQ",
1982 PM_FOXHOUND_AGENT, NON_PM, PM_UNDEAD_FOXHOUND_AGENT, NON_PM, PM_SOLDIER,
1983 PM_OTACON, PM_SUPER_WARRIOR, PM_OBERON_PRINCIPAL, PM_OBERON_WORKER,
1984 PM_BALLISTIC_TURRET, PM_ANTI_ELBERETH_OPERATIVE, S_TURRET, S_RUBMONST,
1986 ART_PORTCHEST,
1987 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
1988 /* Str Int Wis Dex Con Cha */
1989 /*{ 10, 7, 7, 7, 12, 7 },*/
1990 { 3, 3, 3, 3, 3, 3 },
1991 { 22, 22, 15, 15, 22, 4 },
1992 /* new limit values for the six attributes by Amy */
1993 { STR18(100), 14, 16, 18, 18, 18 },
1994 /* Init Lower Higher */
1995 { 20, 0, 0, 8, 2, 0 }, /* Hit points */
1996 { 2, 0, 0, 1, 0, 1 },10, /* Energy */
1997 0, 10,-2, 0, 9, A_WIS, SPE_RESTORE_ABILITY, -4, 20
1999 { {"Gamer", 0}, {
2000 {"Tetris Player", 0},
2001 {"Boulderdash Player", 0},
2002 {"Super Mario Addict", 0},
2003 {"FIFA Sports Gamer", 0},
2004 {"Need For Speed Racer", 0},
2005 {"owner of a dozen consoles", 0},
2006 {"Wii Champion", 0},
2007 {"RROD Defeater", 0},
2008 {"Playstation Master", 0}},
2009 "Nintendo", "Microsoft", "Sony", /* gaming console producers */
2010 "Gam", "Console Hall", "Bowser's Airship",
2011 PM_GAMER, NON_PM, PM_UNDEAD_GAMER, NON_PM, NON_PM,
2012 PM_THE_ANGRY_VIDEO_GAME_NERD, PM_HACKER, PM_BOWSER, PM_PRINCESS_KIDNAPPING_DRAGON,
2013 PM_RED_DRAGON, PM_GREEN_DRAGON, S_DRAGON, S_DRAGON,
2015 ART_GAME_DISC,
2016 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
2017 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2018 /* Str Int Wis Dex Con Cha */
2019 /*{ 10, 10, 10, 8, 9, 7 },*/
2020 { 3, 3, 3, 3, 3, 3 },
2021 { 8, 20, 20, 40, 7, 5 },
2022 /* new limit values for the six attributes by Amy */
2023 { STR19(19), 17, 15, 22, 20, 19 },
2024 /* Init Lower Higher */
2025 { 18, 0, 0, 8, 1, 0 }, /* Hit points */
2026 { 20, 4, 0, 1, 0, 2 },20, /* Energy */
2027 10, 3,-3, 2, 10, A_WIS, SPE_GODMODE, -4, 75
2030 { {"Gang Scholar", 0}, {
2031 {"Bullying Victim", 0},
2032 {"Mobfer", 0}, /* german for "bullying victim" */
2033 {"Pupil Without Pocket Money", 0},
2034 {"Bang Gang's Punching Bag", 0},
2035 {"Hussy Club Doormat", 0},
2036 {"Teacher Friend", 0},
2037 {"Victim Turned Executioner", 0},
2038 {"Headhunter Spokesman", "Headhunter Spokeswoman"},
2039 {"One Who Will Defeat Anna", 0} },
2040 "Mr. Maradonna", "_Ms. Unfortunate Forest", "_Ms. Storm",
2041 "Sco", "Superschool HQ", "Hussy Club Branch Office",
2042 PM_GANG_SCHOLAR, NON_PM, PM_UNDEAD_GANG_SCHOLAR, NON_PM, PM_SUPERSCHOOL_SPEAKER,
2043 PM_HANS_WALT, PM_THUG, PM_HUSSY_JILL, PM_VELCRO_BITCH,
2044 PM_POLINA, PM_JES_SIKA, S_JELLY, S_KOBOLD,
2045 ART_METEORIC_AC,
2046 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
2047 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2048 /* Str Int Wis Dex Con Cha */
2049 /*{ 13, 13, 13, 9, 13, 7 },*/
2050 { 3, 3, 3, 3, 3, 3 },
2051 { 15, 15, 15, 15, 25, 15 },
2052 /* new limit values for the six attributes by Amy */
2053 { STR18(100), 18, 18, 18, 18, 18 },
2054 /* Init Lower Higher */
2055 { 14, 0, 0, 5, 5, 0 }, /* Hit points */
2056 { 7, 0, 0, 3, 0, 3 }, 14, /* Energy */
2057 10, 6, -4, 4, 6, A_INT, SPE_MANA_BOLT, -4, 100
2060 { {"Gangster", 0}, {
2061 {"Low Thug", 0},
2062 {"Pickpocketer", 0},
2063 {"Street Criminal",0},
2064 {"Carjacker",0},
2065 {"Wanted Criminal", 0},
2066 {"Gang Member", 0},
2067 {"Mafia Member", 0},
2068 {"The Don's Right Hand", 0},
2069 {"Mafia Don", 0} },
2070 "Claude Speed", "Carl CJ Johnson", "Tommy Vercetti", /* Grand Theft Auto */
2071 "Gan", "Gang Headquarters", "the enemy gang's hideout",
2072 PM_GANGSTER, NON_PM, PM_UNDEAD_GANGSTER, NON_PM, PM_PILE_OF_COPPER_COINS,
2073 PM_DAVE, PM_FELLOW_GANGSTER, PM_AMY_BLUESCREENOFDEATH, PM_AMY_BSOD,
2074 PM_CUNTGUN_TROOPER, PM_RIFLEMAN, S_HUMAN, S_HUMAN,
2075 ART_CHEKHOV_S_GUN,
2076 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
2077 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2078 /* Str Int Wis Dex Con Cha */
2079 /*{ 10, 7, 7, 7, 13, 6 },*/
2080 { 3, 3, 3, 3, 3, 3 },
2081 { 20, 20, 10, 20, 20, 10 },
2082 /* new limit values for the six attributes by Amy */
2083 { STR18(100), 14, 10, 18, 18, 18 },
2084 /* Init Lower Higher */
2085 { 12, 0, 0, 8, 0, 0 }, /* Hit points */
2086 { 3, 0, 0, 1, 0, 1 },10, /* Energy */
2087 -10, 5, 0, 2, 10, A_INT, SPE_CONFUSE_MONSTER, -4, 30
2090 { {"Geek", 0}, {
2091 {"Newbie", 0},
2092 {"BASIC Programmer", "BASIC Programmeress"},
2093 {"C Programmer", "C Programmeress"},
2094 {"Hacker", "Hackeress"},
2095 {"NetHacker", "NetHackeress"},
2096 {"Nethack Programmer", "Nethack Programmeress"},
2097 {"he who uses", "she who uses"},
2098 {"he who knows", "she who knows"},
2099 {"he who learns", "she who learns"} },
2100 "UNIX", "the PDP-7", "VMS", /* Computerian */
2101 "Gee", "the Development Team's location", "the Microsoft headquarter",
2102 PM_GEEK, NON_PM, PM_UNDEAD_GEEK, NON_PM, NON_PM,
2103 PM_THE_DEV_TEAM, PM_HACKER, PM_BILL_GATES, PM_GILL_BATES,
2104 PM_BUG, PM_PHANTOM, S_XAN, S_PUDDING,
2105 #if 0
2106 ART_DELUDER, ART_MIRRORBRIGHT,
2107 #endif
2108 ART_NETHACK_SOURCES,
2109 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
2110 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2111 /* Str Int Wis Dex Con Cha */
2112 /*{ 10, 10, 10, 8, 9, 7 },*/
2113 { 3, 3, 3, 3, 3, 3 },
2114 { 30, 15, 15, 10, 20, 10 },
2115 /* new limit values for the six attributes by Amy */
2116 { STR18(70), 19, 17, 19, 14, 16 },
2117 /* Init Lower Higher */
2118 { 18, 0, 0, 8, 1, 0 }, /* Hit points */
2119 { 20, 4, 0, 1, 0, 2 },20, /* Energy */
2120 10, 3,-3, 2, 10, A_WIS, SPE_CURE_SICKNESS, -4, 50
2123 { { "Genderstarist", 0 }, {
2124 { "Asterisk User", 0 },
2125 { "Language Faker", 0 },
2126 { "Speech Policer", 0 },
2127 { "Aggressive Advocate", 0 },
2128 { "Bank Suer", 0 },
2129 { "Placation Striker", 0 },
2130 { "Inside Squeezer", 0 },
2131 { "Truth Minister", 0 },
2132 { "Inclusive Spacer", 0 } },
2133 "Buergerinnen und Buerger", "Buergerlnnen", "Buerger*innen", /* some weird language that pretends to be German; on some fonts "I" and "l" look the same, therefore the neutral god is spelled like that on purpose :P */
2134 "Gen", "Speech Police Headquarters", "Frisbitch Radio Station",
2135 PM_GENDERSTARIST, NON_PM, PM_UNDEAD_GENDERSTARIST, NON_PM, PM_GENDERSTARIST,
2136 PM_XYZ___, PM_VERY_MINDLESS_THRALL, PM_SPEECH_ASSOCIATION_BOSS, PM_STARCLEANER,
2137 PM_EMERA, PM_USENET_TROLL, S_WALLMONST, S_TURRET,
2138 ART_FLAGELLATOR, /* whip-class weapon, 1 in 5000 chance to polymorph you into a M2_NEUTER, doesn't drop upon poly */
2139 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
2140 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2141 /* Str Int Wis Dex Con Cha */
2142 { 3, 3, 3, 3, 3, 3 },
2143 { 10, 5, 5, 70, 5, 5 },
2144 /* new limit values for the six attributes by Amy */
2145 { 12, 6, 6, 15, 12, 4 },
2146 /* Init Lower Higher */
2147 { 5, 0, 0, 1, 1, 0 }, /* Hit points */
2148 { 8, 2, 0, 4, 0, 5 },8, /* Energy */
2149 -100, 4, 0,
2150 0, 5, A_INT, SPE_BERSERK, -4, 50
2153 { {"Gladiator", 0}, {
2154 {"Velite", 0},
2155 {"Thraex", 0},
2156 {"Dimachaerus", 0},
2157 {"Venator", 0},
2158 {"Murmillo", 0},
2159 {"Hoplomachus", 0},
2160 {"Retiarius", 0},
2161 {"Secutor", 0},
2162 {"Centurion", 0} }, /* sorry Fyr, but Champion was just way too generic of a title. --Amy */
2163 "Sulla", "Cicero", "Catilina", /* Ancient Rome */
2164 "Gla", "Arena Bloodworks", "Colosseum",
2165 PM_GLADIATOR, NON_PM, PM_UNDEAD_GLADIATOR, NON_PM, NON_PM,
2166 PM_TUTOR, PM_ATTENDANT, PM_THE_CHAMPION_OF_POMPEJI, PM_EMPEROR_NERO,
2167 PM_WEREPANTHER, PM_MINOTAUR, S_HUMAN, S_QUADRUPED,
2168 ART_IMPERIAL_TOKEN,
2169 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
2170 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2171 /* Str Int Wis Dex Con Cha */
2172 /*{ 8, 7, 7, 8, 8, 7 },*/
2173 { 3, 3, 3, 3, 3, 3 },
2174 { 20, 15, 10, 20, 25, 10 },
2175 /* new limit values for the six attributes by Amy */
2176 { STR19(19), 16, 12, 18, 20, 17 },
2177 /* Init Lower Higher */
2178 { 12, 0, 0, 8, 4, 0 }, /* Hit points */
2179 { 1, 0, 0, 1, 0, 1 },12, /* Energy */
2180 10, 8, 0, 2, 9, A_INT, SPE_CAUSE_FEAR, -4, 20
2183 { {"Goff", 0}, {
2184 {"Fanfic Reader", 0},
2185 {"Saint Preps Academy Alumnus", "Saint Preps Academy Alumna"},
2186 {"Badfic Writer", 0},
2187 {"Emo Boy", "Emo Girl"},
2188 {"Blatant Troll", 0},
2189 {"Motherfucker", 0},
2190 {"Author Avatar", 0},
2191 {"Self-insert", 0},
2192 {"Marty Stu", "Mary Sue"} },
2193 "_B'loody Mary", "_Ebony Dark'ness", "Darth Valer", /* taken from a fanfic */
2194 "Gof", "Hogwarts Castle", "the forbidden forest",
2195 PM_GOFF, NON_PM, PM_UNDEAD_GOFF, NON_PM, NON_PM,
2196 PM_SNAP_AND_LOOPIN, PM_PREP, PM_TARA_GILESBIE, PM_INADVERTENT_TROLL,
2197 NON_PM, NON_PM, S_VAMPIRE, S_ZOMBIE,
2198 ART_GOFFIC_BACKPACK,
2199 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
2200 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2201 /* Str Int Wis Dex Con Cha */
2202 /*{ 13, 13, 13, 9, 13, 7 },*/
2203 { 3, 3, 3, 3, 3, 3 },
2204 { 25, 5, 15, 25, 25, 5 },
2205 /* new limit values for the six attributes by Amy */
2206 { 14, 17, 12, 15, 8, 18 },
2207 /* Init Lower Higher */
2208 { 12, 0, 0, 4, 2, 0 }, /* Hit points */
2209 { 8, 0, 0, 1, 0, 2 },12, /* Energy */
2210 10, 9, 2, 1, 10, A_INT, SPE_CURE_HALLUCINATION, -4, 100
2213 { {"Goldminer", 0}, {
2214 {"Mining Slave", 0},
2215 {"Mine Worker", 0},
2216 {"Pick Wielder", 0},
2217 {"Stonecutter", 0},
2218 {"Shaft Climber", 0},
2219 {"Gold Digger", 0},
2220 {"Gemstone Hoarder", 0},
2221 {"Retired Goldrusher", 0},
2222 {"Made Man", 0} },
2223 "Aurum", "Argentum", "Antimony",
2224 "Gol", "The Gnome King's Caverns", "Lareth's Cave",
2225 PM_GOLDMINER, NON_PM, PM_UNDEAD_GOLDMINER, NON_PM, NON_PM,
2226 PM_UBER_RUGGO, PM_ATTENDANT, PM_LARETH, PM_GLARETH,
2227 PM_DROW, PM_OGRE, S_OGRE, S_OGRE,
2228 ART_PICK_OF_FLANDAL_STEELSKIN,
2229 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
2230 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2231 /* Str Int Wis Dex Con Cha */
2232 /* { 7, 10, 10, 7, 7, 7 },*/
2233 { 3, 3, 3, 3, 3, 3 },
2234 { 20, 20, 20, 10, 20, 10 },
2235 /* new limit values for the six attributes by Amy */
2236 { 18, 20, 20, 18, 16, 14 },
2237 /* Init Lower Higher */
2238 { 14, 0, 0, 4, 1, 0 }, /* Hit points */
2239 { 6, 0, 0, 1, 0, 1 },14, /* Energy */
2240 10, 5, 0, 2, 10, A_INT, SPE_DIG, -4, 20
2243 { {"Graduate", 0}, {
2244 {"Junior Assistant", 0},
2245 {"Ass Assistant", 0},
2246 {"Mean Assistant", 0},
2247 {"College Graduate", 0},
2248 {"University Traveler", 0},
2249 {"Junior Professor", 0},
2250 {"Experimental Scientist", 0},
2251 {"Lab Leader", 0},
2252 {"Test Row Developer", 0} },
2253 "Jobs", "Wozniak", "Gates", /* geek */
2254 "Gra", "university campus", "development hell",
2255 PM_GRADUATE, NON_PM, PM_UNDEAD_GRADUATE, NON_PM, NON_PM,
2256 PM_UPPER_GRADUATE, PM_HACKER, PM_STUDENT_LEADER, PM_STUDENT_ON_STRIKE,
2257 PM_STUDENT_ASSISTANT, PM_GREEN_PROSTITUTE, S_HUMAN, S_HUMAN,
2259 ART_MASTER_BOOT_DISK,
2260 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
2261 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2262 /* Str Int Wis Dex Con Cha */
2263 /*{ 10, 10, 10, 8, 9, 7 },*/
2264 { 3, 3, 3, 3, 3, 3 },
2265 { 30, 15, 15, 10, 20, 10 },
2266 /* new limit values for the six attributes by Amy */
2267 { STR18(70), 19, 17, 19, 14, 16 },
2268 /* Init Lower Higher */
2269 { 18, 0, 0, 8, 1, 0 }, /* Hit points */
2270 { 20, 4, 0, 1, 0, 2 },20, /* Energy */
2271 10, 3,-3, 2, 10, A_WIS, SPE_CURE_HALLUCINATION, -4, 50
2274 { {"Grenadonin", 0}, {
2275 {"Colorfucker", 0},
2276 {"Realism Lover", 0},
2277 {"Dark Day Worshipper", 0},
2278 {"Opinion Decrier", 0},
2279 {"Creative Name Inventor", 0},
2280 {"Good Godparent", 0},
2281 {"Bullying Enabler", 0},
2282 {"Cataclysm Squatter", 0},
2283 {"Meme Machine", 0} },
2284 "_Margaret", "_Anaconda", "Aerschie-Miesie", /* Amy's nicknames in Half-Life, AHL and Counter-Strike */
2285 "Gre", "Pregnancy Den", "Chaotic Message Board",
2286 PM_GRENADONIN, NON_PM, PM_UNDEAD_GRENADONIN, NON_PM, PM_FEMALE_SAMURAI,
2287 PM_YOUR_FUCKING_COLOR, PM_UNFORTUNATE_VICTIM, PM_AR_EL_GEE_MASTER, PM_SUN_TORCH,
2288 PM_AMNESIA_GRUE, PM_PILE_OF_DEATH_COINS, S_PUDDING, S_WORM_TAIL,
2290 ART_TEAM_FORTRESS_GL,
2291 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
2292 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2293 /* Str Int Wis Dex Con Cha */
2294 /*{ 10, 8, 7, 10, 17, 6 },*/
2295 { 3, 3, 3, 3, 3, 3 },
2296 { 30, 10, 8, 30, 14, 8 },
2297 /* new limit values for the six attributes by Amy */
2298 { STR18(100), 16, 18, 17, 18, 18 },
2299 /* Init Lower Higher */
2300 { 19, 0, 0, 8, 1, 0 }, /* Hit points */
2301 { 7, 0, 0, 1, 0, 1 },11, /* Energy */
2302 10, 10, 0, 0, 8, A_INT, SPE_CLAIRVOYANCE, -4, 20
2305 { {"Gunner", 0}, {
2306 {"Pistol User", 0},
2307 {"Revolver User", 0},
2308 {"SMG User", 0},
2309 {"Shotgun User", 0},
2310 {"Assault Rifle User", 0},
2311 {"Machine-Gunner", 0},
2312 {"Heavy Machine-Gunner", 0},
2313 {"Rocketeer", 0},
2314 {"BFG 9000 Master", 0}},
2315 0, 0, 0, /* chosen randomly from among the other roles */
2316 "Gun", "Sniper Range", "Military Airfield",
2317 PM_GUNNER, NON_PM, PM_UNDEAD_GUNNER, NON_PM, PM_EVASIVE_SNIPER,
2318 PM_TOP_GUNNER, PM_SUPER_WARRIOR, PM_YET_ANOTHER_GUN_NUT, PM_HIGHWAY_SHARPSHOOTER,
2319 PM_FEAROW, PM_SPECTRE, S_BAT, S_GHOST,
2320 ART_CARBON_NANOTUBE_SUIT,
2321 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
2322 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2323 /* Str Int Wis Dex Con Cha */
2324 /*{ 10, 7, 7, 7, 13, 6 },*/
2325 { 3, 3, 3, 3, 3, 3 },
2326 { 20, 20, 10, 20, 20, 10 },
2327 /* new limit values for the six attributes by Amy */
2328 { STR19(20), 16, 12, 20, 18, 16 },
2329 /* Init Lower Higher */
2330 { 12, 0, 0, 8, 0, 0 }, /* Hit points */
2331 { 3, 0, 0, 1, 0, 1 },10, /* Energy */
2332 -10, 5, 0, 2, 10, A_INT, SPE_ANTI_DISINTEGRATION, -4, 10
2335 { {"Half Baked", 0}, {
2336 {"Half Baker", 0},
2337 {"Bloody Novice", 0},
2338 {"No-Hoper", 0},
2339 {"Pupil of Gravel", 0},
2340 {"Pupil of Fluids", 0},
2341 {"Pupil of Trash", 0},
2342 {"Pupil of Blows", 0},
2343 {"Pupil of Heat", 0},
2344 {"Self-Appointed Master", 0} },
2345 "_Nuwa", "Pangu", "Fuxi", /* Chinese */
2346 "Hal", "the Monastery of Chan-Sune", "the Monastery of the Earth-Lord",
2347 PM_HALF_BAKED, NON_PM, PM_UNDEAD_HALF_BAKED, NON_PM, NON_PM,
2348 PM_GRAND_MASTER, PM_ABBOT, PM_MASTER_KAEN, PM_KASTER_MAEN,
2349 PM_EARTH_ELEMENTAL, PM_XORN, S_ELEMENTAL, S_XORN,
2350 #if 0
2351 ART_GAUNTLETS_OF_DEFENSE, ART_WHISPERFEET,
2352 #endif
2353 ART_EYES_OF_THE_HALF_BAKED_WOR,
2354 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
2355 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2356 /* Str Int Wis Dex Con Cha */
2357 /*{ 10, 7, 8, 8, 7, 7 },*/
2358 { 3, 3, 3, 3, 3, 3 },
2359 { 25, 10, 20, 20, 15, 10 },
2360 /* new limit values for the six attributes by Amy */
2361 { STR18(100), 14, 20, 18, 14, 18 },
2362 /* Init Lower Higher */
2363 { 17, 0, 0, 8, 1, 0 }, /* Hit points */
2364 { 8, 2, 0, 2, 0, 2 },10, /* Energy */
2365 10, 8,-2, 2, 20, A_WIS, SPE_RESTORE_ABILITY, -4, 50
2369 { {"Healer", 0}, {
2370 {"Rhizotomist", 0},
2371 {"Empiric", 0},
2372 {"Embalmer", 0},
2373 {"Dresser", 0},
2374 {"Medicus ossium", "Medica ossium"},
2375 {"Herbalist", 0},
2376 {"Magister", "Magistra"},
2377 {"Physician", 0},
2378 {"Chirurgeon", 0} },
2379 "_Athena", "Hermes", "Poseidon", /* Greek */
2380 "Hea", "the Temple of Epidaurus", "the Temple of Coeus",
2381 PM_HEALER, NON_PM, PM_UNDEAD_HEALER, NON_PM, NON_PM,
2382 PM_HIPPOCRATES, PM_ATTENDANT, PM_CYCLOPS, PM_PYLOPS,
2383 PM_GIANT_RAT, PM_SNAKE, S_RODENT, S_YETI,
2384 #if 0
2385 ART_DELUDER, ART_MIRRORBRIGHT,
2386 #endif
2387 ART_STAFF_OF_AESCULAPIUS,
2388 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
2389 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2390 /* Str Int Wis Dex Con Cha */
2391 /*{ 7, 7, 13, 7, 11, 16 },*/
2392 { 3, 3, 3, 3, 3, 3 },
2393 { 15, 20, 20, 15, 25, 5 },
2394 /* new limit values for the six attributes by Amy */
2395 { 12, 18, 21, 20, 14, 20 },
2396 /* Init Lower Higher */
2397 { 18, 0, 0, 8, 1, 0 }, /* Hit points */
2398 { 20, 4, 0, 1, 0, 2 },20, /* Energy */
2399 10, 3,-3, 2, 10, A_WIS, SPE_CURE_SICKNESS, -4, 50
2402 { {"Hedderjedi", 0}, {
2403 {"Lightsaber Youngling", 0},
2404 {"Inexperienced Padawan", 0},
2405 {"Experienced Padawan", 0},
2406 {"Basic Jedi", 0},
2407 {"Skilled Jedi", 0},
2408 {"Expert Jedi", 0},
2409 {"Master Jedi", 0},
2410 {"Grandmaster Jedi", 0},
2411 {"Supreme Master Jedi", 0} },
2412 "the Light Side", "the Force", "the Dark Side",
2413 "Hed", "the Jedi Temple", "the Outer Rim",
2414 PM_HEDDERJEDI, NON_PM, PM_UNDEAD_HEDDERJEDI, NON_PM, PM_LITTLE_DOG,
2415 PM_THE_JEDI_MASTER, PM_PADAWAN, PM_LORD_SIDIOUS, PM_LORD_INSIDIOUS,
2416 PM_LASER_STORMTROOPER, PM_STORMTROOPER, S_HUMAN, S_HUMAN,
2417 ART_DEFINITE_LIGHTSABER,
2418 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
2419 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2420 /* Str Int Wis Dex Con Cha */
2421 /*{ 10, 7, 14, 12, 10, 14 },*/
2422 { 3, 3, 3, 3, 3, 3 },
2423 { 30, 15, 15, 10, 20, 10 },
2424 /* new limit values for the six attributes by Amy */
2425 { STR18(100), 18, 20, 20, 18, 20 },
2426 /* Init Lower Higher */
2427 { 20, 4, 0, 8, 2, 4 }, /* Hit points */
2428 { 5, 4, 0, 1, 0, 4 },10, /* Energy */
2429 0, 12 , -1,
2430 2, 10, A_INT, SPE_CHARGING, -4, 40
2433 { {"Hussy", 0}, {
2434 {"Annoying Guy", "Annoying Girl",},
2435 {"Nasty Fucker", "Nasty Bitch",},
2436 {"Teaser Displeaser", 0},
2437 {"Perfume Bomb", 0},
2438 {"Stinking Socks Wearer", 0},
2439 {"Drum Stint Reluctant", 0},
2440 {"Odorous Uncle", "Odorous Aunt"},
2441 {"Clicker Money Thief", 0},
2442 {"Anna's Personal Bodyguard", 0} },
2443 "_Madeleine", "_Sofia", "_Wendy", /* hussy names from pager.c */
2444 "Hus", "Hussy Club Secret Office", "Walt's Crib",
2445 PM_HUSSY, NON_PM, PM_UNDEAD_HUSSY, NON_PM, PM_ARVOGENIC_TOPMODEL,
2446 PM_HUSSY_LARISSA, PM_MODEL, PM_GREAT_CORNER_HARD, PM_POLITICALLY_LEFT_GUENTER,
2447 PM_SUPERSCHOOL_SPEAKER, PM_TIE_FIGHTER, S_HUMAN, S_DEMON,
2448 ART_CERULEAN_SMASH,
2449 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
2450 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2451 /* Str Int Wis Dex Con Cha */
2452 /*{ 13, 13, 13, 9, 13, 7 },*/
2453 { 3, 3, 3, 3, 3, 3 },
2454 { 15, 15, 10, 15, 25, 20 },
2455 /* new limit values for the six attributes by Amy */
2456 { STR18(100), 18, 12, 20, 19, 22 },
2457 /* Init Lower Higher */
2458 { 10, 0, 0, 5, 4, 0 }, /* Hit points */
2459 { 6, 0, 0, 3, 0, 4 }, 12, /* Energy */
2460 0, 5, 4, 5, 8, A_INT, SPE_DETECT_FOOT, -4, 100
2463 { {"Ice Mage", 0}, {
2464 {"Cooler", 0}, /* WAC was Chiller */
2465 {"Condenser", 0}, /* WAC was Chiller */
2466 {"Chiller", 0},
2467 {"Froster", 0},
2468 {"Permafroster", 0}, /* WAC was Froster */
2469 {"Icer", 0}, /* WAC was Froster */
2470 {"Freezer", 0},
2471 {"Sublimer", 0}, /* WAC was Freezer */
2472 {"Ice-Master", 0} },
2473 "Air", "Frost", "Smoke", /* Special */
2474 "Ice", "the great Ring of Ice", "the Earth Mage's Cave",
2475 PM_ICE_MAGE, NON_PM, PM_UNDEAD_ICE_MAGE, NON_PM, PM_WINTER_WOLF_CUB,
2476 PM_HIGH_ICE_MAGE, PM_FROSTER, PM_EARTH_MAGE, PM_DIGGING_MAGE,
2477 PM_RUST_MONSTER, PM_XORN, S_RUSTMONST, S_XORN,
2478 #if 0
2479 ART_DEEP_FREEZE, ART_FROST_BRAND,
2480 #endif
2481 ART_STORM_WHISTLE,
2482 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
2483 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2484 /* Str Int Wis Dex Con Cha */ /* Direct copy from Wizard */
2485 /*{ 7, 10, 7, 7, 7, 7 },*/
2486 { 3, 3, 3, 3, 3, 3 },
2487 { 10, 30, 10, 20, 20, 10 },
2488 /* new limit values for the six attributes by Amy */
2489 { 15, 20, 18, 14, 14, 16 },
2490 /* Init Lower Higher */
2491 { 15, 0, 0, 8, 1, 0 }, /* Hit points */
2492 { 15, 3, 0, 2, 0, 3 },12, /* Energy */
2493 0, 1, 0,
2494 2, 10, A_INT, SPE_CONE_OF_COLD, -4, 100 /* From old role.c */
2497 { {"Intel Scribe", 0}, { /* scribe, but there were too many role names beginning with S */
2498 {"Red Robe", 0},
2499 {"Reader", 0},
2500 {"Scribbler", 0},
2501 {"Writer", 0},
2502 {"Permanent Magic Marker", 0},
2503 {"Portable Ink Container", 0},
2504 {"Scientific Scribe", 0},
2505 {"Well-trained Scribe", 0},
2506 {"Highest Order Scribe", 0}},
2507 "Bowditch", "Peabody", "Rothchild", /* Fallout 3 */
2508 "Scr", "Peaceful Quarters", "thief lair",
2509 PM_INTEL_SCRIBE, NON_PM, PM_UNDEAD_INTEL_SCRIBE, NON_PM, PM_LITTLE_DOG,
2510 PM_MASTER_LIBRARIAN, PM_ATTENDANT, PM_VENTOS_EFFIGIL, PM_PSEUDO_ELF_THIEF,
2511 PM_ELVEN_MAGE, PM_ELVEN_PRIEST, S_HUMAN, S_HUMAN,
2513 ART_TRAINING_SMG,
2514 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
2515 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2516 /* Str Int Wis Dex Con Cha */ /* Direct copy from Wizard */
2517 /*{ 7, 10, 7, 7, 7, 7 },*/
2518 { 3, 3, 3, 3, 3, 3 },
2519 { 10, 30, 10, 20, 20, 10 },
2520 /* new limit values for the six attributes by Amy */
2521 { 17, 20, 22, 19, 15, 18 },
2522 /* Init Lower Higher */
2523 { 15, 0, 0, 8, 1, 0 }, /* Hit points */
2524 { 15, 3, 0, 2, 0, 3 },12, /* Energy */
2525 0, 1, 0,
2526 2, 10, A_INT, SPE_CHARGING, -4, 100 /* From old role.c */
2529 { {"Janitor", 0}, {
2530 {"Toilet Scrubber", 0},
2531 {"Mop Boy", 0},
2532 {"Housekeeper", 0},
2533 {"Custodian", 0},
2534 {"Maintenance Man", 0},
2535 {"Sanitation Freak", 0},
2536 {"Superintendent", 0},
2537 {"Property Manager", 0},
2538 {"Landlord", 0} },
2539 "Grime", "Dog Shit", "Fag Butt", /* various forms of garbage - the latter is an actual term for "cigarette", you can stop whining about political correctness */
2540 "Jan", "Waste Disposal Car Pool", "Smoky Mountain",
2541 PM_JANITOR, NON_PM, PM_UNDEAD_JANITOR, NON_PM, PM_ROOMBA,
2542 PM_EVRA_THE_MOP_LADY, PM_SERVANT, PM_VOMITANT_BUM, PM_CIGARETTE_FAGGOT,
2543 PM_OLOG_HAI, PM_HUDDLY_PUDDING, S_TROLL, S_PUDDING,
2545 ART_SUPERCLEAN_AWAYWIPER, /* broom */
2546 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
2547 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2548 /* Str Int Wis Dex Con Cha */
2549 /*{ 16, 7, 7, 15, 16, 6 },*/
2550 { 3, 3, 3, 3, 3, 3 },
2551 { 15, 15, 15, 20, 20, 15 },
2552 /* new limit values for the six attributes by Amy */
2553 { STR18(50), 17, 17, 19, 18, 18 },
2554 /* Init Lower Higher */
2555 { 16, 0, 0, 8, 2, 0 }, /* Hit points */
2556 { 8, 0, 0, 2, 0, 3 }, 14, /* Energy */
2557 10, 8, -1, 3, 10, A_INT, SPE_POLYMORPH, -4, 75
2560 { {"Jedi", 0}, {
2561 {"Youngling", 0},
2562 //{"Padawan", 0},
2563 {"Padawan", 0},
2564 //{"Jedi Apprentice", 0},
2565 {"Jedi Apprentice", 0},
2566 //{"Jedi Knight", 0},
2567 {"Jedi Knight", 0},
2568 {"Jedi Hero", 0},
2569 {"Jedi Master", 0} },
2570 "the Light Side", "the Force", "the Dark Side",
2571 "Jed", "the Jedi Temple", "the Outer Rim",
2572 PM_JEDI, NON_PM, PM_UNDEAD_JEDI, NON_PM, PM_LITTLE_DOG,
2573 PM_THE_JEDI_MASTER, PM_PADAWAN, PM_LORD_SIDIOUS, PM_LORD_INSIDIOUS,
2574 PM_STORMTROOPER, PM_LASER_STORMTROOPER, S_HUMAN, S_HUMAN,
2575 ART_LIGHTSABER_PROTOTYPE,
2576 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
2577 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2578 /* Str Int Wis Dex Con Cha */
2579 /*{ 10, 7, 14, 12, 10, 14 },*/
2580 { 3, 3, 3, 3, 3, 3 },
2581 { 30, 15, 15, 10, 20, 10 },
2582 /* new limit values for the six attributes by Amy */
2583 { STR18(100), 18, 20, 20, 18, 20 },
2584 /* Init Lower Higher */
2585 { 20, 4, 0, 8, 2, 4 }, /* Hit points */
2586 { 5, 4, 0, 1, 0, 4 },10, /* Energy */
2587 0, 12 , -1,
2588 2, 10, A_INT, SPE_CHARM_MONSTER, -4, 40
2591 { {"Jester", 0}, {
2592 {"Little Fool", 0},
2593 {"Juggler", 0},
2594 {"Court Clown", 0},
2595 {"Funny Dude", "Funny Gal"},
2596 {"Laughing Muscle", 0},
2597 {"Lollerskater", 0},
2598 {"Roflcopter", 0},
2599 {"Joker", 0},
2600 {"King's Personal Jester", 0}},
2601 "Barnum", "Bailey", "Shaco", /* ??? */
2602 "Jes", "The King's Exile", "Deepwater Shipyard",
2603 PM_JESTER, NON_PM, PM_UNDEAD_JESTER, NON_PM, PM_PRIEST,
2604 PM_KING_CHESTER, PM_UNFORTUNATE_VICTIM, PM_LADY_ELLY, PM_GOD_FORSAKEN_BITCH,
2605 PM_DOPPELGANGER, PM_TIGER, S_QUADRUPED, S_EYE,
2606 ART_KING_S_STOLEN_CROWN,
2607 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
2608 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2609 /* Str Int Wis Dex Con Cha */
2610 /*{ 10, 7, 7, 7, 13, 6 },*/
2611 { 3, 3, 3, 3, 3, 3 },
2612 { 13, 20, 13, 14, 20, 20 },
2613 /* new limit values for the six attributes by Amy */
2614 { 18, 14, 12, 20, 16, 19 },
2615 /* Init Lower Higher */
2616 { 12, 0, 0, 8, 0, 0 }, /* Hit points */
2617 { 3, 0, 0, 1, 0, 1 },10, /* Energy */
2618 0, 5, 0, 2, 10, A_INT, SPE_DETECT_UNSEEN, -4, 40
2621 { {"Jockey", 0}, {
2622 {"Riding Apprentice", 0},
2623 {"Horse Driver",0},
2624 {"Whipswinger",0},
2625 {"Rein Controller", 0},
2626 {"Wildrider", 0},
2627 {"Classic Cowboy", 0},
2628 {"Horseracer", 0},
2629 {"Mounted Thunder", 0},
2630 {"Sunset Horseman", 0} },
2631 "Bill Shoemaker", "Lester Piggott", "John Velazquez", /* famous jockeys */
2632 "Joc", "Riding School", "Jack's Farm",
2633 PM_JOCKEY, NON_PM, PM_UNDEAD_JOCKEY, NON_PM, PM_PEGASUS,
2634 PM_MIKE_SMITH, PM_STUDENT, PM_SIX_SHOOTER_JACK, PM_GUN_COWBOY,
2635 PM_VIPER_ARCHER, PM_UNMOUNT_VIPER, S_SNAKE, S_CENTAUR,
2636 #if 0
2637 ART_WEREBANE, ART_GRAYSWANDIR,
2638 #endif
2639 ART_PENUMBRAL_LASSO,
2640 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
2641 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2642 /* Str Int Wis Dex Con Cha */
2643 /* { 7, 10, 10, 7, 7, 7 },*/
2644 { 3, 3, 3, 3, 3, 3 },
2645 { 15, 15, 15, 30, 10, 15 },
2646 /* new limit values for the six attributes by Amy */
2647 { STR18(80), 18, 18, 24, 16, 20 },
2648 /* Init Lower Higher */
2649 { 12, 0, 0, 3, 2, 0 }, /* Hit points */
2650 { 6, 0, 0, 1, 0, 1 }, 16, /* Energy */
2651 10, 9, -4, 4, 16, A_INT, SPE_HORSE_HOP, -4, 30
2654 { {"Justice Keeper", 0}, {
2655 /*[Sakusha]*/
2656 {"Kageman", 0},
2657 {"Sonicblastman", 0},
2658 {"Mustleman", 0},
2659 {"Wingman", 0},
2660 {"Eightman", 0},
2661 {"Gatyaman", 0},
2662 {"Rainbowman", 0},
2663 {"Tekkaman", 0},
2664 {"Ultimate Justice Keeper", 0}},
2665 "Lawful Good", "True Neutral", "Chaotic Evil", /* Dungeons and Dragons */
2666 "Jus", "Trial Court Hall", "Robot Facilities",
2667 PM_JUSTICE_KEEPER, NON_PM, PM_UNDEAD_JUSTICE_KEEPER, NON_PM, PM_MONKEY,
2668 PM_BIRDMAN, PM_STARNOID, PM_EVIL_ROBOT, PM_SECURITRON_MKII,
2669 PM_GREMLIN, PM_TIN_GOLEM, S_GREMLIN, S_GOLEM,
2670 ART_SUPREME_JUSTICE_KEEPER, /* two-handed sword */
2671 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2672 /* Str Int Wis Dex Con Cha */
2673 /*{ 13, 7, 14, 8, 10, 17 },*/
2674 { 3, 3, 3, 3, 3, 3 },
2675 { 15, 15, 15, 15, 20, 20 },
2676 /* new limit values for the six attributes by Amy */
2677 { STR18(50), 16, 19, 18, 18, 17 },
2678 /* Init Lower Higher */
2679 { 10, 0, 0, 4, 4, 0 }, /* Hit points */
2680 { 7, 5, 0, 3, 0, 2 },18, /* Energy */
2681 10, 1, -4, 1, 7, A_WIS, SPE_SOLAR_BEAM, -4, 50
2684 { {"Knight", 0}, {
2685 {"Gallant", 0},
2686 {"Esquire", 0},
2687 {"Bachelor", 0},
2688 {"Sergeant", 0},
2689 {"Knight", 0},
2690 {"Banneret", 0},
2691 {"Cavalier", "Cavaliere"},
2692 {"Seignieur", "Dame"},
2693 {"Paladin", 0} },
2694 "Lugh", "_Brigit", "Manannan Mac Lir", /* Celtic */
2695 "Kni", "Camelot Castle", "the Isle of Glass",
2696 PM_KNIGHT, NON_PM, PM_UNDEAD_KNIGHT, NON_PM, PM_PONY,
2697 PM_KING_ARTHUR, PM_PAGE, PM_IXOTH, PM_XIXOT,
2698 PM_QUASIT, PM_OCHRE_JELLY, S_IMP, S_JELLY,
2699 #if 0
2700 ART_DRAGONBANE, ART_DEMONBANE,
2701 #endif
2702 ART_MAGIC_MIRROR_OF_MERLIN,
2703 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2704 /* Str Int Wis Dex Con Cha */
2705 /*{ 13, 7, 14, 8, 10, 17 },*/
2706 { 3, 3, 3, 3, 3, 3 },
2707 { 30, 15, 15, 10, 20, 10 },
2708 /* new limit values for the six attributes by Amy */
2709 { STR18(100), 15, 17, 16, 19, 19 },
2710 /* Init Lower Higher */
2711 { 19, 0, 0, 8, 2, 0 }, /* Hit points */
2712 { 10, 4, 0, 1, 0, 2 },10, /* Energy */
2713 10, 8,-2, 0, 9, A_WIS, SPE_TURN_UNDEAD, -4, 40
2716 { {"Korsair", 0}, {
2717 {"Lubber", 0},
2718 {"Swabby", 0},
2719 {"Deckhand", 0},
2720 {"Bilge Rat", 0},
2721 {"Helmsman", "Helmswoman"},
2722 {"Navigator", 0},
2723 {"Bosun", 0},
2724 {"Mate", 0},
2725 {"Commodore", 0} },
2726 "Erzulie Freda", "Marassa Jumeaux", "Papa Legba", /* Haitian Vodou */
2727 "Kor", "Queen Anne's Revenge", "Grotto of Souls",
2728 PM_KORSAIR, NON_PM, PM_UNDEAD_KORSAIR, NON_PM, NON_PM,
2729 PM_BLACKBEARD, PM_PIRATE_BROTHER, PM_SPEARATHAN, PM_SPEARFISH_OF_SORROW,
2730 PM_GIANT_EEL, PM_DRAUGR_ZOMBIE, S_EEL, S_ZOMBIE,
2731 ART_PEARL_OF_WISDOM,
2732 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
2733 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2734 /* Str Int Wis Dex Con Cha */
2735 /*{ 8, 7, 7, 8, 8, 7 },*/
2736 { 3, 3, 3, 3, 3, 3 },
2737 { 20, 15, 10, 20, 25, 10 },
2738 /* new limit values for the six attributes by Amy */
2739 { STR18(100), 18, 16, 18, 19, 19 },
2740 /* Init Lower Higher */
2741 { 10, 0, 0, 8, 1, 0 }, /* Hit points */
2742 { 1, 0, 0, 1, 0, 1 },12, /* Energy */
2743 10, 8, 0, 2, 9, A_INT, SPE_CAUSE_FEAR, -4, 30
2746 { {"Kurwa", 0}, {
2747 {"Cheap Sex Slave", 0},
2748 {"Kidnapped Beauty", 0},
2749 {"Sex Market Commodity", 0},
2750 {"Spread Legs", 0},
2751 {"STD Lover", 0},
2752 {"Many-Times-Fucked", 0},
2753 {"Orgasm Bomber", 0},
2754 {"Men's Wet Dream", 0},
2755 {"Highest-Selling Wench", 0} },
2756 "_Ewa", "Lorskel", "Kaczynski", /* Polish names */
2757 "Kur", "Hardcore-O-Mania Brothel", "Shadow Government realm",
2758 PM_KURWA, NON_PM, PM_UNDEAD_KURWA, NON_PM, PM_JENNIFER,
2759 PM_BIG_D, PM_ATTENDANT, PM_CASH_GREEDY_FINANCE_MINISTER, PM_TAX_A_DRIVER,
2760 PM_GIANT_MUMAK, PM_INVISIBLE_CC, S_BAT, S_QUADRUPED,
2761 ART_LORSKEL_S_INTEGRITY,
2762 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
2763 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2764 /* Str Int Wis Dex Con Cha */
2765 /*{ 13, 13, 13, 9, 13, 7 },*/
2766 { 3, 3, 3, 3, 3, 3 },
2767 { 20, 15, 5, 15, 20, 25 },
2768 /* new limit values for the six attributes by Amy */
2769 { STR18(100), 18, 18, 19, 18, 25 },
2770 /* Init Lower Higher */
2771 { 15, 0, 0, 3, 2, 0 }, /* Hit points */
2772 { 7, 0, 0, 2, 0, 2 },12, /* Energy */
2773 10, 5, -3, 2, 4, A_INT, SPE_MAKE_VISIBLE, -4, 100
2776 { {"Ladiesman", 0}, {
2777 {"Wiseguy", 0},
2778 {"Mirror Looker", 0},
2779 {"Self-admirer", 0},
2780 {"Beauty Contest Competitor", 0},
2781 {"Women's Hero", 0},
2782 {"Chick Magnet", 0},
2783 {"Celebrity", 0},
2784 {"Male Topmodel", 0},
2785 {"Sexiest Man Alive", 0}},
2786 "Hugh Hefner", "G-boy", "Arsene Lupin", /* famous people, I guess? */
2787 "Lad", "The Clubhouse", "dirty neighborhood",
2788 PM_LADIESMAN, NON_PM, PM_UNDEAD_LADIESMAN, NON_PM, NON_PM,
2789 PM_MADAM_TEQUILA_THE_CLUBHOUSE_OWNER, PM_MODEL, PM_MR__UNCOOL, PM_DUDE_WHO_THINKS_HE_S_COOL,
2790 PM_ADULT_GENTLEMAN, PM_FLYING_GUY, S_JELLY, S_PIERCER,
2791 ART_SLOWNESS_SHIRT,
2792 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
2793 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2794 /* Str Int Wis Dex Con Cha */
2795 /*{ 13, 13, 13, 9, 13, 7 },*/
2796 { 3, 3, 3, 3, 3, 3 },
2797 { 12, 30, 4, 12, 12, 30 },
2798 /* new limit values for the six attributes by Amy */
2799 { 16, 16, 18, 18, 14, 25 },
2800 /* Init Lower Higher */
2801 { 12, 0, 0, 4, 2, 0 }, /* Hit points */
2802 { 8, 0, 0, 1, 0, 2 },12, /* Energy */
2803 10, 9, 2, 1, 10, A_INT, SPE_CHARM_MONSTER, -4, 40
2806 { {"Librarian", 0}, {
2807 {"Intellectual", 0},
2808 {"Bestseller Reader", 0},
2809 {"Bookkeeper", 0},
2810 {"Bookworm", 0},
2811 {"Beta Reader", 0},
2812 {"Keeper of Rare Books", 0},
2813 {"Keeper of Valuable Books", 0},
2814 {"Magna Charta Keeper", 0},
2815 {"Keeper of Unique Books", 0}},
2816 "Leo Tolstoi", "Stephen Hawking", "H. P. Lovecraft", /* famous writers */
2817 "Lib", "Great Library", "Demonic Fire Pits",
2818 PM_LIBRARIAN, NON_PM, PM_UNDEAD_LIBRARIAN, NON_PM, NON_PM,
2819 PM_MASTER_BOOKKEEPER, PM_SERVANT, PM_CRABBE_AND_GOYLE, PM_TEAM_BULLIES,
2820 PM_RED_DRAGON, PM_PYROLISK, S_DRAGON, S_COCKATRICE,
2822 ART_BLOOD_MARKER,
2823 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
2824 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2825 /* Str Int Wis Dex Con Cha */
2826 /*{ 10, 10, 10, 8, 9, 7 },*/
2827 { 3, 3, 3, 3, 3, 3 },
2828 { 10, 30, 30, 10, 10, 10 },
2829 /* new limit values for the six attributes by Amy */
2830 { STR18(50), 19, 20, 18, 16, 20 },
2831 /* Init Lower Higher */
2832 { 18, 0, 0, 8, 1, 0 }, /* Hit points */
2833 { 20, 4, 0, 1, 0, 2 },20, /* Energy */
2834 10, 3,-3, 2, 10, A_WIS, SPE_CURE_HALLUCINATION, -4, 200
2837 { {"Locksmith", 0}, {
2838 {"Key User", 0},
2839 {"Door-opener", 0},
2840 {"Lock Breaker", 0},
2841 {"Lock Trickster", 0},
2842 {"Safecutter", 0},
2843 {"Keymaster", 0},
2844 {"Emergency Key Carrier", 0},
2845 {"Door Safety Assistant", 0},
2846 {"Supreme Lockpicker", 0} },
2847 "Nuada", "Dagda", "Morrigan", /* Celtic */
2848 "Loc", "Emergency Base", "Locked Room",
2849 PM_LOCKSMITH, NON_PM, PM_UNDEAD_LOCKSMITH, NON_PM, NON_PM,
2850 PM_MASTER_OF_LOCKS, PM_THUG, PM_BURGLAR_ED, PM_CRIMINAL_SCUMBAG,
2851 PM_ELVEN_MASTER_ROGUE, PM_COMING_THIEF, S_HUMAN, S_HUMAN,
2853 ART_NOCTURNAL_KEY,
2854 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
2855 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2856 /* Str Int Wis Dex Con Cha */
2857 /*{ 7, 7, 7, 10, 7, 6 },*/
2858 { 3, 3, 3, 3, 3, 3 },
2859 { 20, 10, 10, 30, 20, 10 },
2860 /* new limit values for the six attributes by Amy */
2861 { STR18(100), 18, 18, 24, 18, 18 },
2862 /* Init Lower Higher */
2863 { 15, 0, 0, 8, 1, 0 }, /* Hit points */
2864 { 3, 0, 0, 1, 0, 1 },11, /* Energy */
2865 10, 8, 0, 1, 9, A_INT, SPE_KNOCK, -4, 40
2868 { {"Lunatic", 0}, {
2869 {"Howler", 0},
2870 {"Crazy Person", 0},
2871 {"Moon Worshipper",0},
2872 {"Weirdo",0},
2873 {"Shapeshifter", 0},
2874 {"Warped Person", 0},
2875 {"Wereperson", 0},
2876 {"Asylum Escapee", 0},
2877 {"Master Shapeshifter", 0} },
2878 "Eluvian", "Moon", "Lycanthus", /* from an old SLASH version without extended magic */
2879 "Lun", "Wolfhowl Castle", "Slayer Domain",
2880 PM_LUNATIC, NON_PM, PM_UNDEAD_LUNATIC, NON_PM, NON_PM,
2881 PM_DRIUD_THE_DRUID, PM_ATTENDANT, PM_BUFFY_THE_VAMPIRE_SLAYER, PM_SIMON_BELMONT,
2882 PM_SOLDIER, PM_CAPTAIN, S_HUMAN, S_HUMAN,
2883 ART_VAMPIRE_KILLER,
2884 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
2885 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2886 /* Str Int Wis Dex Con Cha */
2887 /*{ 10, 7, 7, 7, 13, 6 },*/
2888 { 3, 3, 3, 3, 3, 3 },
2889 { 20, 20, 10, 20, 20, 10 },
2890 /* new limit values for the six attributes by Amy */
2891 { STR19(20), 16, 14, 18, 20, 14 },
2892 /* Init Lower Higher */
2893 { 18, 0, 0, 8, 6, 0 }, /* Hit points */
2894 { 5, 0, 0, 3, 0, 3 },10, /* Energy */
2895 -10, 5, 0, 2, 10, A_INT, SPE_GODMODE, -4, 30
2898 { {"Mahou Shoujo", 0}, {
2899 {"Schoolkid", 0},
2900 {"Teenie", 0},
2901 {"Preparing for Exams", 0},
2902 {"High School Graduate", 0},
2903 {"Final Year Student", 0},
2904 {"University Newbie", 0},
2905 {"Bachelor of Art and Craft", 0},
2906 {"Jesuitic Studies PhD", 0},
2907 {"Marriage Counseling Professor", 0}},
2908 "_Queen Serenity", "_Angel Aphrodite", "_Queen Beryl", /* perhaps an anime or manga? */
2909 "Mah", "Streets of Tokyo", "Demonic Principal Office",
2910 PM_MAHOU_SHOUJO, NON_PM, PM_UNDEAD_MAHOU_SHOUJO, NON_PM, PM_KICKBOXING_GIRL,
2911 PM_CELESTE, PM_MODEL, PM_PETTLER, PM_MARIJA_THE_WENCH,
2912 PM_LEGION_DEVIL_SERGEANT, PM_LEGION_DEVIL_CAPTAIN, S_DEMON, S_IMP,
2913 ART_SAINT_SOMETHING_FOUR_CRYST,
2914 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
2915 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2916 /* Str Int Wis Dex Con Cha */
2917 /*{ 13, 13, 13, 9, 13, 7 },*/
2918 { 3, 3, 3, 3, 3, 3 },
2919 { 12, 12, 30, 4, 12, 30 },
2920 /* new limit values for the six attributes by Amy */
2921 { STR18(30), 20, 16, 14, 12, 20 },
2922 /* Init Lower Higher */
2923 { 18, 0, 0, 6, 1, 0 }, /* Hit points */
2924 { 4, 0, 0, 1, 0, 1 },12, /* Energy */
2925 10, 9, 2, 1, 10, A_INT, SPE_LEVITATION, -4, 100
2928 { {"Mason", 0}, {
2929 {"Bricklayer", 0},
2930 {"Wall Construction Worker", 0},
2931 {"Granite Cementer", 0},
2932 {"Pavement Optimizer", 0},
2933 {"Housebuilding Apprentice", 0},
2934 {"Slate Slabber", 0},
2935 {"Clay Smelter", 0},
2936 {"Minecraft Master", 0},
2937 {"World Trade Center Architect", 0} },
2938 "The Battlehorse", "The Wild Boar", "The Dire Wolf", /* big mean animals */
2939 "Mas", "Sport-resounded", "Dangerous Ruin",
2940 PM_MASON, NON_PM, PM_UNDEAD_MASON, NON_PM, NON_PM,
2941 PM_BLEDA_S_IRON_BOAR, PM_ATTENDANT, PM_DESTRUCTION_DOZER, PM_SIEGE_CATERPILLAR,
2942 PM_ARBORACHUCK, PM_CHAOS_HULK, S_RODENT, S_UMBER,
2943 ART_ULTIMATE_PICK,
2944 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
2945 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2946 /* Str Int Wis Dex Con Cha */
2947 /*{ 13, 13, 13, 9, 13, 7 },*/
2948 { 3, 3, 3, 3, 3, 3 },
2949 { 30, 15, 15, 20, 15, 5 },
2950 /* new limit values for the six attributes by Amy */
2951 { STR19(21), 12, 14, 19, 20, 16 },
2952 /* Init Lower Higher */
2953 { 14, 0, 0, 6, 3, 0 }, /* Hit points */
2954 { 1, 0, 0, 2, 0, 2 }, 15, /* Energy */
2955 10, 12, 0, 10, 20, A_INT, SPE_LOCKOUT, -4, 25
2958 { {"Mastermind", 0}, {
2959 {"Far Herald", 0},
2960 {"Space Brother", 0},
2961 {"Cult Idol", 0},
2962 {"First Contact", 0},
2963 {"Federation Envoy", 0},
2964 {"Galactic Senator", 0},
2965 {"Coadunator", 0},
2966 {"Uplifter", 0},
2967 {"Terraformer", 0} },
2968 "_Marie Curie", "Georg Simon Ohm", "Albert Einstein", /* famous scientists */
2969 "Mam", "Guessing Corner", "Retardation Center",
2970 PM_MASTERMIND, NON_PM, PM_UNDEAD_MASTERMIND, NON_PM, PM_ELVEN_MAGE,
2971 PM_DEEP_BLUE__, PM_GLOBULE, PM_EDWARD_NYGMA, PM_THE_RIDDLER,
2972 PM_ISLAND_WARP_FUNGUS, PM_MIST_IN_THE_AIR, S_FUNGUS, S_BAD_FOOD,
2974 ART_RED_PIN, /* probably paddle-class weapon */
2975 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
2976 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
2977 /* Str Int Wis Dex Con Cha */
2978 /*{ 16, 7, 7, 15, 16, 6 },*/
2979 { 3, 3, 3, 3, 3, 3 },
2980 { 10, 40, 30, 5, 10, 5 },
2981 /* new limit values for the six attributes by Amy */
2982 { 16, 25, 24, 18, 18, 18 },
2983 /* Init Lower Higher */
2984 { 12, 0, 0, 4, 6, 0 }, /* Hit points */
2985 { 20, 0, 0, 6, 0, 6 }, 20, /* Energy */
2986 10, 2, 0, 1, 3, A_INT, SPE_ESP, -4, 250
2989 { {"Medium", 0}, {
2990 /*adds male names [Sakusha]*/
2991 {"Pure Boy", "Pure Girl"},
2992 {"Jinme Boy", "Jinme Girl"},
2993 {"Mist Youth", "Mist Maiden"},
2994 {"Moon Youth", "Moon Maiden"},
2995 {"Prince Youth", "Princess Maiden"},
2996 {"Hanuman Youth", "Hanuman Maiden"},
2997 {"Ryujin Youth", "Ryujin Maiden"},
2998 {"Kamiko", 0},
2999 {"Eternal Youth", "Eternal Maiden"} },
3000 "_Umbrellarina Madeline", "_Medium Deborah", "_Crueltrainer Cindy",
3001 "Med", "the Old Shrine", "the cave of fox-spirits",
3002 PM_MEDIUM, NON_PM, PM_UNDEAD_MEDIUM, NON_PM, PM_WHITE_UNICORN_FOAL,
3003 PM_SHINTO_PRIEST, PM_MAIDEN, PM_NINE_TAILED_FOX, PM_JUGEN,
3004 PM_FOX_SPIRIT, PM_HUMAN_ZOMBIE, S_DOG, S_ZOMBIE,
3005 ART_HOLYDIRK,
3006 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
3007 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3008 /* Str Int Wis Dex Con Cha */
3009 /*{ 13, 13, 13, 9, 13, 7 },*/
3010 { 3, 3, 3, 3, 3, 3 },
3011 { 4, 28, 30, 4, 4, 30 },
3012 /* new limit values for the six attributes by Amy */
3013 { 17, 20, 25, 19, 16, 19 },
3014 /* Init Lower Higher */
3015 { 9, 0, 0, 4, 1, 0 }, /* Hit points */
3016 { 25, 4, 0, 5, 0, 7 }, 8, /* Energy */
3017 10, 0, -5, 1, 4, A_WIS, SPE_MAP_LEVEL, -4, 150
3020 { {"Midget", 0}, {
3021 {"Little Midget", 0},
3022 {"Small Person", 0},
3023 {"Middle-Earth Miner", 0},
3024 {"Cave Inhabitant", 0},
3025 {"Big Midget", 0},
3026 {"Giant Midget", 0},
3027 {"Dwarven Master Smith", 0},
3028 {"Dwarvish Legend", 0},
3029 {"Biggest Midget Ever", 0} },
3030 "Moradin", "Dumathoin", "Abbathor",
3031 "Mid", "Midget Home", "Lonely Mountain",
3032 PM_MIDGET, NON_PM, PM_UNDEAD_MIDGET, NON_PM, NON_PM,
3033 PM_THORIN, PM_DWARF_WARRIOR, PM_SMAUG, PM_SMAUG_THE_ADOM_HURTHLING,
3034 PM_ORC_CAPTAIN, PM_WARG, S_ORC, S_DOG,
3035 ART_ARKENSTONE,
3036 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3037 /* Str Int Wis Dex Con Cha */
3038 /*{ 10, 7, 7, 7, 12, 7 },*/
3039 { 3, 3, 3, 3, 3, 3 },
3040 { 25, 9, 9, 20, 30, 7 },
3041 /* new limit values for the six attributes by Amy */
3042 { STR19(19), 16, 19, 16, 20, 13 },
3043 /* Init Lower Higher */
3044 { 16, 0, 0, 7, 2, 0 }, /* Hit points */
3045 { 2, 0, 0, 2, 0, 3 },10, /* Energy */
3046 0, 9, 0, 0, 6, A_INT, SPE_DIG, -4, 20
3049 { { "Mill Swallower", 0 }, {
3050 { "Trash Eater", 0 },
3051 { "Garbage Can Searcher", 0 },
3052 { "Waste Collector", 0 },
3053 { "Refuse Picker", 0 },
3054 { "True Grimer", 0 },
3055 { "Reusable Plastic Bag", 0 },
3056 { "Bottle Trader", 0 },
3057 { "Truckloader", 0 },
3058 { "Ocean Cleaner", 0 } },
3059 "Indra", "Soma", "Ishwara", /* rigvedic */
3060 "Mil", "Area Waste Deposit", "Litterhome",
3061 PM_MILL_SWALLOWER, NON_PM, PM_UNDEAD_MILL_SWALLOWER, NON_PM, PM_TASMANIAN_DEVIL,
3062 PM_WASTE_DEPUTY, PM_SERVANT, PM_ENVIRONMENT_POLLUTION_OVERLORD, PM_CAUSER_OF_CLIMATE_CHANGE,
3063 PM_FUN_TROLL, PM_CURSED_COLONY, S_FUNGUS, S_TROLL,
3064 ART_FERTILIZATOR, /* binning kit that creates random sling ammo whenever it trashes a corpse */
3065 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
3066 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3067 /* Str Int Wis Dex Con Cha */
3068 { 3, 3, 3, 3, 3, 3 },
3069 { 20, 15, 20, 20, 15, 10 },
3070 /* new limit values for the six attributes by Amy */
3071 { STR18(100), 17, 18, 18, 19, 16 },
3072 /* Init Lower Higher */
3073 { 20, 0, 0, 6, 4, 0 }, /* Hit points */
3074 { 4, 3, 0, 3, 0, 2 },15, /* Energy */
3075 0, 8, 0,
3076 8, 13, A_INT, SPE_THRONE_GAMBLE, -4, 50
3079 { {"Monk", 0}, {
3080 {"Candidate", 0},
3081 {"Novice", 0},
3082 {"Initiate", 0},
3083 {"Student of Stones", 0},
3084 {"Student of Waters", 0},
3085 {"Student of Metals", 0},
3086 {"Student of Winds", 0},
3087 {"Student of Fire", 0},
3088 {"Master", 0} },
3089 "Shan Lai Ching", "Chih Sung-tzu", "Huan Ti", /* Chinese */
3090 "Mon", "the Monastery of Chan-Sune",
3091 "the Monastery of the Earth-Lord",
3092 PM_MONK, NON_PM, PM_UNDEAD_MONK, NON_PM, NON_PM,
3093 PM_GRAND_MASTER, PM_ABBOT, PM_MASTER_KAEN, PM_KASTER_MAEN,
3094 PM_EARTH_ELEMENTAL, PM_XORN, S_ELEMENTAL, S_XORN,
3095 #if 0
3096 ART_GAUNTLETS_OF_DEFENSE, ART_WHISPERFEET,
3097 #endif
3098 ART_EYES_OF_THE_OVERWORLD,
3099 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
3100 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3101 /* Str Int Wis Dex Con Cha */
3102 /*{ 10, 7, 8, 8, 7, 7 },*/
3103 { 3, 3, 3, 3, 3, 3 },
3104 { 25, 10, 20, 20, 15, 10 },
3105 /* new limit values for the six attributes by Amy */
3106 { STR18(100), 14, 20, 18, 14, 18 },
3107 /* Init Lower Higher */
3108 { 17, 0, 0, 8, 1, 0 }, /* Hit points */
3109 { 8, 2, 0, 2, 0, 2 },10, /* Energy */
3110 10, 8,-2, 2, 20, A_WIS, SPE_RESTORE_ABILITY, -4, 50
3113 { {"Murderer", 0}, {
3114 {"Knife Killer", 0},
3115 {"Dangerous Criminal", 0},
3116 {"Mean Contract",0},
3117 {"Serial Killer",0},
3118 {"Cold-Blooded Gangster", 0},
3119 {"Silent Assassin", 0},
3120 {"Master Hitman", "Master Hitwoman"},
3121 {"Professional Cutter", 0},
3122 {"Bane of all innocent people", 0} },
3123 "Falis", "_Marfa", "Falaris", /* Record of Lodoss War */
3124 "Mur", "Secret Hiding Place", "Central Cop Station",
3125 PM_MURDERER, NON_PM, PM_UNDEAD_MURDERER, NON_PM, PM_SEWER_RAT,
3126 PM_KILLED_BILL, PM_INMATE, PM_UPPER_BULL, PM_ANTI_CRIME_SPECIAL_FORCES_OFFICER,
3127 PM_KOP_KCHIEF, PM_MACKH_SEPHIRAH, S_KOP, S_KOP,
3128 ART_PITCH_BLADE,
3129 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
3130 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3131 /* Str Int Wis Dex Con Cha */
3132 /*{ 10, 7, 7, 7, 13, 6 },*/
3133 { 3, 3, 3, 3, 3, 3 },
3134 { 20, 20, 10, 20, 20, 10 },
3135 /* new limit values for the six attributes by Amy */
3136 { STR18(100), 12, 12, 20, 18, 18 },
3137 /* Init Lower Higher */
3138 { 12, 0, 0, 8, 0, 0 }, /* Hit points */
3139 { 3, 0, 0, 1, 0, 1 },10, /* Energy */
3140 -50, 5, 0, 2, 10, A_INT, SPE_DISSOLVE_FOOD, -4, 20
3143 { {"Musician", 0}, {
3144 {"Doodler", 0},
3145 {"Whistler", 0},
3146 {"Flute Player", 0},
3147 {"Harp Player", 0},
3148 {"Orchestrator", 0},
3149 {"Concertist", 0},
3150 {"Virtue", 0},
3151 {"Piano Master", 0},
3152 {"Godly Voice", 0} },
3153 "Donblas", "Grome", "Arioch", /* Melnibonean */
3155 "Mus", "Wild West Bar", "High Noon Plains",
3156 PM_MUSICIAN, NON_PM, PM_UNDEAD_MUSICIAN, NON_PM, PM_GREEN_ELF,
3157 PM_HARRY_THE_COWBOY, PM_HIGHEST_ELF, PM_DRACO_THE_SHARPSHOOTER, PM_WILDWEST_GUNMAN,
3158 PM_ENEMY_TROOPER, PM_OFFICER, S_HUMAN, S_HUMAN,
3160 ART_BLACKHARP,
3161 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
3162 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3163 /* Str Int Wis Dex Con Cha */
3164 /*{ 13, 13, 13, 9, 13, 7 },*/
3165 { 3, 3, 3, 3, 3, 3 },
3166 { 30, 10, 10, 20, 20, 10 },
3167 /* new limit values for the six attributes by Amy */
3168 { STR18(20), 18, 18, 20, 18, 19 },
3169 /* Init Lower Higher */
3170 { 18, 0, 0, 6, 1, 0 }, /* Hit points */
3171 { 8, 0, 0, 2, 0, 2 },12, /* Energy */
3172 10, 9, 2, 1, 10, A_INT, SPE_CAUSE_FEAR, -4, 40
3175 { {"Mystic", 0}, {
3176 {"Insert rank title here", 0},
3177 {"Insert clever name here", 0},
3178 {"Insert witty saying here", 0},
3179 {"Insert random string here", 0},
3180 {"Insert cool stuff here", 0},
3181 {"Insert what you want here", 0},
3182 {"Insert appellation here", 0},
3183 {"Insert heroic deeds here", 0},
3184 {"Insert mysterious message here", 0}},
3185 0, 0, 0, /* chosen randomly from among the other roles */
3186 "Mys", "Lichen Land", "Newt Domain",
3187 PM_MYSTIC, NON_PM, PM_UNDEAD_MYSTIC, NON_PM, PM_GRIMER,
3188 PM_FWAGGLEBRAPO, PM_STUDENT, PM_YELDUD_TWEN, PM_DUDLEY_S_DUNGEON_TERMINATOR,
3189 PM_CHARIZARD, PM_CHAOS_LIZARD, S_LIZARD, S_LIZARD,
3190 ART_MYSTERIOUS_SPIKES,
3191 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
3192 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3193 /* Str Int Wis Dex Con Cha */
3194 /*{ 6, 6, 6, 6, 6, 6 },*/
3195 { 3, 3, 3, 3, 3, 3 },
3196 { 16, 17, 17, 17, 16, 17 },
3197 /* new limit values for the six attributes by Amy */
3198 { STR18(100), 18, 18, 18, 18, 18 },
3199 /* Init Lower Higher */
3200 { 11, 0, 0, 10, 2, 0 }, /* Hit points */
3201 { 5, 0, 1, 0, 1, 0 },15, /* Energy */
3202 5, 10, 5, 10, 25, A_INT, SPE_DETECT_FOOT, -4, 50
3206 { {"Necromancer", 0}, {
3207 {"Gravedigger", 0},
3208 {"Embalmer", 0},
3209 {"Mortician", 0},
3210 {"Zombie Lord", 0},
3211 {"Ghoul Master",0},
3212 {"Necromancer", 0},
3213 {"Necromancer", 0},
3214 {"Undead Master", 0},
3215 {"Lich Lord", 0} },
3216 "Nharlotep", "Zugguthobal", "Gothuulbe", /* Assorted slimy things */
3217 "Nec", "the Tower of the Dark Lord", "the Lair of Maugneshaagar",
3218 PM_NECROMANCER, NON_PM, PM_UNDEAD_NECROMANCER, NON_PM, PM_GHOUL,
3219 PM_DARK_LORD, PM_EMBALMER, PM_MAUGNESHAAGAR, PM_MAUGNESHNAAGAR,
3220 PM_NUPPERIBO, PM_MONGBAT, S_BAT, S_IMP,
3221 #if 0
3222 ART_SERPENT_S_TONGUE, ART_GRIMTOOTH,
3223 #endif
3224 ART_GREAT_DAGGER_OF_GLAURGNAA,
3225 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3226 /* Str Int Wis Dex Con Cha */ /* Direct copy from Wizard */
3227 /*{ 7, 10, 7, 7, 7, 7 },*/
3228 { 3, 3, 3, 3, 3, 3 },
3229 { 10, 30, 10, 20, 20, 10 },
3230 /* new limit values for the six attributes by Amy */
3231 { 14, 18, 17, 14, 12, 10 },
3232 /* Init Lower Higher */
3233 { 17, 0, 0, 8, 1, 0 }, /* Hit points */
3234 { 15, 3, 0, 2, 0, 3 },12, /* Energy */
3235 0, 1, 0,
3236 2, 10, A_INT, SPE_SUMMON_UNDEAD, -4, 100
3239 { {"Ninja", 0}, {
3240 {"Sword Trainee", 0},
3241 {"Dual-wield wannabee", 0},
3242 {"Whiffer", 0},
3243 {"Bladebearer", 0},
3244 {"Double-edge Sword", 0},
3245 {"Master Blade", 0},
3246 {"Katana Knight", 0},
3247 {"Sword Acrobat", 0},
3248 {"Shadowblade", 0} },
3249 "Votishal", "Raiden", "Rat God", /* Nehwon */
3250 "Nin", "Green Plains", "Demon Orb Lair",
3251 PM_NINJA, NON_PM, PM_UNDEAD_NINJA, NON_PM, PM_LITTLE_DOG,
3252 PM_KEN_HAYABUSA, PM_ROSHI, PM_JAQUIO, PM_UBERJAQUIO,
3253 PM_CARNIVOROUS_APE, PM_NIGHTGAUNT, S_YETI, S_BAT,
3255 ART_DRAGONCLAN_SWORD,
3256 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3257 /* Str Int Wis Dex Con Cha */
3258 /*{ 10, 8, 7, 10, 17, 6 },*/
3259 { 3, 3, 3, 3, 3, 3 },
3260 { 30, 10, 8, 30, 14, 8 },
3261 /* new limit values for the six attributes by Amy */
3262 { STR18(100), 17, 19, 20, 18, 19 },
3263 /* Init Lower Higher */
3264 { 19, 0, 0, 8, 1, 0 }, /* Hit points */
3265 { 7, 0, 0, 1, 0, 1 },11, /* Energy */
3266 10, 10, 0, 0, 8, A_INT, SPE_ENCHANT_WEAPON, -4, 25
3269 { {"Nobleman", "Noblewoman"}, {
3270 {"Pargar", 0},
3271 {"Cneaz", 0},
3272 {"Ban", 0},
3273 {"Jude", 0},
3274 {"Boier", 0},
3275 {"Cupar", 0},
3276 {"Clucer", 0},
3277 {"Domn", 0},
3278 {"Domnitor", 0} },
3279 "God the Father", "_Mother Earth", "the Satan", /* Romanian, sorta */
3280 "Nob", "your ancestral home",
3281 "the rebel village",
3282 PM_NOBLEMAN, PM_NOBLEWOMAN, PM_UNDEAD_NOBLEMAN, PM_UNDEAD_NOBLEWOMAN, PM_PONY,
3283 PM_OLD_GYPSY_WOMAN, PM_SERVANT, PM_REBEL_RINGLEADER, PM_REBEL_RINGFAILURE,
3284 PM_SOLDIER, PM_PEASANT, S_HUMANOID, S_HUMAN,
3285 ART_MANTLE_OF_HEAVEN,
3286 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3287 /* Str Int Wis Dex Con Cha */
3288 /*{ 10,10, 7, 10, 7, 7 },*/
3289 { 3, 3, 3, 3, 3, 3 },
3290 { 20, 18, 10, 20, 15, 17 },
3291 /* new limit values for the six attributes by Amy */
3292 { STR18(50), 16, 19, 18, 17, 22 },
3293 /* Init Lower Higher */
3294 { 10, 0, 0, 8, 1, 0 }, /* Hit points */
3295 { 2, 2, 0, 2, 0, 2 },10, /* Energy */
3296 10, 4,-4, 4, 8, A_INT, SPE_PROTECTION, -24, 40
3299 { {"Noob Mode Barb", 0}, {
3300 {"Complete Scrub", 0},
3301 {"Skill Agnostic", 0},
3302 {"Whippersnapper", 0},
3303 {"Whiny Lamer", 0},
3304 {"Terrible Rookie", 0},
3305 {"Bad Player", 0},
3306 {"Mindless Mower", 0},
3307 {"Filthy Cheater", 0},
3308 {"Biggest Noob Ever", 0} },
3309 "P-Point", "I Have To Reload", "Upper Failure Kornop",
3310 "Noo", "the Camp of the Duali Tribe", "the Duali Oasis",
3311 PM_NOOB_MODE_BARB, NON_PM, PM_UNDEAD_NOOB_MODE_BARB, NON_PM, NON_PM,
3312 PM_PELIAS, PM_CHIEFTAIN, PM_THOTH_AMON, PM_THOTH_AMUN,
3313 PM_OGRE, PM_TROLL, S_OGRE, S_TROLL,
3314 ART_HEART_OF_OTHER_AHRIMAN,
3315 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
3316 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3317 /* Str Int Wis Dex Con Cha */
3318 /*{ 16, 7, 7, 15, 16, 6 },*/
3319 { 3, 3, 3, 3, 3, 3 },
3320 { 30, 6, 7, 20, 30, 7 },
3321 /* new limit values for the six attributes by Amy */
3322 { STR19(20), 6, 8, 6, 20, 6 },
3323 /* Init Lower Higher */
3324 { 80, 0, 0,20, 4, 0 }, /* Hit points */
3325 { 0, 0, 0, 0, 0, 0 },10, /* Energy */
3326 10, 50, 20, 20, 50, A_INT, SPE_HASTE_SELF, -4, 5
3329 { {"Nuclear Physicist", 0}, {
3330 {"Safety Officer", 0},
3331 {"Burning Stick Controller", 0},
3332 {"Uranium Handler", 0},
3333 {"Walking Geiger Counter", 0},
3334 {"Atomic Counselor", 0},
3335 {"Ordinance Observer", 0},
3336 {"HEV Suit Wearer", 0},
3337 {"Resonance Cascade Averter", 0},
3338 {"Gordon Freeman Clone", 0} },
3339 "_Gina", "Gordon Freeman", "G-Man", /* Half-Life */
3340 "Nuc", "Anomalous Materials Laboratory", "Sector E Propulsion Chamber",
3341 PM_NUCLEAR_PHYSICIST, NON_PM, PM_UNDEAD_NUCLEAR_PHYSICIST, NON_PM, PM_BRAIN_EATING_GHOUL,
3342 PM_THESCI, PM_ATTENDANT, PM_INTERNATIONAL_ENERGY_COMMISSIONER, PM_ATOMIC_TESTER,
3343 PM_SKELETON, PM_GREATER_UGOD, S_UMBER, S_GHOST,
3344 ART_NUCLEAR_SPEAR,
3345 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
3346 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3347 /* Str Int Wis Dex Con Cha */
3348 /*{ 13, 13, 13, 9, 13, 7 },*/
3349 { 3, 3, 3, 3, 3, 3 },
3350 { 10, 35, 20, 15, 15, 5 },
3351 /* new limit values for the six attributes by Amy */
3352 { STR18(50), 19, 18, 19, 14, 19 },
3353 /* Init Lower Higher */
3354 { 9, 0, 0, 4, 1, 0 }, /* Hit points */
3355 { 16, 0, 0, 5, 0, 3 }, 10, /* Energy */
3356 -10, 8, -1, 8, 20, A_INT, SPE_ACIDSHIELD, -4, 50
3359 { {"Occult Master", 0}, {
3360 {"Risky Apprentice", 0},
3361 {"Dark Magician", 0},
3362 {"Venture Caster", 0},
3363 {"Tome Mage", 0},
3364 {"Arcane Arts Student", 0},
3365 {"Promising Scholar", 0},
3366 {"Controller of Dark Arts", 0},
3367 {"Occult Library Owner", 0},
3368 {"Backlash Master", 0} },
3369 "_Kumiromi of Harvest", "Opatos of Earth", "_Ehekatl of Luck",
3370 "Occ", "Occultist Cave", "Spell Dungeons",
3371 PM_OCCULT_MASTER, NON_PM, PM_UNDEAD_OCCULT_MASTER, NON_PM, PM_DARK_NIGHTMARE,
3372 PM_NADJA_THE_OCCULTIST, PM_ATTENDANT, PM_VILJA_THE_BITCH, PM_IRON_GIRL,
3373 PM_FLAMING_SKULL, PM_OCTARINE_GRUE, S_ZOMBIE, S_GRUE,
3374 ART_WHISTLE_OF_PROTECTION,
3375 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
3376 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3377 /* Str Int Wis Dex Con Cha */
3378 { 3, 3, 3, 3, 3, 3 },
3379 { 10, 30, 30, 10, 10, 10 },
3380 /* new limit values for the six attributes by Amy */
3381 { STR18(10), 19, 15, 19, 17, 16 },
3382 /* Init Lower Higher */
3383 { 6, 0, 0, 2, 2, 0 }, /* Hit points */
3384 { 30, 5, 0, 6, 0, 8 }, 8, /* Energy */
3385 0, 0, 0,
3386 1, 6, A_INT, SPE_GOOD_NIGHT, -4, 100 /* From old role.c */
3389 { {"Officer", 0}, {
3390 {"Street Cop", 0},
3391 {"Traffic Officer", 0},
3392 {"Patrolling Cop",0},
3393 {"Strifer",0},
3394 {"Crime Scene Cop", 0},
3395 {"Junior Sheriff", 0},
3396 {"Deputy Sheriff", 0},
3397 {"Wild-West Sheriff", 0},
3398 {"Cop Chief", 0} },
3399 "Magnum", "Smith", "Wesson", /* guns */
3400 "Off", "Central Cop Station", "Tank Breaker Hideout",
3401 PM_OFFICER, NON_PM, PM_UNDEAD_OFFICER, NON_PM, PM_OFFICER,
3402 PM_COMMISSIONER_HUNTER, PM_STUDENT, PM_GRANDPA_TANK_BREAKER, PM_OUT_OF_JAIL_CONVICT,
3403 PM_TANK_BREAKER, PM_KOP_KCHIEF, S_HUMAN, S_KOP,
3404 ART_SHINY_MAGNUM,
3405 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
3406 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3407 /* Str Int Wis Dex Con Cha */
3408 /*{ 10, 7, 7, 7, 13, 6 },*/
3409 { 3, 3, 3, 3, 3, 3 },
3410 { 20, 20, 10, 20, 20, 10 },
3411 /* new limit values for the six attributes by Amy */
3412 { STR18(100), 16, 14, 19, 19, 19 },
3413 /* Init Lower Higher */
3414 { 12, 0, 0, 8, 0, 0 }, /* Hit points */
3415 { 3, 0, 0, 1, 0, 1 },10, /* Energy */
3416 10, 5, 0, 2, 10, A_INT, SPE_RESIST_PETRIFICATION, -4, 40
3419 { {"Ordinator", 0}, {
3420 {"Battler", 0},
3421 {"Duelist", 0},
3422 {"Bladefencer", 0},
3423 {"Battlemaster", 0},
3424 {"Overlord", 0},
3425 {"War Machine", 0},
3426 {"Three-handed Swordsman", 0},
3427 {"Walking Weapon Factory", 0},
3428 {"Fucking Hammer of Thor", 0} },
3429 "_Vaire", "_Varda Elentari", "_Nessa", /* Elven */
3431 "Ord", "Top Secret Base", "Evil Lair",
3432 PM_ORDINATOR, NON_PM, PM_UNDEAD_ORDINATOR, NON_PM, PM_DANCING_GIRL,
3433 PM_SONTAIRE, PM_HIGHEST_ELF, PM_JYGGALAG, PM_SHEOROGATH,
3434 PM_LILLEND, PM_NESSIAN_PIT_FIEND, S_ANGEL, S_DEMON,
3436 ART_VIVEC_BLADE,
3437 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
3438 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3439 /* Str Int Wis Dex Con Cha */
3440 /*{ 13, 13, 13, 9, 13, 7 },*/
3441 { 3, 3, 3, 3, 3, 3 },
3442 { 50, 10, 10, 10, 10, 10 },
3443 /* new limit values for the six attributes by Amy */
3444 { STR19(25), 10, 10, 25, 25, 6 },
3445 /* Init Lower Higher */
3446 { 10, 0, 0, 5, 1, 0 }, /* Hit points */
3447 { 10, 0, 0, 2, 0, 2 },12, /* Energy */
3448 10, 9, 2, 1, 10, A_INT, SPE_ENCHANT_WEAPON, -4, 30
3451 { {"Otaku", 0}, {
3452 {"Heyaduo", 0},
3453 {"Zhozshi", 0},
3454 {"Mr. Yu", "Ms. Yu"},
3455 {"Songye", 0},
3456 {"Zhidao", 0},
3457 {"Juzi", 0},
3458 {"Wintry, Poplar and Willow", 0},
3459 {"Yifuji", 0},
3460 {"Du", 0}},
3461 "Brahma", "Vishnu", "_Shiva", /* India? */
3462 "Ota", "Shambala Temple", "Trapped Treasure Room",
3463 PM_OTAKU, NON_PM, PM_UNDEAD_OTAKU, NON_PM, PM_VAMPIRE,
3464 PM_SENIOR_OTAKU, PM_ATTENDANT, PM_DANA_DYNAMITE_BEAUTY_MISS, PM_FLEECY_WHITNEY,
3465 PM_UNDEAD_WIZARD, PM_UNDEAD_UNDERTAKER, S_GOLEM, S_HUMAN,
3467 ART_ALTAR_CARVER,
3468 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
3469 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3470 /* Str Int Wis Dex Con Cha */ /* Direct copy from Wizard */
3471 /*{ 7, 10, 7, 7, 7, 7 },*/
3472 { 3, 3, 3, 3, 3, 3 },
3473 { 10, 30, 10, 20, 20, 10 },
3474 /* new limit values for the six attributes by Amy */
3475 { 17, 17, 16, 19, 15, 18 },
3476 /* Init Lower Higher */
3477 { 15, 0, 0, 8, 1, 0 }, /* Hit points */
3478 { 15, 3, 0, 2, 0, 3 },12, /* Energy */
3479 0, 1, 0,
3480 2, 10, A_INT, SPE_ENTRAPPING, -4, 50 /* From old role.c */
3483 { {"Paladin", 0}, {
3484 {"Fighter of Law", 0},
3485 {"Chivalrous Warrior", 0},
3486 {"Knightly Strider", 0},
3487 {"Courageous Battler", 0},
3488 {"Holy Warrior", 0},
3489 {"Celestial Warrior", 0},
3490 {"Peacebringing Knight", 0},
3491 {"Knight in shiny armor", 0},
3492 {"God-gifted Warrior", 0}},
3493 "Ariel", "Tyrael", "Gabriel", /* angels */
3494 "Pal", "Paladin Order", "Dark Ritual Cave",
3495 PM_PALADIN, NON_PM, PM_UNDEAD_PALADIN, NON_PM, NON_PM,
3496 PM_PALADIN_COLVIN, PM_ACOLYTE, PM_MYSTERIOUS_NECROMANCER, PM_RANDOM_BLACK_MAGE,
3497 PM_NECROMANCER, PM_UNDEAD_NECROMANCER, S_HUMAN, S_HUMAN,
3498 ART_ORB_OF_RESISTANCE,
3499 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
3500 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3501 /* Str Int Wis Dex Con Cha */
3502 /*{ 7, 7, 10, 7, 7, 7 },*/
3503 { 3, 3, 3, 3, 3, 3 },
3504 { 5, 15, 20, 15, 25, 20 },
3505 /* new limit values for the six attributes by Amy */
3506 { STR18(50), 18, 19, 15, 17, 19 },
3507 /* Init Lower Higher */
3508 { 20, 0, 0, 9, 1, 0 }, /* Hit points */
3509 { 17, 3, 0, 2, 0, 2 },10, /* Energy */
3510 0, 3,-2, 2, 10, A_WIS, SPE_REMOVE_CURSE, -4, 50
3513 { {"Pickpocket", 0}, {
3514 {"Cash Stealer", 0},
3515 {"Money Thief", 0},
3516 {"Tricky Hands", 0},
3517 {"Trained Fingers", 0},
3518 {"Trickster Thief", 0},
3519 {"Mean Stealer", 0},
3520 {"Expert Thief", 0},
3521 {"Moneybag Remover", 0},
3522 {"Money Van Kidnapper", 0}},
3523 "Danzai", "Milanor", "Daini", /* ??? */
3524 "Pic", "Black Market", "Thief Brigand Den",
3525 PM_PICKPOCKET, NON_PM, PM_UNDEAD_PICKPOCKET, NON_PM, NON_PM,
3526 PM_SOME_GUY_CALLED_SHADE, PM_THUG, PM_DON_RIO_THE_MASTER_THIEF, PM_GIACOMO_CASANOVA,
3527 PM_ASSASSIN, PM_UNDEAD_ASSASSIN, S_NYMPH, S_LEPRECHAUN,
3529 ART_CUTTHROAT_BLADE,
3530 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
3531 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3532 /* Str Int Wis Dex Con Cha */
3533 /*{ 7, 7, 7, 10, 7, 6 },*/
3534 { 3, 3, 3, 3, 3, 3 },
3535 { 12, 12, 12, 30, 4, 30 },
3536 /* new limit values for the six attributes by Amy */
3537 { 18, 17, 16, 25, 16, 18 },
3538 /* Init Lower Higher */
3539 { 15, 0, 0, 8, 1, 0 }, /* Hit points */
3540 { 3, 0, 0, 1, 0, 1 },11, /* Energy */
3541 10, 8, 0, 1, 9, A_INT, SPE_DETECT_TREASURE, -4, 30
3545 { {"Pirate", 0}, {
3546 {"Landlubber", 0},
3547 {"Swabbie", 0},
3548 {"Cutthroat", 0},
3549 {"Bosun", 0},
3550 {"Second Mate", 0},
3551 {"First Mate", 0},
3552 {"Captain", 0},
3553 {"Pirate Lord", 0},
3554 {"Dread Pirate", 0} },
3555 "the Lord", "_the deep blue sea", "the Devil", /* Christian, sorta */
3556 "Pir", "Tortuga", "Shipwreck Island",
3557 PM_PIRATE, NON_PM, PM_UNDEAD_PIRATE, NON_PM, NON_PM,
3558 PM_MAYOR_CUMMERBUND, PM_PIRATE_BROTHER, PM_BLACKBEARD_S_GHOST, PM_WHITEBEARD_S_GHOST,
3559 PM_SKELETAL_PIRATE, PM_SOLDIER, S_RODENT, S_ELEMENTAL, /* Ghost pirates, soldiers, rats in the food stores, and the occasional storm*/
3560 ART_TREASURY_OF_PROTEUS,
3561 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
3562 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3563 /* Str Int Wis Dex Con Cha */
3564 /*{ 8, 7, 7, 8, 8, 7 },*/
3565 { 3, 3, 3, 3, 3, 3 },
3566 { 20, 15, 10, 20, 25, 10 },
3567 /* new limit values for the six attributes by Amy */
3568 { STR18(100), 18, 16, 18, 19, 19 },
3569 /* Init Lower Higher */
3570 { 10, 0, 0, 8, 1, 0 }, /* Hit points */
3571 { 1, 0, 0, 1, 0, 1 },12, /* Energy */
3572 10, 8, 0, 2, 9, A_INT, SPE_CAUSE_FEAR, -4, 30
3575 { {"Poison Mage", 0}, {
3576 {"Poison Mixer", 0},
3577 {"Venom Scatterer", 0},
3578 {"Green Poisoner", 0},
3579 {"Purple Poisoner", 0},
3580 {"Poison Exploder", 0},
3581 {"Contaminator", 0},
3582 {"Stinking Cloud Creator", 0},
3583 {"Gas Attacker", 0},
3584 {"Poison Bomber", 0} },
3585 "Seveso Toxin", "Fukoshima Radiation", "Mustard Gas", /* poison */
3586 "Poi", "Overrun Base", "Alien UFO",
3587 PM_POISON_MAGE, NON_PM, PM_UNDEAD_POISON_MAGE, NON_PM, PM_VENOM_FUNGUS,
3588 PM_CREATOR_OF_POISON, PM_ATTENDANT, PM_GENEWORM, PM_PITWORM,
3589 PM_GANGRENOUS_WYRM, PM_ALIENATED_UFO_PART, S_WORM, S_HUMAN,
3590 ART_IMMUNITY_RING,
3591 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
3592 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3593 /* Str Int Wis Dex Con Cha */ /* Direct copy from Wizard */
3594 /*{ 7, 10, 7, 7, 7, 7 },*/
3595 { 3, 3, 3, 3, 3, 3 },
3596 { 10, 30, 10, 20, 20, 10 },
3597 /* new limit values for the six attributes by Amy */
3598 { 18, 18, 19, 18, 20, 19 },
3599 /* Init Lower Higher */
3600 { 15, 0, 0, 8, 1, 0 }, /* Hit points */
3601 { 15, 3, 0, 2, 0, 3 },12, /* Energy */
3602 0, 1, 0,
3603 2, 10, A_INT, SPE_POISON_BLAST, -4, 100 /* From old role.c */
3606 { {"Pokemon", 0}, {
3607 {"CROC", 0},
3608 {"ALIGE", 0},
3609 {"BEIL", 0},
3610 {"MADAM", 0},
3611 {"GUAIL", 0},
3612 {"BANQ", 0}, /* One skilled at crossbows */
3613 {"PIJIA", 0},
3614 {"CLAU", 0},
3615 {"MIY", 0} },
3616 "A'En", "Dr. Oujide", "Team Missile Bomb", /* Pokemon Vietnamese Crystal */
3617 "Pok", "ELF GRANDFATHER RESEARCH LAB", "JOIN-CAVE",
3618 PM_POKEMON, NON_PM, PM_UNDEAD_POKEMON, NON_PM, PM_EEVEE,
3619 PM_DR__WUSIJI, PM_POKEMON_TRAINER, PM_HO_OH, PM_PHIX,
3620 PM_KOFFING, PM_RHYHORN, S_EYE, S_QUADRUPED,
3621 ART_GAUNTLETS_OF_ILLUSION,
3622 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
3623 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3624 /* Str Int Wis Dex Con Cha */
3625 /*{ 13, 13, 13, 9, 13, 7 },*/
3626 { 3, 3, 3, 3, 3, 3 },
3627 { 30, 10, 10, 20, 20, 10 },
3628 /* new limit values for the six attributes by Amy */
3629 { STR18(100), 19, 19, 19, 19, 20 },
3630 /* Init Lower Higher */
3631 { 18, 0, 0, 6, 1, 0 }, /* Hit points */
3632 { 4, 0, 0, 1, 0, 1 },12, /* Energy */
3633 10, 9, 2, 1, 10, A_INT, SPE_INVISIBILITY, -4, 120
3636 { {"Politician", 0}, {
3637 {"Voter", 0},
3638 {"Councillor", 0},
3639 {"District Councillor",0},
3640 {"Backbencher",0},
3641 {"Minister", 0},
3642 {"Secretary of State", 0},
3643 {"Chancellor", 0},
3644 {"Home Secretary", 0},
3645 {"Prime Minister", 0} },
3646 "Democracy", "Communism", "Despotism", /* political structures */
3647 "Pol", "Houses of Parliament", "Lair of Anarchy",
3648 PM_POLITICIAN, NON_PM, PM_UNDEAD_POLITICIAN, NON_PM, PM_SOLDIER,
3649 PM_THE_QUEEN, PM_YEOMAN_WARDER, PM_BNP_LEADER, PM_APEC_WORKER,
3650 PM_GNOLL_GANGSTER, PM_CHAOS_BROTHER, S_GNOME, S_CENTAUR,
3652 ART_PRIME_MINISTER_S_TUXEDO,
3653 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3654 /* Str Int Wis Dex Con Cha */
3655 /*{ 7, 10, 6, 7, 7, 10 },*/
3656 { 3, 3, 3, 3, 3, 3 },
3657 { 15, 10, 10, 5, 10, 50 },
3658 /* new limit values for the six attributes by Amy */
3659 { 16, 16, 18, 16, 16, 20 },
3660 /* Init Lower Higher */
3661 { 12, 0, 0, 6, 0, 0 }, /* Hit points */
3662 { 10, 0, 0, 1, 0, 1 },14, /* Energy */
3663 0, 5, 1, 2, 10, A_INT, SPE_CHARM_MONSTER, -4, 100
3666 { { "Practicant", 0 }, {
3667 { "Oppressed Lab Worker", 0 },
3668 { "Will-less Slave", 0 },
3669 { "One Who Fears Assistants", 0 },
3670 { "Beach Drama Experiencer", 0 },
3671 { "Despotism Endurer", 0 },
3672 { "Annoyed Ramming Support", 0 },
3673 { "Rebel Leader", 0 },
3674 { "System Overthrower", 0 },
3675 { "Accomplished Diploma Student", 0 } },
3676 "Divert", "Oat Camper", "_Jeannine", /* assistants */
3677 "Pra", "Joy Mountain Hall", "Assistant's Office",
3678 PM_PRACTICANT, NON_PM, PM_UNDEAD_PRACTICANT, NON_PM, PM_OXYGEN_GOLEM, /* 50% chance of a sulfur golem instead */
3679 PM_LITTLE_BIA, PM_STUDENT, PM_ASSISTANT_NOROELA, PM_CRUEL_FEMALE_DICTATOR,
3680 PM_STUDENT_ASSISTANT, PM_UNDEAD_GRADUATE, S_SNAKE, S_UMBER,
3681 ART_TOO_LATE_PRIZE, /* chemistry set, invoke for summon water elemental and does nothing else */
3682 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
3683 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3684 /* Str Int Wis Dex Con Cha */
3685 { 3, 3, 3, 3, 3, 3 },
3686 { 15, 20, 20, 20, 10, 15 },
3687 /* new limit values for the six attributes by Amy */
3688 { 18, 20, 20, 22, 12, 18 },
3689 /* Init Lower Higher */
3690 { 12, 0, 0, 4, 1, 0 }, /* Hit points */
3691 { 8, 4, 0, 6, 0, 4 },12, /* Energy */
3692 10, 6, -3,
3693 6, 12, A_INT, SPE_BATTERING_RAM, -4, 70
3696 { {"Preversioner", 0}, {
3697 {"Newcomer", 0},
3698 {"Green Cross Delver", 0},
3699 {"Moneyless Adventurer", 0},
3700 {"Balance Grumbler", 0},
3701 {"Crash Bug Encounterer", 0},
3702 {"Bad Game Design Bitcher", 0},
3703 {"Fook-Yoo-Sayer", 0},
3704 {"Ch3at0r", 0},
3705 {"Ascension Run Skipper", 0} },
3706 "0.54A", "Level Change UAE", "Reset Button Without A Confirmation", /* still salty about the latter... :-P --Amy */
3707 "Pre", "Northeast Quadrant", "Some Nondescript Dungeon Level",
3708 PM_PREVERSIONER, NON_PM, PM_UNDEAD_PREVERSIONER, NON_PM, NON_PM,
3709 PM_POLGARA, PM_HACKER, PM_EXTREMELY_ANCIENT_RED_DRAGON, PM_YET_ANOTHER_RED_KITE,
3710 PM_OLD_RED_DRAGON, PM_VERY_OLD_BLUE_DRAGON, S_DRAGON, S_DEMON,
3712 ART_DOWNSIZE_GLASS, /* mirror that cuts boss monsters' health in half, but only for preversioner role */
3713 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
3714 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3715 /* Str Int Wis Dex Con Cha */ /* Direct copy from Wizard */
3716 /*{ 7, 10, 7, 7, 7, 7 },*/
3717 { 3, 3, 3, 3, 3, 3 },
3718 { 20, 20, 10, 20, 20, 10 },
3719 /* new limit values for the six attributes by Amy */
3720 { STR18(100), 18, 18, 18, 18, 18 },
3721 /* Init Lower Higher */
3722 { 14, 0, 0, 2, 2, 0 }, /* Hit points */
3723 { 7, 1, 0, 1, 0, 1 }, 14, /* Energy */
3724 0, 8, -1,
3725 2, 3, A_INT, SPE_ACIDSHIELD, -4, 100 /* From old role.c */
3728 { {"Priest", "Priestess"}, {
3729 {"Aspirant", 0},
3730 {"Acolyte", 0},
3731 {"Adept", 0},
3732 {"Priest", "Priestess"},
3733 {"Curate", 0},
3734 {"Canon", "Canoness"},
3735 {"Lama", 0},
3736 {"Patriarch", "Matriarch"},
3737 {"High Priest", "High Priestess"} },
3738 0, 0, 0, /* chosen randomly from among the other roles */
3739 "Pri", "the Great Temple", "the Temple of Nalzok",
3740 PM_PRIEST, PM_PRIESTESS, PM_UNDEAD_PRIEST, PM_UNDEAD_PRIESTESS, NON_PM,
3741 PM_ARCH_PRIEST, PM_ACOLYTE, PM_NALZOK, PM_ZALNOK,
3742 PM_HUMAN_ZOMBIE, PM_WRAITH, S_ZOMBIE, S_WRAITH,
3743 #if 0
3744 ART_DISRUPTER, ART_SUNSWORD,
3745 #endif
3746 ART_MITRE_OF_HOLINESS,
3747 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
3748 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3749 /* Str Int Wis Dex Con Cha */
3750 /*{ 7, 7, 10, 7, 7, 7 },*/
3751 { 3, 3, 3, 3, 3, 3 },
3752 { 15, 10, 30, 15, 20, 10 },
3753 /* new limit values for the six attributes by Amy */
3754 { 17, 18, 22, 14, 15, 19 },
3755 /* Init Lower Higher */
3756 { 18, 0, 0, 8, 1, 0 }, /* Hit points */
3757 { 17, 3, 0, 2, 0, 2 },10, /* Energy */
3758 0, 3,-2, 2, 10, A_WIS, SPE_REMOVE_CURSE, -4, 75
3761 { {"Prostitute", 0}, {
3762 {"Light Girl", 0},
3763 {"Attractive Hooker", 0},
3764 {"Sexy Butt Cheeks", 0},
3765 {"Money Body", 0},
3766 {"Noble Prostitute", 0},
3767 {"Beautiful Harlot", 0},
3768 {"Sexbomb", 0},
3769 {"Top-Class Working Girl", 0},
3770 {"King's Secret Love", 0} },
3771 "_Mercedes", "_Misty", "_Kendl", /* Grand Theft Auto */
3772 "Pro", "Luigi's Sex Club", "Center of Human Hate",
3773 PM_PROSTITUTE, NON_PM, PM_UNDEAD_PROSTITUTE, NON_PM, PM_ELIF,
3774 PM_LUIGI, PM_ATTENDANT, PM_FOAMING_WHITE_KNIGHT, PM_SOCIAL_JUSTICE_IDIOT,
3775 PM_MUMAK, PM_CARRION_BIRD, S_BAT, S_QUADRUPED,
3776 ART_HIGHEST_FEELING,
3777 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
3778 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3779 /* Str Int Wis Dex Con Cha */
3780 /*{ 13, 13, 13, 9, 13, 7 },*/
3781 { 3, 3, 3, 3, 3, 3 },
3782 { 20, 15, 5, 15, 20, 25 },
3783 /* new limit values for the six attributes by Amy */
3784 { STR18(100), 18, 18, 19, 18, 25 },
3785 /* Init Lower Higher */
3786 { 15, 0, 0, 3, 2, 0 }, /* Hit points */
3787 { 7, 0, 0, 2, 0, 2 },12, /* Energy */
3788 10, 5, -3, 2, 4, A_INT, SPE_TAKE_SELFIE, -4, 100
3791 { {"Psion", 0}, {
3792 {"Cantripper", 0},
3793 {"Spoonbender", 0},
3794 {"Kinetic", 0},
3795 {"Seer", 0},
3796 {"Psychic", 0},
3797 {"Oracle", 0},
3798 {"Levitator", 0},
3799 {"Visionary", 0},
3800 {"Master Psion", 0} },
3801 "Bickney", "Corridor", "Lockney", /* Egyptian */
3802 "Psi", "the Monastery of Psionics",
3803 "the Monastery of the Swamp",
3804 PM_PSION, NON_PM, PM_UNDEAD_PSION, NON_PM, NON_PM,
3805 PM_PSI_MASTER, PM_ABBOT, PM_MASTER_SABRINA, PM_SABRAIN,
3806 PM_DOPPELGANGER, PM_MULTICOLOR_GRUE, S_GRUE, S_HUMAN,
3807 #if 0
3808 ART_GAUNTLETS_OF_DEFENSE, ART_WHISPERFEET,
3809 #endif
3810 ART_GAUNTLETS_OF_OFFENSE,
3811 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
3812 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3813 /* Str Int Wis Dex Con Cha */
3814 /*{ 10, 7, 8, 8, 7, 7 },*/
3815 { 3, 3, 3, 3, 3, 3 },
3816 { 5, 30, 30, 5, 5, 25 },
3817 /* new limit values for the six attributes by Amy */
3818 { 14, 20, 25, 18, 12, 18 },
3819 /* Init Lower Higher */
3820 { 5, 0, 0, 0, 0, 0 }, /* Hit points */
3821 { 20, 4, 0, 4, 0, 8 },10, /* Energy */
3822 10, 8,-2, 2, 20, A_WIS, SPE_WIZARD_LOCK, -4, 200
3825 { {"Psyker", 0}, { /* ZAPM psion */
3826 {"Odd Ball", 0},
3827 {"Weirdo", 0},
3828 {"Mind Reader", 0},
3829 {"Spoon Bender", 0},
3830 {"Freakazoid", 0},
3831 {"Telepath", 0},
3832 {"Spyion", 0},
3833 {"Master Psyker", 0},
3834 {"Farseer", 0} },
3835 "Bill Rizer", "Lance Bean", "Haggle Man", /* classic NES games */
3836 "Psy", "Psionic Domain", "Unbalanced Waste",
3837 PM_PSYKER, NON_PM, PM_UNDEAD_PSYKER, NON_PM, PM_QUADRENNIAL_SODDEN_RATCHET,
3838 PM_THE_DUNGEON_MASTER, PM_VERY_MINDLESS_THRALL, PM_ROCKFALL_GRIEFER, PM_NONBEHAVING_PLAYER,
3839 PM_SYNDICATE_GODSEND_READILY, PM_STEEL_MISSINGNO, S_BAD_FOOD, S_WORM_TAIL,
3841 ART_PSIGUN, /* kalashnikov with psi res */
3842 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
3843 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3844 /* Str Int Wis Dex Con Cha */
3845 /*{ 16, 7, 7, 15, 16, 6 },*/
3846 { 3, 3, 3, 3, 3, 3 },
3847 { 5, 25, 40, 20, 5, 5 },
3848 /* new limit values for the six attributes by Amy */
3849 { 15, 25, 25, 21, 12, 15 },
3850 /* Init Lower Higher */
3851 { 8, 0, 0, 2, 2, 0 }, /* Hit points */
3852 { 30, 0, 0, 10, 0, 9 }, 12, /* Energy */
3853 10, 4, -2, 1, 6, A_INT, SPE_PSYBEAM, -4, 200
3856 { {"Quarterback", 0}, {
3857 {"Towel Boy", 0},
3858 {"Bench Warmer", 0},
3859 {"Starter", 0},
3860 {"Jock", 0},
3861 {"Star Player", 0},
3862 {"Team Captain", 0},
3863 {"MVP", 0},
3864 {"Pro Bowler", 0},
3865 {"Hall Of Famer", 0} },
3866 "Roger Staubach", "Peyton Manning", "Tom Brady", /* famous quarterbacks */
3867 "Qua", "National Training Camp", "No-Rules Playing Field",
3868 PM_QUARTERBACK, NON_PM, PM_UNDEAD_QUARTERBACK, NON_PM, PM_MISTER_HEAD,
3869 PM_BASEBALL_LEGEND, PM_HUNTER, PM_RUGBY_FOULER, PM_BONEBREAKER,
3870 PM_COUNTER_ACE, PM_M__TO_M___, S_TROLL, S_ZOMBIE,
3872 ART_WORLD_LEAGUE_HITTER, /* baseball bat */
3873 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
3874 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3875 /* Str Int Wis Dex Con Cha */
3876 /*{ 16, 7, 7, 15, 16, 6 },*/
3877 { 3, 3, 3, 3, 3, 3 },
3878 { 15, 10, 5, 15, 50, 5 },
3879 /* new limit values for the six attributes by Amy */
3880 { STR18(100), 16, 14, 20, 25, 18 },
3881 /* Init Lower Higher */
3882 { 25, 0, 0, 10, 5, 0 }, /* Hit points */
3883 { 1, 0, 0, 1, 0, 1 }, 16, /* Energy */
3884 10, 8, 0, 2, 12, A_INT, SPE_SHUFFLE_MONSTER, -4, 40
3887 /* Note: Rogue precedes Ranger so that use of `-R' on the command line
3888 retains its traditional meaning. */
3889 /* Amy edit - we enabled a new sorting system so this is moot. */
3891 { {"Ranger", 0}, {
3892 #if 0 /* OBSOLETE */
3893 {"Edhel", "Elleth"},
3894 {"Edhel", "Elleth"}, /* elf-maid */
3895 {"Ohtar", "Ohtie"}, /* warrior */
3896 {"Kano", /* commander (Q.) ['a] */
3897 "Kanie"}, /* educated guess, until further research- SAC */
3898 {"Arandur", /* king's servant, minister (Q.) - guess */
3899 "Aranduriel"}, /* educated guess */
3900 {"Hir", "Hiril"}, /* lord, lady (S.) ['ir] */
3901 {"Aredhel", "Arwen"}, /* noble elf, maiden (S.) */
3902 {"Ernil", "Elentariel"}, /* prince (S.), elf-maiden (Q.) */
3903 {"Elentar", "Elentari"}, /* Star-king, -queen (Q.) */
3904 "Solonor Thelandira", "Aerdrie Faenya", "Lolth", /* Elven */
3905 #endif
3906 {"Tenderfoot", 0},
3907 {"Lookout", 0},
3908 {"Trailblazer", 0},
3909 {"Reconnoiterer", "Reconnoiteress"},
3910 {"Scout", 0},
3911 {"Arbalester", 0}, /* One skilled at crossbows */
3912 {"Archer", 0},
3913 {"Sharpshooter", 0},
3914 {"Marksman", "Markswoman"} },
3915 "Mercury", "_Venus", "Mars", /* Roman/planets */
3916 "Ran", "Orion's camp", "the cave of the wumpus",
3917 PM_RANGER, NON_PM, PM_UNDEAD_RANGER, NON_PM, PM_LITTLE_DOG /* Orion & canis major */,
3918 PM_ORION, PM_HUNTER, PM_SCORPIUS, PM_CRABBIUS,
3919 PM_FOREST_CENTAUR, PM_SCORPION, S_CENTAUR, S_SPIDER,
3920 #if 0
3921 0, 0,
3922 #endif
3923 ART_LONGBOW_OF_DIANA,
3924 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
3925 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3926 /* Str Int Wis Dex Con Cha */
3927 /*{ 13, 13, 13, 9, 13, 7 },*/
3928 { 3, 3, 3, 3, 3, 3 },
3929 { 30, 10, 10, 20, 20, 10 },
3930 /* new limit values for the six attributes by Amy */
3931 { STR18(50), 18, 16, 25, 16, 19 },
3932 /* Init Lower Higher */
3933 { 18, 0, 0, 6, 1, 0 }, /* Hit points */
3934 { 4, 0, 0, 1, 0, 1 },12, /* Energy */
3935 10, 9, 2, 1, 10, A_INT, SPE_INVISIBILITY, -4, 40
3938 { {"Ringseeker", 0}, {
3939 {"Hobbit Townie", 0},
3940 {"Drunken Hobbit", 0},
3941 {"Celebrating Hobbit", 0},
3942 {"Ringquester", 0},
3943 {"Fellow of the Ring", 0},
3944 {"Moria Survivor", 0},
3945 {"Blarog Basher", 0},
3946 {"Mount Doom Hiker", 0},
3947 {"Hero who defeated Sauron", 0} },
3948 "Lurtz", "Saruman", "Morgoth",
3949 "Rin", "Bree", "Misty Mountains",
3950 PM_RINGSEEKER, NON_PM, PM_UNDEAD_RINGSEEKER, NON_PM, NON_PM,
3951 PM_BILBO_BAGGINS, PM_PROUDFOOT, PM_GOLLUM, PM_PSEUDO_GOLLUM,
3952 PM_SWAMP_KOBOLD, PM_URUK_HAI, S_KOBOLD, S_ORC,
3953 ART_ONE_RING,
3954 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
3955 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3956 /* Str Int Wis Dex Con Cha */
3957 /*{ 7, 10, 7, 7, 7, 7 },*/
3958 { 3, 3, 3, 3, 3, 3 },
3959 { 10, 30, 10, 20, 10, 20 },
3960 /* new limit values for the six attributes by Amy */
3961 { 16, 20, 20, 20, 14, 16 },
3962 /* Init Lower Higher */
3963 { 10, 0, 0, 6, 1, 0 }, /* Hit points */
3964 { 15, 4, 0, 2, 0, 2 },12, /* Energy */
3965 0, 0, -2, 4, 12, A_INT, SPE_INVISIBILITY, -4, 30
3968 { {"Rocker", 0}, {
3969 {"Whistleblower", 0},
3970 {"Tooter", 0},
3971 {"Hooter",0},
3972 {"Violinist",0},
3973 {"Guitarist", 0},
3974 {"Bassist", 0},
3975 {"Percussionist", 0},
3976 {"Harper", 0},
3977 {"Synthesizer", 0} },
3978 "Classic Rock", "Symphonic Metal", "Hardcore Punk", /* music styles */
3979 "Roc", "Bigband Studio", "Black Metal Den",
3980 PM_ROCKER, NON_PM, PM_UNDEAD_ROCKER, NON_PM, PM_SPEEDHORSE,
3981 PM_ROCKIN_ROLLER, PM_ATTENDANT, PM_DEATH_METAL_ORCHESTRA_LEADER, PM_GOD_OF_SPEED_METAL,
3982 PM_DEATH_METAL_FREAK, PM_DEATH_METAL_DRUMMER, S_HUMAN, S_UNICORN,
3983 ART_ROCKER_SLING,
3984 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
3985 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
3986 /* Str Int Wis Dex Con Cha */
3987 /*{ 10, 7, 7, 7, 13, 6 },*/
3988 { 3, 3, 3, 3, 3, 3 },
3989 { 20, 20, 10, 20, 20, 10 },
3990 /* new limit values for the six attributes by Amy */
3991 { STR19(19), 14, 17, 18, 19, 19 },
3992 /* Init Lower Higher */
3993 { 12, 0, 0, 8, 0, 0 }, /* Hit points */
3994 { 3, 0, 0, 1, 0, 1 },10, /* Energy */
3995 -10, 5, 0, 2, 10, A_INT, SPE_FORCE_BOLT, -4, 30
3998 { {"Rogue", 0}, {
3999 {"Footpad", 0},
4000 {"Cutpurse", 0},
4001 {"Rogue", 0},
4002 {"Pilferer", 0},
4003 {"Robber", 0},
4004 {"Burglar", 0},
4005 {"Filcher", 0},
4006 {"Magsman", "Magswoman"},
4007 {"Thief", 0} },
4008 "Issek", "Mog", "Kos", /* Nehwon */
4009 "Rog", "the Thieves' Guild Hall", "the Assassins' Guild Hall",
4010 PM_ROGUE, NON_PM, PM_UNDEAD_ROGUE, NON_PM, NON_PM,
4011 PM_MASTER_OF_THIEVES, PM_THUG, PM_MASTER_ASSASSIN, PM_DEMIMASTER_ASSASSIN,
4012 PM_LEPRECHAUN, PM_GUARDIAN_NAGA, S_NYMPH, S_NAGA,
4013 #if 0
4014 ART_DOOMBLADE, ART_BAT_FROM_HELL,
4015 #endif
4016 ART_MASTER_KEY_OF_THIEVERY,
4017 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
4018 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4019 /* Str Int Wis Dex Con Cha */
4020 /*{ 7, 7, 7, 10, 7, 6 },*/
4021 { 3, 3, 3, 3, 3, 3 },
4022 { 20, 10, 10, 30, 20, 10 },
4023 /* new limit values for the six attributes by Amy */
4024 { STR18(50), 18, 15, 25, 17, 20 },
4025 /* Init Lower Higher */
4026 { 15, 0, 0, 8, 1, 0 }, /* Hit points */
4027 { 3, 0, 0, 1, 0, 1 },11, /* Energy */
4028 10, 8, 0, 1, 9, A_INT, SPE_DETECT_TREASURE, -4, 30
4031 { {"Sage", 0}, {
4032 {"Invoker", 0},
4033 {"Summoner", 0},
4034 {"Secret Keeper", 0},
4035 {"Mage Adept", 0},
4036 {"Witchcrafter", 0},
4037 {"Illusionist", 0},
4038 {"Geomancer", 0},
4039 {"Astral Caster", 0},
4040 {"Master Of All Spells", 0}},
4041 "_Cassandra", "Menelaos", "_Helen of Troy", /* Greek history */
4042 "Sag", "Ancient Sage College", "The Trojan Horse",
4043 PM_SAGE, NON_PM, PM_UNDEAD_SAGE, NON_PM, PM_KITTEN,
4044 PM_ANCIENT_SAGE, PM_APPRENTICE, PM_RODNEY_S_TWIN, PM_RODNEY_S_SISTER,
4045 PM_AIR_SPIRIT, PM_RODNEY_S_SISTER, S_NEMESE, S_NEMESE,
4047 ART_SHILLELAGH,
4048 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
4049 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4050 /* Str Int Wis Dex Con Cha */
4051 /*{ 7, 10, 7, 7, 7, 7 },*/
4052 { 3, 3, 3, 3, 3, 3 },
4053 { 10, 30, 30, 10, 10, 10 },
4054 /* new limit values for the six attributes by Amy */
4055 { 13, 22, 25, 17, 13, 19 },
4056 /* Init Lower Higher */
4057 { 15, 0, 0, 8, 1, 0 }, /* Hit points */
4058 { 25, 3, 0, 2, 0, 3 },12, /* Energy */
4059 0, 1, 0, 3, 10, A_INT, SPE_CREATE_FAMILIAR, -4, 200
4062 { {"Saiyan", 0}, {
4063 {"Little Wannabe Fighter", 0},
4064 {"Saiyan Amateur", 0},
4065 {"Saiyan Apprentice", 0},
4066 {"Anime Hero", 0},
4067 {"Monkey Boy", 0},
4068 {"Z-Warrior", 0},
4069 {"Saiyan Prince", 0},
4070 {"Saiyan General", 0},
4071 {"Saiyan Grandmaster", 0} },
4072 "Moori", "King Kai", "Vegeta", /* Dragonball series */
4073 "Sai", "Kame House", "Goku's arrival ship",
4074 PM_SAIYAN, NON_PM, PM_UNDEAD_SAIYAN, NON_PM, PM_DRAGONBALL_KID,
4075 PM_MASTER_ROSHI, PM_ROSHI, PM_DARK_GOKU, PM_FRIEZA,
4076 PM_KAMEHAMEHA_FIGHTER, PM_SUPER_SAIYAN, S_HUMAN, S_DEMON,
4078 ART_MODIFIED_Z_SWORD,
4079 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
4080 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4081 /* Str Int Wis Dex Con Cha */
4082 /*{ 10, 7, 8, 8, 7, 7 },*/
4083 { 3, 3, 3, 3, 3, 3 },
4084 { 25, 10, 20, 20, 15, 10 },
4085 /* new limit values for the six attributes by Amy */
4086 { STR19(19), 17, 18, 19, 18, 16 },
4087 /* Init Lower Higher */
4088 { 17, 0, 0, 8, 1, 0 }, /* Hit points */
4089 { 8, 2, 0, 2, 0, 2 },10, /* Energy */
4090 10, 8,-2, 2, 20, A_WIS, SPE_FINGER_OF_DEATH, -4, 40
4094 { {"Samurai", 0}, {
4095 {"Hatamoto", 0}, /* Banner Knight */
4096 {"Ronin", 0}, /* no allegiance */
4097 {"Ninja Gaiden", "Kunoichi"}, /* secret society */
4098 {"Joshu", 0}, /* heads a castle */
4099 {"Ryoshu", 0}, /* has a territory */
4100 {"Kokushu", 0}, /* heads a province */
4101 {"Daimyo", 0}, /* a samurai lord */
4102 {"Kuge", 0}, /* Noble of the Court */
4103 {"Shogun", 0} },/* supreme commander, warlord */
4104 "_Amaterasu Omikami", "Raijin", "Susanowo", /* Japanese */
4105 "Sam", "the Castle of the Taro Clan", "the Shogun's Castle",
4106 PM_SAMURAI, NON_PM, PM_UNDEAD_SAMURAI, NON_PM, PM_LITTLE_DOG,
4107 PM_LORD_SATO, PM_ROSHI, PM_ASHIKAGA_TAKAUJI, PM_OSAYO_NARAKAMI,
4108 PM_WOLF, PM_STALKER, S_DOG, S_ELEMENTAL,
4109 #if 0
4110 ART_SNICKERSNEE, ART_DRAGONBANE,
4111 #endif
4112 ART_TSURUGI_OF_MURAMASA,
4113 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4114 /* Str Int Wis Dex Con Cha */
4115 /*{ 10, 8, 7, 10, 17, 6 },*/
4116 { 3, 3, 3, 3, 3, 3 },
4117 { 30, 10, 8, 30, 14, 8 },
4118 /* new limit values for the six attributes by Amy */
4119 { STR18(100), 16, 18, 17, 18, 18 },
4120 /* Init Lower Higher */
4121 { 19, 0, 0, 8, 1, 0 }, /* Hit points */
4122 { 7, 0, 0, 1, 0, 1 },11, /* Energy */
4123 10, 10, 0, 0, 8, A_INT, SPE_CLAIRVOYANCE, -4, 20
4126 { {"Scientist", 0}, {
4127 {"Tube Mixer", 0},
4128 {"Practician", 0},
4129 {"Advanced Practician", 0},
4130 {"Experimentator", 0},
4131 {"Test Runner", 0},
4132 {"Graduate Scientist", 0},
4133 {"Simpleton with a PhD",0},
4134 {"Rocket Scientist",0},
4135 {"Nobel-Prized Scientist",0} },
4136 "Nikola Tesla", "Erwin Schroedinger", "Wernher von Braun", /* famous scientists */
4137 "Sci", "Black Mesa Research Facility", "Xen",
4138 PM_SCIENTIST, NON_PM, PM_UNDEAD_SCIENTIST, NON_PM, NON_PM,
4139 PM_GORDON_FREEMAN, PM_HACKER, PM_NIHILANTH, PM_BIG_FLYING_BABY,
4140 PM_INFANTRYMAN, PM_GI_TROOPER, S_GOLEM, S_WALLMONST,
4142 ART_OPERATIONAL_SCALPEL,
4143 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
4144 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4145 /* Str Int Wis Dex Con Cha */
4146 /*{ 10, 10, 10, 8, 9, 7 },*/
4147 { 3, 3, 3, 3, 3, 3 },
4148 { 20, 20, 20, 10, 20, 10 },
4149 /* new limit values for the six attributes by Amy */
4150 { STR18(50), 19, 18, 19, 14, 19 },
4151 /* Init Lower Higher */
4152 { 12, 0, 0, 3, 1, 0 }, /* Hit points */
4153 { 20, 5, 0, 1, 0, 2 },20, /* Energy */
4154 10, 3,-3, 2, 10, A_WIS, SPE_IDENTIFY, -4, 35
4157 { {"Secret Advice Member", 0}, {
4158 {"Hidden Operative", 0},
4159 {"Covert OP", 0},
4160 {"Underground Agitator", 0},
4161 {"Secret Schemer", 0},
4162 {"Gun Hider", 0},
4163 {"Shady Executive", 0},
4164 {"Banishment Wielder", 0},
4165 {"Top-Secret Advice Member", 0},
4166 {"Boss of the Secret Advice", 0} },
4167 "_Katrin", "Len-kind", "Coffin Nail",
4168 "Sec", "Secret Advice Hiding Place", "Revoluzzer Force HQ",
4169 PM_SECRET_ADVICE_MEMBER, NON_PM, PM_UNDEAD_SECRET_ADVICE_MEMBER, NON_PM, PM_BUST_SUPERSECRET_ADVICE_RIFLING_UNVERIFIED_BOSOMING,
4170 PM_CHAIRMAN_LEON, PM_TROOPER, PM_REVOLUTINO_MARI, PM_ASS_GAS_SPREADER,
4171 PM_BODYBUILDER_LICH, PM_BACKFIRING_LICH, S_ZOMBIE, S_LICH,
4173 ART_ASS_DEAF_AUGER,
4174 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
4175 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4176 /* Str Int Wis Dex Con Cha */ /* Direct copy from Wizard */
4177 /*{ 7, 10, 7, 7, 7, 7 },*/
4178 { 3, 3, 3, 3, 3, 3 },
4179 { 15, 20, 15, 20, 15, 15 },
4180 /* new limit values for the six attributes by Amy */
4181 { STR19(20), 20, 20, 20, 20, 20 },
4182 /* Init Lower Higher */
4183 { 20, 0, 0, 4, 5, 0 }, /* Hit points */
4184 { 10, 2, 0, 2, 0, 3 }, 17, /* Energy */
4185 10, 6, -3,
4186 4, 5, A_WIS, SPE_TELEPORT_AWAY, -4, 100 /* From old role.c */
4189 { {"Shadow Jedi", 0}, {
4190 {"Dark Lighter", 0},
4191 {"Hunkbasher", 0},
4192 {"Lightsaber Form Trainer", 0},
4193 {"Style Changer", 0},
4194 {"Whirler", 0},
4195 {"Jedi Without Jedi Powers", 0},
4196 {"Chargeless Power", 0},
4197 {"Fizzle-Fizzer", 0},
4198 {"Blacklight Master", 0} },
4199 "the Light Side", "the Force", "the Dark Side",
4200 "Sdw", "the Jedi Temple", "the Outer Rim",
4201 PM_SHADOW_JEDI, NON_PM, PM_UNDEAD_SHADOW_JEDI, NON_PM, PM_LITTLE_DOG,
4202 PM_THE_JEDI_MASTER, PM_PADAWAN, PM_LORD_SIDIOUS, PM_LORD_INSIDIOUS,
4203 PM_SHOTGUN_STORMTROOPER, PM_LASER_STORMTROOPER, S_HUMAN, S_HUMAN,
4204 ART_GAMMASABER,
4205 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
4206 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4207 /* Str Int Wis Dex Con Cha */
4208 /*{ 10, 7, 14, 12, 10, 14 },*/
4209 { 3, 3, 3, 3, 3, 3 },
4210 { 30, 15, 15, 10, 20, 10 },
4211 /* new limit values for the six attributes by Amy */
4212 { STR18(100), 18, 20, 20, 18, 20 },
4213 /* Init Lower Higher */
4214 { 20, 4, 0, 8, 2, 4 }, /* Hit points */
4215 { 5, 4, 0, 1, 0, 4 },10, /* Energy */
4216 0, 12 , -1,
4217 2, 10, A_INT, SPE_CHARM_MONSTER, -4, 40
4220 { {"Shapeshifter", 0}, {
4221 {"Polymorph Trainee", 0},
4222 {"Item Zapper", 0},
4223 {"Polymorphitis Hero", 0},
4224 {"Wild Changer", 0},
4225 {"Polypiler", 0},
4226 {"Human Chameleon", 0},
4227 {"Master Shapechanger", 0},
4228 {"Grandmaster Shapechanger", 0},
4229 {"Ultimate Shapechanger", 0} },
4230 0, 0, 0, /* chosen randomly from among the other roles */
4231 "Sha", "Transformer College", "Mutation Cave",
4232 PM_SHAPESHIFTER, NON_PM, PM_UNDEAD_SHAPESHIFTER, NON_PM, PM_CHAMELEON,
4233 PM_MASTER_SHIFTER, PM_SHIFTER, PM_TRANSMUTER, PM_TRANSFORMATOR,
4234 PM_CHAMELEON, PM_GUARDIAN_NAGA, S_LIZARD, S_NAGA,
4235 ART_MEDALLION_OF_SHIFTERS,
4236 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
4237 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4238 /* Str Int Wis Dex Con Cha */
4239 /*{ 13, 13, 13, 9, 13, 7 },*/
4240 { 3, 3, 3, 3, 3, 3 },
4241 { 10, 25, 25, 10, 10, 20 },
4242 /* new limit values for the six attributes by Amy */
4243 { 16, 17, 15, 14, 10, 12 },
4244 /* Init Lower Higher */
4245 { 12, 0, 0, 3, 1, 0 }, /* Hit points */
4246 { 20, 0, 0, 4, 0, 4 },12, /* Energy */
4247 10, 9, 2, 1, 10, A_INT, SPE_POLYMORPH, -4, 30
4250 { {"Shoe Fetishist", 0}, {
4251 {"Socksmeller", 0},
4252 {"Combat Boot Slave", 0},
4253 {"Shin-Smashed Sneaker", 0},
4254 {"Bathtub Despairer", 0},
4255 {"Dogshit Challenger", 0},
4256 {"Final Dancer", 0},
4257 {"Fall-From-Grace", 0},
4258 {"Toilet Puzzler", 0},
4259 {"Winner At Last", 0} },
4260 "Birkenstock", "Tamaris", "Peter Kaiser", /* German shoe brands */
4261 "Sho", "Heel Hall", "Underway Simulation",
4262 PM_SHOE_FETISHIST, NON_PM, PM_UNDEAD_SHOE_FETISHIST, NON_PM, PM_KATI_S_STRIPED_SNEAKER,
4263 PM_SIMULATION_LEADER, PM_MODEL, PM_ARABELLA, PM_TUFTED_ASIAN_GIRL, /* make sure Arabella doesn't get the wand! */
4264 PM_ANTJE_S_BLOCK_HEELED_BOOT, PM_HENRIETTA_S_THICK_BLOCK_HEELED_BOOT, S_RODENT, S_SPIDER,
4266 ART_KATHARINA_S_LOVELINESS, /* platform boots */
4267 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
4268 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4269 /* Str Int Wis Dex Con Cha */ /* Direct copy from Wizard */
4270 /*{ 7, 10, 7, 7, 7, 7 },*/
4271 { 3, 3, 3, 3, 3, 3 },
4272 { 10, 20, 15, 15, 10, 30 },
4273 /* new limit values for the six attributes by Amy */
4274 { 16, 18, 18, 18, 14, 18 },
4275 /* Init Lower Higher */
4276 { 9, 0, 0, 1, 1, 0 }, /* Hit points */
4277 { 0, 0, 0, 1, 0, 1 }, 14, /* Energy */
4278 10, 10, 2,
4279 12, 10, A_INT, SPE_HOLD_AIR, -4, 30 /* From old role.c */
4282 { {"Singslave", 0}, {
4283 {"Imprisoned Fool", 0},
4284 {"Mushfingers", 0},
4285 {"Shocked Cleaner", 0},
4286 {"Dogshit Remover", 0},
4287 {"Mastercurser", 0},
4288 {"Hard-Working Slave", 0},
4289 {"Re-Imprisoned", 0},
4290 {"Work Refuser", 0},
4291 {"Escaped Ex-Slave", 0} },
4292 "_Blue-Heeled Ute", "_Red-Heeled Nancy", "_Ski-Heeled Brigitte",
4293 "Sin", "Tinbrook Shop", "Shoe Torture Chamber",
4294 PM_SINGSLAVE, NON_PM, PM_UNDEAD_SINGSLAVE, NON_PM, PM_SLAVE,
4295 PM_TUFTRIKE, PM_SERVANT, PM_PROFILE_KATI, PM_BROWN_BOOT_BITCH,
4296 PM_NEREID, PM_LILLDESEAM, S_NYMPH, S_ANGEL,
4298 ART_SABRINA_S_RESCUE, /* platform boot */
4299 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
4300 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4301 /* Str Int Wis Dex Con Cha */ /* Direct copy from Wizard */
4302 /*{ 7, 10, 7, 7, 7, 7 },*/
4303 { 3, 3, 3, 3, 3, 3 },
4304 { 20, 15, 15, 20, 20, 10 },
4305 /* new limit values for the six attributes by Amy */
4306 { STR18(50), 17, 16, 15, 18, 15 },
4307 /* Init Lower Higher */
4308 { 12, 0, 0, 3, 2, 0 }, /* Hit points */
4309 { 2, 1, 0, 1, 0, 0 },11, /* Energy */
4310 10, 6, -2,
4311 4, 12, A_INT, SPE_REPAIR_ARMOR, -4, 20 /* From old role.c */
4315 { {"Slave Master", 0}, {
4316 {"Slave Trader", 0},
4317 {"People Seller", 0},
4318 {"Human Abducter", 0},
4319 {"Professional Slaver", 0},
4320 {"Kidnapper", 0},
4321 {"Poocher", 0},
4322 {"Whipmaster", 0},
4323 {"Master Slaver", 0},
4324 {"King of Slavers", "Queen of Slavers"}},
4325 "Airyaman", "Gandarewa", "Daevas", /* Persian */
4326 "Sla", "Prassia", "Ankh-Morpork",
4327 PM_SLAVE_MASTER, NON_PM, PM_UNDEAD_SLAVE_MASTER, NON_PM, PM_BIG_DOG,
4328 PM_SLAVE_EMPEROR, PM_STUDENT, PM_RINCEWIND, PM_FAILED_SORCEROR,
4329 PM_FROST_MONSTER, PM_AQUA_MUNCHER, S_JABBERWOCK, S_RUSTMONST,
4331 ART_DRAGON_WHIP,
4332 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
4333 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4334 /* Str Int Wis Dex Con Cha */
4335 /* { 7, 10, 10, 7, 7, 7 },*/
4336 { 3, 3, 3, 3, 3, 3 },
4337 { 15, 5, 15, 30, 30, 5 },
4338 /* new limit values for the six attributes by Amy */
4339 { STR19(20), 16, 8, 19, 20, 19 },
4340 /* Init Lower Higher */
4341 { 16, 0, 0, 8, 1, 0 }, /* Hit points */
4342 { 10, 0, 0, 1, 0, 1 },14, /* Energy */
4343 10, 5, 0, 2, 10, A_INT, SPE_COMMAND_UNDEAD, -4, 40
4346 { {"Social Justice Warrior", 0}, {
4347 {"Safe Zone Kid", 0},
4348 {"Low Gatekeeper", 0},
4349 {"Cesspool Dweller", 0},
4350 {"Intolerant Fanatic", 0},
4351 {"Echo Chamber Sounder", 0},
4352 {"Banhammer Wielder", 0},
4353 {"Party Line Ensurer", 0},
4354 {"Miss-Leader", 0},
4355 {"Major Minoritist", 0} },
4356 "_Zoe Quinn", "_Brianna Wu", "_Anita Sarkeesian", /* feminists */
4357 "Soc", "Secluded Forum", "Evil Wide World",
4358 PM_SOCIAL_JUSTICE_WARRIOR, NON_PM, PM_UNDEAD_SOCIAL_JUSTICE_WARRIOR, NON_PM, PM_OFFICER_JENNY,
4359 PM_ZEALOUS_MODERATOR, PM_THUG, PM_FAT_GROPER, PM_STROKE_FEEL_UPPER,
4360 PM_CLONED_NEW_VEGAS_NPC, PM_ULTRA_DESTRUCTIVE_MONSTER, S_ZOMBIE, S_GOLEM,
4362 ART_MARKER_OF_SAFE_SPEECH,
4363 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
4364 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4365 /* Str Int Wis Dex Con Cha */
4366 /*{ 16, 7, 7, 15, 16, 6 },*/
4367 { 3, 3, 3, 3, 3, 3 },
4368 { 15, 10, 10, 20, 20, 25 },
4369 /* new limit values for the six attributes by Amy */
4370 { STR18(50), 15, 16, 19, 20, 18 },
4371 /* Init Lower Higher */
4372 { 14, 0, 0, 7, 1, 0 }, /* Hit points */
4373 { 7, 0, 0, 1, 0, 6 }, 15, /* Energy */
4374 0, 4, -2, 6, 12, A_WIS, SPE_PROTECTION, -4, 70
4377 { {"Software Engineer", 0}, {
4378 {"Summer Intern", 0},
4379 {"Q/A Tester", 0},
4380 {"Web Designer", 0},
4381 {"Help Desk Jockey", 0},
4382 {"Junior Programmer", 0},
4383 {"Sysadmin", 0},
4384 {"Lead Programmer", 0},
4385 {"VP Engineering", 0},
4386 {"High Programmer", 0} },
4387 "Linus Torvalds", "Bjarne Stroustrup", "Mark Zuckerberg", /* famous software engineers */
4388 "Sof", "Devteam Codebase", "H@cker Central",
4389 PM_SOFTWARE_ENGINEER, NON_PM, PM_UNDEAD_SOFTWARE_ENGINEER, NON_PM, PM_GEEK,
4390 PM_THE_DEV_TEAM, PM_HACKER, PM_ANONYMOUS_LEADER, PM__CHAN_POSTER,
4391 PM_WINDOWS_____, PM_WINDOWS____SMARTPHONE_EDITION_, S_XAN, S_XAN,
4393 ART_FLAILMOUSE,
4394 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
4395 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4396 /* Str Int Wis Dex Con Cha */
4397 /*{ 16, 7, 7, 15, 16, 6 },*/
4398 { 3, 3, 3, 3, 3, 3 },
4399 { 10, 30, 20, 20, 10, 10 },
4400 /* new limit values for the six attributes by Amy */
4401 { 16, 24, 20, 18, 15, 16 },
4402 /* Init Lower Higher */
4403 { 10, 0, 0, 6, 2, 0 }, /* Hit points */
4404 { 12, 0, 0, 6, 0, 4 }, 14, /* Energy */
4405 10, 5, 0, 1, 5, A_INT, SPE_CODE_EDITING, -4, 200
4408 { {"Space Marine", 0}, {
4409 {"Private", 0},
4410 {"Corporal", 0},
4411 {"Space Sergeant", 0},
4412 {"Space Cadet", 0},
4413 {"Space Lieutenant", 0},
4414 {"Space Captain", 0},
4415 {"Space Major", 0},
4416 {"Space Colonel", 0},
4417 {"Space General", 0} },
4418 "Krog", "Winston", "Cyrus", /* Clan EIT; Cyrus is also the ZAPM lead dev */
4419 "Sma", "Ye Olde Space Base", "Delta Caves",
4420 PM_SPACE_MARINE, NON_PM, PM_UNDEAD_SPACE_MARINE, NON_PM, PM_CUNTGUN_TROOPER,
4421 PM_EITBO, PM_TROOPER, PM_THE_SPIDER_MASTERMIND, PM_SPIDERDEMON_CLONE,
4422 PM_KLINGON_CAPTAIN, PM_SPACE_ORC_BOSS, S_ORC, S_HUMAN,
4424 ART_PIN_RACKET, /* some sort of melee weapon */
4425 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
4426 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4427 /* Str Int Wis Dex Con Cha */
4428 /*{ 16, 7, 7, 15, 16, 6 },*/
4429 { 3, 3, 3, 3, 3, 3 },
4430 { 30, 5, 5, 20, 30, 10 },
4431 /* new limit values for the six attributes by Amy */
4432 { STR19(25), 15, 15, 18, 22, 18 },
4433 /* Init Lower Higher */
4434 { 24, 0, 0, 10, 5, 0 }, /* Hit points */
4435 { 1, 0, 0, 1, 0, 1 }, 15, /* Energy */
4436 10, 16, 4, 6, 20, A_WIS, SPE_SHINING_WAVE, -4, 30
4439 { {"Spacewars Fighter", 0}, {
4440 {"Roguelike Beginner", 0},
4441 {"Dungeon Explorer", 0},
4442 {"Sword Swinger", 0},
4443 {"Burly Combatant", 0},
4444 {"Heroic Mage", 0},
4445 {"Battlemage", 0},
4446 {"Spellsword", 0},
4447 {"Nightblade", 0},
4448 {"King's True Heir", 0} },
4449 "_Lady Ariane", "Lord Stahngnir", "Sven Fanara", /* from a certain book --Amy */
4450 "Spa", "Tiny Hamlet", "Inside Part",
4451 PM_SPACEWARS_FIGHTER, NON_PM, PM_UNDEAD_SPACEWARS_FIGHTER, NON_PM, NON_PM,
4452 PM_MARC, PM_ATTENDANT, PM_ARABELLA, PM_TUFTED_ASIAN_GIRL,
4453 PM_WIZARD, PM_MANTICORE, S_HUMAN, S_DRAGON,
4454 ART_HELM_OF_STORMS,
4455 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4456 /* Str Int Wis Dex Con Cha */
4457 { 3, 3, 3, 3, 3, 3 },
4458 { 17, 17, 16, 17, 17, 16 },
4459 /* new limit values for the six attributes by Amy */
4460 { STR18(100), 18, 18, 18, 18, 18 },
4461 /* Init Lower Higher */
4462 { 19, 0, 0, 8, 2, 0 }, /* Hit points */
4463 { 10, 4, 0, 1, 0, 2 },10, /* Energy */
4464 10, 8,-2, 0, 9, A_INT, SPE_DETECT_MONSTERS, -4, 100
4467 { {"Spellmaster", 0}, {
4468 {"Apprentice Caster", 0},
4469 {"Spell Retainer", 0},
4470 {"Magicspammer", 0},
4471 {"Continuous Caster", 0},
4472 {"Cast Master", 0},
4473 {"Master of Magic", 0},
4474 {"Grandmaster of Magic", 0},
4475 {"Spellmaster of the Universe", 0},
4476 {"Walking Book Of All Spells", 0} },
4477 "_The Sexy Maidens", "_The Sassy Girls", "_The Indomitable Women", /* Amy original: "equality world" */
4478 "Spe", "Spellmastery Base", "Weaponlord Base",
4479 PM_SPELLMASTER, NON_PM, PM_SPELLMASTER, NON_PM, NON_PM,
4480 PM_SUPREME_SPELLCASTER, PM_ATTENDANT, PM_INTENDONER, PM_INTENTIONALER,
4481 PM_REMEMBERED_UFO_PART, PM_SPELLZAP_TURRET, S_GIANT, S_TURRET,
4483 ART_HUUUUUGE_POWER, /* amulet of power */
4484 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
4485 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4486 /* Str Int Wis Dex Con Cha */ /* Direct copy from Wizard */
4487 /*{ 7, 10, 7, 7, 7, 7 },*/
4488 { 3, 3, 3, 3, 3, 3 },
4489 { 5, 35, 35, 10, 5, 10 },
4490 /* new limit values for the six attributes by Amy */
4491 { 4, 18, 18, 4, 4, 4 },
4492 /* Init Lower Higher */
4493 { 9, 0, 0, 0, 0, 0 }, /* Hit points */
4494 { 40, 10, 0, 10, 0, 10},16, /* Energy */
4495 -10, 0, -4,
4496 0, 3, A_INT, SPE_RAGNAROK, -4, 500 /* From old role.c */
4499 { {"Stormboy", 0}, {
4500 {"Yoof", 0},
4501 {"Cannon Fodder", 0},
4502 {"Meatshield", 0},
4503 {"Warbuddy", 0},
4504 {"Skarboy", 0},
4505 {"Mob Kaptain", 0},
4506 {"Nob", 0},
4507 {"Meganob", 0},
4508 {"Warboss", 0} },
4509 "Cortege", "Tache", "Pillory", /* from Pokemon Vietnamese Crystal */
4510 "Sto", "Stormy Mountain", "Deepsea Plane",
4511 PM_STORMBOY, NON_PM, PM_UNDEAD_STORMBOY, NON_PM, PM_DRATINI,
4512 PM_STINKBUG_UNBLEMISHED, PM_FELLOW_DEATH_EATER, PM_PRESAGE_OCTUPLE_GULPING, PM_POSTERN_BREW,
4513 PM_GREATER_WATER_ELEMENTAL, PM_RUST_VORTEX, S_ELEMENTAL, S_VORTEX,
4515 ART_THUNDERSTRIKE, /* melee weapon with shock damage */
4516 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
4517 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4518 /* Str Int Wis Dex Con Cha */
4519 /*{ 16, 7, 7, 15, 16, 6 },*/
4520 { 3, 3, 3, 3, 3, 3 },
4521 { 25, 10, 5, 20, 30, 10 },
4522 /* new limit values for the six attributes by Amy */
4523 { STR18(100), 18, 15, 19, 21, 16 },
4524 /* Init Lower Higher */
4525 { 18, 0, 0, 7, 4, 0 }, /* Hit points */
4526 { 2, 0, 0, 2, 0, 3 }, 12, /* Energy */
4527 0, 12, 0, 4, 15, A_INT, SPE_THUNDER, -4, 20
4530 { {"Supermarket Cashier", 0}, {
4531 {"Low Worker", 0},
4532 {"Shift Worker", 0},
4533 {"Accord Worker", 0},
4534 {"Bored Cashier", 0},
4535 {"Shoplifter Detector", 0},
4536 {"Detective disguised as Cashier", 0},
4537 {"Gun-toting Shopkeeper", 0},
4538 {"Thief's Bane", 0},
4539 {"Safemaster", 0}},
4540 "the Homies", "the Robbers", "the Motherfuckers", /* taken from a fanfic */
4541 "Sup", "the local Wal-Mart", "those filthy spying inspectors' office",
4542 PM_SUPERMARKET_CASHIER, NON_PM, PM_UNDEAD_SUPERMARKET_CASHIER, NON_PM, PM_WOLF,
4543 PM_MUSTACHED_NIGHTSHIFT_SUPERMARKET_MANAGER, PM_GUIDE, PM_THE_LOCAL_HEALTH_INSPECTOR, PM_INCAPABLE_MALE_NURSE,
4544 PM_STORECLERK, PM_WERERAT, S_HUMAN, S_RODENT,
4546 ART_CREDEX_GOLD,
4547 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4548 /* Str Int Wis Dex Con Cha */
4549 /*{ 7, 10, 6, 7, 7, 10 },*/
4550 { 3, 3, 3, 3, 3, 3 },
4551 { 5, 5, 15, 15, 30, 30 },
4552 /* new limit values for the six attributes by Amy */
4553 { STR18(100), 18, 18, 19, 16, 19 },
4554 /* Init Lower Higher */
4555 { 16, 0, 0, 8, 0, 0 }, /* Hit points */
4556 { 12, 0, 0, 1, 0, 1 },14, /* Energy */
4557 0, 5, 1, 2, 10, A_INT, SPE_TELEPORT_AWAY, -4, 40
4560 { { "Symbiant", 0 }, {
4561 { "Moldhome", 0 },
4562 { "Piggybacker", 0 },
4563 { "Stationary Seeker", 0 },
4564 { "Symbiote Powerer", 0 },
4565 { "Master of Greater Powers", 0 },
4566 { "Sym-Breather", 0 },
4567 { "Elite Symbiant", 0 },
4568 { "Master Jelly Farmer", 0 },
4569 { "Supreme Symbiosis Teacher", 0 } },
4570 "Erotic Air Current Noises", "Wonderful Rubbing Noises", "Sexy Licking Noises", /* Amyism :D */
4571 "Sym", "Lothlorien Forest", "The Princess's Another Castle",
4572 PM_SYMBIANT, NON_PM, PM_UNDEAD_SYMBIANT, NON_PM, PM_SPIKE_MOLD,
4573 PM_TURGON, PM_HIGHEST_ELF, PM_ILLUSORY_REFLECTOR_GOLEM, PM_PSEUDO_CASTLE_BOSS,
4574 PM_TRIP_GRUE, PM_HUGE_PILE_OF_KILLER_COINS, S_GRUE, S_BAD_COINS,
4575 ART_HUNGERHEALER, /* H2G2, passively increases hunger and heals symbiote while it's in your inventory */
4576 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
4577 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4578 /* Str Int Wis Dex Con Cha */
4579 { 3, 3, 3, 3, 3, 3 },
4580 { 10, 20, 30, 15, 10, 15 },
4581 /* new limit values for the six attributes by Amy */
4582 { 16, 18, 20, 18, 16, 18 },
4583 /* Init Lower Higher */
4584 { 9, 0, 0, 1, 1, 0 }, /* Hit points */
4585 { 8, 4, 0, 6, 0, 4 },15, /* Energy */
4586 10, 6, -8,
4587 5, 10, A_WIS, SPE_SYMHEAL, -4, 75
4590 { {"Thalmor", 0}, {
4591 {"Concordate Agent", 0},
4592 {"Whitegold Ambassador", 0},
4593 {"Heretic Hunter", 0},
4594 {"enemy of Talos", 0},
4595 {"Hunter of Blades", 0},
4596 {"Elven Secret Agent", 0},
4597 {"Aldmeri Dominion", 0},
4598 {"Elf at War", 0},
4599 {"Summerset Dictator", 0} },
4600 "Manwe Sulimo", "Mandos", "Lorien", /* Elven */
4602 "Tha", "Thalmor Embassy", "Cloud Ruler Temple",
4603 PM_THALMOR, NON_PM, PM_UNDEAD_THALMOR, NON_PM, PM_THALMOR,
4604 PM_ELENWEN, PM_HIGHEST_ELF, PM_ESBERN, PM_JAUFFRE,
4605 PM_HEDROW_BLADEMASTER, PM_BLACKBELT, S_HUMAN, S_HUMAN,
4607 ART_SUMMONED_SWORD,
4608 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
4609 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4610 /* Str Int Wis Dex Con Cha */
4611 /*{ 13, 13, 13, 9, 13, 7 },*/
4612 { 3, 3, 3, 3, 3, 3 },
4613 { 17, 17, 17, 17, 16, 16 },
4614 /* new limit values for the six attributes by Amy */
4615 { STR18(50), 19, 16, 18, 17, 20 },
4616 /* Init Lower Higher */
4617 { 15, 0, 0, 4, 4, 0 }, /* Hit points */
4618 { 10, 0, 0, 4, 0, 4 },12, /* Energy */
4619 10, 9, 2, 1, 10, A_INT, SPE_FULL_HEALING, -4, 50
4622 { {"Topmodel", 0}, {
4623 {"Sweet Girl", 0},
4624 {"Catwalk Tester", 0},
4625 {"Curved Woman", 0},
4626 {"Playboy Bunny", 0},
4627 {"Erotic Lady", 0},
4628 {"Lovely Chick", 0},
4629 {"Sexy Poser", 0},
4630 {"ANTM Semi-Finalist", 0},
4631 {"ANTM Finalist", 0} },
4632 "Speedy Gonzales", "Dan Naginati", "_Kylie Lum", /* taken from a fanfic */
4633 "Top", "Red Carpet", "Violet Carpet", /* transvestite enemies like purple and violet */
4634 PM_TOPMODEL, NON_PM, PM_UNDEAD_TOPMODEL, NON_PM, NON_PM,
4635 PM_CAMP_PORTER, PM_MODEL, PM_ACTIVIST_LEADER, PM_FEMEN_WARLORD,
4636 PM_TRANSVESTITE, PM_ACTIVIST, S_HUMAN, S_HUMAN,
4637 ART_GOLDEN_HIGH_HEELS,
4638 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
4639 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4640 /* Str Int Wis Dex Con Cha */
4641 /*{ 13, 13, 13, 9, 13, 7 },*/
4642 { 3, 3, 3, 3, 3, 3 },
4643 { 10, 25, 15, 15, 10, 25 },
4644 /* new limit values for the six attributes by Amy */
4645 { 12, 16, 16, 21, 14, 25 },
4646 /* Init Lower Higher */
4647 { 12, 0, 0, 4, 2, 0 }, /* Hit points */
4648 { 8, 0, 0, 1, 0, 2 },12, /* Energy */
4649 10, 9, 2, 1, 10, A_INT, SPE_CHARM_MONSTER, -4, 90
4652 { { "Tosser", 0 }, {
4653 { "Javazon Wannabe", 0 },
4654 { "Peeker", 0 },
4655 { "Graystabber", 0 },
4656 { "Stack Increaser", 0 },
4657 { "Uncommon Flinger", 0 },
4658 { "Wood Chooser", 0 },
4659 { "Javelin Forger", 0 },
4660 { "Bigstacker", 0 },
4661 { "Torpedo Launcher", 0 } },
4662 "Arihant", "Siddha", "Acharya", /* Jain */
4663 "Tos", "Measurer Spear Base", "Sierra Madre Vault",
4664 PM_TOSSER, NON_PM, PM_UNDEAD_TOSSER, NON_PM, NON_PM,
4665 PM_MUTE_CHRISTINE, PM_HUNTER, PM_FATHER_ELIJAH, PM_TRAITORIOUS_ELDER,
4666 PM_FETTER_GHOST, PM_MUTANT_NINJA_TURTLE, S_GHOST, S_UMBER,
4667 ART_CLEAN_MAULER, /* some kind of spear, always hits as a +4 weapon and +20 damage, +10 to-hit but dulls quickly like ceramic */
4668 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
4669 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4670 /* Str Int Wis Dex Con Cha */
4671 { 3, 3, 3, 3, 3, 3 },
4672 { 20, 15, 15, 20, 15, 15 },
4673 /* new limit values for the six attributes by Amy */
4674 { STR18(100), 18, 18, 21, 18, 18 },
4675 /* Init Lower Higher */
4676 { 12, 0, 0, 4, 3, 0 }, /* Hit points */
4677 { 4, 2, 0, 2, 0, 2 },14, /* Energy */
4678 10, 8, -2,
4679 4, 12, A_INT, SPE_STEALTH, -4, 40
4682 { {"Tourist", 0}, {
4683 {"Rambler", 0},
4684 {"Sightseer", 0},
4685 {"Excursionist",0},
4686 {"Peregrinator","Peregrinatrix"},
4687 {"Traveler", 0},
4688 {"Journeyer", 0},
4689 {"Voyager", 0},
4690 {"Explorer", 0},
4691 {"Adventurer", 0} },
4692 "Blind Io", "_The Lady", "Offler", /* Discworld */
4693 "Tou", "Ankh-Morpork", "the Thieves' Guild Hall",
4694 PM_TOURIST, NON_PM, PM_UNDEAD_TOURIST, NON_PM, NON_PM,
4695 PM_TWOFLOWER, PM_GUIDE, PM_MASTER_OF_THIEVES, PM_MASTER_OF_DESASTER,
4696 PM_GIANT_SPIDER, PM_FOREST_CENTAUR, S_SPIDER, S_CENTAUR,
4697 #if 0
4698 ART_WHISPERFEET, ART_LUCKBLADE,
4699 #endif
4700 ART_YENDORIAN_EXPRESS_CARD,
4701 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4702 /* Str Int Wis Dex Con Cha */
4703 /*{ 7, 10, 6, 7, 7, 10 },*/
4704 { 3, 3, 3, 3, 3, 3 },
4705 { 15, 10, 10, 15, 30, 20 },
4706 /* new limit values for the six attributes by Amy */
4707 { STR18(20), 16, 15, 18, 14, 22 },
4708 /* Init Lower Higher */
4709 { 16, 0, 0, 8, 0, 0 }, /* Hit points */
4710 { 12, 0, 0, 1, 0, 1 },14, /* Energy */
4711 0, 5, 1, 2, 10, A_INT, SPE_CHARM_MONSTER, -4, 40
4714 { {"Tracer", 0}, {
4715 {"Cursed Beginner", 0},
4716 {"RNG Whim", 0},
4717 {"Would-Be Creator", 0},
4718 {"Fated Grumbler", 0},
4719 {"Bad Wielder", 0},
4720 {"Sent Manipulator", 0},
4721 {"Evasive Switcher", 0},
4722 {"Random Ascension Kit Wearer", 0},
4723 {"Nastiness Survivor", 0} },
4724 "Fate", "Unlimited Blade Works", "Heaven's Feel",
4725 "Trc", "Game Alike Hall", "Trapped Corridor",
4726 PM_TRACER, NON_PM, PM_UNDEAD_TRACER, NON_PM, PM_ROTHE,
4727 PM_STEREOTYPICAL_QUEST_GIVER, PM_STARNOID, PM_EVIL_PATCH_PERPETRATOR, PM_FIGMENT_OF_NASTINESS,
4728 PM_BAOBHAN_SITH, PM_SNAKEMAN_BRUTE, S_HUMANOID, S_QUANTMECH,
4729 ART_SWORD_OF_GILGAMESH,
4730 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
4731 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4732 /* Str Int Wis Dex Con Cha */
4733 /*{ 13, 13, 13, 9, 13, 7 },*/
4734 { 3, 3, 3, 3, 3, 3 },
4735 { 15, 15, 5, 30, 10, 25 },
4736 /* new limit values for the six attributes by Amy */
4737 { STR18(40), 18, 16, 19, 15, 18 },
4738 /* Init Lower Higher */
4739 { 8, 0, 0, 1, 7, 0 }, /* Hit points */
4740 { 35, 0, 0, 1, 0, 1 }, 20, /* Energy */
4741 0, 12, -6, 2, 4, A_INT, SPE_POLYFORM, -4, 50
4744 { {"Transsylvanian", 0}, {
4745 {"Heel Wearer", 0},
4746 {"Stiletto Lover", 0},
4747 {"Khmer-Speaking Transvestite", 0},
4748 {"Dragshow Attendant", 0},
4749 {"Sexy Malemodel", 0},
4750 {"Hippie Rocker", 0},
4751 {"High-Heel-Loving Guy", 0},
4752 {"Androgynous Beauty", 0},
4753 {"Fleecy Sex Symbol", 0} },
4754 0, 0, 0, /* special deities */
4755 "Trs", "Topmodel Boot Camp", "Secret Activist Base",
4756 PM_TRANSSYLVANIAN, NON_PM, PM_UNDEAD_TRANSSYLVANIAN, NON_PM, NON_PM,
4757 PM_G_CHEATER, PM_ATTENDANT, PM_HELEN_THE_ACTIVIST_LEADER, PM_SUPREME_FEMEN_WARCHIEF,
4758 PM_ACTIVIST, PM_SLUT_WITH_SYPHILIS, S_HUMAN, S_NYMPH,
4759 ART_KISS_BOOTS,
4760 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
4761 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4762 /* Str Int Wis Dex Con Cha */
4763 /*{ 13, 13, 13, 9, 13, 7 },*/
4764 { 3, 3, 3, 3, 3, 3 },
4765 { 20, 10, 10, 20, 20, 20 },
4766 /* new limit values for the six attributes by Amy */
4767 { STR18(100), 16, 14, 19, 16, 22 },
4768 /* Init Lower Higher */
4769 { 14, 0, 0, 6, 1, 0 }, /* Hit points */
4770 { 4, 0, 0, 1, 0, 1 },12, /* Energy */
4771 10, 9, 2, 1, 10, A_INT, SPE_LEVELPORT, -4, 50
4775 { {"Transvestite", 0}, {
4776 {"Clacker", 0},
4777 {"Staggerer", 0},
4778 {"Pseudo Model", 0},
4779 {"Disguiser", 0},
4780 {"Carnevalist", 0},
4781 {"Heeler", 0},
4782 {"Crossdresser", 0},
4783 {"Drag Lord", 0},
4784 {"Drag Queen", 0} },
4785 "_Olivia", "Peyman", "_Lady Gaga", /* weird fashion sense */
4786 "Tra", "Topmodel Boot Camp", "World 3 Airship",
4787 PM_TRANSVESTITE, NON_PM, PM_UNDEAD_TRANSVESTITE, NON_PM, NON_PM,
4788 PM_CROWNED_DRAG_QUEEN, PM_ATTENDANT, PM_WENDY, PM_DENWY,
4789 PM_ADULT_LADY, PM_ADULT_GENTLEMAN, S_HUMAN, S_HUMAN,
4790 ART_LOVELY_PINK_PUMPS,
4791 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
4792 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4793 /* Str Int Wis Dex Con Cha */
4794 /*{ 13, 13, 13, 9, 13, 7 },*/
4795 { 3, 3, 3, 3, 3, 3 },
4796 { 20, 10, 10, 20, 20, 20 },
4797 /* new limit values for the six attributes by Amy */
4798 { STR18(100), 16, 14, 19, 16, 22 },
4799 /* Init Lower Higher */
4800 { 14, 0, 0, 6, 1, 0 }, /* Hit points */
4801 { 4, 0, 0, 1, 0, 1 },12, /* Energy */
4802 10, 9, 2, 1, 10, A_INT, SPE_INVISIBILITY, -4, 50
4805 { {"Twelph", 0}, {
4806 {"Twedhel", "Twelleth"},
4807 {"Twedhel", "Twelleth"}, /* elf-maid */
4808 {"Twohtar", "Twohtie"}, /* warrior */
4809 {"Twekano", /* commander (Q.) ['a] */
4810 "Twekanie"}, /* educated guess, until further research- SAC */
4811 {"Twarandur", /* king's servant, minister (Q.) - guess */
4812 "Twaranduriel"}, /* educated guess */
4813 {"Twehir", "Twehiril"}, /* lord, lady (S.) ['ir] */
4814 {"Twaredhel", "Twarwen"}, /* noble elf, maiden (S.) */
4815 {"Twernil", "Twelentariel"}, /* prince (S.), elf-maiden (Q.) */
4816 {"Twelentar", "Twelentari"} }, /* Star-king, -queen (Q.) */
4817 "Legolas", "_Eowyn", "Eol", /* Elven */
4819 "Twe", "the great Circle of Lolth", "the Light Elves' Cave",
4820 PM_TWELPH, NON_PM, PM_UNDEAD_TWELPH, NON_PM, PM_DROW,
4821 PM_LOLTH, PM_HIGHEST_ELF, PM_TWEARENDIL, PM_MEAN_ELVEN_BASTARD,
4822 PM_GREY_ELF, PM_ELVENKING, S_HUMAN, S_HUMAN,
4824 ART_TENTACLE_STAFF,
4825 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
4826 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4827 /* Str Int Wis Dex Con Cha */
4828 /*{ 13, 13, 13, 9, 13, 7 },*/
4829 { 3, 3, 3, 3, 3, 3 },
4830 { 10, 30, 20, 20, 10, 10 },
4831 /* new limit values for the six attributes by Amy */
4832 { 17, 19, 19, 23, 15, 19 },
4833 /* Init Lower Higher */
4834 { 16, 0, 0, 4, 1, 0 }, /* Hit points */
4835 { 12, 0, 0, 4, 0, 3 },12, /* Energy */
4836 10, 0, 0, 4, 25, A_INT, SPE_DRAIN_LIFE, -4, 30
4839 { {"Unbeliever", 0}, {
4840 {"Rookie", 0},
4841 {"Soldier", 0},
4842 {"Mercenary", 0},
4843 {"Veteran", 0},
4844 {"Champion", 0},
4845 {"Hero", 0},
4846 {"Baron", 0},
4847 {"Duke", 0},
4848 {"Lord", 0} },
4849 "No God", "No God", "No God", /* Unbeliever does not believe in gods! */
4850 "Unb", "Bree", "Khazad-Doom",
4851 PM_UNBELIEVER, NON_PM, PM_UNDEAD_UNBELIEVER, NON_PM, PM_MARTTI_IHRASAARI,
4852 PM_MELINDA_PROUDFOOT, PM_SUPER_WARRIOR, PM_MORGOTH, PM_MELKOR,
4853 PM_MASTER_LICH, PM_BALOR, S_DEMON, S_LICH,
4854 ART_TOME_DARK_SWORD,
4855 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
4856 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4857 /* Str Int Wis Dex Con Cha */
4858 /*{ 16, 7, 7, 15, 16, 6 },*/
4859 { 3, 3, 3, 3, 3, 3 },
4860 { 30, 5, 5, 25, 30, 5 },
4861 /* new limit values for the six attributes by Amy */
4862 { STR19(20), 19, 19, 17, 20, 18 },
4863 /* Init Lower Higher */
4864 { 24, 0, 0,12, 4, 0 }, /* Hit points */
4865 { 0, 0, 0, 0, 0, 0 },10, /* Energy */
4866 10, 30, 0, 10, 20, A_INT, SPE_BLANK_PAPER, -4, 5
4869 { {"Undead Slayer", 0}, {
4870 {"Assistant", 0},
4871 {"Eliminator", 0},
4872 {"Eliminator", 0},
4873 {"Exterminator", 0},
4874 {"Exterminator", 0},
4875 {"Destroyer", 0},
4876 {"Vindicator", 0},
4877 {"Vindicator", 0},
4878 {"Undead Slayer", 0} },
4879 "Seeker", "_Osiris", "Seth", /* Egyptian */
4880 "Und", "the Temple of Light", "the Crypt of Dracula",
4881 PM_UNDEAD_SLAYER, NON_PM, PM_NON_UNDEAD_SLAYER, NON_PM, NON_PM,
4882 PM_VAN_HELSING, PM_EXTERMINATOR, PM_COUNT_DRACULA, PM_COUNT_URCULA,
4883 PM_HUMAN_MUMMY, PM_VAMPIRE, S_MUMMY, S_VAMPIRE,
4884 #if 0
4885 ART_HOLY_SPEAR_OF_LIGHT, ART_SUNSWORD,
4886 #endif
4887 ART_STAKE_OF_VAN_HELSING,
4888 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
4889 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4890 /* Str Int Wis Dex Con Cha */ /* Modified from Knight */
4891 /*{ 13, 7, 14, 8, 10, 10 },*/
4892 { 3, 3, 3, 3, 3, 3 },
4893 { 20, 15, 15, 20, 20, 10 },
4894 /* new limit values for the six attributes by Amy */
4895 { STR19(19), 15, 17, 14, 18, 16 },
4896 /* Init Lower Higher */
4897 { 22, 0, 0, 8, 2, 0 }, /* Hit points */
4898 { 16, 4, 0, 1, 0, 2 },10, /* Energy */
4899 10, 8,-2, 0, 9, A_WIS, SPE_TURN_UNDEAD, -4, 20
4902 { {"Undertaker", 0}, {
4903 {"Hearse Driver", 0},
4904 {"Disposer", 0},
4905 {"Grave Creator", 0},
4906 {"Open Casketeer", 0},
4907 {"Closed Casketeer", 0},
4908 {"Dumper", 0},
4909 {"Shoveler", 0},
4910 {"Crematorist", 0},
4911 {"Corpse Burner", 0} },
4912 "_Hel", "Pluto", "Orcus", /* Death */
4913 "Unt", "New Graveyard", "Underground Demon Lair",
4914 PM_UNDERTAKER, NON_PM, PM_UNDEAD_UNDERTAKER, NON_PM, PM_DEATH_DOG,
4915 PM_AJELA, PM_EXTERMINATOR, PM_SEDUCER_SAINT, PM_OBLIVION_DAEDRA,
4916 PM_NALFESHNEE, PM_SHAYATEEN, S_DEMON, S_DEMON,
4918 ART_BLACK_DEATH,
4919 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
4920 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4921 /* Str Int Wis Dex Con Cha */ /* Modified from Knight */
4922 /*{ 13, 7, 14, 8, 10, 10 },*/
4923 { 3, 3, 3, 3, 3, 3 },
4924 { 20, 15, 15, 20, 20, 10 },
4925 /* new limit values for the six attributes by Amy */
4926 { STR18(100), 16, 17, 18, 17, 17 },
4927 /* Init Lower Higher */
4928 { 22, 0, 0, 8, 2, 0 }, /* Hit points */
4929 { 16, 4, 0, 1, 0, 2 },10, /* Energy */
4930 10, 8,-2, 0, 9, A_WIS, SPE_TURN_UNDEAD, -4, 25
4933 { {"User of Stand", 0}, {
4934 /*from Silly JNetHack*/
4935 /*and arrange [Sakusha]*/
4936 {"Arrow Pierced", 0},
4937 {"Possessed", 0},
4938 {"Conjurer", 0},
4939 {"Magician", 0},
4940 {"Stand user", 0},
4941 {"Journeyer", 0},
4942 {"Voyager", 0},
4943 {"Explorer", 0},
4944 {"Adventurer", 0} },
4945 "Jonathan Joestar", "Hirohiko Araki", "Cars", /* Jojo */
4946 "Use", "the House of Kujyou", "the Palace of Dio",
4947 PM_STAND_USER, NON_PM, PM_UNDEAD_STAND_USER, NON_PM, PM_BARD,
4948 PM_MESSENGER_OF_SPW, PM_GUIDE, PM_DIO, PM_UNO,
4949 PM_VAMPIRE, PM_HUMAN_ZOMBIE, S_ZOMBIE, S_ZOMBIE,
4950 ART_RED_STONE_OF_EIGIA,
4951 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
4952 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4953 /* Str Int Wis Dex Con Cha */ /* Modified from Knight */
4954 /*{ 13, 7, 14, 8, 10, 10 },*/
4955 { 3, 3, 3, 3, 3, 3 },
4956 { 20, 15, 15, 20, 20, 10 },
4957 /* new limit values for the six attributes by Amy */
4958 { 18, 19, 18, 19, 17, 18 },
4959 /* Init Lower Higher */
4960 { 11, 0, 0, 4, 1, 0 }, /* Hit points */
4961 { 8, 2, 0, 0, 0, 1 },10, /* Energy */
4962 10, 4,-2, 0, 9, A_INT, SPE_AGGRAVATE_MONSTER, -4, 200
4965 { {"Valkyrie", 0}, {
4966 {"Stripling", 0},
4967 {"Skirmisher", 0},
4968 {"Fighter", 0},
4969 {"Man-at-arms", "Woman-at-arms"},
4970 {"Great Warrior", 0},
4971 {"Swashbuckler",0},
4972 {"Hero", "Heroine"},
4973 {"Champion", 0},
4974 {"Lord", "Lady"} },
4975 "Tyr", "Odin", "Loki", /* Norse */
4976 "Val", "the Shrine of Destiny", "the cave of Surtur",
4977 PM_VALKYRIE, NON_PM, PM_UNDEAD_VALKYRIE, NON_PM, NON_PM /*PM_WINTER_WOLF_CUB*/,
4978 PM_NORN, PM_SUPER_WARRIOR, PM_LORD_SURTUR, PM_LORD_SULTUR,
4979 PM_FIRE_ANT, PM_FIRE_GIANT, S_ANT, S_GIANT,
4980 #if 0
4981 ART_MJOLLNIR, ART_FROST_BRAND,
4982 #endif
4983 ART_ORB_OF_FATE,
4984 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
4985 /* Str Int Wis Dex Con Cha */
4986 /*{ 10, 7, 7, 7, 12, 7 },*/
4987 { 3, 3, 3, 3, 3, 3 },
4988 { 30, 6, 7, 20, 30, 7 },
4989 /* new limit values for the six attributes by Amy */
4990 { STR19(25), 15, 15, 18, 18, 18 },
4991 /* Init Lower Higher */
4992 { 20, 0, 0, 8, 2, 0 }, /* Hit points */
4993 { 2, 0, 0, 1, 0, 1 },10, /* Energy */
4994 0, 10,-2, 0, 9, A_WIS, SPE_LIGHTNING, -4, 20
4997 { {"Vanilla Valk", 0}, {
4998 {"Stripped Girl", 0},
4999 {"Carnage Woman", 0},
5000 {"Feighter", 0},
5001 {"Armsbearing Lady", 0},
5002 {"Vanilla Warrior", 0},
5003 {"Protecter-Shielder",0},
5004 {"Female Heroine", 0},
5005 {"Fanatic Champ", 0},
5006 {"Battlefield Chief", 0} },
5007 "Tyr", "Odin", "Loki", /* Norse */
5008 "Van", "the Shrine of Destiny", "the cave of Surtur",
5009 PM_VANILLA_VALK, NON_PM, PM_UNDEAD_VANILLA_VALK, NON_PM, NON_PM /*PM_WINTER_WOLF_CUB*/,
5010 PM_NORN, PM_SUPER_WARRIOR, PM_LORD_SURTUR, PM_LORD_SULTUR,
5011 PM_FIRE_ANT, PM_FIRE_GIANT, S_ANT, S_GIANT,
5012 ART_ORB_OF_WEIGHT,
5013 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5014 /* Str Int Wis Dex Con Cha */
5015 /*{ 10, 7, 7, 7, 12, 7 },*/
5016 { 3, 3, 3, 3, 3, 3 },
5017 { 30, 6, 7, 20, 30, 7 },
5018 /* new limit values for the six attributes by Amy */
5019 { STR19(25), 15, 15, 18, 18, 18 },
5020 /* Init Lower Higher */
5021 { 14, 0, 0, 8, 2, 0 }, /* Hit points */
5022 { 1, 0, 0, 1, 0, 1 },10, /* Energy */
5023 0, 10,-2, 0, 9, A_WIS, SPE_CONE_OF_COLD, -4, 20
5026 { {"Walscholar", 0}, {
5027 {"Alpha Mission Team", 0},
5028 {"Sector Beta Sweeper", 0},
5029 {"Order Acceptor", 0},
5030 {"Diamond Waller", 0},
5031 {"Distress Disposer", 0},
5032 {"Teacher's Favorite", 0},
5033 {"Treebark Protector", 0},
5034 {"Superior Hider", 0},
5035 {"Bane of Robbers", 0} },
5036 "Speaker Walt", "Great Corner-Hard", "Left Guenter", /* superschool people */
5037 "Wal", "7c space", "Hussy Main Office",
5038 PM_WALSCHOLAR, NON_PM, PM_UNDEAD_WALSCHOLAR, NON_PM, PM_SUPERSCHOOL_SPEAKER,
5039 PM_GAUNT_ELKE, PM_THUG, PM_HUSSY_KATRIN, PM_EVIL_PURPLE_GIRL,
5040 PM_ARVOGENE, PM_KEWITRIN, S_LIGHT, S_WORM_TAIL,
5042 ART_STAHNGNIR_S_GIANT_CRUSHER,
5043 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
5044 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5045 /* Str Int Wis Dex Con Cha */
5046 { 3, 3, 3, 3, 3, 3 },
5047 { 17, 17, 16, 17, 17, 16 },
5048 /* new limit values for the six attributes by Amy */
5049 { STR18(100), 18, 18, 18, 18, 18 },
5050 /* Init Lower Higher */
5051 { 14, 0, 0, 4, 1, 0 }, /* Hit points */
5052 { 7, 2, 0, 1, 0, 1 },10, /* Energy */
5053 0, 12,-2, 0, 10, A_INT, SPE_GRAVE, -4, 100
5056 { {"Wandkeeper", 0}, {
5057 {"Zapper", 0},
5058 {"Wand Carrier", 0},
5059 {"Magic Shooter", 0},
5060 {"Zapbolter", 0},
5061 {"Recharger", 0},
5062 {"Charge Master", 0},
5063 {"Wandmaker", 0},
5064 {"Senior Wandmaker", 0},
5065 {"Wishing Wand Creator", 0}},
5066 "Larry Koopa", "Roy Koopa", "Morton Koopa Jr.", /* Super Mario Bros */
5067 "Wan", "Caster Temple", "Blaster Crypts",
5068 PM_WANDKEEPER, NON_PM, PM_UNDEAD_WANDKEEPER, NON_PM, PM_DARK_GRUE,
5069 PM_MASTER_CASTER, PM_EXTERMINATOR, PM_PLASTER_BLASTER, PM_CRASHBUG_CAUSER,
5070 PM_DAUGHTER_LILY, PM_MARIJA_THE_WENCH, S_ARCHFIEND, S_NEMESE,
5072 ART_CHARGED_USB_STICK,
5073 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
5074 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5075 /* Str Int Wis Dex Con Cha */ /* Modified from Knight */
5076 /*{ 13, 7, 14, 8, 10, 10 },*/
5077 { 3, 3, 3, 3, 3, 3 },
5078 { 15, 19, 19, 19, 13, 15 },
5079 /* new limit values for the six attributes by Amy */
5080 { STR18(30), 16, 18, 16, 15, 19 },
5081 /* Init Lower Higher */
5082 { 20, 0, 0, 6, 2, 0 }, /* Hit points */
5083 { 10, 4, 0, 2, 0, 3 },10, /* Energy */
5084 5, 2,-2, 10, 9, A_WIS, SPE_POLYMORPH, -4, 75
5086 { {"Warrior", 0}, {
5087 {"Swordsman", 0},
5088 {"Longswordsman", 0},
5089 {"Two-Handed Swordsman", 0},
5090 {"Legionnaire", 0},
5091 {"Crusader", 0},
5092 {"Baron", "Baroness"},
5093 {"Count", "Countess"},
5094 {"Duke", "Duchess"},
5095 {"Patriarch", "Matriarch"} },
5096 "Talos", "_Meridia", "Clavicus Vile", /* The Elder Scrolls */
5097 "War", "Acro Castle", "the Isle of the Damned",
5098 PM_WARRIOR, NON_PM, PM_UNDEAD_WARRIOR, NON_PM, PM_GREEN_NIGHTMARE,
5099 PM_SIR_LANCELOT, PM_PAGE, PM_ARCHNEMESIS, PM_ETERNAL_EVIL,
5100 PM_LOCUST, PM_WOOD_NYMPH, S_ANT, S_NYMPH,
5101 #if 0
5102 ART_DRAGONBANE, ART_DEMONBANE,
5103 #endif
5104 ART_MAGIC_MIRROR_OF_JASON,
5105 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5106 /* Str Int Wis Dex Con Cha */
5107 /*{ 18, 7, 11, 10, 12, 14 },*/
5108 { 3, 3, 3, 3, 3, 3 },
5109 { 35, 10, 14, 13, 22, 6 },
5110 /* new limit values for the six attributes by Amy */
5111 { STR19(19), 14, 14, 18, 18, 16 },
5112 /* Init Lower Higher */
5113 { 19, 0, 0, 15, 5, 0 }, /* Hit points */
5114 { 10, 0, 0, 1, 0, 1 },10, /* Energy */
5115 10, 8,-2, 0, 9, A_WIS, SPE_TURN_UNDEAD, -4, 20
5118 { {"Weirdboy", 0}, {
5119 {"Crazy One", 0},
5120 {"Very Mad Orc", 0},
5121 {"Frazzler", 0},
5122 {"Humming Head", 0},
5123 {"Brain Warper", 0},
5124 {"Walking Psi Bomb", 0},
5125 {"One Orc Storm", 0},
5126 {"Warptide", 0},
5127 {"Warp Unleasher", 0} },
5128 "Tax Evasion", "Murder and Arson", "Prison Outbreak", /* crimes, listed in order of severity from minor to major :P */
5129 "Wei", "Lunatic Asylum", "Sanity Clinic",
5130 PM_WEIRDBOY, NON_PM, PM_UNDEAD_WEIRDBOY, NON_PM, PM_SCHINDA,
5131 PM_EXPLODING_BRAIN, PM_VERY_MINDLESS_THRALL, PM_WELL_PAID_DOCTOR, PM_DEGREE_SIMPLETON,
5132 PM_EXTREMELY_CONTAMINATED_BUG, PM_IT, S_XAN, S_GRUE,
5134 ART_BUS_ERROR, /* segfault venom */
5135 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
5136 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5137 /* Str Int Wis Dex Con Cha */
5138 /*{ 16, 7, 7, 15, 16, 6 },*/
5139 { 3, 3, 3, 3, 3, 3 },
5140 { 15, 10, 20, 40, 10, 5 },
5141 /* new limit values for the six attributes by Amy */
5142 { 16, 18, 12, 22, 14, 17 },
5143 /* Init Lower Higher */
5144 { 6, 0, 0, 10, 0, 0 }, /* Hit points */
5145 { 17, 0, 0, 0, 0, 3 }, 11, /* Energy */
5146 0, 17, -6, 1, 1, A_INT, SPE_GIANT_FOOT, -4, 80
5149 { {"Wild Talent", 0}, {
5150 {"Poschengband Noob", 0},
5151 {"Camelot Explorer", 0},
5152 {"Ambush Avoider", 0},
5153 {"Morivant Merchant", 0},
5154 {"Angband Diver", 0},
5155 {"Ocean Traveler", 0},
5156 {"666 Delver", 0},
5157 {"555 Survivor", 0},
5158 {"One Who Killed The Serpent", 0}},
5159 0, 0, 0, /* chosen randomly from among the other roles */
5160 "Wil", "Source Code Base", "Closed Source Quarters",
5161 PM_WILD_TALENT, NON_PM, PM_UNDEAD_WILD_TALENT, NON_PM, PM_CHAMELEON,
5162 PM_ELLI_PSEUDO, PM_STUDENT, PM_CHRIS_CHENG, PM_POS_RECURSIVE,
5163 PM_RANDOM_HORROR, PM_GAZER_HORROR, S_UMBER, S_BAD_COINS,
5164 ART_ELLI_S_PSEUDOBAND_OF_POS,
5165 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
5166 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5167 /* Str Int Wis Dex Con Cha */
5168 /*{ 6, 6, 6, 6, 6, 6 },*/
5169 { 3, 3, 3, 3, 3, 3 },
5170 { 16, 17, 17, 17, 16, 17 },
5171 /* new limit values for the six attributes by Amy */
5172 { STR18(100), 18, 18, 18, 18, 18 },
5173 /* Init Lower Higher */
5174 { 8, 0, 0, 4, 4, 0 }, /* Hit points */
5175 { 8, 0, 4, 0, 4, 0 }, 12, /* Energy */
5176 5, 8, 0, 5, 10, A_WIS, SPE_RUSSIAN_ROULETTE, -4, 80
5179 { {"Wizard", 0}, {
5180 {"Evoker", 0},
5181 {"Conjurer", 0},
5182 {"Thaumaturge", 0},
5183 {"Magician", 0},
5184 {"Warlock", "Witch"},
5185 {"Enchanter", "Enchantress"},
5186 {"Sorcerer", "Sorceress"},
5187 {"Wizard", 0},
5188 {"Mage", 0} },
5189 "Ptah", "Thoth", "Anhur", /* Egyptian */
5190 "Wiz", "the Lonely Tower", "the Tower of Darkness",
5191 PM_WIZARD, NON_PM, PM_UNDEAD_WIZARD, NON_PM, PM_KITTEN,
5192 PM_NEFERET_THE_GREEN, PM_APPRENTICE, PM_DARK_ONE, PM_LIGHT_ONE,
5193 PM_VAMPIRE_BAT, PM_XORN, S_BAT, S_WRAITH,
5194 #if 0
5195 ART_MAGICBANE, ART_DELUDER,
5196 #endif
5197 ART_EYE_OF_THE_AETHIOPICA,
5198 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
5199 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5200 /* Str Int Wis Dex Con Cha */
5201 /*{ 7, 10, 7, 7, 7, 7 },*/
5202 { 3, 3, 3, 3, 3, 3 },
5203 { 10, 30, 10, 20, 20, 10 },
5204 /* new limit values for the six attributes by Amy */
5205 { 12, 22, 19, 16, 14, 16 },
5206 /* Init Lower Higher */
5207 { 15, 0, 0, 8, 1, 0 }, /* Hit points */
5208 { 25, 3, 0, 2, 0, 3 },12, /* Energy */
5209 0, 1, 0, 3, 10, A_INT, SPE_MAGIC_MISSILE, -4, 200
5212 { {"Womanizer", 0}, {
5213 {"Cheekstroker", 0},
5214 {"Curve Adorer", 0},
5215 {"Sweetheart Lover", 0},
5216 {"Turn-On-Jockey", 0},
5217 {"Speech Charmer", 0},
5218 {"Promise Keeper", 0},
5219 {"Engaged Man", 0},
5220 {"Married Luck Mushroom", 0},
5221 {"Happiness Enjoyer", 0} },
5222 "Charlie Sheen", "Tiger Woods", "George Clooney", /* famous womanizers */
5223 "Wom", "Neverending Party Hall", "Socjus Brigade Center",
5224 PM_WOMANIZER, NON_PM, PM_UNDEAD_WOMANIZER, NON_PM, PM_EROTICLOUDY,
5225 PM_HUGE_HEFNER, PM_MODEL, PM_BERBAL, PM_NUTCRUNCHER_BITCH,
5226 PM_SOCIAL_JUSTICE_WARRIOR, PM_ANGRY_PROSTITUTE, S_HUMAN, S_DOG,
5227 ART_SPECTRUM_PLING, /* covelline or whatever that gem's name was, reflection and stuff */
5228 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
5229 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5230 /* Str Int Wis Dex Con Cha */
5231 /*{ 13, 13, 13, 9, 13, 7 },*/
5232 { 3, 3, 3, 3, 3, 3 },
5233 { 15, 10, 15, 15, 25, 20 },
5234 /* new limit values for the six attributes by Amy */
5235 { 18, 17, 17, 18, 19, 17 },
5236 /* Init Lower Higher */
5237 { 12, 0, 0, 4, 4, 0 }, /* Hit points */
5238 { 6, 0, 0, 3, 0, 2 }, 16, /* Energy */
5239 0, 12, 0, 5, 14, A_INT, SPE_TAKE_SELFIE, -4, 20
5242 { {"XelNaga", 0}, {
5243 {"Outworlder", "Void Explorer"},
5244 {"Genesis Witness", 0},
5245 {"Chaos Shaper", 0},
5246 {"Nebulae Catcher", 0},
5247 {"Star Assembler", 0},
5248 {"Planet Shifter", 0},
5249 {"Galaxy Designer", 0},
5250 {"DNA Programmer", 0},
5251 {"Species Creator", 0} },
5252 "Jim Raynor", "Hierarch Artanis", "_Sarah Kerrigan", /* starcraft */
5253 "Xel", "Terra Base", "Brooding Chaos",
5254 PM_XELNAGA, NON_PM, PM_UNDEAD_XELNAGA, NON_PM, PM_BIRSEN,
5255 PM_SHADURIEL, PM_STARNOID, PM_INSECT_HIVEMIND, PM_VERY_LARGE_BUG,
5256 PM_LAG_DEFENSE_TOWER, PM_PUTJANA, S_WALLMONST, S_TURRET,
5258 ART_SNAKELASH, /* whip */
5259 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
5260 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5261 /* Str Int Wis Dex Con Cha */
5262 /*{ 16, 7, 7, 15, 16, 6 },*/
5263 { 3, 3, 3, 3, 3, 3 },
5264 { 25, 15, 10, 15, 30, 5 },
5265 /* new limit values for the six attributes by Amy */
5266 { STR19(19), 16, 14, 18, 19, 10 },
5267 /* Init Lower Higher */
5268 { 18, 0, 0, 8, 3, 0 }, /* Hit points */
5269 { 2, 0, 0, 2, 0, 2 },14, /* Energy */
5270 -20, 8, -1, 4, 14, A_INT, SPE_ACIDSHIELD, -4, 40
5273 { {"Yautja", 0}, {
5274 {"Unblooded", 0},
5275 {"Blooded", 0},
5276 {"Honored One", 0},
5277 {"Master Hunter", 0},
5278 {"Vanguard", 0},
5279 {"Elite", 0},
5280 {"Clan Leader", 0},
5281 {"Elder", 0},
5282 {"Adjudicator", 0} },
5283 "Macbeth", "Zoness", "_Titania", /* Star Fox 64 */
5284 "Yau", "Asteroid Field", "Barren Toxic Waste",
5285 PM_YAUTJA, NON_PM, PM_UNDEAD_YAUTJA, NON_PM, PM_ROBOT,
5286 PM_THE_OUTERSPACE_OCTOPUS, PM_STARNOID, PM_LUKE_SKYWALKER, PM_HAN_SOLO,
5287 PM_TOXIC_FUNGUS, PM_COLOSSAL_SLIME, S_FUNGUS, S_PUDDING,
5289 ART_EYEHANDER, /* blindfold */
5290 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE |
5291 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5292 /* Str Int Wis Dex Con Cha */
5293 /*{ 16, 7, 7, 15, 16, 6 },*/
5294 { 3, 3, 3, 3, 3, 3 },
5295 { 25, 10, 10, 25, 25, 5 },
5296 /* new limit values for the six attributes by Amy */
5297 { STR19(25), 16, 16, 20, 20, 8 },
5298 /* Init Lower Higher */
5299 { 20, 0, 0, 7, 7, 0 }, /* Hit points */
5300 { 6, 0, 0, 3, 0, 2 }, 15, /* Energy */
5301 -10, 10, 0, 2, 7, A_INT, SPE_SLUDGE, -4, 25
5304 { {"Yeoman", 0}, {
5305 /* Landowner titles, naval ranks and positions */
5306 /* We intentionally avoid Lieutenant and Captain */
5307 {"Usher", 0},
5308 {"Steward", "Stewardess"},
5309 {"Keeper", 0},
5310 {"Marshal", 0},
5311 {"Master Steward", "Master Stewardess"},
5312 {"Chamberlain", 0},
5313 {"Constable", 0},
5314 {"Chancellor", 0},
5315 {"Regent", 0} },
5316 "His Majesty", "His Holiness", "The Commons", /* The three estates */
5317 "Yeo", "London", "the inner ward",
5318 PM_YEOMAN, NON_PM, PM_UNDEAD_YEOMAN, NON_PM, PM_PONY,
5319 PM_CHIEF_YEOMAN_WARDER, PM_YEOMAN_WARDER, PM_COLONEL_BLOOD, PM_COLONEL_B__ASTARD,
5320 PM_RAVEN, PM_WEREWOLF, S_RODENT, S_DOG,
5321 #if 0
5322 ART_REAPER, ART_SWORD_OF_JUSTICE,
5323 #endif
5324 ART_CROWN_OF_SAINT_EDWARD,
5325 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC | ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5326 /* Str Int Wis Dex Con Cha */
5327 /*{ 12, 7, 10, 12, 12, 7 },*/
5328 { 3, 3, 3, 3, 3, 3 },
5329 { 20, 15, 15, 20, 20, 10 },
5330 /* new limit values for the six attributes by Amy */
5331 { STR18(100), 14, 16, 16, 19, 18 },
5332 /* Init Lower Higher */
5333 { 19, 0, 0, 8, 2, 0 }, /* Hit points */
5334 { 3, 4, 0, 1, 0, 2 },10, /* Energy */
5335 10, 8,-2, 0, 9, A_WIS, SPE_KNOCK, -4, 20
5338 { {"YSexymate", 0}, {
5339 /*from Silly JNetHack*/
5340 {"Hiyokko", 0},
5341 {"Flutty", 0},
5342 {"Miso Souper", 0},
5343 {"Fitness Strider", 0},
5344 {"Black Mate", 0},
5345 {"Knee Supporter", 0},
5346 {"Beard Mantlet", 0},
5347 {"Global Pertner", 0},
5348 {"Sexy King", "Sexy Queen"} },
5349 "Yoroshiku", "Ma Shin", "Sexy Sai", /* Chinese */
5350 "Sex", "Mistranslated Entrance", "Japanese Quest Goal Area",
5351 PM_SEXYMATE, NON_PM, PM_UNDEAD_SEXYMATE, NON_PM, PM_SEXY_GIRL,
5352 PM_JUDO_CAPTAIN, PM_STUDENT, PM_GIGOCK, PM_GIGOLO,
5353 PM_SILLY_NYMPH, PM_HIGE_MESO, S_TROLL, S_MIMIC,
5354 ART_CHARMPOINT,
5355 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
5356 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5357 /* Str Int Wis Dex Con Cha */
5358 /*{ 13, 13, 13, 9, 13, 7 },*/
5359 { 3, 3, 3, 3, 3, 3 },
5360 { 12, 30, 4, 12, 12, 30 },
5361 /* new limit values for the six attributes by Amy */
5362 { 16, 18, 18, 20, 16, 25 },
5363 /* Init Lower Higher */
5364 { 12, 0, 0, 4, 2, 0 }, /* Hit points */
5365 { 8, 0, 0, 1, 0, 2 },12, /* Energy */
5366 10, 9, 2, 1, 10, A_INT, SPE_REPAIR_ARMOR, -4, 30
5369 { {"Zookeeper", 0}, {
5370 {"Dog Feeder", 0},
5371 {"Cat Tamer",0},
5372 {"Wolf Feeder",0},
5373 {"Lion Tamer", 0},
5374 {"Mastodon Feeder", 0},
5375 {"Dragon Tamer", 0},
5376 {"Tyrannosaurus Feeder",0},
5377 {"Kangaroo Tamer", 0},
5378 {"Zouthern Petkeeper", 0} },
5379 "Balder", "_Edda", "Hagen", /* Norse mythology */
5380 "Zoo", "Yellowstone Park", "Jurassic Park",
5381 PM_ZOOKEEPER, NON_PM, PM_UNDEAD_ZOOKEEPER, NON_PM, PM_PLATYPUS,
5382 PM_MASTER_ZOOKEEPER, PM_STUDENT, PM_FEARFUL_TRICERATOPS, PM_ASH_CLANNFEAR,
5383 PM_TYRANNOSAUR, PM_UNDEAD_KANGAROO, S_LIZARD, S_ZOUTHERN,
5385 ART_LIONTAMER,
5386 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
5387 ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5388 /* Str Int Wis Dex Con Cha */
5389 /* { 7, 10, 10, 7, 7, 7 },*/
5390 { 3, 3, 3, 3, 3, 3 },
5391 { 20, 20, 20, 10, 20, 10 },
5392 /* new limit values for the six attributes by Amy */
5393 { STR18(30), 16, 17, 18, 17, 15 },
5394 /* Init Lower Higher */
5395 { 16, 0, 0, 8, 1, 0 }, /* Hit points */
5396 { 10, 0, 0, 1, 0, 1 },14, /* Energy */
5397 10, 5, 0, 2, 10, A_INT, SPE_CHARM_MONSTER, -4, 40
5400 { {"Zyborg", 0}, {
5401 {"Tin Can", 0},
5402 {"Artificial Stupidity", 0},
5403 {"Metal Man", "Metal Woman"},
5404 {"Automaton",0},
5405 {"Mechwarrior",0},
5406 {"Android", 0},
5407 {"Advanced Robot", 0},
5408 {"Artificial Intelligence", 0},
5409 {"Synthetic Man", "Synthetic Woman"} },
5410 "Andromorph", "Technix", "Mechatron", /* made-up names by Amy */
5411 "Zyb", "Tech Facility", "Chaos Factors",
5412 PM_ZYBORG, NON_PM, PM_UNDEAD_ZYBORG, NON_PM, NON_PM,
5413 PM_MISTER_MULBERRY, PM_ATTENDANT, PM_MASTER_BRAIN, PM_IDIOT_BRAIN,
5414 PM_UNDEAD_DRAGON, PM_GRIFFIN_ROGUE, S_WALLMONST, S_GRUE,
5415 ART_VERBAL_BLADE,
5416 MH_HUMAN|MH_ELF|MH_DWARF|MH_GNOME|MH_HOBBIT|MH_VAMPIRE|MH_WERE|MH_ORC |
5417 ROLE_MALE|ROLE_FEMALE|ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5418 /* Str Int Wis Dex Con Cha */
5419 /*{ 10, 7, 7, 7, 13, 6 },*/
5420 { 3, 3, 3, 3, 3, 3 },
5421 { 18, 18, 18, 18, 18, 10 },
5422 /* new limit values for the six attributes by Amy */
5423 { STR18(100), 18, 18, 18, 18, 18 },
5424 /* Init Lower Higher */
5425 { 20, 0, 0, 5, 2, 0 }, /* Hit points */
5426 { 4, 2, 0, 4, 0, 4 },10, /* Energy */
5427 0, 5, 0, 2, 10, A_INT, SPE_SOLAR_BEAM, -4, 75
5430 /* Array terminator */
5431 {{0, 0}}
5435 /* The player's role, created at runtime from initial
5436 * choices. This may be munged in role_init().
5438 struct Role urole =
5439 { {"Undefined", 0}, { {0, 0}, {0, 0}, {0, 0},
5440 {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0} },
5441 "L", "N", "C", "Xxx", "home", "locate",
5442 NON_PM, NON_PM, NON_PM, NON_PM, NON_PM, NON_PM, NON_PM, NON_PM, NON_PM,
5443 NON_PM, NON_PM, 0, 0,
5444 #if 0
5445 0, 0,
5446 #endif
5447 0, 0,
5448 /* Str Int Wis Dex Con Cha */
5449 { 7, 7, 7, 7, 7, 7 },
5450 { 20, 15, 15, 20, 20, 10 },
5451 /* new limit values for the six attributes by Amy */
5452 { STR19(25), 25, 25, 25, 25, 25 },
5453 /* Init Lower Higher */
5454 { 10, 0, 0, 8, 1, 0 }, /* Hit points */
5455 { 2, 0, 0, 2, 0, 3 },14, /* Energy */
5456 0, 10, 0, 0, 4, A_INT, 0, -3
5459 struct Role ustartrole =
5460 { {"Undefined", 0}, { {0, 0}, {0, 0}, {0, 0},
5461 {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0} },
5462 "L", "N", "C", "Xxx", "home", "locate",
5463 NON_PM, NON_PM, NON_PM, NON_PM, NON_PM, NON_PM, NON_PM, NON_PM, NON_PM,
5464 NON_PM, NON_PM, 0, 0,
5465 #if 0
5466 0, 0,
5467 #endif
5468 0, 0,
5469 /* Str Int Wis Dex Con Cha */
5470 { 7, 7, 7, 7, 7, 7 },
5471 { 20, 15, 15, 20, 20, 10 },
5472 /* new limit values for the six attributes by Amy */
5473 { STR19(25), 25, 25, 25, 25, 25 },
5474 /* Init Lower Higher */
5475 { 10, 0, 0, 8, 1, 0 }, /* Hit points */
5476 { 2, 0, 0, 2, 0, 3 },14, /* Energy */
5477 0, 10, 0, 0, 4, A_INT, 0, -3
5480 /* Table of all races */
5481 const struct Race races[] = {
5482 { "addict", "addicted", "addiction", "Add",
5483 {0, 0},
5484 PM_ADDICT, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5485 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5486 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5487 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5488 /* Str Int Wis Dex Con Cha */
5489 { 3, 3, 3, 3, 3, 3 },
5490 { STR19(25), 125, 125, 125, 125, 125 },
5491 /* new limit values for the six attributes by Amy */
5492 { STR19(25), 25, 25, 25, 25, 25 },
5493 /* Init Lower Higher */
5494 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
5495 { 1, 0, 2, 0, 2, 0 } /* Energy */
5497 { "aggravator", "aggravator", "aggravation", "Agg",
5498 {0, 0},
5499 PM_AGGRAVATOR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5500 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5501 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5502 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5503 /* Str Int Wis Dex Con Cha */
5504 { 3, 3, 3, 3, 3, 3 },
5505 { STR19(25), 125, 125, 125, 125, 125 },
5506 /* new limit values for the six attributes by Amy */
5507 { STR18(100), 18, 18, 18, 20, 18 },
5508 /* Init Lower Higher */
5509 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
5510 { 1, 0, 2, 0, 2, 0 } /* Energy */
5512 { "ak Thief is dead!", "ak Thief is dead!", "vailable, exit anyway?", "Akt", /* garbled strings --Amy */
5513 {0, 0},
5514 PM_AK_THIEF_IS_DEAD_, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5515 MH_WERE | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5516 MH_WERE, 0, MH_ELF|MH_GNOME|MH_DWARF,
5517 /* Str Int Wis Dex Con Cha */
5518 { 3, 3, 3, 3, 3, 3 },
5519 { STR19(25), 125, 125, 125, 125, 125 },
5520 /* new limit values for the six attributes by Amy */
5521 { STR19(20), 18, 18, 19, 22, 14 },
5522 /* Init Lower Higher */
5523 { 4, 0, 0, 2, 2, 0 }, /* Hit points */
5524 { 5, 0, 4, 0, 4, 0 } /* Energy */
5526 { "albae", "albae", "albaehood", "Alb",
5527 {0, 0},
5528 PM_ALBAE, NON_PM, PM_ELF_MUMMY, PM_ELF_ZOMBIE,
5529 MH_ELF | ROLE_MALE|ROLE_FEMALE |
5530 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5531 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_ELF|MH_HUMAN|MH_DWARF|MH_HOBBIT|MH_WERE|MH_VAMPIRE,
5532 /* Str Int Wis Dex Con Cha */
5533 { 3, 3, 3, 3, 3, 3 },
5534 { STR19(25), 125, 125, 125, 125, 125 },
5535 /* new limit values for the six attributes by Amy */
5536 { STR19(20), 20, 14, 20, 12, 25 },
5537 /* Init Lower Higher */
5538 { 8, 0, 0, 6, 4, 0 }, /* Hit points */
5539 { 8, 0, 6, 0, 4, 0 } /* Energy */
5541 { "alchemist", "alchemist", "alchemy", "Alc",
5542 {0, 0},
5543 PM_ALCHEMIST, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5544 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5545 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5546 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5547 /* Str Int Wis Dex Con Cha */
5548 { 3, 3, 3, 3, 3, 3 },
5549 { STR19(25), 125, 125, 125, 125, 125 },
5550 /* new limit values for the six attributes by Amy */
5551 { STR18(50), 18, 16, 18, 12, 10 },
5552 /* Init Lower Higher */
5553 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
5554 { 1, 0, 1, 0, 1, 0 } /* Energy */
5556 { "alien", "alien", "alienhood", "Ali",
5557 {0, 0},
5558 PM_ALIEN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5559 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5560 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5561 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5562 /* Str Int Wis Dex Con Cha */
5563 { 3, 3, 3, 3, 3, 3 },
5564 { STR19(25), 125, 125, 125, 125, 125 },
5565 /* new limit values for the six attributes by Amy */
5566 { STR18(60), 16, 16, 16, 16, 12 },
5567 /* Init Lower Higher */
5568 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
5569 { 1, 0, 1, 0, 1, 0 } /* Energy */
5571 { "american", "american", "patriotism", "Ame",
5572 {0, 0},
5573 PM_AMERICAN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5574 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5575 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5576 MH_HUMAN, MH_ELF, MH_ORC,
5577 /* Str Int Wis Dex Con Cha */
5578 { 3, 3, 3, 3, 3, 3 },
5579 { STR19(25), 125, 125, 125, 125, 125 },
5580 /* new limit values for the six attributes by Amy */
5581 { STR18(100), 18, 18, 18, 20, 16 },
5582 /* Init Lower Higher */
5583 { 3, 0, 0, 3, 3, 0 }, /* Hit points */
5584 { 3, 0, 3, 0, 3, 0 } /* Energy */
5586 { "amnesiac", "amnesiac", "Alzheimer's", "Amn",
5587 {0, 0},
5588 PM_AMNESIAC, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5589 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5590 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5591 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5592 /* Str Int Wis Dex Con Cha */
5593 { 3, 3, 3, 3, 3, 3 },
5594 { STR19(25), 125, 125, 125, 125, 125 },
5595 /* new limit values for the six attributes by Amy */
5596 { STR18(100), 20, 20, 18, 18, 19 },
5597 /* Init Lower Higher */
5598 { 3, 0, 0, 3, 2, 0 }, /* Hit points */
5599 { 2, 0, 3, 0, 3, 0 } /* Energy */
5601 { "ancient", "ancient", "ancienty", "Anc",
5602 {0, 0},
5603 PM_ANCIENT, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5604 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5605 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5606 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5607 /* Str Int Wis Dex Con Cha */
5608 { 3, 3, 3, 3, 3, 3 },
5609 { STR19(25), 125, 125, 125, 125, 125 },
5610 /* new limit values for the six attributes by Amy */
5611 { STR18(100), 19, 20, 18, 18, 18 },
5612 /* Init Lower Higher */
5613 { 3, 0, 0, 3, 2, 0 }, /* Hit points */
5614 { 2, 0, 3, 0, 3, 0 } /* Energy */
5616 { "ancipital", "ancipital", "ancipitalism", "Acp",
5617 {0, 0},
5618 PM_ANCIPITAL, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5619 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5620 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5621 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5622 /* Str Int Wis Dex Con Cha */
5623 { 3, 3, 3, 3, 3, 3 },
5624 { STR19(25), 125, 125, 125, 125, 125 },
5625 /* new limit values for the six attributes by Amy */
5626 { STR18(100), 18, 18, 18, 20, 15 },
5627 /* Init Lower Higher */
5628 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
5629 { 2, 0, 3, 0, 4, 0 } /* Energy */
5631 { "android", "android", "android-kind", "And",
5632 {0, 0},
5633 PM_PLAYER_ANDROID, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5634 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5635 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5636 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5637 /* Str Int Wis Dex Con Cha */
5638 { 3, 3, 3, 3, 3, 3 },
5639 { STR19(25), 125, 125, 125, 125, 125 },
5640 /* new limit values for the six attributes by Amy */
5641 { STR19(20), 18, 16, 22, 22, 18 },
5642 /* Init Lower Higher */
5643 { 2, 0, 0, 3, 1, 0 }, /* Hit points */
5644 { 1, 0, 1, 0, 1, 0 }, /* Energy */
5646 { "angbander", "angbander", "angband followship", "Agb",
5647 {0, 0},
5648 PM_ANGBANDER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5649 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5650 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5651 MH_HUMAN, MH_ELF, MH_ORC,
5652 /* Str Int Wis Dex Con Cha */
5653 { 3, 3, 3, 3, 3, 3 },
5654 { STR19(25), 125, 125, 125, 125, 125 },
5655 /* new limit values for the six attributes by Amy */
5656 { STR19(20), 20, 20, 20, 20, 20 },
5657 /* Init Lower Higher */
5658 { 3, 0, 0, 3, 3, 0 }, /* Hit points */
5659 { 3, 0, 3, 0, 3, 0 } /* Energy */
5661 { "angel", "angelic", "angelhood", "Ang",
5662 {0, 0},
5663 PM_HUMANOID_ANGEL, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5664 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5665 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5666 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5667 /* Str Int Wis Dex Con Cha */
5668 { 3, 3, 3, 3, 3, 3 },
5669 { STR19(25), 125, 125, 125, 125, 125 },
5670 /* new limit values for the six attributes by Amy */
5671 { STR18(50), 18, 18, 18, 14, 25 },
5672 /* Init Lower Higher */
5673 { 4, 0, 0, 4, 2, 0 }, /* Hit points */
5674 { 2, 0, 4, 0, 4, 0 } /* Energy */
5676 { "aquarian", "aquarian", "aquarianship", "Aqu",
5677 {0, 0},
5678 PM_AQUATIC_MONSTER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5679 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5680 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5681 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5682 /* Str Int Wis Dex Con Cha */
5683 { 3, 3, 3, 3, 3, 3 },
5684 { STR19(25), 125, 125, 125, 125, 125 },
5685 /* new limit values for the six attributes by Amy */
5686 { STR18(100), 18, 18, 18, 18, 20 },
5687 /* Init Lower Higher */
5688 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
5689 { 1, 0, 1, 0, 1, 0 } /* Energy */
5691 { "argonian", "argonian", "argohood", "Arg",
5692 {0, 0},
5693 PM_ARGONIAN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5694 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5695 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5696 MH_HUMAN, 0, 0,
5697 /* Str Int Wis Dex Con Cha */
5698 { 3, 3, 3, 3, 3, 3 },
5699 { STR19(25), 125, 125, 125, 125, 125 },
5700 /* new limit values for the six attributes by Amy */
5701 { STR19(19), 18, 16, 20, 18, 10 },
5702 /* Init Lower Higher */
5703 { 2, 0, 0, 2, 2, 0 }, /* Hit points */
5704 { 2, 0, 3, 0, 3, 0 } /* Energy */
5706 { "asgardian", "asgardish", "asgardhood", "Asg",
5707 {0, 0},
5708 PM_ASGARDIAN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5709 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5710 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5711 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5712 /* Str Int Wis Dex Con Cha */
5713 { 3, 3, 3, 3, 3, 3 },
5714 { STR19(25), 125, 125, 125, 125, 125 },
5715 /* new limit values for the six attributes by Amy */
5716 { STR18(100), 18, 18, 18, 18, 18 },
5717 /* Init Lower Higher */
5718 { 4, 0, 0, 4, 4, 0 }, /* Hit points */
5719 { 4, 0, 4, 0, 4, 0 } /* Energy */
5721 { "asura", "asura", "hindu mythology", "Asu",
5722 {0, 0},
5723 PM_PLAYER_ASURA, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5724 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5725 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5726 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5727 /* Str Int Wis Dex Con Cha */
5728 { 3, 3, 3, 3, 3, 3 },
5729 { STR19(25), 125, 125, 125, 125, 125 },
5730 /* new limit values for the six attributes by Amy */
5731 { STR19(20), 16, 16, 19, 18, 18 },
5732 /* Init Lower Higher */
5733 { 3, 0, 0, 3, 2, 0 }, /* Hit points */
5734 { 1, 0, 1, 0, 1, 0 } /* Energy */
5736 { "atlantean", "atlantean", "atlantis", "Atl",
5737 {0, 0},
5738 PM_PLAYER_ATLANTEAN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5739 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5740 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5741 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5742 /* Str Int Wis Dex Con Cha */
5743 { 3, 3, 3, 3, 3, 3 },
5744 { STR19(25), 125, 125, 125, 125, 125 },
5745 /* new limit values for the six attributes by Amy */
5746 { STR18(100), 18, 19, 18, 18, 18 },
5747 /* Init Lower Higher */
5748 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
5749 { 1, 0, 2, 0, 2, 0 } /* Energy */
5751 { "aztpok", "aztpok", "aztpokland", "Azt",
5752 {0, 0},
5753 PM_AZTPOK, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5754 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5755 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5756 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5757 /* Str Int Wis Dex Con Cha */
5758 { 3, 3, 3, 3, 3, 3 },
5759 { STR19(25), 125, 125, 125, 125, 125 },
5760 /* new limit values for the six attributes by Amy */
5761 { STR19(19), 18, 18, 18, 18, 18 },
5762 /* Init Lower Higher */
5763 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
5764 { 1, 0, 2, 0, 2, 0 } /* Energy */
5766 { "babylonian", "babylonian", "babylon", "Bab",
5767 {0, 0},
5768 PM_BABYLONIAN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5769 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5770 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5771 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5772 /* Str Int Wis Dex Con Cha */
5773 { 3, 3, 3, 3, 3, 3 },
5774 { STR19(25), 125, 125, 125, 125, 125 },
5775 /* new limit values for the six attributes by Amy */
5776 { 18, 18, 18, 17, 21, 16 },
5777 /* Init Lower Higher */
5778 { 6, 0, 0, 6, 8, 0 }, /* Hit points */
5779 { 0, 0, 1, 0, 0, 0 } /* Energy */
5781 { "bacteria", "bacteria", "meshella", "Bac",
5782 {0, 0},
5783 PM_BACTERIA, NON_PM, PM_ELF_MUMMY, PM_ELF_ZOMBIE,
5784 MH_ELF | ROLE_MALE|ROLE_FEMALE |
5785 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5786 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_ELF|MH_HUMAN|MH_DWARF|MH_HOBBIT|MH_WERE|MH_VAMPIRE,
5787 /* Str Int Wis Dex Con Cha */
5788 { 3, 3, 3, 3, 3, 3 },
5789 { STR19(25), 125, 125, 125, 125, 125 },
5790 /* new limit values for the six attributes by Amy */
5791 { STR19(20), 18, 18, 16, 25, 18 },
5792 /* Init Lower Higher */
5793 { 10, 0, 0, 10, 10, 0 }, /* Hit points */
5794 { 8, 0, 12, 0, 15, 0 } /* Energy */
5796 { "badstatter", "badstatter", "bad stats", "Bad",
5797 {0, 0},
5798 PM_BADSTATTER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5799 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5800 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5801 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5802 /* Str Int Wis Dex Con Cha */
5803 { 3, 3, 3, 3, 3, 3 },
5804 { STR19(25), 125, 125, 125, 125, 125 },
5805 /* new limit values for the six attributes by Amy */
5806 { STR18(100), 19, 19, 19, 19, 19 },
5807 /* Init Lower Higher */
5808 { 1, 0, 0, 0, 1, 0 }, /* Hit points */
5809 { 1, 0, 0, 0, 1, 0 } /* Energy */
5811 { "bastard", "bastard", "bastardry", "Bas",
5812 {0, 0},
5813 PM_BASTARD, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5814 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5815 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5816 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5817 /* Str Int Wis Dex Con Cha */
5818 { 3, 3, 3, 3, 3, 3 },
5819 { STR19(25), 125, 125, 125, 125, 125 },
5820 /* new limit values for the six attributes by Amy */
5821 { STR18(100), 18, 18, 18, 18, 18 },
5822 /* Init Lower Higher */
5823 { 0, 0, 0, 0, 0, 0 }, /* Hit points */
5824 { 0, 0, 0, 0, 0, 0 } /* Energy */
5826 { "batman", "bat", "bathood", "Bat",
5827 {0, 0},
5828 PM_BATMAN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5829 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5830 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5831 MH_HUMAN, 0, 0,
5832 /* Str Int Wis Dex Con Cha */
5833 { 3, 3, 3, 3, 3, 3 },
5834 { STR19(25), 125, 125, 125, 125, 125 },
5835 /* new limit values for the six attributes by Amy */
5836 { STR19(20), 18, 18, 22, 18, 20 },
5837 /* Init Lower Higher */
5838 { 8, 0, 0, 3, 1, 0 }, /* Hit points */
5839 { 1, 0, 2, 0, 3, 0 } /* Energy */
5841 { "beacher", "beacher", "beach drama", "Bea",
5842 {0, 0},
5843 PM_BEACHER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5844 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5845 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5846 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5847 /* Str Int Wis Dex Con Cha */
5848 { 3, 3, 3, 3, 3, 3 },
5849 { STR19(25), 125, 125, 125, 125, 125 },
5850 /* new limit values for the six attributes by Amy */
5851 { STR18(100), 18, 18, 18, 18, 18 },
5852 /* Init Lower Higher */
5853 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
5854 { 1, 0, 2, 0, 2, 0 } /* Energy */
5856 { "blait", "blait", "black and white", "Bla",
5857 {0, 0},
5858 PM_BLAIT, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5859 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5860 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5861 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5862 /* Str Int Wis Dex Con Cha */
5863 { 3, 3, 3, 3, 3, 3 },
5864 { STR19(25), 125, 125, 125, 125, 125 },
5865 /* new limit values for the six attributes by Amy */
5866 { STR18(100), 18, 18, 18, 18, 18 },
5867 /* Init Lower Higher */
5868 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
5869 { 1, 0, 2, 0, 2, 0 } /* Energy */
5871 { "bodymorpher", "bodymorpher", "morphing bodies", "Bod",
5872 {0, 0},
5873 PM_BODYMORPHER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5874 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5875 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5876 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5877 /* Str Int Wis Dex Con Cha */
5878 { 3, 3, 3, 3, 3, 3 },
5879 { STR19(25), 125, 125, 125, 125, 125 },
5880 /* new limit values for the six attributes by Amy */
5881 { STR18(100), 18, 18, 18, 18, 18 },
5882 /* Init Lower Higher */
5883 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
5884 { 1, 0, 2, 0, 2, 0 } /* Energy */
5886 { "borg", "borg", "borgship", "Bor",
5887 {0, 0},
5888 PM_BORG, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5889 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5890 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5891 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5892 /* Str Int Wis Dex Con Cha */
5893 { 3, 3, 3, 3, 3, 3 },
5894 { STR19(25), 125, 125, 125, 125, 125 },
5895 /* new limit values for the six attributes by Amy */
5896 { STR18(100), 14, 14, 15, 18, 12 },
5897 /* Init Lower Higher */
5898 { 1, 0, 0, 0, 1, 0 }, /* Hit points */
5899 { 1, 0, 0, 0, 1, 0 } /* Energy */
5901 { "bossrusher", "bossrusher", "boss rush", "Bos",
5902 {0, 0},
5903 PM_BOSSRUSHER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5904 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5905 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5906 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5907 /* Str Int Wis Dex Con Cha */
5908 { 3, 3, 3, 3, 3, 3 },
5909 { STR19(25), 125, 125, 125, 125, 125 },
5910 /* new limit values for the six attributes by Amy */
5911 { STR18(100), 18, 18, 18, 18, 18 },
5912 /* Init Lower Higher */
5913 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
5914 { 1, 0, 2, 0, 2, 0 } /* Energy */
5916 { "bover", "bover", "bovinedia", "Bov",
5917 {0, 0},
5918 PM_BOVER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5919 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5920 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5921 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_ELF|MH_HOBBIT,
5922 /* Str Int Wis Dex Con Cha */
5923 { 3, 3, 3, 3, 3, 3 },
5924 { STR19(25), 125, 125, 125, 125, 125 },
5925 /* new limit values for the six attributes by Amy */
5926 { STR18(100), 18, 18, 18, 22, 18 },
5927 /* Init Lower Higher */
5928 { 6, 0, 0, 4, 3, 0 }, /* Hit points */
5929 { 1, 0, 2, 0, 1, 0 } /* Energy */
5931 { "breton", "bretonian", "bretonhood", "Bre",
5932 {0, 0},
5933 PM_BRETON, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5934 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5935 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5936 MH_HUMAN, 0, 0,
5937 /* Str Int Wis Dex Con Cha */
5938 { 3, 3, 3, 3, 3, 3 },
5939 { STR19(25), 125, 125, 125, 125, 125 },
5940 /* new limit values for the six attributes by Amy */
5941 { 18, 25, 25, 18, 12, 18 },
5942 /* Init Lower Higher */
5943 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
5944 { 5, 0, 4, 0, 4, 0 } /* Energy */
5946 { "buldozgar", "buldozgar", "bulborderland", "Bul",
5947 {0, 0},
5948 PM_BULDOZGAR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5949 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5950 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5951 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_DWARF|MH_ELF,
5952 /* Str Int Wis Dex Con Cha */
5953 { 3, 3, 3, 3, 3, 3 },
5954 { STR19(25), 125, 125, 125, 125, 125 },
5955 /* new limit values for the six attributes by Amy */
5956 { STR18(100), 18, 18, 18, 22, 20 },
5957 /* Init Lower Higher */
5958 { 4, 0, 0, 5, 4, 0 }, /* Hit points */
5959 { 0, 0, 0, 0, 0, 0 } /* Energy */
5961 { "burninator", "burning", "burning forest", "Bur",
5962 {0, 0},
5963 PM_BURNINATOR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5964 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5965 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5966 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5967 /* Str Int Wis Dex Con Cha */
5968 { 3, 3, 3, 3, 3, 3 },
5969 { STR19(25), 125, 125, 125, 125, 125 },
5970 /* new limit values for the six attributes by Amy */
5971 { STR19(25), 16, 16, 15, 22, 15 },
5972 /* Init Lower Higher */
5973 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
5974 { 1, 0, 2, 0, 2, 0 } /* Energy */
5976 { "carthage", "carthage", "carthago", "Car",
5977 {0, 0},
5978 PM_CARTHAGE, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5979 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5980 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5981 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_WERE|MH_VAMPIRE,
5982 /* Str Int Wis Dex Con Cha */
5983 { 3, 3, 3, 3, 3, 3 },
5984 { STR19(25), 125, 125, 125, 125, 125 },
5985 /* new limit values for the six attributes by Amy */
5986 { 16, 16, 16, 16, 16, 16 },
5987 /* Init Lower Higher */
5988 { 2, 0, 0, 10, 10, 0 }, /* Hit points */
5989 { 2, 0, 1, 0, 1, 0 } /* Energy */
5991 { "celtic", "celtic", "celtic empire", "Cel",
5992 {0, 0},
5993 PM_CELTIC, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
5994 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
5995 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
5996 MH_HUMAN, 0, MH_GNOME|MH_ORC,
5997 /* Str Int Wis Dex Con Cha */
5998 { 3, 3, 3, 3, 3, 3 },
5999 { STR19(25), 125, 125, 125, 125, 125 },
6000 /* new limit values for the six attributes by Amy */
6001 { STR19(25), 16, 15, 19, 21, 18 },
6002 /* Init Lower Higher */
6003 { 3, 0, 0, 3, 2, 0 }, /* Hit points */
6004 { 1, 0, 1, 0, 1, 0 } /* Energy */
6006 { "centaur", "centaur", "centaurhood", "Cen",
6007 {0, 0},
6008 PM_HUMANOID_CENTAUR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6009 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6010 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6011 MH_HUMAN, 0, 0,
6012 /* Str Int Wis Dex Con Cha */
6013 { 3, 3, 3, 3, 3, 3 },
6014 { STR19(25), 125, 125, 125, 125, 125 },
6015 /* new limit values for the six attributes by Amy */
6016 { STR19(21), 16, 18, 20, 18, 16 },
6017 /* Init Lower Higher */
6018 { 4, 0, 0, 4, 4, 0 }, /* Hit points */
6019 { 2, 0, 2, 0, 3, 0 } /* Energy */
6021 { "cerberus", "cerberus", "tartarus", "Cer",
6022 {0, 0},
6023 PM_PLAYER_CERBERUS, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6024 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6025 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6026 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_ELF|MH_HUMAN|MH_DWARF|MH_HOBBIT|MH_WERE|MH_VAMPIRE,
6027 /* Str Int Wis Dex Con Cha */
6028 { 3, 3, 3, 3, 3, 3 },
6029 { STR19(25), 125, 125, 125, 125, 125 },
6030 /* new limit values for the six attributes by Amy */
6031 { STR19(25), 18, 18, 20, 24, 12 },
6032 /* Init Lower Higher */
6033 { 8, 0, 0, 6, 7, 0 }, /* Hit points */
6034 { 2, 0, 3, 0, 3, 0 } /* Energy */
6036 { "challenger", "challenger", "challenge", "Cha",
6037 {0, 0},
6038 PM_CHALLENGER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6039 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6040 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6041 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6042 /* Str Int Wis Dex Con Cha */
6043 { 3, 3, 3, 3, 3, 3 },
6044 { STR19(25), 125, 125, 125, 125, 125 },
6045 /* new limit values for the six attributes by Amy */
6046 { STR18(100), 18, 18, 18, 18, 18 },
6047 /* Init Lower Higher */
6048 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
6049 { 1, 0, 2, 0, 2, 0 } /* Energy */
6051 { "changeling", "changeling", "chhangelinger", "Chg",
6052 {0, 0},
6053 PM_PLAYER_CHANGELING, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6054 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6055 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6056 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6057 /* Str Int Wis Dex Con Cha */
6058 { 3, 3, 3, 3, 3, 3 },
6059 { STR19(25), 125, 125, 125, 125, 125 },
6060 /* new limit values for the six attributes by Amy */
6061 { STR18(100), 18, 18, 18, 18, 18 },
6062 /* Init Lower Higher */
6063 { 2, 0, 0, 1, 1, 0 }, /* Hit points */
6064 { 1, 0, 2, 0, 2, 0 } /* Energy */
6066 { "chiquai", "chiquai", "chiquai gavenmengte", "Chu",
6067 {0, 0},
6068 PM_CHIQUAI, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6069 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6070 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6071 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6072 /* Str Int Wis Dex Con Cha */
6073 { 3, 3, 3, 3, 3, 3 },
6074 { STR19(25), 125, 125, 125, 125, 125 },
6075 /* new limit values for the six attributes by Amy */
6076 { STR18(100), 18, 18, 18, 18, 18 },
6077 /* Init Lower Higher */
6078 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
6079 { 1, 0, 2, 0, 2, 0 } /* Energy */
6081 { "chiropteran", "chiropteric", "chiropteran-hood", "Chi",
6082 {0, 0},
6083 PM_CHIROPTERAN, NON_PM, PM_CHIROPTERAN_MUMMY, PM_CHIROPTERAN_ZOMBIE,
6084 MH_HUMAN | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_CHAOTIC|ROLE_NEUTRAL,
6085 MH_HUMAN, 0, MH_GNOME|MH_DWARF,
6086 /* Str Int Wis Dex Con Cha */
6087 { 3, 3, 3, 3, 3, 3 },
6088 { STR19(25), 125, 125, 125, 125, 125 },
6089 /* new limit values for the six attributes by Amy */
6090 { STR19(20), 16, 16, 20, 14, 16 },
6091 /* Init Lower Higher */
6092 { 2, 0, 1, 0, 0, 1 }, /* Hit points */
6093 { 0, 0, 0, 0, 0, 0 } /* Energy */
6095 { "clockwork automaton", "automatic", "clockwork-kind", "Clk",
6096 {0, 0},
6097 PM_CLOCKWORK_AUTOMATON, NON_PM, NON_PM, NON_PM,
6098 MH_HUMAN | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6099 MH_HUMAN, MH_DWARF, MH_GNOME,
6100 /* Str Int Wis Dex Con Cha */
6101 { 3, 3, 3, 3, 3, 3 },
6102 { STR19(25), 125, 125, 125, 125, 125 },
6103 /* new limit values for the six attributes by Amy */
6104 { STR18(100), 18, 18, 18, 18, 18 },
6105 /* Init Lower Higher */
6106 { 3, 0, 3, 0, 3, 0 }, /* Hit points */
6107 { 3, 0, 3, 0, 3, 0 }, /* Energy */
6109 { "cockatrice", "cockatrice", "rubberchickenhood", "Coc",
6110 {0, 0},
6111 PM_ARMED_COCKATRICE, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6112 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6113 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6114 MH_HUMAN, 0, 0,
6115 /* Str Int Wis Dex Con Cha */
6116 { 3, 3, 3, 3, 3, 3 },
6117 { STR19(25), 125, 125, 125, 125, 125 },
6118 /* new limit values for the six attributes by Amy */
6119 { 18, 18, 18, 18, 16, 10 },
6120 /* Init Lower Higher */
6121 { 2, 0, 0, 2, 2, 0 }, /* Hit points */
6122 { 2, 0, 3, 0, 3, 0 } /* Energy */
6124 { "colorator", "colorator", "fleecy colors <3", "Col",
6125 {0, 0},
6126 PM_COLORATOR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6127 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6128 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6129 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6130 /* Str Int Wis Dex Con Cha */
6131 { 3, 3, 3, 3, 3, 3 },
6132 { STR19(25), 125, 125, 125, 125, 125 },
6133 /* new limit values for the six attributes by Amy */
6134 { STR18(100), 18, 18, 18, 18, 18 },
6135 /* Init Lower Higher */
6136 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
6137 { 1, 0, 2, 0, 2, 0 } /* Energy */
6139 { "cortex", "cortex", "cortexhood", "Cor",
6140 {0, 0},
6141 PM_CORTEX, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6142 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6143 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6144 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6145 /* Str Int Wis Dex Con Cha */
6146 { 3, 3, 3, 3, 3, 3 },
6147 { STR19(25), 125, 125, 125, 125, 125 },
6148 /* new limit values for the six attributes by Amy */
6149 { STR18(50), 18, 18, 18, 18, 12 },
6150 /* Init Lower Higher */
6151 { 3, 0, 0, 3, 3, 0 }, /* Hit points */
6152 { 3, 0, 3, 0, 4, 0 } /* Energy */
6154 { "cupid", "cupid", "cupidity", "Cup",
6155 {0, 0},
6156 PM_CUPID, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6157 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6158 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6159 MH_HUMAN, 0, MH_ORC,
6160 /* Str Int Wis Dex Con Cha */
6161 { 3, 3, 3, 3, 3, 3 },
6162 { STR19(25), 125, 125, 125, 125, 125 },
6163 /* new limit values for the six attributes by Amy */
6164 { 12, 12, 12, 21, 12, 25 },
6165 /* Init Lower Higher */
6166 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
6167 { 2, 0, 2, 0, 2, 0 } /* Energy */
6169 { "curser", "curser", "curserhood", "Cur",
6170 {0, 0},
6171 PM_CURSER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6172 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6173 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6174 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6175 /* Str Int Wis Dex Con Cha */
6176 { 3, 3, 3, 3, 3, 3 },
6177 { STR19(25), 125, 125, 125, 125, 125 },
6178 /* new limit values for the six attributes by Amy */
6179 { STR18(100), 19, 18, 18, 18, 18 },
6180 /* Init Lower Higher */
6181 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
6182 { 1, 0, 1, 0, 1, 0 } /* Energy */
6184 { "dark seducer", "mazke", "mazken", "Sed",
6185 {0, 0},
6186 PM_MAZKE, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6187 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6188 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6189 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6190 /* Str Int Wis Dex Con Cha */
6191 { 3, 3, 3, 3, 3, 3 },
6192 { STR19(25), 125, 125, 125, 125, 125 },
6193 /* new limit values for the six attributes by Amy */
6194 { STR18(100), 20, 20, 18, 16, 20 },
6195 /* Init Lower Higher */
6196 { 0, 0, 0, 0, 0, 0 }, /* Hit points */
6197 { 0, 0, 0, 0, 0, 0 } /* Energy */
6199 { "deathmold", "deathmold", "deathmoldhood", "Dea",
6200 {0, 0},
6201 PM_DEATHMOLD, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6202 MH_HUMAN | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6203 MH_HUMAN, 0, MH_ELF|MH_GNOME|MH_HOBBIT|MH_DWARF|MH_ORC,
6204 /* Str Int Wis Dex Con Cha */
6205 { 3, 3, 3, 3, 3, 3 },
6206 { STR19(25), 125, 125, 125, 125, 125 },
6207 /* new limit values for the six attributes by Amy */
6208 { STR19(25), 19, 14, 18, 18, 3 },
6209 /* Init Lower Higher */
6210 { 2, 0, 0, 2, 2, 0 }, /* Hit points */
6211 { 4, 0, 4, 0, 4, 0 } /* Energy */
6213 { "de-energiser", "de-energised", "free switching", "Den",
6214 {0, 0},
6215 PM_DE_ENERGISER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6216 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6217 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6218 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6219 /* Str Int Wis Dex Con Cha */
6220 { 3, 3, 3, 3, 3, 3 },
6221 { STR19(25), 125, 125, 125, 125, 125 },
6222 /* new limit values for the six attributes by Amy */
6223 { STR18(100), 18, 18, 18, 18, 18 },
6224 /* Init Lower Higher */
6225 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
6226 { 1, 0, 1, 0, 1, 0 } /* Energy */
6228 { "deep elf", "deep elven", "deep elvenkind", "Dee",
6229 {0, 0},
6230 PM_DEEP_ELF, NON_PM, PM_ELF_MUMMY, PM_ELF_ZOMBIE,
6231 MH_ELF | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6232 MH_ELF, MH_ELF, MH_ORC,
6233 /* Str Int Wis Dex Con Cha */
6234 { 3, 3, 3, 3, 3, 3 },
6235 { STR19(25), 125, 125, 125, 125, 125 },
6236 /* new limit values for the six attributes by Amy */
6237 { 18, 20, 20, 18, 16, 18 },
6238 /* Init Lower Higher */
6239 { 1, 0, 0, 1, 0, 0 }, /* Hit points */
6240 { 7, 0, 3, 0, 3, 0 } /* Energy */
6242 { "destabilizer", "destabilizer", "destabilization", "Des",
6243 {0, 0},
6244 PM_DESTABILIZER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6245 MH_HUMAN | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6246 MH_HUMAN, 0, MH_ELF|MH_GNOME|MH_HOBBIT|MH_DWARF|MH_ORC,
6247 /* Str Int Wis Dex Con Cha */
6248 { 3, 3, 3, 3, 3, 3 },
6249 { STR19(25), 125, 125, 125, 125, 125 },
6250 /* new limit values for the six attributes by Amy */
6251 { STR19(21), 18, 18, 18, 20, 14 },
6252 /* Init Lower Higher */
6253 { 2, 0, 0, 2, 2, 0 }, /* Hit points */
6254 { 4, 0, 4, 0, 4, 0 } /* Energy */
6256 { "developer", "developer", "DevTeam", "Dvp",
6257 {0, 0},
6258 PM_DEVELOPER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6259 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6260 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6261 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_ELF|MH_HUMAN|MH_DWARF|MH_HOBBIT|MH_WERE|MH_VAMPIRE,
6262 /* Str Int Wis Dex Con Cha */
6263 { 3, 3, 3, 3, 3, 3 },
6264 { STR19(25), 125, 125, 125, 125, 125 },
6265 /* new limit values for the six attributes by Amy */
6266 { STR19(25), 25, 25, 25, 25, 25 },
6267 /* Init Lower Higher */
6268 { 6, 0, 0, 8, 12, 0 }, /* Hit points */
6269 { 5, 0, 9, 0, 13, 0 } /* Energy */
6271 { "devil", "devilish", "devilhood", "Dev",
6272 {0, 0},
6273 PM_HUMANOID_DEVIL, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6274 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6275 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6276 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6277 /* Str Int Wis Dex Con Cha */
6278 { 3, 3, 3, 3, 3, 3 },
6279 { STR19(25), 125, 125, 125, 125, 125 },
6280 /* new limit values for the six attributes by Amy */
6281 { STR19(22), 18, 20, 20, 21, 16 },
6282 /* Init Lower Higher */
6283 { 5, 0, 0, 5, 3, 0 }, /* Hit points */
6284 { 3, 0, 5, 0, 5, 0 } /* Energy */
6286 { "dictionary attack", "dictionary attack", "lauren epsom delirium", "Dic",
6287 {0, 0},
6288 PM_DICTIONARY_ATTACK, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6289 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6290 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6291 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6292 /* Str Int Wis Dex Con Cha */
6293 { 3, 3, 3, 3, 3, 3 },
6294 { STR19(25), 125, 125, 125, 125, 125 },
6295 /* new limit values for the six attributes by Amy */
6296 { STR18(100), 18, 18, 18, 18, 18 },
6297 /* Init Lower Higher */
6298 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
6299 { 1, 0, 2, 0, 2, 0 } /* Energy */
6301 { "dinosaur", "dinosaur", "jurassic park", "Din",
6302 {0, 0},
6303 PM_WEAPONIZED_DINOSAUR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6304 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6305 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6306 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6307 /* Str Int Wis Dex Con Cha */
6308 { 3, 3, 3, 3, 3, 3 },
6309 { STR19(25), 125, 125, 125, 125, 125 },
6310 /* new limit values for the six attributes by Amy */
6311 { STR19(25), 14, 14, 15, 25, 12 },
6312 /* Init Lower Higher */
6313 { 10, 0, 0, 10, 10, 0 }, /* Hit points */
6314 { 0, 0, 0, 0, 0, 0 } /* Energy */
6316 { "dolgsman", "dolgsman", "dolgskind", "Dol",
6317 {0, 0},
6318 PM_PLAYER_DOLGSMAN, NON_PM, NON_PM, NON_PM,
6319 MH_HOBBIT | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6320 MH_HOBBIT, MH_HOBBIT, MH_GNOME|MH_ORC,
6321 /* Str Int Wis Dex Con Cha */
6322 { 3, 3, 3, 3, 3, 3 },
6323 { STR19(25), 125, 125, 125, 125, 125 },
6324 /* new limit values for the six attributes by Amy */
6325 { STR18(100), 20, 20, 18, 8, 14 },
6326 /* Init Lower Higher */
6327 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
6328 { 4, 0, 2, 1, 2, 0 } /* Energy */
6330 { "doppelganger", "doppelganger", "doppelganger-kind", "Dop",
6331 {0, 0},
6332 PM_DOPPELGANGER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6333 MH_HUMAN | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6334 MH_HUMAN, MH_WERE, MH_ELF|MH_GNOME|MH_DWARF,
6335 /* Str Int Wis Dex Con Cha */
6336 { 3, 3, 3, 3, 3, 3 },
6337 { STR19(25), 125, 125, 125, 125, 125 },
6338 /* new limit values for the six attributes by Amy */
6339 { STR18(100), 20, 20, 20, 20, 15 },
6340 /* Init Lower Higher */
6341 { 0, 0, 0, 1, 1, 0 }, /* Hit points */
6342 { 7, 0, 5, 0, 5, 0 } /* Energy */
6344 { "dorian", "dorian", "explora-dora", "Dor",
6345 {0, 0},
6346 PM_DORIAN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6347 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6348 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6349 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6350 /* Str Int Wis Dex Con Cha */
6351 { 3, 3, 3, 3, 3, 3 },
6352 { STR19(25), 125, 125, 125, 125, 125 },
6353 /* new limit values for the six attributes by Amy */
6354 { STR18(100), 18, 18, 18, 18, 18 },
6355 /* Init Lower Higher */
6356 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
6357 { 1, 0, 2, 0, 2, 0 } /* Energy */
6359 { "dragon", "draconian", "dragonhood", "Dra",
6360 {0, 0},
6361 PM_HUMANLIKE_DRAGON, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6362 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6363 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6364 MH_HUMAN, 0, 0,
6365 /* Str Int Wis Dex Con Cha */
6366 { 3, 3, 3, 3, 3, 3 },
6367 { STR19(25), 125, 125, 125, 125, 125 },
6368 /* new limit values for the six attributes by Amy */
6369 { STR19(23), 18, 20, 16, 22, 18 },
6370 /* Init Lower Higher */
6371 { 6, 0, 0, 6, 2, 0 }, /* Hit points */
6372 { 3, 0, 3, 0, 2, 0 } /* Energy */
6374 { "droughter", "droughter", "drought", "Dgh",
6375 {0, 0},
6376 PM_DROUGHTER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6377 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6378 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6379 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6380 /* Str Int Wis Dex Con Cha */
6381 { 3, 3, 3, 3, 3, 3 },
6382 { STR19(25), 125, 125, 125, 125, 125 },
6383 /* new limit values for the six attributes by Amy */
6384 { STR18(100), 18, 18, 18, 18, 18 },
6385 /* Init Lower Higher */
6386 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
6387 { 1, 0, 2, 0, 2, 0 } /* Energy */
6389 { "drow", "droven", "drovenkind", "Dro",
6390 {0, 0},
6391 PM_DROW, NON_PM, PM_DROW_MUMMY, PM_DROW_ZOMBIE,
6392 MH_ELF | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6393 MH_ELF, MH_ELF, MH_ORC,
6394 /* Str Int Wis Dex Con Cha */
6395 { 3, 3, 3, 3, 3, 3 },
6396 { STR19(25), 125, 125, 125, 125, 125 },
6397 /* new limit values for the six attributes by Amy */
6398 { 18, 20, 20, 18, 16, 18 },
6399 /* Init Lower Higher */
6400 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
6401 { 7, 0, 3, 0, 3, 0 } /* Energy */
6403 { "dryad", "dryad", "dryadhood", "Dry",
6404 {0, 0},
6405 PM_HUMANOID_DRYAD, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6406 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6407 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6408 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6409 /* Str Int Wis Dex Con Cha */
6410 { 3, 3, 3, 3, 3, 3 },
6411 { STR19(25), 125, 125, 125, 125, 125 },
6412 /* new limit values for the six attributes by Amy */
6413 { 16, 18, 18, 22, 14, 18 },
6414 /* Init Lower Higher */
6415 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
6416 { 1, 0, 1, 0, 1, 0 } /* Energy */
6418 { "dufflepud", "dufflepud", "duffling", "Duf",
6419 {0, 0},
6420 PM_DUFFLEPUD, NON_PM, PM_DWARF_MUMMY, PM_DWARF_ZOMBIE,
6421 MH_DWARF | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6422 MH_DWARF, 0, MH_ORC,
6423 /* Str Int Wis Dex Con Cha */
6424 { 3, 3, 3, 3, 3, 3 },
6425 { STR19(25), 125, 125, 125, 125, 125 },
6426 /* new limit values for the six attributes by Amy */
6427 { STR18(100), 18, 18, 10, 18, 13 },
6428 /* Init Lower Higher */
6429 { 4, 0, 0, 3, 2, 0 }, /* Hit points */
6430 { 0, 0, 0, 0, 0, 0 } /* Energy */
6432 { "dunadan", "dunadan", "dunedain", "Dun",
6433 {0, 0},
6434 PM_DUNADAN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6435 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6436 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6437 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6438 /* Str Int Wis Dex Con Cha */
6439 { 3, 3, 3, 3, 3, 3 },
6440 { STR19(25), 125, 125, 125, 125, 125 },
6441 /* new limit values for the six attributes by Amy */
6442 { STR18(100), 18, 18, 18, 18, 18 },
6443 /* Init Lower Higher */
6444 { 4, 0, 0, 4, 3, 0 }, /* Hit points */
6445 { 3, 0, 4, 0, 4, 0 } /* Energy */
6447 { "duthol", "duthol", "dutholland", "Dut",
6448 {0, 0},
6449 PM_DUTHOL, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6450 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6451 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6452 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6453 /* Str Int Wis Dex Con Cha */
6454 { 3, 3, 3, 3, 3, 3 },
6455 { STR19(25), 125, 125, 125, 125, 125 },
6456 /* new limit values for the six attributes by Amy */
6457 { STR18(100), 18, 18, 18, 18, 18 },
6458 /* Init Lower Higher */
6459 { 2, 0, 0, 3, 1, 0 }, /* Hit points */
6460 { 1, 0, 2, 0, 2, 0 } /* Energy */
6462 { "dwarf", "dwarven", "dwarvenkind", "Dwa",
6463 {0, 0},
6464 PM_DWARF, NON_PM, PM_DWARF_MUMMY, PM_DWARF_ZOMBIE,
6465 MH_DWARF | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6466 MH_DWARF, MH_DWARF|MH_GNOME, MH_ORC,
6467 /* Str Int Wis Dex Con Cha */
6468 { 3, 3, 3, 3, 3, 3 },
6469 { STR19(25), 125, 125, 125, 125, 125 },
6470 /* new limit values for the six attributes by Amy */
6471 { STR18(100), 16, 16, 20, 20, 16 },
6472 /* Init Lower Higher */
6473 { 4, 0, 0, 3, 2, 0 }, /* Hit points */
6474 { 0, 0, 0, 0, 0, 0 } /* Energy */
6476 { "dynamo", "dynamo", "dynamo headquarters", "Dyn",
6477 {0, 0},
6478 PM_PLAYER_DYNAMO, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6479 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6480 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6481 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_ELF|MH_HUMAN|MH_DWARF|MH_HOBBIT|MH_WERE|MH_VAMPIRE,
6482 /* Str Int Wis Dex Con Cha */
6483 { 3, 3, 3, 3, 3, 3 },
6484 { STR19(25), 125, 125, 125, 125, 125 },
6485 /* new limit values for the six attributes by Amy */
6486 { STR18(100), 18, 18, 18, 18, 18 },
6487 /* Init Lower Higher */
6488 { 3, 0, 0, 3, 3, 0 }, /* Hit points */
6489 { 1, 0, 2, 0, 2, 0 } /* Energy */
6491 { "egymid", "egymid", "egymides", "Egy",
6492 {0, 0},
6493 PM_EGYMID, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6494 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6495 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6496 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6497 /* Str Int Wis Dex Con Cha */
6498 { 3, 3, 3, 3, 3, 3 },
6499 { STR19(25), 125, 125, 125, 125, 125 },
6500 /* new limit values for the six attributes by Amy */
6501 { STR18(20), 21, 21, 16, 12, 18 },
6502 /* Init Lower Higher */
6503 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
6504 { 3, 0, 3, 0, 4, 0 } /* Energy */
6506 { "elemental", "elemental", "elementalhood", "Ele",
6507 {0, 0},
6508 PM_ELEMENTAL, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6509 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6510 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6511 MH_HUMAN, 0, MH_GNOME|MH_DWARF|MH_HUMAN|MH_ELF|MH_HOBBIT,
6512 /* Str Int Wis Dex Con Cha */
6513 { 3, 3, 3, 3, 3, 3 },
6514 { STR19(25), 125, 125, 125, 125, 125 },
6515 /* new limit values for the six attributes by Amy */
6516 { STR18(100), 18, 18, 18, 18, 15 },
6517 /* Init Lower Higher */
6518 { 3, 0, 0, 3, 3, 0 }, /* Hit points */
6519 { 3, 0, 3, 0, 3, 0 } /* Energy */
6521 { "elf", "elven", "elvenkind", "Elf",
6522 {0, 0},
6523 PM_ELF, NON_PM, PM_ELF_MUMMY, PM_ELF_ZOMBIE,
6524 MH_ELF | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6525 MH_ELF, MH_ELF, MH_ORC,
6526 /* Str Int Wis Dex Con Cha */
6527 { 3, 3, 3, 3, 3, 3 },
6528 { STR19(25), 125, 125, 125, 125, 125 },
6529 /* new limit values for the six attributes by Amy */
6530 { 18, 20, 20, 18, 16, 18 },
6531 /* Init Lower Higher */
6532 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
6533 { 8, 0, 3, 0, 3, 0 } /* Energy */
6535 { "engchip", "engchip", "eng country", "Eng",
6536 {0, 0},
6537 PM_ENGCHIP, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6538 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6539 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6540 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6541 /* Str Int Wis Dex Con Cha */
6542 { 3, 3, 3, 3, 3, 3 },
6543 { STR19(25), 125, 125, 125, 125, 125 },
6544 /* new limit values for the six attributes by Amy */
6545 { STR18(100), 18, 18, 16, 18, 18 },
6546 /* Init Lower Higher */
6547 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
6548 { 1, 0, 2, 0, 2, 0 } /* Energy */
6550 { "ent", "ent", "enthood", "Ent",
6551 {0, 0},
6552 PM_LOWER_ENT, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6553 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6554 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6555 MH_HUMAN, 0, 0,
6556 /* Str Int Wis Dex Con Cha */
6557 { 3, 3, 3, 3, 3, 3 },
6558 { STR19(25), 125, 125, 125, 125, 125 },
6559 /* new limit values for the six attributes by Amy */
6560 { STR19(25), 16, 18, 14, 24, 6 },
6561 /* Init Lower Higher */
6562 { 3, 0, 0, 4, 5, 0 }, /* Hit points */
6563 { 2, 0, 3, 0, 4, 0 } /* Energy */
6565 { "erosator", "erosator", "erosion system", "Ero",
6566 {0, 0},
6567 PM_EROSATOR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6568 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6569 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6570 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6571 /* Str Int Wis Dex Con Cha */
6572 { 3, 3, 3, 3, 3, 3 },
6573 { STR19(25), 125, 125, 125, 125, 125 },
6574 /* new limit values for the six attributes by Amy */
6575 { STR18(100), 18, 18, 18, 18, 25 },
6576 /* Init Lower Higher */
6577 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
6578 { 1, 0, 2, 0, 2, 0 } /* Energy */
6580 { "etherealoid", "etherealoidic", "etherealoid-kind", "Eth",
6581 {0, 0},
6582 PM_ETHEREALOID, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6583 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6584 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6585 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_ELF|MH_HUMAN|MH_DWARF|MH_HOBBIT|MH_WERE|MH_VAMPIRE,
6586 /* Str Int Wis Dex Con Cha */
6587 { 3, 3, 3, 3, 3, 3 },
6588 { STR19(25), 125, 125, 125, 125, 125 },
6589 /* new limit values for the six attributes by Amy */
6590 { 18, 18, 18, 18, 18, 18 },
6591 /* Init Lower Higher */
6592 { 2, 0, 3, 0, 3, 0 }, /* Hit points */
6593 { 2, 0, 2, 0, 2, 0 } /* Energy */
6595 { "evilvariant", "evilvariant", "Evil Variant", "Evi",
6596 {0, 0},
6597 PM_EVILVARIANT, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6598 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6599 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6600 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6601 /* Str Int Wis Dex Con Cha */
6602 { 3, 3, 3, 3, 3, 3 },
6603 { STR19(25), 125, 125, 125, 125, 125 },
6604 /* new limit values for the six attributes by Amy */
6605 { STR18(100), 18, 18, 18, 18, 18 },
6606 /* Init Lower Higher */
6607 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
6608 { 1, 0, 2, 0, 2, 0 } /* Energy */
6610 { "expert", "expert", "expertise", "Exp",
6611 {0, 0},
6612 PM_EXPERT, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6613 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6614 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6615 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6616 /* Str Int Wis Dex Con Cha */
6617 { 3, 3, 3, 3, 3, 3 },
6618 { STR19(25), 125, 125, 125, 125, 125 },
6619 /* new limit values for the six attributes by Amy */
6620 { STR18(100), 18, 18, 18, 18, 18 },
6621 /* Init Lower Higher */
6622 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
6623 { 1, 0, 2, 0, 2, 0 } /* Energy */
6625 { "extravator", "extravator", "extra aggravation", "Ext",
6626 {0, 0},
6627 PM_EXTRAVATOR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6628 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6629 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6630 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6631 /* Str Int Wis Dex Con Cha */
6632 { 3, 3, 3, 3, 3, 3 },
6633 { STR19(25), 125, 125, 125, 125, 125 },
6634 /* new limit values for the six attributes by Amy */
6635 { STR18(100), 18, 18, 18, 20, 18 },
6636 /* Init Lower Higher */
6637 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
6638 { 1, 0, 2, 0, 2, 0 } /* Energy */
6640 { "fairy", "fairy", "fairy castle", "Fai",
6641 {0, 0},
6642 PM_PLAYER_FAIRY, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6643 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6644 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6645 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6646 /* Str Int Wis Dex Con Cha */
6647 { 3, 3, 3, 3, 3, 3 },
6648 { STR19(25), 125, 125, 125, 125, 125 },
6649 /* new limit values for the six attributes by Amy */
6650 { 16, 22, 22, 20, 6, 22 },
6651 /* Init Lower Higher */
6652 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
6653 { 4, 0, 6, 0, 5, 0 } /* Energy */
6655 { "fawn", "fawn", "fawning", "Faw",
6656 {0, 0},
6657 PM_FAWN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6658 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6659 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6660 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6661 /* Str Int Wis Dex Con Cha */
6662 { 3, 3, 3, 3, 3, 3 },
6663 { STR19(25), 125, 125, 125, 125, 125 },
6664 /* new limit values for the six attributes by Amy */
6665 { STR18(20), 20, 20, 24, 12, 22 },
6666 /* Init Lower Higher */
6667 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
6668 { 4, 0, 4, 0, 4, 0 } /* Energy */
6670 { "felid", "felid", "felinity", "Fel",
6671 {0, 0},
6672 PM_FELID, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6673 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6674 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6675 MH_HUMAN, 0, 0,
6676 /* Str Int Wis Dex Con Cha */
6677 { 3, 3, 3, 3, 3, 3 },
6678 { STR19(25), 125, 125, 125, 125, 125 },
6679 /* new limit values for the six attributes by Amy */
6680 { STR18(50), 18, 16, 25, 18, 16 },
6681 /* Init Lower Higher */
6682 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
6683 { 2, 0, 1, 0, 0, 0 } /* Energy */
6685 { "feminizer", "feminizer", "feminism", "Fem",
6686 {0, 0},
6687 PM_FEMINIZER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6688 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6689 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6690 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6691 /* Str Int Wis Dex Con Cha */
6692 { 3, 3, 3, 3, 3, 3 },
6693 { STR19(25), 125, 125, 125, 125, 125 },
6694 /* new limit values for the six attributes by Amy */
6695 { STR18(100), 18, 18, 18, 18, 18 },
6696 /* Init Lower Higher */
6697 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
6698 { 1, 0, 1, 0, 1, 0 } /* Energy */
6700 { "fenek", "fenek", "fenekhood", "Fen",
6701 {0, 0},
6702 PM_FENEK, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6703 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6704 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6705 MH_HUMAN, 0, 0,
6706 /* Str Int Wis Dex Con Cha */
6707 { 3, 3, 3, 3, 3, 3 },
6708 { STR19(25), 125, 125, 125, 125, 125 },
6709 /* new limit values for the six attributes by Amy */
6710 { STR18(60), 18, 18, 19, 18, 15 },
6711 /* Init Lower Higher */
6712 { 2, 0, 0, 4, 4, 0 }, /* Hit points */
6713 { 2, 0, 1, 0, 1, 0 } /* Energy */
6715 { "fiend", "fiendish", "fiendly", "Fie",
6716 {0, 0},
6717 PM_SUCKING_FIEND, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6718 MH_VAMPIRE | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6719 MH_VAMPIRE, 0, MH_ELF|MH_GNOME|MH_HOBBIT|MH_DWARF|MH_ORC,
6720 /* Str Int Wis Dex Con Cha */
6721 { 3, 3, 3, 3, 3, 3 },
6722 { STR19(25), 125, 125, 125, 125, 125 },
6723 /* new limit values for the six attributes by Amy */
6724 { STR18(50), 18, 18, 18, 16, 10 },
6725 /* Init Lower Higher */
6726 { 3, 0, 0, 3, 2, 0 }, /* Hit points */
6727 { 4, 0, 4, 0, 3, 0 } /* Energy */
6729 { "fixer", "fixer", "fixing techniques", "Fix",
6730 {0, 0},
6731 PM_FIXER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6732 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6733 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6734 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6735 /* Str Int Wis Dex Con Cha */
6736 { 3, 3, 3, 3, 3, 3 },
6737 { STR19(25), 125, 125, 125, 125, 125 },
6738 /* new limit values for the six attributes by Amy */
6739 { STR18(100), 18, 18, 18, 18, 18 },
6740 /* Init Lower Higher */
6741 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
6742 { 1, 0, 2, 0, 2, 0 } /* Energy */
6744 { "frendian", "frendian", "frendia", "Fre",
6745 {0, 0},
6746 PM_FRENDIAN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6747 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6748 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6749 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6750 /* Str Int Wis Dex Con Cha */
6751 { 3, 3, 3, 3, 3, 3 },
6752 { STR19(25), 125, 125, 125, 125, 125 },
6753 /* new limit values for the six attributes by Amy */
6754 { STR18(100), 18, 18, 18, 18, 18 },
6755 /* Init Lower Higher */
6756 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
6757 { 1, 0, 2, 0, 2, 0 } /* Energy */
6759 { "fro", "fro", "froos", "Fro",
6760 {0, 0},
6761 PM_FRO, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6762 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6763 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6764 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6765 /* Str Int Wis Dex Con Cha */
6766 { 3, 3, 3, 3, 3, 3 },
6767 { STR19(25), 125, 125, 125, 125, 125 },
6768 /* new limit values for the six attributes by Amy */
6769 { STR18(100), 18, 18, 18, 18, 18 },
6770 /* Init Lower Higher */
6771 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
6772 { 1, 0, 2, 0, 2, 0 } /* Energy */
6774 { "gastly", "ghast", "ghasthood", "Gha",
6775 {0, 0},
6776 PM_GASTLY, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6777 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6778 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6779 MH_HUMAN, 0, 0,
6780 /* Str Int Wis Dex Con Cha */
6781 { 3, 3, 3, 3, 3, 3 },
6782 { STR19(25), 125, 125, 125, 125, 125 },
6783 /* new limit values for the six attributes by Amy */
6784 { STR19(19), 16, 18, 18, 18, 12 },
6785 /* Init Lower Higher */
6786 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
6787 { 1, 0, 2, 0, 2, 0 } /* Energy */
6789 { "gavil", "gavilish", "devil's gate", "Gav",
6790 {0, 0},
6791 PM_GAVIL, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6792 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6793 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6794 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6795 /* Str Int Wis Dex Con Cha */
6796 { 3, 3, 3, 3, 3, 3 },
6797 { STR19(25), 125, 125, 125, 125, 125 },
6798 /* new limit values for the six attributes by Amy */
6799 { STR19(22), 18, 20, 20, 21, 16 },
6800 /* Init Lower Higher */
6801 { 5, 0, 0, 5, 3, 0 }, /* Hit points */
6802 { 3, 0, 5, 0, 5, 0 } /* Energy */
6804 { "gelatinous cube", "gelatinous", "cubic gelatine", "Gel",
6805 {0, 0},
6806 PM_WEAPON_CUBE, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6807 MH_HUMAN | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6808 MH_HUMAN, 0, MH_ELF|MH_GNOME|MH_HOBBIT|MH_DWARF|MH_ORC,
6809 /* Str Int Wis Dex Con Cha */
6810 { 3, 3, 3, 3, 3, 3 },
6811 { STR19(25), 125, 125, 125, 125, 125 },
6812 /* new limit values for the six attributes by Amy */
6813 { STR18(100), 18, 18, 18, 18, 6 },
6814 /* Init Lower Higher */
6815 { 2, 0, 0, 4, 8, 0 }, /* Hit points */
6816 { 5, 0, 5, 0, 5, 0 } /* Energy */
6818 { "gerteut", "gerteut", "teumany", "Teu",
6819 {0, 0},
6820 PM_GERTEUT, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6821 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6822 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6823 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6824 /* Str Int Wis Dex Con Cha */
6825 { 3, 3, 3, 3, 3, 3 },
6826 { STR19(25), 125, 125, 125, 125, 125 },
6827 /* new limit values for the six attributes by Amy */
6828 { STR18(100), 18, 18, 18, 18, 18 },
6829 /* Init Lower Higher */
6830 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
6831 { 1, 0, 2, 0, 2, 0 } /* Energy */
6833 { "giant", "gigantic", "giganthood", "Gig",
6834 {0, 0},
6835 PM_GIGANT, NON_PM, PM_GIANT_MUMMY, PM_GIANT_ZOMBIE,
6836 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6837 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6838 MH_HUMAN, 0, 0,
6839 /* Str Int Wis Dex Con Cha */
6840 { 3, 3, 3, 3, 3, 3 },
6841 { STR19(25), 125, 125, 125, 125, 125 },
6842 /* new limit values for the six attributes by Amy */
6843 { STR19(25), 15, 15, 14, 24, 18 },
6844 /* Init Lower Higher */
6845 { 5, 0, 0, 4, 4, 0 }, /* Hit points */
6846 { 1, 0, 1, 0, 1, 0 } /* Energy */
6848 { "glorkum", "glorkum", "glorkum 0 0 0's", "Glo",
6849 {0, 0},
6850 PM_PLAYER_GLORKUM, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6851 MH_HUMAN | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6852 MH_HUMAN, 0, MH_ELF|MH_GNOME|MH_HOBBIT|MH_DWARF|MH_ORC,
6853 /* Str Int Wis Dex Con Cha */
6854 { 3, 3, 3, 3, 3, 3 },
6855 { STR19(25), 125, 125, 125, 125, 125 },
6856 /* new limit values for the six attributes by Amy */
6857 { 15, 23, 8, 19, 4, 17 },
6858 /* Init Lower Higher */
6859 { 4, 0, 0, 12, 0, 0 }, /* Hit points */
6860 { 29, 0, 1, 0, 7, 0 } /* Energy */
6862 { "gnome", "gnomish", "gnomehood", "Gno",
6863 {0, 0},
6864 PM_GNOME, NON_PM, PM_GNOME_MUMMY, PM_GNOME_ZOMBIE,
6865 MH_GNOME | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6866 MH_GNOME, MH_DWARF|MH_GNOME, MH_HUMAN|MH_HOBBIT,
6867 /* Str Int Wis Dex Con Cha */
6868 { 3, 3, 3, 3, 3, 3 },
6869 { STR19(25), 125, 125, 125, 125, 125 },
6870 /* new limit values for the six attributes by Amy */
6871 { STR18(50),19, 18, 18, 18, 18 },
6872 /* Init Lower Higher */
6873 { 1, 0, 0, 1, 0, 0 }, /* Hit points */
6874 { 2, 0, 2, 0, 2, 0 } /* Energy */
6876 { "goauld", "goauld", "stargate symbiosis", "Goa", /* by Demo, who illogically didn't call it by its proper name :P */
6877 {0, 0},
6878 PM_GOAULD, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6879 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6880 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6881 MH_HUMAN, 0, MH_GNOME|MH_DWARF,
6882 /* Str Int Wis Dex Con Cha */
6883 { 3, 3, 3, 3, 3, 3 },
6884 { STR19(25), 125, 125, 125, 125, 125 },
6885 /* new limit values for the six attributes by Amy */
6886 { 12, 25, 25, 25, 12, 15 },
6887 /* Init Lower Higher */
6888 { 2, 0, 1, 0, 0, 1 }, /* Hit points */
6889 { 0, 0, 0, 0, 0, 0 }, /* Energy */
6891 { "golden saint", "aureal", "aureale", "Aur",
6892 {0, 0},
6893 PM_AUREAL, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6894 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6895 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6896 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6897 /* Str Int Wis Dex Con Cha */
6898 { 3, 3, 3, 3, 3, 3 },
6899 { STR19(25), 125, 125, 125, 125, 125 },
6900 /* new limit values for the six attributes by Amy */
6901 { STR18(100), 20, 20, 18, 16, 20 },
6902 /* Init Lower Higher */
6903 { 0, 0, 0, 0, 0, 0 }, /* Hit points */
6904 { 0, 0, 0, 0, 0, 0 } /* Energy */
6906 { "golem", "golem", "golemity", "Gol",
6907 {0, 0},
6908 PM_PLAYER_GOLEM, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6909 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6910 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6911 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6912 /* Str Int Wis Dex Con Cha */
6913 { 3, 3, 3, 3, 3, 3 },
6914 { STR19(25), 125, 125, 125, 125, 125 },
6915 /* new limit values for the six attributes by Amy */
6916 { STR18(100), 14, 14, 18, 20, 16 },
6917 /* Init Lower Higher */
6918 { 3, 0, 0, 3, 3, 0 }, /* Hit points */
6919 { 1, 0, 2, 0, 2, 0 } /* Energy */
6921 { "green slime", "slimy", "slimehood", "Sli",
6922 {0, 0},
6923 PM_PLAYER_SLIME, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6924 MH_HUMAN | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6925 MH_HUMAN, 0, MH_ELF|MH_GNOME|MH_HOBBIT|MH_DWARF|MH_ORC,
6926 /* Str Int Wis Dex Con Cha */
6927 { 3, 3, 3, 3, 3, 3 },
6928 { STR19(25), 125, 125, 125, 125, 125 },
6929 /* new limit values for the six attributes by Amy */
6930 { 18, 16, 12, 18, 15, 5 },
6931 /* Init Lower Higher */
6932 { 3, 0, 0, 3, 3, 0 }, /* Hit points */
6933 { 5, 0, 4, 0, 3, 0 } /* Energy */
6935 { "gremlin", "gremlin", "grem county", "Gre",
6936 {0, 0},
6937 PM_PLAYER_GREMLIN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6938 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6939 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6940 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6941 /* Str Int Wis Dex Con Cha */
6942 { 3, 3, 3, 3, 3, 3 },
6943 { STR19(25), 125, 125, 125, 125, 125 },
6944 /* new limit values for the six attributes by Amy */
6945 { STR18(100), 20, 18, 20, 18, 16 },
6946 /* Init Lower Higher */
6947 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
6948 { 2, 0, 2, 0, 3, 0 } /* Energy */
6950 { "greuro", "greuro", "greuro zone", "Gru",
6951 {0, 0},
6952 PM_GREURO, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6953 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6954 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6955 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6956 /* Str Int Wis Dex Con Cha */
6957 { 3, 3, 3, 3, 3, 3 },
6958 { STR19(25), 125, 125, 125, 125, 125 },
6959 /* new limit values for the six attributes by Amy */
6960 { STR18(100), 18, 18, 18, 18, 18 },
6961 /* Init Lower Higher */
6962 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
6963 { 1, 0, 2, 0, 2, 0 } /* Energy */
6965 { "grid bug", "gridbug", "gridbughood", "Grd",
6966 {0, 0},
6967 PM_WEAPON_BUG, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6968 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6969 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6970 MH_HUMAN, 0, MH_GNOME|MH_DWARF|MH_HUMAN|MH_ELF|MH_HOBBIT,
6971 /* Str Int Wis Dex Con Cha */
6972 { 3, 3, 3, 3, 3, 3 },
6973 { STR19(25), 125, 125, 125, 125, 125 },
6974 /* new limit values for the six attributes by Amy */
6975 { STR18(100), 18, 18, 18, 18, 18 },
6976 /* Init Lower Higher */
6977 { 5, 0, 0, 7, 9, 0 }, /* Hit points */
6978 { 5, 0, 7, 0, 9, 0 } /* Energy */
6980 { "grouper", "grouper", "group spawn", "Gro",
6981 {0, 0},
6982 PM_GROUPER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6983 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6984 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
6985 MH_HUMAN, 0, MH_GNOME|MH_ORC,
6986 /* Str Int Wis Dex Con Cha */
6987 { 3, 3, 3, 3, 3, 3 },
6988 { STR19(25), 125, 125, 125, 125, 125 },
6989 /* new limit values for the six attributes by Amy */
6990 { STR18(100), 18, 18, 18, 18, 18 },
6991 /* Init Lower Higher */
6992 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
6993 { 1, 0, 2, 0, 2, 0 } /* Energy */
6995 { "hallucinator", "hallucinator", "acid trip", "Hal",
6996 {0, 0},
6997 PM_HALLUCINATOR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
6998 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
6999 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7000 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7001 /* Str Int Wis Dex Con Cha */
7002 { 3, 3, 3, 3, 3, 3 },
7003 { STR19(25), 125, 125, 125, 125, 125 },
7004 /* new limit values for the six attributes by Amy */
7005 { STR18(100), 18, 18, 18, 18, 18 },
7006 /* Init Lower Higher */
7007 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7008 { 1, 0, 2, 0, 2, 0 } /* Energy */
7010 { "hand", "hand", "hands", "Han",
7011 {0, 0},
7012 PM_HAND, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7013 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7014 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7015 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7016 /* Str Int Wis Dex Con Cha */
7017 { 3, 3, 3, 3, 3, 3 },
7018 { STR19(25), 125, 125, 125, 125, 125 },
7019 /* new limit values for the six attributes by Amy */
7020 { STR18(80), 14, 15, 18, 22, 10 },
7021 /* Init Lower Higher */
7022 { 5, 0, 0, 6, 4, 0 }, /* Hit points */
7023 { 1, 0, 1, 0, 1, 0 } /* Energy */
7025 { "hardmoder", "hardmoder", "hard mode", "Har",
7026 {0, 0},
7027 PM_HARDMODER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7028 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7029 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7030 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7031 /* Str Int Wis Dex Con Cha */
7032 { 3, 3, 3, 3, 3, 3 },
7033 { STR19(25), 125, 125, 125, 125, 125 },
7034 /* new limit values for the six attributes by Amy */
7035 { STR18(100), 18, 18, 18, 18, 18 },
7036 /* Init Lower Higher */
7037 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7038 { 1, 0, 2, 0, 2, 0 } /* Energy */
7040 { "haxor", "haxorish", "haxorhood", "Hax",
7041 {0, 0},
7042 PM_HAXOR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7043 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7044 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7045 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7046 /* Str Int Wis Dex Con Cha */
7047 { 3, 3, 3, 3, 3, 3 },
7048 { STR19(25), 125, 125, 125, 125, 125 },
7049 /* new limit values for the six attributes by Amy */
7050 { STR18(100), 18, 18, 18, 18, 18 },
7051 /* Init Lower Higher */
7052 { 4, 0, 0, 4, 4, 0 }, /* Hit points */
7053 { 4, 0, 4, 0, 4, 0 } /* Energy */
7055 { "HC alien", "HC alien", "hardcore planet", "Hca",
7056 {0, 0},
7057 PM_HC_ALIEN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7058 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7059 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7060 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7061 /* Str Int Wis Dex Con Cha */
7062 { 3, 3, 3, 3, 3, 3 },
7063 { STR19(25), 125, 125, 125, 125, 125 },
7064 /* new limit values for the six attributes by Amy */
7065 { STR18(100), 20, 25, 18, 18, 3 },
7066 /* Init Lower Higher */
7067 { 3, 0, 0, 3, 3, 0 }, /* Hit points */
7068 { 2, 0, 2, 0, 5, 0 } /* Energy */
7070 { "hemi-doppelganger", "hemi-doppelganger", "hemi-doppelganger-kind", "Hem",
7071 {0, 0},
7072 PM_HEMI_DOPPELGANGER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7073 MH_HUMAN | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7074 MH_HUMAN, MH_WERE, MH_ELF|MH_GNOME|MH_DWARF,
7075 /* Str Int Wis Dex Con Cha */
7076 { 3, 3, 3, 3, 3, 3 },
7077 { STR19(25), 125, 125, 125, 125, 125 },
7078 /* new limit values for the six attributes by Amy */
7079 { STR18(100), 19, 19, 19, 19, 16 },
7080 /* Init Lower Higher */
7081 { 0, 0, 0, 1, 1, 0 }, /* Hit points */
7082 { 7, 0, 5, 0, 5, 0 } /* Energy */
7084 { "hemophage", "hemophage", "hemophagehood", "Hep",
7085 {0, 0},
7086 PM_HEMOPHAGE, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7087 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7088 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7089 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7090 /* Str Int Wis Dex Con Cha */
7091 { 3, 3, 3, 3, 3, 3 },
7092 { STR19(25), 125, 125, 125, 125, 125 },
7093 /* new limit values for the six attributes by Amy */
7094 { STR18(100), 18, 18, 18, 20, 20 },
7095 /* Init Lower Higher */
7096 { 3, 0, 0, 3, 3, 0 }, /* Hit points */
7097 { 2, 0, 3, 0, 4, 0 } /* Energy */
7099 { "herald", "herald", "heraldicdom", "Hrl",
7100 {0, 0},
7101 PM_HERALD, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7102 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7103 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7104 MH_HUMAN, 0, 0,
7105 /* Str Int Wis Dex Con Cha */
7106 { 3, 3, 3, 3, 3, 3 },
7107 { STR19(25), 125, 125, 125, 125, 125 },
7108 /* new limit values for the six attributes by Amy */
7109 { STR19(20), 16, 16, 16, 20, 16 },
7110 /* Init Lower Higher */
7111 { 2, 0, 0, 2, 2, 0 }, /* Hit points */
7112 { 1, 0, 2, 0, 2, 0 } /* Energy */
7114 { "herbalist", "herbalist", "herbalism", "Hrb",
7115 {0, 0},
7116 PM_HERBALIST, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7117 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7118 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7119 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7120 /* Str Int Wis Dex Con Cha */
7121 { 3, 3, 3, 3, 3, 3 },
7122 { STR19(25), 125, 125, 125, 125, 125 },
7123 /* new limit values for the six attributes by Amy */
7124 { 15, 18, 18, 18, 14, 18 },
7125 /* Init Lower Higher */
7126 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
7127 { 1, 0, 1, 0, 1, 0 } /* Energy */
7129 { "heretic", "heretic", "hereticism", "Her",
7130 {0, 0},
7131 PM_HERETIC, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7132 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7133 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7134 MH_HUMAN, 0, 0,
7135 /* Str Int Wis Dex Con Cha */
7136 { 3, 3, 3, 3, 3, 3 },
7137 { STR19(25), 125, 125, 125, 125, 125 },
7138 /* new limit values for the six attributes by Amy */
7139 { STR18(100), 18, 18, 18, 18, 17 },
7140 /* Init Lower Higher */
7141 { 3, 0, 0, 3, 5, 0 }, /* Hit points */
7142 { 3, 0, 3, 0, 5, 0 } /* Energy */
7144 { "hobbit", "hobbit", "hobbit-kind", "Hob",
7145 {0, 0},
7146 PM_HOBBIT, NON_PM, NON_PM, NON_PM,
7147 MH_HOBBIT | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7148 MH_HOBBIT, MH_HOBBIT, MH_GNOME|MH_ORC,
7149 /* Str Int Wis Dex Con Cha */
7150 { 3, 3, 3, 3, 3, 3 },
7151 { STR19(25), 125, 125, 125, 125, 125 },
7152 /* new limit values for the six attributes by Amy */
7153 { 18, 16, 18, 18, 20, 20 },
7154 /* Init Lower Higher */
7155 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7156 { 4, 0, 2, 1, 2, 0 } /* Energy */
7158 { "homicider", "homicidal", "homiciderhood", "Hom",
7159 {0, 0},
7160 PM_HOMICIDER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7161 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7162 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7163 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7164 /* Str Int Wis Dex Con Cha */
7165 { 3, 3, 3, 3, 3, 3 },
7166 { STR19(25), 125, 125, 125, 125, 125 },
7167 /* new limit values for the six attributes by Amy */
7168 { STR18(100), 18, 18, 20, 20, 18 },
7169 /* Init Lower Higher */
7170 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
7171 { 1, 0, 1, 0, 1, 0 } /* Energy */
7173 { "hound", "hound", "zephyr hounds", "Hou",
7174 {0, 0},
7175 PM_PLAYER_HOUND, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7176 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7177 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7178 MH_HUMAN, 0, MH_HUMAN,
7179 /* Str Int Wis Dex Con Cha */
7180 { 3, 3, 3, 3, 3, 3 },
7181 { STR19(25), 125, 125, 125, 125, 125 },
7182 /* new limit values for the six attributes by Amy */
7183 { STR18(100), 18, 18, 18, 19, 17 },
7184 /* Init Lower Higher */
7185 { 3, 0, 0, 3, 4, 0 }, /* Hit points */
7186 { 1, 0, 1, 0, 1, 0 } /* Energy */
7188 { "hidden elf", "hidden elven", "hidden elvenkind", "Hid",
7189 {0, 0},
7190 PM_HIDDEN_ELF, NON_PM, PM_ELF_MUMMY, PM_ELF_ZOMBIE,
7191 MH_ELF | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7192 MH_ELF, MH_ELF, MH_ORC,
7193 /* Str Int Wis Dex Con Cha */
7194 { 3, 3, 3, 3, 3, 3 },
7195 { STR19(25), 125, 125, 125, 125, 125 },
7196 /* new limit values for the six attributes by Amy */
7197 { 18, 20, 20, 20, 15, 18 },
7198 /* Init Lower Higher */
7199 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
7200 { 8, 0, 3, 0, 3, 0 } /* Energy */
7202 { "human", "human", "humanity", "Hum",
7203 {"man", "woman"},
7204 PM_HUMAN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7205 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7206 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7207 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7208 /* Str Int Wis Dex Con Cha */
7209 { 3, 3, 3, 3, 3, 3 },
7210 { STR19(25), 125, 125, 125, 125, 125 },
7211 /* new limit values for the six attributes by Amy */
7212 { STR18(100), 18, 18, 18, 18, 18 },
7213 /* Init Lower Higher */
7214 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7215 { 1, 0, 2, 0, 2, 0 } /* Energy */
7217 { "hunkajunk", "hunkajunk", "Hunk of Junk", "Hun", /* by Demo */
7218 {0, 0},
7219 PM_HUNKAJUNK, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7220 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7221 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7222 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7223 /* Str Int Wis Dex Con Cha */
7224 { 3, 3, 3, 3, 3, 3 },
7225 { STR19(25), 125, 125, 125, 125, 125 },
7226 /* new limit values for the six attributes by Amy */
7227 { STR18(100), 18, 18, 18, 18, 18 },
7228 /* Init Lower Higher */
7229 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7230 { 1, 0, 2, 0, 2, 0 } /* Energy */
7232 { "hybridragon", "half-dragon", "bastard dragons", "Hyb",
7233 {0, 0},
7234 PM_HYBRIDRAGON, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7235 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7236 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7237 MH_HUMAN, 0, 0,
7238 /* Str Int Wis Dex Con Cha */
7239 { 3, 3, 3, 3, 3, 3 },
7240 { STR19(25), 125, 125, 125, 125, 125 },
7241 /* new limit values for the six attributes by Amy */
7242 { STR19(20), 18, 19, 17, 20, 18 },
7243 /* Init Lower Higher */
7244 { 3, 0, 0, 3, 1, 0 }, /* Hit points */
7245 { 2, 0, 2, 0, 1, 0 } /* Energy */
7247 { "hypothermic", "hypothermic", "hypothermia", "Hyp",
7248 {0, 0},
7249 PM_HYPOTHERMIC, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7250 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7251 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7252 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7253 /* Str Int Wis Dex Con Cha */
7254 { 3, 3, 3, 3, 3, 3 },
7255 { STR19(25), 125, 125, 125, 125, 125 },
7256 /* new limit values for the six attributes by Amy */
7257 { STR18(100), 18, 18, 18, 19, 18 },
7258 /* Init Lower Higher */
7259 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7260 { 1, 0, 2, 0, 2, 0 } /* Energy */
7262 { "illithid", "illithid", "mindflayerhood", "Ill",
7263 {0, 0},
7264 PM_ILLITHID, NON_PM, PM_DWARF_MUMMY, PM_DWARF_ZOMBIE,
7265 MH_DWARF | ROLE_MALE|ROLE_FEMALE |
7266 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7267 MH_DWARF, MH_DWARF, 0,
7268 /* Str Int Wis Dex Con Cha */
7269 { 3, 3, 3, 3, 3, 3 },
7270 { STR19(25), 125, 125, 125, 125, 125 },
7271 /* new limit values for the six attributes by Amy */
7272 { STR18(100), 25, 20, 18, 18, 18 },
7273 /* Init Lower Higher */
7274 { 1, 0, 0, 2, 2, 0 }, /* Hit points */
7275 { 2, 0, 2, 0, 2, 0 } /* Energy */
7277 { "immunizer", "immunizer", "immunizing", "Imm",
7278 {0, 0},
7279 PM_IMMUNIZER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7280 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7281 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7282 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7283 /* Str Int Wis Dex Con Cha */
7284 { 3, 3, 3, 3, 3, 3 },
7285 { STR19(25), 125, 125, 125, 125, 125 },
7286 /* new limit values for the six attributes by Amy */
7287 { STR18(80), 15, 15, 18, 20, 16 },
7288 /* Init Lower Higher */
7289 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
7290 { 1, 0, 1, 0, 1, 0 } /* Energy */
7292 { "imp", "impish", "imphood", "Wim", /* "weapon imp" because there's already the imperial race --Amy */
7293 {0, 0},
7294 PM_WEAPON_IMP, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7295 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7296 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7297 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7298 /* Str Int Wis Dex Con Cha */
7299 { 3, 3, 3, 3, 3, 3 },
7300 { STR19(25), 125, 125, 125, 125, 125 },
7301 /* new limit values for the six attributes by Amy */
7302 { 16, 16, 16, 18, 12, 14 },
7303 /* Init Lower Higher */
7304 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
7305 { 1, 0, 1, 0, 1, 0 } /* Energy */
7307 { "imperial", "imperial", "imperialism", "Imp",
7308 {0, 0},
7309 PM_IMPERIAL, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7310 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7311 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7312 MH_HUMAN, 0, 0,
7313 /* Str Int Wis Dex Con Cha */
7314 { 3, 3, 3, 3, 3, 3 },
7315 { STR19(25), 125, 125, 125, 125, 125 },
7316 /* new limit values for the six attributes by Amy */
7317 { STR18(90), 18, 18, 18, 17, 20 },
7318 /* Init Lower Higher */
7319 { 3, 0, 0, 3, 5, 0 }, /* Hit points */
7320 { 3, 0, 3, 0, 5, 0 } /* Energy */
7322 { "incantifier", "incantifier", "wanterkind", "Inc",
7323 {0, 0},
7324 PM_INCANTIFIER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7325 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7326 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7327 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7328 /* Str Int Wis Dex Con Cha */
7329 { 3, 3, 3, 3, 3, 3 },
7330 { STR19(25), 125, 125, 125, 125, 125 },
7331 /* new limit values for the six attributes by Amy */
7332 { STR18(100), 18, 18, 18, 18, 18 },
7333 /* Init Lower Higher */
7334 { 2, 0, 0, 2, 0, 2 }, /* Hit points */
7335 { 0, 0, 10, 0, 10, 0 }, /* Energy */
7337 { "incorporealoid", "incorporealoidic", "incorporealoid-kind", "Ico",
7338 {0, 0},
7339 PM_INCORPOREALOID, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7340 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7341 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7342 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_ELF|MH_HUMAN|MH_DWARF|MH_HOBBIT|MH_WERE|MH_VAMPIRE,
7343 /* Str Int Wis Dex Con Cha */
7344 { 3, 3, 3, 3, 3, 3 },
7345 { STR19(25), 125, 125, 125, 125, 125 },
7346 /* new limit values for the six attributes by Amy */
7347 { 18, 18, 18, 18, 18, 18 },
7348 /* Init Lower Higher */
7349 { 2, 0, 3, 0, 3, 0 }, /* Hit points */
7350 { 2, 0, 2, 0, 2, 0 } /* Energy */
7352 { "indraenian", "indraenian", "indraenia", "Ind",
7353 {0, 0},
7354 PM_INDRAENIAN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7355 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7356 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7357 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7358 /* Str Int Wis Dex Con Cha */
7359 { 3, 3, 3, 3, 3, 3 },
7360 { STR19(25), 125, 125, 125, 125, 125 },
7361 /* new limit values for the six attributes by Amy */
7362 { STR18(100), 18, 18, 18, 18, 18 },
7363 /* Init Lower Higher */
7364 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7365 { 1, 0, 2, 0, 2, 0 } /* Energy */
7367 { "inheritor", "inheritor", "heritage", "Inh",
7368 {0, 0},
7369 PM_INHERITOR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7370 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7371 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7372 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7373 /* Str Int Wis Dex Con Cha */
7374 { 3, 3, 3, 3, 3, 3 },
7375 { STR19(25), 125, 125, 125, 125, 125 },
7376 /* new limit values for the six attributes by Amy */
7377 { STR18(100), 18, 18, 18, 18, 18 },
7378 /* Init Lower Higher */
7379 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7380 { 1, 0, 2, 0, 2, 0 } /* Energy */
7382 { "inka", "inka", "inka civilization", "Ink",
7383 {0, 0},
7384 PM_INKA, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7385 MH_ELF | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7386 MH_ELF, MH_ELF, 0,
7387 /* Str Int Wis Dex Con Cha */
7388 { 3, 3, 3, 3, 3, 3 },
7389 { STR19(25), 125, 125, 125, 125, 125 },
7390 /* new limit values for the six attributes by Amy */
7391 { STR18(100), 20, 22, 18, 20, 24 },
7392 /* Init Lower Higher */
7393 { 3, 0, 0, 2, 3, 0 }, /* Hit points */
7394 { 4, 0, 2, 0, 2, 0 } /* Energy */
7396 { "insectoid", "insectoid", "insecthood", "Ins",
7397 {0, 0},
7398 PM_INSECTOID, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7399 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7400 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7401 MH_HUMAN, 0, 0,
7402 /* Str Int Wis Dex Con Cha */
7403 { 3, 3, 3, 3, 3, 3 },
7404 { STR19(25), 125, 125, 125, 125, 125 },
7405 /* new limit values for the six attributes by Amy */
7406 { STR18(100), 18, 18, 20, 16, 18 },
7407 /* Init Lower Higher */
7408 { 2, 0, 0, 2, 2, 0 }, /* Hit points */
7409 { 2, 0, 2, 0, 2, 0 } /* Energy */
7411 { "iraha", "iraha", "ira-hate", "Ira",
7412 {0, 0},
7413 PM_IRAHA, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7414 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7415 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7416 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_ELF|MH_HUMAN|MH_DWARF|MH_HOBBIT|MH_WERE|MH_VAMPIRE,
7417 /* Str Int Wis Dex Con Cha */
7418 { 3, 3, 3, 3, 3, 3 },
7419 { STR19(25), 125, 125, 125, 125, 125 },
7420 /* new limit values for the six attributes by Amy */
7421 { STR18(100), 15, 15, 19, 18, 16 },
7422 /* Init Lower Higher */
7423 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7424 { 1, 0, 2, 0, 2, 0 } /* Energy */
7426 { "ironman", "ironman", "ironman event", "Iro",
7427 {0, 0},
7428 PM_IRONMAN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7429 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7430 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7431 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7432 /* Str Int Wis Dex Con Cha */
7433 { 3, 3, 3, 3, 3, 3 },
7434 { STR19(25), 125, 125, 125, 125, 125 },
7435 /* new limit values for the six attributes by Amy */
7436 { STR18(100), 18, 18, 18, 20, 19 },
7437 /* Init Lower Higher */
7438 { 4, 0, 0, 5, 5, 0 }, /* Hit points */
7439 { 1, 0, 2, 0, 2, 0 } /* Energy */
7441 { "irritator", "irritator", "irritation", "Irr",
7442 {0, 0},
7443 PM_IRRITATOR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7444 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7445 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7446 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7447 /* Str Int Wis Dex Con Cha */
7448 { 3, 3, 3, 3, 3, 3 },
7449 { STR19(25), 125, 125, 125, 125, 125 },
7450 /* new limit values for the six attributes by Amy */
7451 { STR18(100), 18, 18, 20, 18, 17 },
7452 /* Init Lower Higher */
7453 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7454 { 1, 0, 2, 0, 2, 0 } /* Energy */
7456 { "itaque", "itaque", "itaquely", "Ita",
7457 {0, 0},
7458 PM_ITAQUE, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7459 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7460 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7461 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7462 /* Str Int Wis Dex Con Cha */
7463 { 3, 3, 3, 3, 3, 3 },
7464 { STR19(25), 125, 125, 125, 125, 125 },
7465 /* new limit values for the six attributes by Amy */
7466 { STR18(100), 18, 18, 18, 25, 18 },
7467 /* Init Lower Higher */
7468 { 5, 0, 0, 5, 5, 0 }, /* Hit points */
7469 { 1, 0, 2, 0, 2, 0 } /* Energy */
7471 { "jabberwock", "jabberwock", "jabberwock poem", "Jab",
7472 {0, 0},
7473 PM_PLAYER_JABBERWOCK, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7474 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7475 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7476 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_ELF,
7477 /* Str Int Wis Dex Con Cha */
7478 { 3, 3, 3, 3, 3, 3 },
7479 { STR19(25), 125, 125, 125, 125, 125 },
7480 /* new limit values for the six attributes by Amy */
7481 { STR19(24), 16, 18, 19, 24, 16 },
7482 /* Init Lower Higher */
7483 { 8, 0, 0, 8, 7, 0 }, /* Hit points */
7484 { 2, 0, 2, 0, 3, 0 } /* Energy */
7486 { "japura", "japura", "japuray", "Jap",
7487 {0, 0},
7488 PM_JAPURA, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7489 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7490 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7491 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7492 /* Str Int Wis Dex Con Cha */
7493 { 3, 3, 3, 3, 3, 3 },
7494 { STR19(25), 125, 125, 125, 125, 125 },
7495 /* new limit values for the six attributes by Amy */
7496 { STR18(100), 18, 18, 18, 18, 18 },
7497 /* Init Lower Higher */
7498 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7499 { 1, 0, 2, 0, 2, 0 } /* Energy */
7501 { "java", "java", "javaland", "Jav",
7502 {0, 0},
7503 PM_JAVA, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7504 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7505 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7506 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7507 /* Str Int Wis Dex Con Cha */
7508 { 3, 3, 3, 3, 3, 3 },
7509 { STR19(25), 125, 125, 125, 125, 125 },
7510 /* new limit values for the six attributes by Amy */
7511 { STR18(100), 18, 18, 18, 18, 18 },
7512 /* Init Lower Higher */
7513 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7514 { 1, 0, 2, 0, 2, 0 } /* Energy */
7516 { "jelly", "jelly", "jellyhood", "Jel",
7517 {0, 0},
7518 PM_JELLY, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7519 MH_HUMAN | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7520 MH_HUMAN, 0, MH_ELF|MH_GNOME|MH_HOBBIT|MH_DWARF|MH_ORC,
7521 /* Str Int Wis Dex Con Cha */
7522 { 3, 3, 3, 3, 3, 3 },
7523 { STR19(25), 125, 125, 125, 125, 125 },
7524 /* new limit values for the six attributes by Amy */
7525 { 18, 20, 21, 18, 16, 12 },
7526 /* Init Lower Higher */
7527 { 2, 0, 0, 4, 8, 0 }, /* Hit points */
7528 { 5, 0, 5, 0, 5, 0 } /* Energy */
7530 { "khajiit", "khajiit", "cathood", "Kha",
7531 {0, 0},
7532 PM_KHAJIIT, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7533 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7534 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7535 MH_HUMAN, 0, 0,
7536 /* Str Int Wis Dex Con Cha */
7537 { 3, 3, 3, 3, 3, 3 },
7538 { STR19(25), 125, 125, 125, 125, 125 },
7539 /* new limit values for the six attributes by Amy */
7540 { STR18(100), 18, 18, 22, 18, 17 },
7541 /* Init Lower Higher */
7542 { 2, 0, 0, 3, 3, 0 }, /* Hit points */
7543 { 2, 0, 2, 0, 2, 0 } /* Energy */
7545 { "killfiller", "killfiller", "killer room filling", "Kil",
7546 {0, 0},
7547 PM_KILLFILLER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7548 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7549 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7550 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7551 /* Str Int Wis Dex Con Cha */
7552 { 3, 3, 3, 3, 3, 3 },
7553 { STR19(25), 125, 125, 125, 125, 125 },
7554 /* new limit values for the six attributes by Amy */
7555 { STR18(100), 18, 18, 18, 18, 18 },
7556 /* Init Lower Higher */
7557 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7558 { 1, 0, 2, 0, 2, 0 } /* Energy */
7560 { "klackon", "klackon", "klackchengband", "Kla",
7561 {0, 0},
7562 PM_KLACKON, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7563 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7564 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7565 MH_HUMAN, 0, 0,
7566 /* Str Int Wis Dex Con Cha */
7567 { 3, 3, 3, 3, 3, 3 },
7568 { STR19(25), 125, 125, 125, 125, 125 },
7569 /* new limit values for the six attributes by Amy */
7570 { STR19(20), 6, 6, 25, 20, 6 },
7571 /* Init Lower Higher */
7572 { 2, 0, 0, 3, 2, 0 }, /* Hit points */
7573 { 0, 0, 0, 0, 0, 0 } /* Energy */
7575 { "knowledgable", "knowledgable", "fountain of knowledge", "Kno",
7576 {0, 0},
7577 PM_KNOWLEDGABLE, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7578 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7579 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7580 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7581 /* Str Int Wis Dex Con Cha */
7582 { 3, 3, 3, 3, 3, 3 },
7583 { STR19(25), 125, 125, 125, 125, 125 },
7584 /* new limit values for the six attributes by Amy */
7585 { 12, 18, 18, 18, 18, 18 },
7586 /* Init Lower Higher */
7587 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7588 { 1, 0, 2, 0, 2, 0 } /* Energy */
7590 { "kobold", "koboldic", "kobolthood", "Kob",
7591 {0, 0},
7592 PM_KOBOLT, NON_PM, PM_KOBOLD_MUMMY, PM_KOBOLD_ZOMBIE,
7593 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7594 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7595 MH_HUMAN, 0, 0,
7596 /* Str Int Wis Dex Con Cha */
7597 { 3, 3, 3, 3, 3, 3 },
7598 { STR19(25), 125, 125, 125, 125, 125 },
7599 /* new limit values for the six attributes by Amy */
7600 { STR18(100), 17, 17, 18, 19, 16 },
7601 /* Init Lower Higher */
7602 { 3, 0, 0, 2, 2, 0 }, /* Hit points */
7603 { 3, 0, 2, 0, 1, 0 } /* Energy */
7605 { "kop", "kop", "kophood", "Kop",
7606 {0, 0},
7607 PM_KOP, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7608 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7609 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7610 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7611 /* Str Int Wis Dex Con Cha */
7612 { 3, 3, 3, 3, 3, 3 },
7613 { STR19(25), 125, 125, 125, 125, 125 },
7614 /* new limit values for the six attributes by Amy */
7615 { STR18(100), 18, 18, 19, 20, 18 },
7616 /* Init Lower Higher */
7617 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
7618 { 1, 0, 1, 0, 1, 0 } /* Energy */
7620 { "koronst", "koronst", "koronster cave", "Kor",
7621 {0, 0},
7622 PM_KORONST, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7623 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7624 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7625 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7626 /* Str Int Wis Dex Con Cha */
7627 { 3, 3, 3, 3, 3, 3 },
7628 { STR19(25), 125, 125, 125, 125, 125 },
7629 /* new limit values for the six attributes by Amy */
7630 { STR18(100), 18, 18, 18, 18, 18 },
7631 /* Init Lower Higher */
7632 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7633 { 1, 0, 2, 0, 2, 0 } /* Energy */
7635 { "kutar", "kutar", "emotionless expressions", "Kut",
7636 {0, 0},
7637 PM_KUTAR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7638 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7639 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7640 MH_HUMAN, 0, 0,
7641 /* Str Int Wis Dex Con Cha */
7642 { 3, 3, 3, 3, 3, 3 },
7643 { STR19(25), 125, 125, 125, 125, 125 },
7644 /* new limit values for the six attributes by Amy */
7645 { STR18(60), 17, 17, 17, 17, 23 },
7646 /* Init Lower Higher */
7647 { 2, 0, 0, 1, 1, 0 }, /* Hit points */
7648 { 2, 0, 1, 0, 1, 0 } /* Energy */
7650 { "leprechaun", "leprechaun", "leprechaunism", "Lep",
7651 {0, 0},
7652 PM_HUMANOID_LEPRECHAUN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7653 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7654 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7655 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7656 /* Str Int Wis Dex Con Cha */
7657 { 3, 3, 3, 3, 3, 3 },
7658 { STR19(25), 125, 125, 125, 125, 125 },
7659 /* new limit values for the six attributes by Amy */
7660 { 18, 18, 18, 25, 16, 18 },
7661 /* Init Lower Higher */
7662 { 2, 0, 0, 1, 1, 0 }, /* Hit points */
7663 { 3, 0, 3, 0, 3, 0 } /* Energy */
7665 { "levelscaler", "levelscaler", "scaling system", "Lvl",
7666 {0, 0},
7667 PM_LEVELSCALER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7668 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7669 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7670 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7671 /* Str Int Wis Dex Con Cha */
7672 { 3, 3, 3, 3, 3, 3 },
7673 { STR19(25), 125, 125, 125, 125, 125 },
7674 /* new limit values for the six attributes by Amy */
7675 { STR18(100), 18, 18, 18, 18, 18 },
7676 /* Init Lower Higher */
7677 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7678 { 1, 0, 2, 0, 2, 0 } /* Energy */
7680 { "levitator", "levitating", "levitatorship", "Lev",
7681 {0, 0},
7682 PM_LEVITATOR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7683 MH_ELF | ROLE_MALE|ROLE_FEMALE |
7684 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7685 MH_HUMAN, 0, 0,
7686 /* Str Int Wis Dex Con Cha */
7687 { 3, 3, 3, 3, 3, 3 },
7688 { STR19(25), 125, 125, 125, 125, 125 },
7689 /* new limit values for the six attributes by Amy */
7690 { STR19(25), 20, 20, 24, 18, 20 },
7691 /* Init Lower Higher */
7692 { 8, 0, 0, 6, 4, 0 }, /* Hit points */
7693 { 8, 0, 6, 0, 4, 0 } /* Energy */
7695 { "lich", "lich", "lichhood", "Lic",
7696 {0, 0},
7697 PM_LICH_WARRIOR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7698 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7699 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7700 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7701 /* Str Int Wis Dex Con Cha */
7702 { 3, 3, 3, 3, 3, 3 },
7703 { STR19(25), 125, 125, 125, 125, 125 },
7704 /* new limit values for the six attributes by Amy */
7705 { STR19(22), 20, 20, 14, 18, 10 },
7706 /* Init Lower Higher */
7707 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
7708 { 1, 0, 1, 0, 1, 0 } /* Energy */
7710 { "listener", "listener", "listening outpost", "Lis",
7711 {0, 0},
7712 PM_LISTENER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7713 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7714 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7715 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7716 /* Str Int Wis Dex Con Cha */
7717 { 3, 3, 3, 3, 3, 3 },
7718 { STR19(25), 125, 125, 125, 125, 125 },
7719 /* new limit values for the six attributes by Amy */
7720 { STR18(100), 18, 19, 18, 18, 18 },
7721 /* Init Lower Higher */
7722 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7723 { 1, 0, 2, 0, 2, 0 } /* Energy */
7725 { "lizardman", "lizard", "lizardhood", "Liz",
7726 {0, 0},
7727 PM_LIZARDMAN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7728 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7729 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7730 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7731 /* Str Int Wis Dex Con Cha */
7732 { 3, 3, 3, 3, 3, 3 },
7733 { STR19(25), 125, 125, 125, 125, 125 },
7734 /* new limit values for the six attributes by Amy */
7735 { STR19(20), 18, 18, 19, 20, 16 },
7736 /* Init Lower Higher */
7737 { 1, 0, 0, 2, 3, 0 }, /* Hit points */
7738 { 1, 0, 1, 0, 2, 0 } /* Energy */
7740 { "loli", "loli", "loli culture", "Lol",
7741 {0, 0},
7742 PM_LOLI, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7743 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7744 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7745 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7746 /* Str Int Wis Dex Con Cha */
7747 { 3, 3, 3, 3, 3, 3 },
7748 { STR19(25), 125, 125, 125, 125, 125 },
7749 /* new limit values for the six attributes by Amy */
7750 { STR18(50), 18, 18, 18, 14, 22 },
7751 /* Init Lower Higher */
7752 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7753 { 1, 0, 2, 0, 2, 0 } /* Energy */
7755 { "lycanthrope", "lycanthropic", "lycanthropehood", "Lyc",
7756 {0, 0},
7757 PM_HUMAN_WEREWOLF, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7758 MH_WERE | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7759 MH_WERE, 0, MH_ELF|MH_GNOME|MH_DWARF,
7760 /* Str Int Wis Dex Con Cha */
7761 { 3, 3, 3, 3, 3, 3 },
7762 { STR19(25), 125, 125, 125, 125, 125 },
7763 /* new limit values for the six attributes by Amy */
7764 { STR19(19), 15, 15, 20, 19, 15 },
7765 /* Init Lower Higher */
7766 { 4, 0, 0, 2, 2, 0 }, /* Hit points */
7767 { 5, 0, 4, 0, 4, 0 } /* Energy */
7769 { "mactheist", "mactheist", "atheistonia", "Mac",
7770 {0, 0},
7771 PM_MACTHEIST, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7772 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7773 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7774 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7775 /* Str Int Wis Dex Con Cha */
7776 { 3, 3, 3, 3, 3, 3 },
7777 { STR19(25), 125, 125, 125, 125, 125 },
7778 /* new limit values for the six attributes by Amy */
7779 { STR18(100), 18, 18, 18, 18, 18 },
7780 /* Init Lower Higher */
7781 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7782 { 1, 0, 2, 0, 2, 0 } /* Energy */
7784 { "magyar", "magyar", "non gladly", "Mag",
7785 {0, 0},
7786 PM_MAGYAR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7787 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7788 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7789 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7790 /* Str Int Wis Dex Con Cha */
7791 { 3, 3, 3, 3, 3, 3 },
7792 { STR19(25), 125, 125, 125, 125, 125 },
7793 /* new limit values for the six attributes by Amy */
7794 { STR18(100), 18, 18, 18, 18, 18 },
7795 /* Init Lower Higher */
7796 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7797 { 1, 0, 2, 0, 2, 0 } /* Energy */
7799 { "maia", "maian", "maiahood", "Mai",
7800 {0, 0},
7801 PM_MAIA, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7802 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7803 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7804 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7805 /* Str Int Wis Dex Con Cha */
7806 { 3, 3, 3, 3, 3, 3 },
7807 { STR19(25), 125, 125, 125, 125, 125 },
7808 /* new limit values for the six attributes by Amy */
7809 { STR18(100), 20, 19, 18, 20, 18 },
7810 /* Init Lower Higher */
7811 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
7812 { 4, 0, 4, 0, 4, 0 } /* Energy */
7814 { "matrayser", "matrayser", "material raise", "Mat",
7815 {0, 0},
7816 PM_MATRAYSER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7817 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7818 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7819 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7820 /* Str Int Wis Dex Con Cha */
7821 { 3, 3, 3, 3, 3, 3 },
7822 { STR19(25), 125, 125, 125, 125, 125 },
7823 /* new limit values for the six attributes by Amy */
7824 { STR18(100), 18, 18, 18, 18, 18 },
7825 /* Init Lower Higher */
7826 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7827 { 1, 0, 2, 0, 2, 0 } /* Energy */
7829 { "matrixer", "matrixer", "The Matrix", "Max",
7830 {0, 0},
7831 PM_MATRIXER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7832 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7833 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7834 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7835 /* Str Int Wis Dex Con Cha */
7836 { 3, 3, 3, 3, 3, 3 },
7837 { STR19(25), 125, 125, 125, 125, 125 },
7838 /* new limit values for the six attributes by Amy */
7839 { STR18(100), 18, 18, 18, 18, 18 },
7840 /* Init Lower Higher */
7841 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7842 { 1, 0, 2, 0, 2, 0 } /* Energy */
7844 { "maymes", "maymes", "maymestry", "May",
7845 {0, 0},
7846 PM_MAYMES, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7847 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7848 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7849 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7850 /* Str Int Wis Dex Con Cha */
7851 { 3, 3, 3, 3, 3, 3 },
7852 { STR19(25), 125, 125, 125, 125, 125 },
7853 /* new limit values for the six attributes by Amy */
7854 { STR18(100), 19, 18, 18, 18, 18 },
7855 /* Init Lower Higher */
7856 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7857 { 1, 0, 2, 0, 2, 0 } /* Energy */
7859 { "mazewalker", "mazewalking", "mazemastership", "Maz",
7860 {0, 0},
7861 PM_MAZEWALKER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7862 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7863 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7864 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7865 /* Str Int Wis Dex Con Cha */
7866 { 3, 3, 3, 3, 3, 3 },
7867 { STR19(25), 125, 125, 125, 125, 125 },
7868 /* new limit values for the six attributes by Amy */
7869 { STR18(100), 20, 18, 18, 18, 18 },
7870 /* Init Lower Higher */
7871 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
7872 { 1, 0, 1, 0, 1, 0 } /* Energy */
7874 { "mazin", "mazin", "magic enhancement", "Mzi",
7875 {0, 0},
7876 PM_MAZIN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7877 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7878 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7879 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7880 /* Str Int Wis Dex Con Cha */
7881 { 3, 3, 3, 3, 3, 3 },
7882 { STR19(25), 125, 125, 125, 125, 125 },
7883 /* new limit values for the six attributes by Amy */
7884 { STR18(100), 25, 22, 18, 17, 18 },
7885 /* Init Lower Higher */
7886 { 2, 0, 0, 1, 1, 0 }, /* Hit points */
7887 { 3, 0, 3, 0, 3, 0 } /* Energy */
7889 { "metal", "metal", "heavy metal", "Met",
7890 {0, 0},
7891 PM_METAL, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7892 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7893 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7894 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7895 /* Str Int Wis Dex Con Cha */
7896 { 3, 3, 3, 3, 3, 3 },
7897 { STR19(25), 125, 125, 125, 125, 125 },
7898 /* new limit values for the six attributes by Amy */
7899 { 18, 16, 18, 16, 16, 25 },
7900 /* Init Lower Higher */
7901 { 2, 0, 0, 2, 2, 0 }, /* Hit points */
7902 { 2, 0, 2, 0, 2, 0 } /* Energy */
7904 { "mimic", "mimic", "mimicry", "Mim",
7905 {0, 0},
7906 PM_PLAYER_MIMIC, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7907 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7908 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7909 MH_HUMAN, 0, 0,
7910 /* Str Int Wis Dex Con Cha */
7911 { 3, 3, 3, 3, 3, 3 },
7912 { STR19(25), 125, 125, 125, 125, 125 },
7913 /* new limit values for the six attributes by Amy */
7914 { STR18(50), 18, 18, 20, 14, 16 },
7915 /* Init Lower Higher */
7916 { 3, 0, 0, 4, 5, 0 }, /* Hit points */
7917 { 3, 0, 4, 0, 5, 0 } /* Energy */
7919 { "minimalist", "minimalist", "minus world", "Min",
7920 {0, 0},
7921 PM_MINIMALIST, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7922 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7923 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7924 MH_HUMAN, MH_ELF, MH_ORC,
7925 /* Str Int Wis Dex Con Cha */
7926 { 3, 3, 3, 3, 3, 3 },
7927 { STR19(25), 125, 125, 125, 125, 125 },
7928 /* new limit values for the six attributes by Amy */
7929 { STR18(100), 18, 18, 18, 20, 18 },
7930 /* Init Lower Higher */
7931 { 3, 0, 0, 3, 3, 0 }, /* Hit points */
7932 { 3, 0, 3, 0, 3, 0 } /* Energy */
7934 { "missingno", "missing", "missing faction", "Mis",
7935 {0, 0},
7936 PM_MISSINGNO, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7937 MH_HUMAN | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7938 MH_HUMAN, 0, MH_ELF|MH_GNOME|MH_HOBBIT|MH_DWARF|MH_ORC,
7939 /* Str Int Wis Dex Con Cha */
7940 { 3, 3, 3, 3, 3, 3 },
7941 { STR19(25), 125, 125, 125, 125, 125 },
7942 /* new limit values for the six attributes by Amy */
7943 { STR19(23), 17, 23, 9, 11, 4 },
7944 /* Init Lower Higher */
7945 { 8, 0, 0, 6, 7, 0 }, /* Hit points */
7946 { 6, 0, 6, 0, 6, 0 } /* Energy */
7948 { "mongung", "mongung", "mongoss", "Mog",
7949 {0, 0},
7950 PM_MONGUNG, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7951 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7952 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7953 MH_HUMAN, 0, MH_GNOME|MH_ORC,
7954 /* Str Int Wis Dex Con Cha */
7955 { 3, 3, 3, 3, 3, 3 },
7956 { STR19(25), 125, 125, 125, 125, 125 },
7957 /* new limit values for the six attributes by Amy */
7958 { STR18(100), 6, 6, 18, 18, 18 },
7959 /* Init Lower Higher */
7960 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
7961 { 1, 0, 2, 0, 2, 0 } /* Energy */
7963 { "monkey", "monkey", "monkeydom", "Mon",
7964 {0, 0},
7965 PM_HUMAN_MONKEY, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7966 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7967 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7968 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_ELF,
7969 /* Str Int Wis Dex Con Cha */
7970 { 3, 3, 3, 3, 3, 3 },
7971 { STR19(25), 125, 125, 125, 125, 125 },
7972 /* new limit values for the six attributes by Amy */
7973 { STR19(19), 10, 10, 20, 19, 13 },
7974 /* Init Lower Higher */
7975 { 3, 0, 0, 2, 2, 0 }, /* Hit points */
7976 { 1, 0, 1, 0, 1, 0 } /* Energy */
7978 { "monster", "monster", "monster generator", "Mns",
7979 {0, 0},
7980 PM_MANSTER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
7981 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
7982 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7983 MH_HUMAN, 0, 0,
7984 /* Str Int Wis Dex Con Cha */
7985 { 3, 3, 3, 3, 3, 3 },
7986 { STR19(25), 125, 125, 125, 125, 125 },
7987 /* new limit values for the six attributes by Amy */
7988 { STR19(20), 16, 16, 16, 20, 16 },
7989 /* Init Lower Higher */
7990 { 2, 0, 0, 2, 2, 0 }, /* Hit points */
7991 { 1, 0, 2, 0, 2, 0 } /* Energy */
7993 { "moon elf", "moonelven", "moonelvenkind", "Moo",
7994 {0, 0},
7995 PM_MOON_ELF, NON_PM, PM_ELF_MUMMY, PM_ELF_ZOMBIE,
7996 MH_ELF | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
7997 MH_ELF, MH_ELF, MH_ORC,
7998 /* Str Int Wis Dex Con Cha */
7999 { 3, 3, 3, 3, 3, 3 },
8000 { STR19(25), 125, 125, 125, 125, 125 },
8001 /* new limit values for the six attributes by Amy */
8002 { 17, 21, 21, 19, 14, 19 },
8003 /* Init Lower Higher */
8004 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
8005 { 6, 0, 2, 0, 1, 0 } /* Energy */
8007 { "mould", "mouldic", "mouldhood", "Mou",
8008 {0, 0},
8009 PM_MOULD, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8010 MH_HUMAN | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8011 MH_HUMAN, 0, MH_ELF|MH_GNOME|MH_HOBBIT|MH_DWARF|MH_ORC,
8012 /* Str Int Wis Dex Con Cha */
8013 { 3, 3, 3, 3, 3, 3 },
8014 { STR19(25), 125, 125, 125, 125, 125 },
8015 /* new limit values for the six attributes by Amy */
8016 { STR18(100), 18, 18, 16, 16, 12 },
8017 /* Init Lower Higher */
8018 { 2, 0, 0, 2, 2, 0 }, /* Hit points */
8019 { 4, 0, 4, 0, 4, 0 } /* Energy */
8021 { "mummy", "mummified", "mummyhood", "Mum",
8022 {0, 0},
8023 PM_MUMMY, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8024 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8025 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8026 MH_HUMAN, 0, 0,
8027 /* Str Int Wis Dex Con Cha */
8028 { 3, 3, 3, 3, 3, 3 },
8029 { STR19(25), 125, 125, 125, 125, 125 },
8030 /* new limit values for the six attributes by Amy */
8031 { STR18(100), 16, 16, 18, 18, 11 },
8032 /* Init Lower Higher */
8033 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
8034 { 1, 0, 2, 0, 2, 0 } /* Energy */
8036 { "mushroom", "mushroom", "mushroom kingdom", "Mus",
8037 {0, 0},
8038 PM_PLAYER_MUSHROOM, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8039 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8040 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8041 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8042 /* Str Int Wis Dex Con Cha */
8043 { 3, 3, 3, 3, 3, 3 },
8044 { STR19(25), 125, 125, 125, 125, 125 },
8045 /* new limit values for the six attributes by Amy */
8046 { STR18(100), 18, 18, 18, 6, 18 },
8047 /* Init Lower Higher */
8048 { 1, 0, 0, 0, 0, 0 }, /* Hit points */
8049 { 2, 0, 3, 0, 5, 0 } /* Energy */
8051 { "myrkalfr", "myrkalfar", "myrkalfrkind", "Myr",
8052 {0, 0},
8053 PM_PLAYER_MYRKALFR, NON_PM, PM_ELF_MUMMY, PM_ELF_ZOMBIE,
8054 MH_ELF | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8055 MH_ELF, MH_ELF, MH_ORC,
8056 /* Str Int Wis Dex Con Cha */
8057 { 3, 3, 3, 3, 3, 3 },
8058 { STR19(25), 125, 125, 125, 125, 125 },
8059 /* new limit values for the six attributes by Amy */
8060 { 18, 20, 20, 18, 16, 18 },
8061 /* Init Lower Higher */
8062 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
8063 { 2, 0, 3, 0, 3, 0 }, /* Energy */
8065 { "naga", "naga", "nagahood", "Nag",
8066 {0, 0},
8067 PM_HUMANLIKE_NAGA, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8068 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8069 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8070 MH_HUMAN, 0, 0,
8071 /* Str Int Wis Dex Con Cha */
8072 { 3, 3, 3, 3, 3, 3 },
8073 { STR19(25), 125, 125, 125, 125, 125 },
8074 /* new limit values for the six attributes by Amy */
8075 { STR19(19), 20, 20, 19, 20, 14 },
8076 /* Init Lower Higher */
8077 { 3, 0, 0, 3, 1, 0 }, /* Hit points */
8078 { 2, 0, 2, 0, 3, 0 } /* Energy */
8080 { "nastinator", "nastinator", "nastiness", "Nas",
8081 {0, 0},
8082 PM_NASTINATOR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8083 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8084 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8085 MH_HUMAN, 0, 0,
8086 /* Str Int Wis Dex Con Cha */
8087 { 3, 3, 3, 3, 3, 3 },
8088 { STR19(25), 125, 125, 125, 125, 125 },
8089 /* new limit values for the six attributes by Amy */
8090 { STR18(100), 18, 18, 18, 18, 18 },
8091 /* Init Lower Higher */
8092 { 4, 0, 0, 4, 4, 0 }, /* Hit points */
8093 { 4, 0, 4, 0, 4, 0 } /* Energy */
8095 { "navi", "navi", "navihood", "Nav",
8096 {0, 0},
8097 PM_NAVI, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8098 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8099 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8100 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8101 /* Str Int Wis Dex Con Cha */
8102 { 3, 3, 3, 3, 3, 3 },
8103 { STR19(25), 125, 125, 125, 125, 125 },
8104 /* new limit values for the six attributes by Amy */
8105 { STR18(100), 18, 18, 22, 18, 20 },
8106 /* Init Lower Higher */
8107 { 1, 0, 0, 2, 1, 0 }, /* Hit points */
8108 { 1, 0, 4, 0, 4, 0 } /* Energy */
8110 { "neanderthal", "neanderthal", "many years ago", "Nea",
8111 {0, 0},
8112 PM_PLAYABLE_NEANDERTHAL, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8113 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8114 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8115 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8116 /* Str Int Wis Dex Con Cha */
8117 { 3, 3, 3, 3, 3, 3 },
8118 { STR19(25), 125, 125, 125, 125, 125 },
8119 /* new limit values for the six attributes by Amy */
8120 { STR19(20), 8, 10, 17, 21, 6 },
8121 /* Init Lower Higher */
8122 { 3, 0, 0, 3, 2, 0 }, /* Hit points */
8123 { 0, 0, 0, 0, 0, 0 } /* Energy */
8125 { "nemesis", "nemesis", "quest nemesis land", "Nem",
8126 {0, 0},
8127 PM_NEMESIS, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8128 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8129 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8130 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_ELF|MH_HUMAN|MH_DWARF|MH_HOBBIT|MH_WERE|MH_VAMPIRE,
8131 /* Str Int Wis Dex Con Cha */
8132 { 3, 3, 3, 3, 3, 3 },
8133 { STR19(25), 125, 125, 125, 125, 125 },
8134 /* new limit values for the six attributes by Amy */
8135 { STR18(100), 18, 18, 18, 18, 18 },
8136 /* Init Lower Higher */
8137 { 7, 0, 0, 7, 7, 0 }, /* Hit points */
8138 { 7, 0, 7, 0, 7, 0 } /* Energy */
8140 { "nibelung", "nibelung", "nibelung lieo", "Nib",
8141 {0, 0},
8142 PM_PLAYER_NIBELUNG, NON_PM, PM_DWARF_MUMMY, PM_DWARF_ZOMBIE,
8143 MH_DWARF | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8144 MH_DWARF, 0, MH_DWARF,
8145 /* Str Int Wis Dex Con Cha */
8146 { 3, 3, 3, 3, 3, 3 },
8147 { STR19(25), 125, 125, 125, 125, 125 },
8148 /* new limit values for the six attributes by Amy */
8149 { STR18(100), 16, 16, 20, 20, 16 },
8150 /* Init Lower Higher */
8151 { 4, 0, 0, 3, 2, 0 }, /* Hit points */
8152 { 0, 0, 0, 0, 0, 0 } /* Energy */
8154 { "nord", "nordish", "nordhood", "Nor",
8155 {0, 0},
8156 PM_NORD, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8157 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8158 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8159 MH_HUMAN, 0, MH_ORC,
8160 /* Str Int Wis Dex Con Cha */
8161 { 3, 3, 3, 3, 3, 3 },
8162 { STR19(25), 125, 125, 125, 125, 125 },
8163 /* new limit values for the six attributes by Amy */
8164 { STR19(19), 17, 17, 17, 19, 17 },
8165 /* Init Lower Higher */
8166 { 4, 0, 0, 3, 2, 0 }, /* Hit points */
8167 { 3, 0, 2, 0, 1, 0 } /* Energy */
8169 { "null", "null", "null", "Nul",
8170 {0, 0},
8171 PM_NULL, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8172 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8173 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8174 MH_HUMAN, 0, 0,
8175 /* Str Int Wis Dex Con Cha */
8176 { 3, 3, 3, 3, 3, 3 },
8177 { STR19(25), 125, 125, 125, 125, 125 },
8178 /* new limit values for the six attributes by Amy */
8179 { STR18(100), 18, 18, 18, 18, 18 },
8180 /* Init Lower Higher */
8181 { 0, 0, 0, 0, 0, 0 }, /* Hit points */
8182 { 0, 0, 0, 0, 0, 0 } /* Energy */
8184 { "nymph", "nymphian", "nymphhood", "Nym", /* suggestion by BellisColdwine */
8185 {0, 0},
8186 PM_NYMPH, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8187 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8188 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8189 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8190 /* Str Int Wis Dex Con Cha */
8191 { 3, 3, 3, 3, 3, 3 },
8192 { STR19(25), 125, 125, 125, 125, 125 },
8193 /* new limit values for the six attributes by Amy */
8194 { STR18(100), 18, 18, 25, 14, 25 },
8195 /* Init Lower Higher */
8196 { 2, 0, 0, 1, 1, 0 }, /* Hit points */
8197 { 3, 0, 3, 0, 3, 0 } /* Energy */
8199 { "octopode", "octopode", "octopussy", "Oct",
8200 {0, 0},
8201 PM_OCTOPODE, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8202 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8203 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8204 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_ELF|MH_HUMAN|MH_DWARF|MH_HOBBIT|MH_WERE|MH_VAMPIRE,
8205 /* Str Int Wis Dex Con Cha */
8206 { 3, 3, 3, 3, 3, 3 },
8207 { STR19(25), 125, 125, 125, 125, 125 },
8208 /* new limit values for the six attributes by Amy */
8209 { STR18(100), 18, 18, 20, 14, 10 },
8210 /* Init Lower Higher */
8211 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
8212 { 1, 0, 1, 0, 1, 0 } /* Energy */
8214 { "ogre", "ogrotic", "ogrohood", "Ogr",
8215 {0, 0},
8216 PM_OGRO, NON_PM, PM_OGRE_MUMMY, PM_OGRE_ZOMBIE,
8217 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8218 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8219 MH_HUMAN, 0, 0,
8220 /* Str Int Wis Dex Con Cha */
8221 { 3, 3, 3, 3, 3, 3 },
8222 { STR19(25), 125, 125, 125, 125, 125 },
8223 /* new limit values for the six attributes by Amy */
8224 { STR19(20), 12, 12, 16, 24, 8 },
8225 /* Init Lower Higher */
8226 { 4, 0, 0, 3, 3, 0 }, /* Hit points */
8227 { 3, 0, 1, 0, 1, 0 } /* Energy */
8229 { "orc", "orcish", "orcdom", "Orc",
8230 {0, 0},
8231 PM_ORC, NON_PM, PM_ORC_MUMMY, PM_ORC_ZOMBIE,
8232 MH_ORC | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8233 MH_ORC, 0, MH_HUMAN|MH_ELF|MH_DWARF|MH_HOBBIT,
8234 /* Str Int Wis Dex Con Cha */
8235 { 3, 3, 3, 3, 3, 3 },
8236 { STR19(25), 125, 125, 125, 125, 125 },
8237 /* new limit values for the six attributes by Amy */
8238 { STR18(50),16, 16, 18, 18, 16 },
8239 /* Init Lower Higher */
8240 { 1, 0, 0, 1, 0, 0 }, /* Hit points */
8241 { 1, 0, 1, 0, 1, 0 } /* Energy */
8243 { "outsider", "outsider", "far planets", "Out",
8244 {0, 0},
8245 PM_OUTSIDER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8246 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8247 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8248 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_ELF|MH_HUMAN|MH_DWARF|MH_HOBBIT|MH_WERE|MH_VAMPIRE,
8249 /* Str Int Wis Dex Con Cha */
8250 { 3, 3, 3, 3, 3, 3 },
8251 { STR19(25), 125, 125, 125, 125, 125 },
8252 /* new limit values for the six attributes by Amy */
8253 { STR19(20), 20, 20, 20, 20, 20 },
8254 /* Init Lower Higher */
8255 { 4, 0, 0, 4, 4, 0 }, /* Hit points */
8256 { 4, 0, 4, 0, 4, 0 } /* Energy */
8258 { "peacemaker", "peacemaker", "activism", "Pea",
8259 {0, 0},
8260 PM_PEACEMAKER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8261 MH_HUMAN | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8262 MH_HUMAN, 0, 0,
8263 /* Str Int Wis Dex Con Cha */
8264 { 3, 3, 3, 3, 3, 3 },
8265 { STR19(25), 125, 125, 125, 125, 125 },
8266 /* new limit values for the six attributes by Amy */
8267 { STR18(100), 18, 18, 18, 12, 18 },
8268 /* Init Lower Higher */
8269 { 1, 0, 0, 1, 0, 0 }, /* Hit points */
8270 { 1, 0, 1, 0, 1, 0 } /* Energy */
8272 { "pervert", "pervert", "perversion", "Per",
8273 {0, 0},
8274 PM_PERVERT, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8275 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8276 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8277 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8278 /* Str Int Wis Dex Con Cha */
8279 { 3, 3, 3, 3, 3, 3 },
8280 { STR19(25), 125, 125, 125, 125, 125 },
8281 /* new limit values for the six attributes by Amy */
8282 { STR18(100), 18, 18, 18, 18, 18 },
8283 /* Init Lower Higher */
8284 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
8285 { 1, 0, 2, 0, 2, 0 } /* Energy */
8287 { "phantom", "phantom", "phantomhood", "Pha",
8288 {0, 0},
8289 PM_PHANTOM_GHOST, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8290 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8291 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8292 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_ELF|MH_HUMAN|MH_DWARF|MH_HOBBIT|MH_WERE|MH_VAMPIRE,
8293 /* Str Int Wis Dex Con Cha */
8294 { 3, 3, 3, 3, 3, 3 },
8295 { STR19(25), 125, 125, 125, 125, 125 },
8296 /* new limit values for the six attributes by Amy */
8297 { STR18(100), 18, 18, 18, 18, 14 },
8298 /* Init Lower Higher */
8299 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
8300 { 1, 0, 2, 0, 2, 0 } /* Energy */
8302 { "piece", "piece", "chess pieces", "Pic",
8303 {0, 0},
8304 PM_PIECE, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8305 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8306 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8307 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8308 /* Str Int Wis Dex Con Cha */
8309 { 3, 3, 3, 3, 3, 3 },
8310 { STR19(25), 125, 125, 125, 125, 125 },
8311 /* new limit values for the six attributes by Amy */
8312 { STR18(100), 17, 17, 18, 20, 16 },
8313 /* Init Lower Higher */
8314 { 2, 0, 0, 2, 2, 0 }, /* Hit points */
8315 { 1, 0, 1, 0, 1, 0 } /* Energy */
8317 { "piercer", "piercer", "piercing studio", "Pie",
8318 {0, 0},
8319 PM_PIERCER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8320 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8321 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8322 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8323 /* Str Int Wis Dex Con Cha */
8324 { 3, 3, 3, 3, 3, 3 },
8325 { STR19(25), 125, 125, 125, 125, 125 },
8326 /* new limit values for the six attributes by Amy */
8327 { STR18(100), 20, 22, 19, 20, 14 },
8328 /* Init Lower Higher */
8329 { 5, 0, 0, 2, 1, 0 }, /* Hit points */
8330 { 2, 0, 3, 0, 2, 0 } /* Energy */
8332 { "poisoner", "poisoner", "poisoning", "Poi",
8333 {0, 0},
8334 PM_POISONER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8335 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8336 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8337 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8338 /* Str Int Wis Dex Con Cha */
8339 { 3, 3, 3, 3, 3, 3 },
8340 { STR19(25), 125, 125, 125, 125, 125 },
8341 /* new limit values for the six attributes by Amy */
8342 { STR18(100), 18, 18, 18, 20, 16 },
8343 /* Init Lower Higher */
8344 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
8345 { 1, 0, 1, 0, 1, 0 } /* Energy */
8347 { "polyinitor", "polyinitor", "polymorph initialization", "Pol",
8348 {0, 0},
8349 PM_POLYINITOR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8350 MH_HUMAN | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8351 MH_HUMAN, 0, MH_ELF|MH_GNOME|MH_HOBBIT|MH_DWARF|MH_ORC,
8352 /* Str Int Wis Dex Con Cha */
8353 { 3, 3, 3, 3, 3, 3 },
8354 { STR19(25), 125, 125, 125, 125, 125 },
8355 /* new limit values for the six attributes by Amy */
8356 { STR19(21), 19, 19, 19, 21, 14 },
8357 /* Init Lower Higher */
8358 { 2, 0, 0, 2, 2, 0 }, /* Hit points */
8359 { 4, 0, 4, 0, 4, 0 } /* Energy */
8361 { "problematic", "problematic", "problems", "Pro",
8362 {0, 0},
8363 PM_PROBLEMATIC, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8364 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8365 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8366 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8367 /* Str Int Wis Dex Con Cha */
8368 { 3, 3, 3, 3, 3, 3 },
8369 { STR19(25), 125, 125, 125, 125, 125 },
8370 /* new limit values for the six attributes by Amy */
8371 { STR18(100), 18, 18, 18, 18, 18 },
8372 /* Init Lower Higher */
8373 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
8374 { 1, 0, 2, 0, 2, 0 } /* Energy */
8376 { "quantum mechanic", "quantum mechanic", "quants", "Qua",
8377 {0, 0},
8378 PM_PLAYER_MECHANIC, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8379 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8380 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8381 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8382 /* Str Int Wis Dex Con Cha */
8383 { 3, 3, 3, 3, 3, 3 },
8384 { STR19(25), 125, 125, 125, 125, 125 },
8385 /* new limit values for the six attributes by Amy */
8386 { STR18(70), 19, 17, 17, 17, 15 },
8387 /* Init Lower Higher */
8388 { 2, 0, 0, 3, 0, 0 }, /* Hit points */
8389 { 1, 0, 3, 0, 1, 0 } /* Energy */
8391 { "race that doesn't exist", "nonexistant", "pork realm", "Nex",
8392 {0, 0},
8393 PM_RACE_THAT_DOESN_T_EXIST, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8394 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8395 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8396 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_ELF|MH_HUMAN|MH_DWARF|MH_HOBBIT|MH_WERE|MH_VAMPIRE,
8397 /* Str Int Wis Dex Con Cha */
8398 { 3, 3, 3, 3, 3, 3 },
8399 { STR19(25), 125, 125, 125, 125, 125 },
8400 /* new limit values for the six attributes by Amy */
8401 { 18, 18, 18, 18, 18, 18 },
8402 /* Init Lower Higher */
8403 { 0, 0, 0, 0, 0, 0 }, /* Hit points */
8404 { 0, 0, 0, 0, 0, 0 } /* Energy */
8406 { "race X", "x-race", "x-race", "Xra",
8407 {0, 0},
8408 PM_RACE_X, NON_PM, PM_ELF_MUMMY, PM_ELF_ZOMBIE,
8409 MH_ELF | ROLE_MALE|ROLE_FEMALE |
8410 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8411 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_ELF|MH_HUMAN|MH_DWARF|MH_HOBBIT|MH_WERE|MH_VAMPIRE,
8412 /* Str Int Wis Dex Con Cha */
8413 { 3, 3, 3, 3, 3, 3 },
8414 { STR19(25), 125, 125, 125, 125, 125 },
8415 /* new limit values for the six attributes by Amy */
8416 { STR19(20), 16, 18, 16, 21, 14 },
8417 /* Init Lower Higher */
8418 { 4, 0, 0, 4, 4, 0 }, /* Hit points */
8419 { 8, 0, 1, 0, 1, 0 } /* Energy */
8421 { "randomizer", "randomized", "rng worship", "Ran",
8422 {0, 0},
8423 PM_RANDOMIZER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8424 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8425 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8426 MH_HUMAN, 0, 0,
8427 /* Str Int Wis Dex Con Cha */
8428 { 3, 3, 3, 3, 3, 3 },
8429 { STR19(25), 125, 125, 125, 125, 125 },
8430 /* new limit values for the six attributes by Amy */
8431 { STR18(100), 18, 18, 18, 18, 18 },
8432 /* Init Lower Higher */
8433 { 3, 0, 0, 3, 3, 0 }, /* Hit points */
8434 { 3, 0, 3, 0, 3, 0 } /* Energy */
8436 { "redditor", "redditor", "reddit community", "Rdt",
8437 {0, 0},
8438 PM_REDDITOR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8439 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8440 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8441 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8442 /* Str Int Wis Dex Con Cha */
8443 { 3, 3, 3, 3, 3, 3 },
8444 { STR19(25), 125, 125, 125, 125, 125 },
8445 /* new limit values for the six attributes by Amy */
8446 { STR18(100), 18, 18, 20, 18, 18 },
8447 /* Init Lower Higher */
8448 { 0, 0, 0, 0, 0, 0 }, /* Hit points */
8449 { 1, 0, 2, 0, 2, 0 } /* Energy */
8451 { "redguard", "redguardian", "redguardhood", "Red",
8452 {0, 0},
8453 PM_REDGUARD, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8454 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8455 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8456 MH_HUMAN, 0, 0,
8457 /* Str Int Wis Dex Con Cha */
8458 { 3, 3, 3, 3, 3, 3 },
8459 { STR19(25), 125, 125, 125, 125, 125 },
8460 /* new limit values for the six attributes by Amy */
8461 { STR18(100), 14, 12, 18, 22, 18 },
8462 /* Init Lower Higher */
8463 { 10, 0, 0, 6, 4, 0 }, /* Hit points */
8464 { 0, 0, 0, 0, 0, 0 } /* Energy */
8466 { "releasier", "releasier", "Super Releasio 64", "Rel",
8467 {0, 0},
8468 PM_RELEASIER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8469 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8470 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8471 MH_HUMAN, 0, 0,
8472 /* Str Int Wis Dex Con Cha */
8473 { 3, 3, 3, 3, 3, 3 },
8474 { STR19(25), 125, 125, 125, 125, 125 },
8475 /* new limit values for the six attributes by Amy */
8476 { STR18(40), 18, 18, 14, 18, 16 },
8477 /* Init Lower Higher */
8478 { 2, 0, 0, 1, 1, 0 }, /* Hit points */
8479 { 2, 0, 1, 0, 1, 0 } /* Energy */
8481 { "reticulan", "reticulan", "ZAPM planet", "Ret",
8482 {0, 0},
8483 PM_RETICULAN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8484 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8485 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8486 MH_HUMAN, 0, 0,
8487 /* Str Int Wis Dex Con Cha */
8488 { 3, 3, 3, 3, 3, 3 },
8489 { STR19(25), 125, 125, 125, 125, 125 },
8490 /* new limit values for the six attributes by Amy */
8491 { STR18(100), 24, 24, 18, 20, 10 },
8492 /* Init Lower Higher */
8493 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
8494 { 10, 0, 8, 0, 12, 0} /* Energy */
8496 { "rodneyan", "rodneyan", "rodneyhood", "Rod",
8497 {0, 0},
8498 PM_RODNEYAN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8499 MH_HUMAN | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8500 MH_HUMAN, 0, MH_ELF|MH_GNOME|MH_HOBBIT|MH_DWARF|MH_ORC,
8501 /* Str Int Wis Dex Con Cha */
8502 { 3, 3, 3, 3, 3, 3 },
8503 { STR19(25), 125, 125, 125, 125, 125 },
8504 /* new limit values for the six attributes by Amy */
8505 { STR19(21), 25, 20, 18, 16, 18 },
8506 /* Init Lower Higher */
8507 { 4, 0, 0, 4, 4, 0 }, /* Hit points */
8508 { 7, 0, 7, 0, 7, 0 } /* Energy */
8510 { "rohirrim", "rohirrim", "rohan", "Roh",
8511 {0, 0},
8512 PM_ROHIRRIM, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8513 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8514 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8515 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8516 /* Str Int Wis Dex Con Cha */
8517 { 3, 3, 3, 3, 3, 3 },
8518 { STR19(25), 125, 125, 125, 125, 125 },
8519 /* new limit values for the six attributes by Amy */
8520 { STR18(100), 16, 16, 18, 20, 19 },
8521 /* Init Lower Higher */
8522 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
8523 { 1, 0, 2, 0, 2, 0 } /* Energy */
8525 { "roommate", "roommate", "room sharing", "Roo",
8526 {0, 0},
8527 PM_ROOMMATE, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8528 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8529 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8530 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8531 /* Str Int Wis Dex Con Cha */
8532 { 3, 3, 3, 3, 3, 3 },
8533 { STR19(25), 125, 125, 125, 125, 125 },
8534 /* new limit values for the six attributes by Amy */
8535 { STR18(100), 18, 18, 18, 18, 20 },
8536 /* Init Lower Higher */
8537 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
8538 { 1, 0, 2, 0, 2, 0 } /* Energy */
8540 { "rougelike", "rougelike", "angles of satin", "Rog",
8541 {0, 0},
8542 PM_ROUGELIKE, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8543 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8544 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8545 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8546 /* Str Int Wis Dex Con Cha */
8547 { 3, 3, 3, 3, 3, 3 },
8548 { STR19(25), 125, 125, 125, 125, 125 },
8549 /* new limit values for the six attributes by Amy */
8550 { STR18(100), 18, 18, 20, 17, 18 },
8551 /* Init Lower Higher */
8552 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
8553 { 1, 0, 2, 0, 2, 0 } /* Energy */
8555 { "rusmot", "rusmot", "motherus", "Rus",
8556 {0, 0},
8557 PM_RUSMOT, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8558 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8559 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8560 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8561 /* Str Int Wis Dex Con Cha */
8562 { 3, 3, 3, 3, 3, 3 },
8563 { STR19(25), 125, 125, 125, 125, 125 },
8564 /* new limit values for the six attributes by Amy */
8565 { STR18(100), 18, 18, 18, 18, 18 },
8566 /* Init Lower Higher */
8567 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
8568 { 1, 0, 2, 0, 2, 0 } /* Energy */
8570 { "salamander", "salamander", "salamanderhood", "Sal",
8571 {0, 0},
8572 PM_PLAYER_SALAMANDER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8573 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8574 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8575 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8576 /* Str Int Wis Dex Con Cha */
8577 { 3, 3, 3, 3, 3, 3 },
8578 { STR19(25), 125, 125, 125, 125, 125 },
8579 /* new limit values for the six attributes by Amy */
8580 { STR19(20), 18, 18, 16, 19, 16 },
8581 /* Init Lower Higher */
8582 { 2, 0, 0, 3, 4, 0 }, /* Hit points */
8583 { 1, 0, 1, 0, 1, 0 } /* Energy */
8585 { "samedi", "samedi", "sons of samedi", "Sam",
8586 {0, 0},
8587 PM_SAMEDI, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8588 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8589 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8590 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8591 /* Str Int Wis Dex Con Cha */
8592 { 3, 3, 3, 3, 3, 3 },
8593 { STR19(25), 125, 125, 125, 125, 125 },
8594 /* new limit values for the six attributes by Amy */
8595 { STR19(19), 14, 18, 18, 19, 18 },
8596 /* Init Lower Higher */
8597 { 4, 0, 0, 2, 1, 0 }, /* Hit points */
8598 { 1, 0, 2, 0, 1, 0 } /* Energy */
8600 { "satre", "satre", "satredom", "Sat",
8601 {0, 0},
8602 PM_SATRE, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8603 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8604 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8605 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8606 /* Str Int Wis Dex Con Cha */
8607 { 3, 3, 3, 3, 3, 3 },
8608 { STR19(25), 125, 125, 125, 125, 125 },
8609 /* new limit values for the six attributes by Amy */
8610 { STR18(20), 22, 22, 25, 12, 25 },
8611 /* Init Lower Higher */
8612 { 4, 0, 0, 4, 6, 0 }, /* Hit points */
8613 { 4, 0, 6, 0, 9, 0 } /* Energy */
8615 { "scriptor", "scriptor", "jonadab's perlscript", "Scr",
8616 {0, 0},
8617 PM_SCRIPTOR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8618 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8619 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8620 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8621 /* Str Int Wis Dex Con Cha */
8622 { 3, 3, 3, 3, 3, 3 },
8623 { STR19(25), 125, 125, 125, 125, 125 },
8624 /* new limit values for the six attributes by Amy */
8625 { STR18(100), 18, 18, 18, 18, 18 },
8626 /* Init Lower Higher */
8627 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
8628 { 1, 0, 2, 0, 2, 0 } /* Energy */
8630 { "scurrier", "scurrier", "scurriership", "Scu", /* by jonadab */
8631 {0, 0},
8632 PM_SCURRIER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8633 MH_HUMAN | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8634 MH_HUMAN, 0, MH_ELF|MH_GNOME|MH_HOBBIT|MH_DWARF|MH_ORC,
8635 /* Str Int Wis Dex Con Cha */
8636 { 3, 3, 3, 3, 3, 3 },
8637 { STR19(25), 125, 125, 125, 125, 125 },
8638 /* new limit values for the six attributes by Amy */
8639 { 15, 18, 18, 20, 14, 18 },
8640 /* Init Lower Higher */
8641 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
8642 { 1, 0, 2, 0, 2, 0 } /* Energy */
8644 { "sea elf", "sea elven", "sea elvenkind", "Sea",
8645 {0, 0},
8646 PM_SEA_ELF, NON_PM, PM_ELF_MUMMY, PM_ELF_ZOMBIE,
8647 MH_ELF | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8648 MH_ELF, MH_ELF, MH_ORC,
8649 /* Str Int Wis Dex Con Cha */
8650 { 3, 3, 3, 3, 3, 3 },
8651 { STR19(25), 125, 125, 125, 125, 125 },
8652 /* new limit values for the six attributes by Amy */
8653 { 18, 20, 20, 18, 16, 18 },
8654 /* Init Lower Higher */
8655 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
8656 { 6, 0, 3, 0, 3, 0 } /* Energy */
8658 { "segfaulter", "segfaulting", "SIGSEGV", "Seg",
8659 {0, 0},
8660 PM_SEGFAULTER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8661 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8662 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8663 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8664 /* Str Int Wis Dex Con Cha */
8665 { 3, 3, 3, 3, 3, 3 },
8666 { STR19(25), 125, 125, 125, 125, 125 },
8667 /* new limit values for the six attributes by Amy */
8668 { STR18(100), 18, 18, 18, 18, 18 },
8669 /* Init Lower Higher */
8670 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
8671 { 1, 0, 2, 0, 2, 0 } /* Energy */
8673 { "senser", "senser", "senserhood", "Sen",
8674 {0, 0},
8675 PM_SENSER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8676 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8677 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8678 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8679 /* Str Int Wis Dex Con Cha */
8680 { 3, 3, 3, 3, 3, 3 },
8681 { STR19(25), 125, 125, 125, 125, 125 },
8682 /* new limit values for the six attributes by Amy */
8683 { STR18(100), 18, 18, 19, 18, 18 },
8684 /* Init Lower Higher */
8685 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
8686 { 1, 0, 1, 0, 1, 0 } /* Energy */
8688 { "serb", "serb", "sergro", "Ser",
8689 {0, 0},
8690 PM_SERB, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8691 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8692 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8693 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8694 /* Str Int Wis Dex Con Cha */
8695 { 3, 3, 3, 3, 3, 3 },
8696 { STR19(25), 125, 125, 125, 125, 125 },
8697 /* new limit values for the six attributes by Amy */
8698 { STR18(100), 18, 18, 18, 18, 18 },
8699 /* Init Lower Higher */
8700 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
8701 { 1, 0, 2, 0, 2, 0 } /* Energy */
8703 { "sheep", "sheep", "sheepishness", "Shp",
8704 {0, 0},
8705 PM_PLAYER_SHEEP, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8706 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8707 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8708 MH_HUMAN, 0, 0,
8709 /* Str Int Wis Dex Con Cha */
8710 { 3, 3, 3, 3, 3, 3 },
8711 { STR19(25), 125, 125, 125, 125, 125 },
8712 /* new limit values for the six attributes by Amy */
8713 { STR18(80), 15, 16, 16, 18, 16 },
8714 /* Init Lower Higher */
8715 { 4, 0, 0, 2, 2, 0 }, /* Hit points */
8716 { 1, 0, 1, 0, 4, 0 } /* Energy */
8718 { "shell", "shell", "shelldom", "She",
8719 {0, 0},
8720 PM_SHELL, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8721 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8722 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8723 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8724 /* Str Int Wis Dex Con Cha */
8725 { 3, 3, 3, 3, 3, 3 },
8726 { STR19(25), 125, 125, 125, 125, 125 },
8727 /* new limit values for the six attributes by Amy */
8728 { STR18(100), 18, 19, 18, 24, 16 },
8729 /* Init Lower Higher */
8730 { 5, 0, 0, 5, 5, 0 }, /* Hit points */
8731 { 2, 0, 2, 0, 2, 0 } /* Energy */
8733 { "shoe", "shoe", "wonderful lady shoes", "Sho",
8734 {0, 0},
8735 PM_SHOE, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8736 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8737 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8738 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8739 /* Str Int Wis Dex Con Cha */
8740 { 3, 3, 3, 3, 3, 3 },
8741 { STR19(25), 125, 125, 125, 125, 125 },
8742 /* new limit values for the six attributes by Amy */
8743 { STR19(20), 18, 18, 19, 18, 25 },
8744 /* Init Lower Higher */
8745 { 4, 0, 0, 5, 6, 0 }, /* Hit points */
8746 { 3, 0, 4, 0, 7, 0 } /* Energy */
8748 { "sinner", "sinful", "sinnerhood", "Sin",
8749 {0, 0},
8750 PM_SINNER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8751 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8752 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8753 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8754 /* Str Int Wis Dex Con Cha */
8755 { 3, 3, 3, 3, 3, 3 },
8756 { STR19(25), 125, 125, 125, 125, 125 },
8757 /* new limit values for the six attributes by Amy */
8758 { STR18(100), 18, 24, 18, 18, 18 },
8759 /* Init Lower Higher */
8760 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
8761 { 1, 0, 2, 0, 2, 0 } /* Energy */
8763 { "skeleton", "skeleton", "skeletal remains", "Ske",
8764 {0, 0},
8765 PM_PLAYER_SKELETON, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8766 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8767 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8768 MH_HUMAN, 0, 0,
8769 /* Str Int Wis Dex Con Cha */
8770 { 3, 3, 3, 3, 3, 3 },
8771 { STR19(25), 125, 125, 125, 125, 125 },
8772 /* new limit values for the six attributes by Amy */
8773 { STR19(20), 16, 16, 18, 21, 10 },
8774 /* Init Lower Higher */
8775 { 3, 0, 0, 2, 1, 0 }, /* Hit points */
8776 { 1, 0, 2, 0, 2, 0 } /* Energy */
8778 { "skillor", "skillor", "pure skill", "Ski",
8779 {0, 0},
8780 PM_SKILLOR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8781 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8782 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8783 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8784 /* Str Int Wis Dex Con Cha */
8785 { 3, 3, 3, 3, 3, 3 },
8786 { STR19(25), 125, 125, 125, 125, 125 },
8787 /* new limit values for the six attributes by Amy */
8788 { STR18(100), 18, 18, 18, 18, 18 },
8789 /* Init Lower Higher */
8790 { 0, 0, 0, 0, 0, 0 }, /* Hit points */
8791 { 0, 0, 0, 0, 0, 0 } /* Energy */
8793 { "slyer alien", "slyer alien", "slyered people", "Sly",
8794 {0, 0},
8795 PM_SLYER_ALIEN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8796 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8797 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8798 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8799 /* Str Int Wis Dex Con Cha */
8800 { 3, 3, 3, 3, 3, 3 },
8801 { STR19(25), 125, 125, 125, 125, 125 },
8802 /* new limit values for the six attributes by Amy */
8803 { STR18(100), 20, 25, 18, 18, 3 },
8804 /* Init Lower Higher */
8805 { 3, 0, 0, 3, 3, 0 }, /* Hit points */
8806 { 2, 0, 2, 0, 5, 0 } /* Energy */
8808 { "snail", "snail", "snailing", "Snl",
8809 {0, 0},
8810 PM_ELONA_SNAIL, NON_PM, PM_ELF_MUMMY, PM_ELF_ZOMBIE,
8811 MH_ELF | ROLE_MALE|ROLE_FEMALE |
8812 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8813 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_ELF|MH_HUMAN|MH_DWARF|MH_HOBBIT|MH_WERE|MH_VAMPIRE,
8814 /* Str Int Wis Dex Con Cha */
8815 { 3, 3, 3, 3, 3, 3 },
8816 { STR19(25), 125, 125, 125, 125, 125 },
8817 /* new limit values for the six attributes by Amy */
8818 { 18, 18, 18, 18, 20, 18 },
8819 /* Init Lower Higher */
8820 { 8, 0, 0, 4, 0, 0 }, /* Hit points */
8821 { 8, 0, 4, 0, 0, 0 } /* Energy */
8823 { "snakeman", "snakey", "snakehood", "Sna",
8824 {0, 0},
8825 PM_SNAKEMAN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8826 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8827 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8828 MH_HUMAN, 0, 0,
8829 /* Str Int Wis Dex Con Cha */
8830 { 3, 3, 3, 3, 3, 3 },
8831 { STR19(25), 125, 125, 125, 125, 125 },
8832 /* new limit values for the six attributes by Amy */
8833 { STR19(19), 18, 18, 20, 18, 14 },
8834 /* Init Lower Higher */
8835 { 3, 0, 0, 2, 2, 0 }, /* Hit points */
8836 { 2, 0, 1, 0, 1, 0 } /* Energy */
8838 { "sokosolver", "sokosolver", "sokoban league", "Sok",
8839 {0, 0},
8840 PM_SOKOSOLVER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8841 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8842 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8843 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8844 /* Str Int Wis Dex Con Cha */
8845 { 3, 3, 3, 3, 3, 3 },
8846 { STR19(25), 125, 125, 125, 125, 125 },
8847 /* new limit values for the six attributes by Amy */
8848 { STR18(100), 18, 18, 18, 19, 18 },
8849 /* Init Lower Higher */
8850 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
8851 { 1, 0, 1, 0, 1, 0 } /* Energy */
8853 { "soviet", "soviet", "soviet union", "Sov",
8854 {0, 0},
8855 PM_SOVIET, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8856 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8857 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8858 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_ELF|MH_HUMAN|MH_DWARF|MH_HOBBIT|MH_WERE|MH_VAMPIRE,
8859 /* Str Int Wis Dex Con Cha */
8860 { 3, 3, 3, 3, 3, 3 },
8861 { 16, 16, 16, 16, 16, 16 }, /* in Soviet Russia, races don't automatically have a max of 25 for every attribute */
8862 /* new limit values for the six attributes by Amy */
8863 { 15, 15, 15, 15, 15, 15 }, /* intentionally sucky :P */
8864 /* Init Lower Higher */
8865 { 0, 0, 0, 0, 0, 0 }, /* Hit points */
8866 { 0, 0, 0, 0, 0, 0 } /* Energy */
8868 { "spammer", "spammer", "spam mail folder", "Spm",
8869 {0, 0},
8870 PM_SPAMMER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8871 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8872 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8873 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8874 /* Str Int Wis Dex Con Cha */
8875 { 3, 3, 3, 3, 3, 3 },
8876 { STR19(25), 125, 125, 125, 125, 125 },
8877 /* new limit values for the six attributes by Amy */
8878 { STR18(100), 18, 18, 18, 18, 18 },
8879 /* Init Lower Higher */
8880 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
8881 { 1, 0, 2, 0, 2, 0 } /* Energy */
8883 { "spard", "spard", "spardin", "Spa",
8884 {0, 0},
8885 PM_SPARD, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8886 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8887 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8888 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8889 /* Str Int Wis Dex Con Cha */
8890 { 3, 3, 3, 3, 3, 3 },
8891 { STR19(25), 125, 125, 125, 125, 125 },
8892 /* new limit values for the six attributes by Amy */
8893 { STR18(100), 18, 18, 18, 18, 18 },
8894 /* Init Lower Higher */
8895 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
8896 { 1, 0, 2, 0, 2, 0 } /* Energy */
8898 { "specialist", "specialist", "speciality", "Spe",
8899 {0, 0},
8900 PM_SPECIALIST, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8901 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8902 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8903 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8904 /* Str Int Wis Dex Con Cha */
8905 { 3, 3, 3, 3, 3, 3 },
8906 { STR19(25), 125, 125, 125, 125, 125 },
8907 /* new limit values for the six attributes by Amy */
8908 { STR18(100), 18, 18, 18, 18, 18 },
8909 /* Init Lower Higher */
8910 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
8911 { 1, 0, 1, 0, 1, 0 } /* Energy */
8913 { "spiderman", "spider", "spiderhood", "Spi",
8914 {0, 0},
8915 PM_SPIDERMAN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8916 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8917 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8918 MH_HUMAN, 0, 0,
8919 /* Str Int Wis Dex Con Cha */
8920 { 3, 3, 3, 3, 3, 3 },
8921 { STR19(25), 125, 125, 125, 125, 125 },
8922 /* new limit values for the six attributes by Amy */
8923 { STR18(100), 18, 18, 20, 16, 19 },
8924 /* Init Lower Higher */
8925 { 4, 0, 0, 2, 3, 0 }, /* Hit points */
8926 { 1, 0, 1, 0, 1, 0 } /* Energy */
8928 { "spirit", "spiritual", "spirithood", "Esp", /* "spi" = spider, so I'm abbreviating "esprit" instead --Amy */
8929 {0, 0},
8930 PM_SPIRIT, NON_PM, NON_PM, NON_PM,
8931 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8932 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8933 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8934 /* Str Int Wis Dex Con Cha */
8935 { 3, 3, 3, 3, 3, 3 },
8936 { STR19(25), 125, 125, 125, 125, 125 },
8937 /* new limit values for the six attributes by Amy */
8938 { STR18(30), 18, 18, 18, 12, 16 },
8939 /* Init Lower Higher */
8940 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
8941 { 1, 0, 1, 0, 1, 0 } /* Energy */
8943 { "spriggan", "spriggan", "sprigganship", "Spr",
8944 {0, 0},
8945 PM_SPRIGGAN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8946 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8947 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8948 MH_HUMAN, 0, 0,
8949 /* Str Int Wis Dex Con Cha */
8950 { 3, 3, 3, 3, 3, 3 },
8951 { STR19(25), 125, 125, 125, 125, 125 },
8952 /* new limit values for the six attributes by Amy */
8953 { 18, 18, 20, 20, 12, 19 },
8954 /* Init Lower Higher */
8955 { 0, 0, 0, 0, 0, 0 }, /* Hit points */
8956 { 4, 0, 5, 0, 5, 0 } /* Energy */
8958 { "stabilisator", "stabilisator", "stability", "Stb",
8959 {0, 0},
8960 PM_STABILISATOR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8961 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8962 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8963 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8964 /* Str Int Wis Dex Con Cha */
8965 { 3, 3, 3, 3, 3, 3 },
8966 { STR19(25), 125, 125, 125, 125, 125 },
8967 /* new limit values for the six attributes by Amy */
8968 { STR18(100), 18, 18, 18, 18, 18 },
8969 /* Init Lower Higher */
8970 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
8971 { 1, 0, 2, 0, 2, 0 } /* Energy */
8973 { "stairseeker", "stairseeker", "search for the stairs", "Sta",
8974 {0, 0},
8975 PM_STAIRSEEKER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8976 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8977 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8978 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8979 /* Str Int Wis Dex Con Cha */
8980 { 3, 3, 3, 3, 3, 3 },
8981 { STR19(25), 125, 125, 125, 125, 125 },
8982 /* new limit values for the six attributes by Amy */
8983 { STR18(100), 18, 18, 18, 18, 18 },
8984 /* Init Lower Higher */
8985 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
8986 { 1, 0, 2, 0, 2, 0 } /* Energy */
8988 { "startscummer", "startscummer", "start scumming", "Ssc",
8989 {0, 0},
8990 PM_STARTSCUMMER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
8991 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
8992 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
8993 MH_HUMAN, 0, MH_GNOME|MH_ORC,
8994 /* Str Int Wis Dex Con Cha */
8995 { 3, 3, 3, 3, 3, 3 },
8996 { STR19(25), 125, 125, 125, 125, 125 },
8997 /* new limit values for the six attributes by Amy */
8998 { 10, 10, 10, 10, 10, 10 },
8999 /* Init Lower Higher */
9000 { 0, 0, 0, 0, 0, 0 }, /* Hit points */
9001 { 0, 0, 0, 0, 0, 0 } /* Energy */
9003 { "sticker", "sticky", "stickiness", "Sti",
9004 {0, 0},
9005 PM_STICKER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9006 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9007 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9008 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9009 /* Str Int Wis Dex Con Cha */
9010 { 3, 3, 3, 3, 3, 3 },
9011 { STR19(25), 125, 125, 125, 125, 125 },
9012 /* new limit values for the six attributes by Amy */
9013 { STR18(100), 18, 19, 19, 18, 18 },
9014 /* Init Lower Higher */
9015 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
9016 { 1, 0, 2, 0, 2, 0 } /* Energy */
9018 { "stunned-like-a-fish", "stunned-like-a-fish", "stunning paralysis", "Stu",
9019 {0, 0},
9020 PM_STUNNED_LIKE_A_FISH, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9021 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9022 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9023 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9024 /* Str Int Wis Dex Con Cha */
9025 { 3, 3, 3, 3, 3, 3 },
9026 { STR19(25), 125, 125, 125, 125, 125 },
9027 /* new limit values for the six attributes by Amy */
9028 { STR18(100), 18, 18, 18, 18, 18 },
9029 /* Init Lower Higher */
9030 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
9031 { 1, 0, 2, 0, 2, 0 } /* Energy */
9033 { "sustainer", "sustainer", "sustainability", "Sus",
9034 {0, 0},
9035 PM_SUSTAINER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9036 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9037 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9038 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9039 /* Str Int Wis Dex Con Cha */
9040 { 3, 3, 3, 3, 3, 3 },
9041 { STR19(25), 125, 125, 125, 125, 125 },
9042 /* new limit values for the six attributes by Amy */
9043 { STR19(25), 25, 25, 25, 25, 25 },
9044 /* Init Lower Higher */
9045 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
9046 { 1, 0, 2, 0, 2, 0 } /* Energy */
9048 { "suxxor", "suxxor", "suxxorhood", "Sux",
9049 {0, 0},
9050 PM_SUXXOR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9051 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9052 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9053 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9054 /* Str Int Wis Dex Con Cha */
9055 { 3, 3, 3, 3, 3, 3 },
9056 { STR19(25), 125, 125, 125, 125, 125 },
9057 /* new limit values for the six attributes by Amy */
9058 { STR18(100), 18, 18, 18, 18, 18 },
9059 /* Init Lower Higher */
9060 { 6, 0, 0, 6, 6, 0 }, /* Hit points */
9061 { 6, 0, 6, 0, 6, 0 } /* Energy */
9063 { "swikni", "swikni", "swikzerni", "Swi",
9064 {0, 0},
9065 PM_SWIKNI, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9066 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9067 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9068 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9069 /* Str Int Wis Dex Con Cha */
9070 { 3, 3, 3, 3, 3, 3 },
9071 { STR19(25), 125, 125, 125, 125, 125 },
9072 /* new limit values for the six attributes by Amy */
9073 { STR19(20), 19, 19, 24, 20, 17 },
9074 /* Init Lower Higher */
9075 { 2, 0, 0, 3, 2, 0 }, /* Hit points */
9076 { 2, 0, 1, 0, 1, 0 } /* Energy */
9078 { "sylph", "sylph", "sylphood", "Syl",
9079 {0,0},
9080 PM_SYLPH, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9081 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9082 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9083 MH_HUMAN, 0, 0,
9084 /* Str Int Wis Dex Con Cha */
9085 { 3, 3, 3, 3, 3, 3},
9086 { STR19(25), 125, 125, 125, 125, 125 },
9087 /* new limit values for the six attributes by Amy */
9088 { STR18(100), 20, 20, 20, 18, 24 },
9089 /* Init Lower Higher */
9090 {2, 0, 1, 1, 1, 1}, /* Hit points */
9091 {2, 0, 3, 0, 2, 2} /* Energy */
9093 { "tayiin", "tayiin", "tayiind", "Tay",
9094 {0, 0},
9095 PM_TAYIIN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9096 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9097 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9098 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9099 /* Str Int Wis Dex Con Cha */
9100 { 3, 3, 3, 3, 3, 3 },
9101 { STR19(25), 125, 125, 125, 125, 125 },
9102 /* new limit values for the six attributes by Amy */
9103 { STR18(100), 18, 18, 19, 10, 19 },
9104 /* Init Lower Higher */
9105 { 1, 0, 0, 1, 0, 0 }, /* Hit points */
9106 { 1, 0, 2, 0, 2, 0 } /* Energy */
9108 { "techless", "techless", "techlessness", "Tec",
9109 {0, 0},
9110 PM_TECHLESS, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9111 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9112 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9113 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9114 /* Str Int Wis Dex Con Cha */
9115 { 3, 3, 3, 3, 3, 3 },
9116 { STR19(25), 125, 125, 125, 125, 125 },
9117 /* new limit values for the six attributes by Amy */
9118 { STR18(100), 18, 18, 18, 18, 18 },
9119 /* Init Lower Higher */
9120 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
9121 { 1, 0, 2, 0, 2, 0 } /* Energy */
9123 { "thrall", "thrallish", "thrall fort", "Thr",
9124 {0, 0},
9125 PM_THRALL, NON_PM, PM_DWARF_MUMMY, PM_DWARF_ZOMBIE,
9126 MH_DWARF | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9127 MH_DWARF, MH_DWARF, MH_HUMAN,
9128 /* Str Int Wis Dex Con Cha */
9129 { 3, 3, 3, 3, 3, 3 },
9130 { STR19(25), 125, 125, 125, 125, 125 },
9131 /* new limit values for the six attributes by Amy */
9132 { 18, 17, 17, 19, 16, 12 },
9133 /* Init Lower Higher */
9134 { 1, 0, 0, 1, 0, 0 }, /* Hit points */
9135 { 1, 0, 2, 0, 3, 0 } /* Energy */
9137 { "thunderlord", "thunderlord", "pern", "Thu",
9138 {0, 0},
9139 PM_THUNDERLORD, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9140 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9141 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9142 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9143 /* Str Int Wis Dex Con Cha */
9144 { 3, 3, 3, 3, 3, 3 },
9145 { STR19(25), 125, 125, 125, 125, 125 },
9146 /* new limit values for the six attributes by Amy */
9147 { STR18(100), 19, 19, 18, 20, 18 },
9148 /* Init Lower Higher */
9149 { 2, 0, 0, 2, 3, 0 }, /* Hit points */
9150 { 2, 0, 2, 0, 2, 0 } /* Energy */
9152 { "tonberry", "tonberry", "poschengband's mascot", "Ton",
9153 {0, 0},
9154 PM_TONBERRY, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9155 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9156 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9157 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9158 /* Str Int Wis Dex Con Cha */
9159 { 3, 3, 3, 3, 3, 3 },
9160 { STR19(25), 125, 125, 125, 125, 125 },
9161 /* new limit values for the six attributes by Amy */
9162 { STR19(23), 18, 16, 16, 16, 16 },
9163 /* Init Lower Higher */
9164 { 1, 0, 0, 2, 2, 0 }, /* Hit points */
9165 { 2, 0, 2, 0, 2, 0 } /* Energy */
9167 { "trainer", "trainer", "training", "Trn",
9168 {0, 0},
9169 PM_TRAINER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9170 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9171 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9172 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9173 /* Str Int Wis Dex Con Cha */
9174 { 3, 3, 3, 3, 3, 3 },
9175 { STR19(25), 125, 125, 125, 125, 125 },
9176 /* new limit values for the six attributes by Amy */
9177 { STR19(19), 18, 18, 18, 19, 18 },
9178 /* Init Lower Higher */
9179 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
9180 { 1, 0, 2, 0, 2, 0 } /* Energy */
9182 { "transformer", "transformer", "transferhood", "Tra",
9183 {0, 0},
9184 PM_TRANSFORMER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9185 MH_HUMAN | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9186 MH_HUMAN, 0, MH_ELF|MH_GNOME|MH_HOBBIT|MH_DWARF|MH_ORC,
9187 /* Str Int Wis Dex Con Cha */
9188 { 3, 3, 3, 3, 3, 3 },
9189 { STR19(25), 125, 125, 125, 125, 125 },
9190 /* new limit values for the six attributes by Amy */
9191 { STR18(100), 18, 18, 20, 17, 18 },
9192 /* Init Lower Higher */
9193 { 2, 0, 0, 2, 2, 0 }, /* Hit points */
9194 { 4, 0, 4, 0, 4, 0 } /* Energy */
9196 { "trapper", "trapper", "trapperhood", "Trp",
9197 {0, 0},
9198 PM_WEAPON_TRAPPER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9199 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9200 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9201 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9202 /* Str Int Wis Dex Con Cha */
9203 { 3, 3, 3, 3, 3, 3 },
9204 { STR19(25), 125, 125, 125, 125, 125 },
9205 /* new limit values for the six attributes by Amy */
9206 { STR18(100), 18, 18, 22, 18, 18 },
9207 /* Init Lower Higher */
9208 { 8, 0, 0, 8, 10, 0 }, /* Hit points */
9209 { 10, 0, 8, 0, 8, 0 } /* Energy */
9211 { "troll", "troll", "trollhood", "Tro",
9212 {0, 0},
9213 PM_TROLLOR, NON_PM, PM_TROLL_MUMMY, PM_TROLL_ZOMBIE,
9214 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9215 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9216 MH_HUMAN, 0, 0,
9217 /* Str Int Wis Dex Con Cha */
9218 { 3, 3, 3, 3, 3, 3 },
9219 { STR19(25), 125, 125, 125, 125, 125 },
9220 /* new limit values for the six attributes by Amy */
9221 { STR19(22), 12, 12, 15, 24, 8 },
9222 /* Init Lower Higher */
9223 { 0, 0, 0, 0, 0, 0 }, /* Hit points */
9224 { 0, 0, 0, 0, 0, 0 } /* Energy */
9226 { "tumblrer", "tumblrer", "tumblr ownz joo", "Tum", /* idea by kerio */
9227 {0, 0},
9228 PM_TUMBLRER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9229 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9230 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9231 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9232 /* Str Int Wis Dex Con Cha */
9233 { 3, 3, 3, 3, 3, 3 },
9234 { STR19(25), 125, 125, 125, 125, 125 },
9235 /* new limit values for the six attributes by Amy */
9236 { STR18(100), 18, 18, 18, 18, 18 },
9237 /* Init Lower Higher */
9238 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
9239 { 1, 0, 2, 0, 2, 0 } /* Energy */
9241 { "turmene", "turmene", "turmeney", "Tme",
9242 {0, 0},
9243 PM_TURMENE, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9244 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9245 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9246 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9247 /* Str Int Wis Dex Con Cha */
9248 { 3, 3, 3, 3, 3, 3 },
9249 { STR19(25), 125, 125, 125, 125, 125 },
9250 /* new limit values for the six attributes by Amy */
9251 { STR18(100), 18, 17, 18, 18, 18 },
9252 /* Init Lower Higher */
9253 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
9254 { 1, 0, 2, 0, 2, 0 } /* Energy */
9256 { "turtle", "turtle", "turtleship", "Tur", /* Khor wants to be a ninja turtle, now he can. :) --Amy */
9257 {0, 0},
9258 PM_TURTLE, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9259 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9260 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9261 MH_HUMAN, 0, 0,
9262 /* Str Int Wis Dex Con Cha */
9263 { 3, 3, 3, 3, 3, 3 },
9264 { STR19(25), 125, 125, 125, 125, 125 },
9265 /* new limit values for the six attributes by Amy */
9266 { STR18(100), 18, 18, 18, 25, 18 },
9267 /* Init Lower Higher */
9268 { 3, 0, 0, 4, 5, 0 }, /* Hit points */
9269 { 2, 0, 3, 0, 4, 0 } /* Energy */
9271 { "umber hulk", "umber", "uber empire", "Umb",
9272 {0, 0},
9273 PM_PLAYER_HULK, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9274 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9275 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9276 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9277 /* Str Int Wis Dex Con Cha */
9278 { 3, 3, 3, 3, 3, 3 },
9279 { STR19(25), 125, 125, 125, 125, 125 },
9280 /* new limit values for the six attributes by Amy */
9281 { STR18(100), 18, 18, 18, 20, 16 },
9282 /* Init Lower Higher */
9283 { 3, 0, 0, 3, 2, 0 }, /* Hit points */
9284 { 1, 0, 2, 0, 2, 0 } /* Energy */
9286 { "unalignment thing", "unaligned", "unalignmenthood", "Una",
9287 {0, 0},
9288 PM_UNALIGNMENT_THING, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9289 MH_HUMAN | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9290 MH_HUMAN, 0, MH_ELF|MH_GNOME|MH_HOBBIT|MH_DWARF|MH_ORC,
9291 /* Str Int Wis Dex Con Cha */
9292 { 3, 3, 3, 3, 3, 3 },
9293 { STR19(25), 125, 125, 125, 125, 125 },
9294 /* new limit values for the six attributes by Amy */
9295 { STR18(100), 20, 20, 18, 20, 14 },
9296 /* Init Lower Higher */
9297 { 4, 0, 0, 4, 4, 0 }, /* Hit points */
9298 { 7, 0, 7, 0, 7, 0 } /* Energy */
9300 { "unbalancor", "unbalancor", "unbalanced game", "Unb",
9301 {0, 0},
9302 PM_UNBALANCOR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9303 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9304 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9305 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9306 /* Str Int Wis Dex Con Cha */
9307 { 3, 3, 3, 3, 3, 3 },
9308 { STR19(25), 125, 125, 125, 125, 125 },
9309 /* new limit values for the six attributes by Amy */
9310 { STR18(100), 18, 18, 18, 18, 18 },
9311 /* Init Lower Higher */
9312 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
9313 { 1, 0, 2, 0, 2, 0 } /* Energy */
9315 { "undefined", "undefined", "undefinement", "Und",
9316 {0, 0},
9317 PM_UNDEFINED_CREATURE, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9318 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9319 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9320 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9321 /* Str Int Wis Dex Con Cha */
9322 { 3, 3, 3, 3, 3, 3 },
9323 { STR19(25), 125, 125, 125, 125, 125 },
9324 /* new limit values for the six attributes by Amy */
9325 { STR18(100), 18, 18, 18, 18, 18 },
9326 /* Init Lower Higher */
9327 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
9328 { 1, 0, 1, 0, 1, 0 } /* Energy */
9330 { "ungenomold", "ungenomoldic", "ungenomoldhood", "Ung",
9331 {0, 0},
9332 PM_UNGENOMOLD, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9333 MH_HUMAN | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9334 MH_HUMAN, 0, MH_ELF|MH_GNOME|MH_HOBBIT|MH_DWARF|MH_ORC,
9335 /* Str Int Wis Dex Con Cha */
9336 { 3, 3, 3, 3, 3, 3 },
9337 { STR19(25), 125, 125, 125, 125, 125 },
9338 /* new limit values for the six attributes by Amy */
9339 { STR19(20), 18, 18, 18, 20, 13 },
9340 /* Init Lower Higher */
9341 { 4, 0, 0, 4, 4, 0 }, /* Hit points */
9342 { 7, 0, 7, 0, 7, 0 } /* Energy */
9344 { "unicorn", "unicorn", "unihorning", "Uni",
9345 {0, 0},
9346 PM_PLAYER_UNICORN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9347 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9348 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9349 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9350 /* Str Int Wis Dex Con Cha */
9351 { 3, 3, 3, 3, 3, 3 },
9352 { STR19(25), 125, 125, 125, 125, 125 },
9353 /* new limit values for the six attributes by Amy */
9354 { STR18(50), 16, 16, 20, 15, 24 },
9355 /* Init Lower Higher */
9356 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
9357 { 1, 0, 1, 0, 1, 0 } /* Energy */
9359 { "unmagic", "unmagic", "magic void", "Unm",
9360 {0, 0},
9361 PM_UNMAGIC_FISH, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9362 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9363 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9364 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9365 /* Str Int Wis Dex Con Cha */
9366 { 3, 3, 3, 3, 3, 3 },
9367 { STR19(25), 125, 125, 125, 125, 125 },
9368 /* new limit values for the six attributes by Amy */
9369 { STR18(100), 16, 16, 18, 18, 18 },
9370 /* Init Lower Higher */
9371 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
9372 { 1, 0, 1, 0, 1, 0 } /* Energy */
9374 { "urian", "urian", "uria", "Uri",
9375 {0, 0},
9376 PM_URIAN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9377 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9378 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9379 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9380 /* Str Int Wis Dex Con Cha */
9381 { 3, 3, 3, 3, 3, 3 },
9382 { STR19(25), 125, 125, 125, 125, 125 },
9383 /* new limit values for the six attributes by Amy */
9384 { STR18(100), 18, 18, 18, 18, 18 },
9385 /* Init Lower Higher */
9386 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
9387 { 1, 0, 2, 0, 2, 0 } /* Energy */
9389 { "urgoth", "urgoth", "demigoth heaven", "Urg",
9390 {0, 0},
9391 PM_URGOTH, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9392 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9393 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9394 MH_HUMAN, 0, MH_GNOME|MH_HUMAN,
9395 /* Str Int Wis Dex Con Cha */
9396 { 3, 3, 3, 3, 3, 3 },
9397 { STR19(25), 125, 125, 125, 125, 125 },
9398 /* new limit values for the six attributes by Amy */
9399 { STR19(25), 8, 8, 16, 25, 6 },
9400 /* Init Lower Higher */
9401 { 5, 0, 0, 8, 8, 0 }, /* Hit points */
9402 { 0, 0, 0, 0, 0, 0 } /* Energy */
9404 { "vamgoyle", "vamgoyle", "vamgoylehood", "Vgo",
9405 {0, 0},
9406 PM_VAMGOYLE, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9407 MH_VAMPIRE | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9408 MH_VAMPIRE, 0, MH_ELF|MH_GNOME|MH_HOBBIT|MH_DWARF|MH_ORC,
9409 /* Str Int Wis Dex Con Cha */
9410 { 3, 3, 3, 3, 3, 3 },
9411 { STR19(25), 125, 125, 125, 125, 125 },
9412 /* new limit values for the six attributes by Amy */
9413 { STR18(100), 18, 18, 18, 18, 16 },
9414 /* Init Lower Higher */
9415 { 3, 0, 0, 2, 2, 0 }, /* Hit points */
9416 { 3, 0, 3, 0, 3, 0 } /* Energy */
9418 { "vampire", "vampiric", "vampirehood", "Vam",
9419 {0, 0},
9420 PM_VAMPIRE, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9421 MH_VAMPIRE | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9422 MH_VAMPIRE, 0, MH_ELF|MH_GNOME|MH_HOBBIT|MH_DWARF|MH_ORC,
9423 /* Str Int Wis Dex Con Cha */
9424 { 3, 3, 3, 3, 3, 3 },
9425 { STR19(25), 125, 125, 125, 125, 125 },
9426 /* new limit values for the six attributes by Amy */
9427 { STR19(19), 18, 18, 20, 20, 20 },
9428 /* Init Lower Higher */
9429 { 3, 0, 0, 3, 2, 0 }, /* Hit points */
9430 { 5, 0, 4, 0, 4, 0 } /* Energy */
9432 { "vanillaoid", "vanillaoid", "vanilla-like", "Van",
9433 {0, 0},
9434 PM_VANILLAOID, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9435 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9436 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9437 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9438 /* Str Int Wis Dex Con Cha */
9439 { 3, 3, 3, 3, 3, 3 },
9440 { STR19(25), 125, 125, 125, 125, 125 },
9441 /* new limit values for the six attributes by Amy */
9442 { STR18(100), 18, 18, 18, 18, 18 },
9443 /* Init Lower Higher */
9444 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
9445 { 1, 0, 2, 0, 2, 0 } /* Energy */
9447 { "veela", "veela", "veelahood", "Vee",
9448 {0, 0},
9449 PM_VEELA, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9450 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9451 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9452 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9453 /* Str Int Wis Dex Con Cha */
9454 { 3, 3, 3, 3, 3, 3 },
9455 { STR19(25), 125, 125, 125, 125, 125 },
9456 /* new limit values for the six attributes by Amy */
9457 { STR18(100), 19, 16, 19, 18, 24 },
9458 /* Init Lower Higher */
9459 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
9460 { 1, 0, 1, 0, 1, 0 } /* Energy */
9462 { "venture capitalist", "venturean", "capitalism", "Ven",
9463 {0, 0},
9464 PM_VENTURE_CAPITALIST, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9465 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9466 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9467 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_ELF|MH_HOBBIT|MH_DWARF|MH_HUMAN,
9468 /* Str Int Wis Dex Con Cha */
9469 { 3, 3, 3, 3, 3, 3 },
9470 { STR19(25), 125, 125, 125, 125, 125 },
9471 /* new limit values for the six attributes by Amy */
9472 { STR18(100), 18, 18, 18, 18, 25 },
9473 /* Init Lower Higher */
9474 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
9475 { 1, 0, 2, 0, 2, 0 } /* Energy */
9477 { "vietis", "vietis", "vietem", "Vie",
9478 {0, 0},
9479 PM_VIETIS, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9480 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9481 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9482 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9483 /* Str Int Wis Dex Con Cha */
9484 { 3, 3, 3, 3, 3, 3 },
9485 { STR19(25), 125, 125, 125, 125, 125 },
9486 /* new limit values for the six attributes by Amy */
9487 { STR18(100), 18, 18, 18, 18, 18 },
9488 /* Init Lower Higher */
9489 { 3, 0, 0, 3, 1, 0 }, /* Hit points */
9490 { 1, 0, 2, 0, 3, 0 } /* Energy */
9492 { "viking", "viking", "greenland", "Vik",
9493 {0, 0},
9494 PM_VIKING, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9495 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9496 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9497 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9498 /* Str Int Wis Dex Con Cha */
9499 { 3, 3, 3, 3, 3, 3 },
9500 { STR19(25), 125, 125, 125, 125, 125 },
9501 /* new limit values for the six attributes by Amy */
9502 { STR19(20), 17, 17, 18, 20, 16 },
9503 /* Init Lower Higher */
9504 { 3, 0, 0, 3, 3, 0 }, /* Hit points */
9505 { 1, 0, 1, 0, 1, 0 } /* Energy */
9507 { "vortex", "vortex", "vortexhood", "Vor",
9508 {0, 0},
9509 PM_VORTEX, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9510 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9511 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9512 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9513 /* Str Int Wis Dex Con Cha */
9514 { 3, 3, 3, 3, 3, 3 },
9515 { STR19(25), 125, 125, 125, 125, 125 },
9516 /* new limit values for the six attributes by Amy */
9517 { STR18(100), 18, 18, 19, 19, 17 },
9518 /* Init Lower Higher */
9519 { 4, 0, 0, 3, 4, 0 }, /* Hit points */
9520 { 4, 0, 3, 0, 4, 0 } /* Energy */
9522 { "warper", "warping", "warpzone", "War",
9523 {0, 0},
9524 PM_WARPER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9525 MH_HUMAN | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9526 MH_HUMAN, 0, MH_ELF|MH_GNOME|MH_HOBBIT|MH_DWARF|MH_ORC,
9527 /* Str Int Wis Dex Con Cha */
9528 { 3, 3, 3, 3, 3, 3 },
9529 { STR19(25), 125, 125, 125, 125, 125 },
9530 /* new limit values for the six attributes by Amy */
9531 { STR18(100), 18, 18, 18, 18, 18 },
9532 /* Init Lower Higher */
9533 { 2, 0, 0, 2, 2, 0 }, /* Hit points */
9534 { 4, 0, 4, 0, 4, 0 } /* Energy */
9536 { "wind inhabitant", "wind", "windy well", "Win",
9537 {0, 0},
9538 PM_WIND_INHABITANT, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9539 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9540 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9541 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9542 /* Str Int Wis Dex Con Cha */
9543 { 3, 3, 3, 3, 3, 3 },
9544 { STR19(25), 125, 125, 125, 125, 125 },
9545 /* new limit values for the six attributes by Amy */
9546 { STR18(100), 18, 18, 18, 18, 18 },
9547 /* Init Lower Higher */
9548 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
9549 { 1, 0, 2, 0, 2, 0 } /* Energy */
9551 { "wisp", "wisp", "wisp kingdom", "Wis",
9552 {0, 0},
9553 PM_WISP, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9554 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9555 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9556 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9557 /* Str Int Wis Dex Con Cha */
9558 { 3, 3, 3, 3, 3, 3 },
9559 { STR19(25), 125, 125, 125, 125, 125 },
9560 /* new limit values for the six attributes by Amy */
9561 { STR18(50), 20, 20, 18, 16, 15 },
9562 /* Init Lower Higher */
9563 { 0, 0, 0, 0, 0, 0 }, /* Hit points */
9564 { 8, 0, 8, 0, 8, 0 } /* Energy */
9566 { "wookie", "wookie", "bedside carpet station", "Woo",
9567 {0, 0},
9568 PM_WOOKIE, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9569 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9570 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9571 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9572 /* Str Int Wis Dex Con Cha */
9573 { 3, 3, 3, 3, 3, 3 },
9574 { STR19(25), 125, 125, 125, 125, 125 },
9575 /* new limit values for the six attributes by Amy */
9576 { 16, 9, 9, 12, 15, 5 },
9577 /* Init Lower Higher */
9578 { 1, 0, 0, 0, 1, 0 }, /* Hit points */
9579 { 1, 0, 0, 0, 1, 0 } /* Energy */
9581 { "worm that walks", "worm", "wormhood", "Wor",
9582 {0, 0},
9583 PM_WORM_THAT_WALKS, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9584 MH_HUMAN | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9585 MH_HUMAN, 0, MH_ELF|MH_GNOME|MH_HOBBIT|MH_DWARF|MH_ORC,
9586 /* Str Int Wis Dex Con Cha */
9587 { 3, 3, 3, 3, 3, 3 },
9588 { STR19(25), 125, 125, 125, 125, 125 },
9589 /* new limit values for the six attributes by Amy */
9590 { STR19(20), 18, 18, 18, 18, 12 },
9591 /* Init Lower Higher */
9592 { 2, 0, 0, 2, 2, 0 }, /* Hit points */
9593 { 4, 0, 4, 0, 4, 0 } /* Energy */
9595 { "wraith", "wraith", "wraithhood", "Wra",
9596 {0, 0},
9597 PM_HUMAN_WRAITH, NON_PM, NON_PM, NON_PM,
9598 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9599 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9600 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9601 /* Str Int Wis Dex Con Cha */
9602 { 3, 3, 3, 3, 3, 3 },
9603 { STR19(25), 125, 125, 125, 125, 125 },
9604 /* new limit values for the six attributes by Amy */
9605 { STR19(20), 20, 20, 18, 20, 18 },
9606 /* Init Lower Higher */
9607 { 1, 0, 0, 1, 1, 0 }, /* Hit points */
9608 { 1, 0, 1, 0, 1, 0 } /* Energy */
9610 { "wylvan", "wylvan", "wylvan forest", "Wyl",
9611 {0, 0},
9612 PM_WYLVAN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9613 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9614 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9615 MH_HUMAN, 0, MH_GNOME|MH_HUMAN,
9616 /* Str Int Wis Dex Con Cha */
9617 { 3, 3, 3, 3, 3, 3 },
9618 { STR19(25), 125, 125, 125, 125, 125 },
9619 /* new limit values for the six attributes by Amy */
9620 { STR18(40), 20, 20, 25, 16, 17 },
9621 /* Init Lower Higher */
9622 { 1, 0, 0, 1, 0, 0 }, /* Hit points */
9623 { 3, 0, 4, 0, 4, 0 } /* Energy */
9625 { "xorn", "xorn", "xorndom", "Xor",
9626 {0, 0},
9627 PM_WEAPON_XORN, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9628 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9629 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9630 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9631 /* Str Int Wis Dex Con Cha */
9632 { 3, 3, 3, 3, 3, 3 },
9633 { STR19(25), 125, 125, 125, 125, 125 },
9634 /* new limit values for the six attributes by Amy */
9635 { STR19(19), 17, 17, 17, 19, 18 },
9636 /* Init Lower Higher */
9637 { 2, 0, 0, 2, 2, 0 }, /* Hit points */
9638 { 2, 0, 2, 0, 2, 0 } /* Energy */
9640 { "yeek", "yeek", "yeekdom", "Yee",
9641 {0, 0},
9642 PM_YEEK, NON_PM, PM_ORC_MUMMY, PM_ORC_ZOMBIE,
9643 MH_ORC | ROLE_MALE|ROLE_FEMALE | ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9644 MH_ORC, 0, MH_HUMAN|MH_ELF|MH_DWARF|MH_HOBBIT,
9645 /* Str Int Wis Dex Con Cha */
9646 { 3, 3, 3, 3, 3, 3 },
9647 { STR19(25), 125, 125, 125, 125, 125 },
9648 /* new limit values for the six attributes by Amy */
9649 { 16, 16, 16, 16, 16, 14 },
9650 /* Init Lower Higher */
9651 { 1, 0, 0, 1, 0, 0 }, /* Hit points */
9652 { 1, 0, 1, 0, 1, 0 } /* Energy */
9654 { "yokuda", "yokuda", "yokudahood", "Yok",
9655 {0, 0},
9656 PM_YOKUDA, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9657 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9658 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9659 MH_HUMAN, 0, 0,
9660 /* Str Int Wis Dex Con Cha */
9661 { 3, 3, 3, 3, 3, 3 },
9662 { STR19(25), 125, 125, 125, 125, 125 },
9663 /* new limit values for the six attributes by Amy */
9664 { STR18(100), 15, 14, 18, 20, 18 },
9665 /* Init Lower Higher */
9666 { 8, 0, 0, 4, 3, 0 }, /* Hit points */
9667 { 0, 0, 0, 0, 0, 0 } /* Energy */
9669 { "yugger", "yugger", "yugavia", "Yug",
9670 {0, 0},
9671 PM_YUGGER, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9672 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9673 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9674 MH_HUMAN, 0, MH_GNOME|MH_ORC,
9675 /* Str Int Wis Dex Con Cha */
9676 { 3, 3, 3, 3, 3, 3 },
9677 { 18, 18, 18, 18, 18, 18 }, /* hard cap! */
9678 /* new limit values for the six attributes by Amy */
9679 { STR18(100), 18, 18, 18, 18, 18 },
9680 /* Init Lower Higher */
9681 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
9682 { 1, 0, 2, 0, 2, 0 } /* Energy */
9684 { "yuki-onna", "yuki-onnic", "feyhood", "Yuk",
9685 {0, 0},
9686 PM_YUKI_PLAYA, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9687 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9688 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9689 MH_HUMAN, 0, MH_ELF,
9690 /* Str Int Wis Dex Con Cha */
9691 { 3, 3, 3, 3, 3, 3 },
9692 { STR19(25), 125, 125, 125, 125, 125 },
9693 /* new limit values for the six attributes by Amy */
9694 { 16, 18, 18, 20, 14, 20 },
9695 /* Init Lower Higher */
9696 { 0, 0, 0, 0, 0, 0 }, /* Hit points */
9697 { 2, 0, 3, 0, 3, 0 } /* Energy */
9699 { "zaur", "zaur", "zauren swamp", "Zau",
9700 {0, 0},
9701 PM_ZAUR, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9702 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9703 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9704 MH_HUMAN, 0, MH_GNOME|MH_HUMAN,
9705 /* Str Int Wis Dex Con Cha */
9706 { 3, 3, 3, 3, 3, 3 },
9707 { STR19(25), 125, 125, 125, 125, 125 },
9708 /* new limit values for the six attributes by Amy */
9709 { STR18(100), 15, 16, 18, 19, 16 },
9710 /* Init Lower Higher */
9711 { 3, 0, 0, 2, 3, 0 }, /* Hit points */
9712 { 1, 0, 1, 0, 1, 0 } /* Energy */
9714 { "zruty", "zruty", "save the zruties", "Zru",
9715 {0, 0},
9716 PM_PLAYER_ZRUTY, NON_PM, PM_HUMAN_MUMMY, PM_HUMAN_ZOMBIE,
9717 MH_HUMAN | ROLE_MALE|ROLE_FEMALE |
9718 ROLE_LAWFUL|ROLE_NEUTRAL|ROLE_CHAOTIC,
9719 MH_HUMAN, 0, MH_GNOME|MH_ORC|MH_ELF,
9720 /* Str Int Wis Dex Con Cha */
9721 { 3, 3, 3, 3, 3, 3 },
9722 { STR19(25), 125, 125, 125, 125, 125 },
9723 /* new limit values for the six attributes by Amy */
9724 { STR19(22), 12, 15, 17, 20, 14 },
9725 /* Init Lower Higher */
9726 { 4, 0, 0, 6, 5, 0 }, /* Hit points */
9727 { 1, 0, 1, 0, 1, 0 } /* Energy */
9729 /* Array terminator */
9730 { 0, 0, 0, 0 }};
9733 /* The player's race, created at runtime from initial
9734 * choices. This may be munged in role_init().
9736 struct Race urace =
9737 { "something", "undefined", "something", "Xxx",
9738 {0, 0},
9739 NON_PM, NON_PM, NON_PM, NON_PM,
9740 0, 0, 0, 0,
9741 /* Str Int Wis Dex Con Cha */
9742 { 3, 3, 3, 3, 3, 3 },
9743 { STR18(100), 18, 18, 18, 18, 18 },
9744 /* new limit values for the six attributes by Amy */
9745 { STR19(25), 25, 25, 25, 25, 25 },
9746 /* Init Lower Higher */
9747 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
9748 { 1, 0, 2, 0, 2, 0 } /* Energy */
9750 struct Race ustartrace =
9751 { "something", "undefined", "something", "Xxx",
9752 {0, 0},
9753 NON_PM, NON_PM, NON_PM, NON_PM,
9754 0, 0, 0, 0,
9755 /* Str Int Wis Dex Con Cha */
9756 { 3, 3, 3, 3, 3, 3 },
9757 { STR18(100), 18, 18, 18, 18, 18 },
9758 /* new limit values for the six attributes by Amy */
9759 { STR19(25), 25, 25, 25, 25, 25 },
9760 /* Init Lower Higher */
9761 { 2, 0, 0, 2, 1, 0 }, /* Hit points */
9762 { 1, 0, 2, 0, 2, 0 } /* Energy */
9765 /* Table of all genders */
9766 const struct Gender genders[] = {
9767 {"male", "he", "him", "his", "Mal", ROLE_MALE},
9768 {"female", "she", "her", "her", "Fem", ROLE_FEMALE},
9769 {"neuter", "it", "it", "its", "Ntr", ROLE_NEUTER}
9772 #ifdef MAC_MPW
9773 const size_t maxGender = sizeof genders/sizeof genders[0];
9774 #endif /* MAC_MPW */
9776 /* Table of all alignments */
9777 const struct Align aligns[] = {
9778 {"law", "lawful", "Law", ROLE_LAWFUL, A_LAWFUL},
9779 {"balance", "neutral", "Neu", ROLE_NEUTRAL, A_NEUTRAL},
9780 {"chaos", "chaotic", "Cha", ROLE_CHAOTIC, A_CHAOTIC},
9781 {"evil", "unaligned", "Una", 0, A_NONE}
9784 STATIC_DCL char * promptsep(char *, int);
9785 STATIC_DCL int role_gendercount(int);
9786 STATIC_DCL int race_alignmentcount(int);
9788 /* used by str2XXX() */
9789 static char NEARDATA randomstr[] = "random";
9791 #ifdef MAC_MPW
9792 const size_t maxAlign = sizeof aligns/sizeof aligns[0];
9793 #endif /* MAC_MPW */
9795 boolean
9796 validrole(rolenum)
9797 int rolenum;
9799 return (rolenum >= 0 && rolenum < SIZE(roles)-1);
9804 randrole()
9806 return (rn2(SIZE(roles)-1));
9809 void
9810 rivalroleinit()
9812 int rivalrolenum = randrole();
9813 flags.rivalsavenum = rivalrolenum;
9815 u.rivalcode = roles[rivalrolenum].filecode;
9816 u.rivalneminum = roles[rivalrolenum].neminum;
9817 u.rivalenemy1num = roles[rivalrolenum].enemy1num;
9818 u.rivalenemy2num = roles[rivalrolenum].enemy2num;
9819 u.rivalenemy1sym = roles[rivalrolenum].enemy1sym;
9820 u.rivalenemy2sym = roles[rivalrolenum].enemy2sym;
9823 void
9824 rivalrolerestore()
9826 int rivalrolenum = flags.rivalsavenum;
9828 u.rivalcode = roles[rivalrolenum].filecode;
9829 u.rivalneminum = roles[rivalrolenum].neminum;
9830 u.rivalenemy1num = roles[rivalrolenum].enemy1num;
9831 u.rivalenemy2num = roles[rivalrolenum].enemy2num;
9832 u.rivalenemy1sym = roles[rivalrolenum].enemy1sym;
9833 u.rivalenemy2sym = roles[rivalrolenum].enemy2sym;
9837 str2role(str)
9838 char *str;
9840 int i, len;
9842 /* Is str valid? */
9843 if (!str || !str[0])
9844 return ROLE_NONE;
9846 /* Match as much of str as is provided */
9847 len = strlen(str);
9848 for (i = 0; roles[i].name.m; i++) {
9849 /* Does it match the male name? */
9850 if (!strncmpi(str, roles[i].name.m, len))
9851 return i;
9852 /* Or the female name? */
9853 if (roles[i].name.f && !strncmpi(str, roles[i].name.f, len))
9854 return i;
9855 /* Or the filecode? */
9856 if (!strcmpi(str, roles[i].filecode))
9857 return i;
9860 if ((len == 1 && (*str == '*' || *str == '@')) ||
9861 !strncmpi(str, randomstr, len))
9862 return ROLE_RANDOM;
9864 /* Couldn't find anything appropriate */
9865 return ROLE_NONE;
9869 boolean
9870 validrace(rolenum, racenum)
9871 int rolenum, racenum;
9873 /* Assumes validrole */
9874 /* WAC -- checks ROLE_GENDMASK and ROLE_ALIGNMASK as well (otherwise, there
9875 * might not be an allowed gender or alignment for that role
9877 return (racenum >= 0 && racenum < SIZE(races)-1 &&
9878 (roles[rolenum].allow & races[racenum].allow & ROLE_RACEMASK) &&
9879 (roles[rolenum].allow & races[racenum].allow & ROLE_GENDMASK) &&
9880 (roles[rolenum].allow & races[racenum].allow & ROLE_ALIGNMASK));
9885 randrace(rolenum)
9886 int rolenum;
9888 int i, n = 0;
9890 /* Count the number of valid races */
9891 for (i = 0; races[i].noun; i++)
9892 /* if (roles[rolenum].allow & races[i].allow & ROLE_RACEMASK)*/
9893 if (validrace(rolenum,i))
9894 n++;
9896 /* Pick a random race */
9897 /* Use a factor of 100 in case of bad random number generators */
9898 if (n) n = rn2(n*100)/100;
9899 for (i = 0; races[i].noun; i++)
9900 /* if (roles[rolenum].allow & races[i].allow & ROLE_RACEMASK) {*/
9901 if (validrace(rolenum,i)) {
9902 if (n) n--;
9903 else return (i);
9906 /* This role has no permitted races? */
9907 return (rn2(SIZE(races)-1));
9911 * [ALI] Find the player equivalent race for a monster from its M2 flags.
9915 mrace2race(mflags2)
9916 int mflags2;
9918 int i;
9920 /* Look for a race with the correct selfmask */
9921 for (i = 0; races[i].noun; i++)
9922 if (mflags2 & races[i].selfmask) {
9923 /* Where more than one player race has the same monster race,
9924 * return the base race.
9926 if (mflags2 & MH_HUMAN && races[i].malenum != PM_HUMAN)
9927 continue;
9928 if (mflags2 & MH_ELF && races[i].malenum != PM_ELF)
9929 continue;
9930 return i;
9932 return ROLE_NONE;
9936 str2race(str)
9937 char *str;
9939 int i, len;
9941 /* Is str valid? */
9942 if (!str || !str[0])
9943 return ROLE_NONE;
9945 /* Match as much of str as is provided */
9946 len = strlen(str);
9947 for (i = 0; races[i].noun; i++) {
9948 /* Does it match the noun? */
9949 if (!strncmpi(str, races[i].noun, len))
9950 return i;
9951 /* Or the filecode? */
9952 if (!strcmpi(str, races[i].filecode))
9953 return i;
9956 if ((len == 1 && (*str == '*' || *str == '@')) ||
9957 !strncmpi(str, randomstr, len))
9958 return ROLE_RANDOM;
9960 /* Couldn't find anything appropriate */
9961 return ROLE_NONE;
9965 boolean
9966 validgend(rolenum, racenum, gendnum)
9967 int rolenum, racenum, gendnum;
9969 /* Assumes validrole and validrace */
9970 return (gendnum >= 0 && gendnum < ROLE_GENDERS &&
9971 (roles[rolenum].allow & races[racenum].allow &
9972 genders[gendnum].allow & ROLE_GENDMASK));
9977 randgend(rolenum, racenum)
9978 int rolenum, racenum;
9980 int i, n = 0;
9982 /* Count the number of valid genders */
9983 for (i = 0; i < ROLE_GENDERS; i++)
9984 /* if (roles[rolenum].allow & races[racenum].allow &
9985 genders[i].allow & ROLE_GENDMASK) */
9986 if (validgend(rolenum, racenum, i))
9987 n++;
9989 /* Pick a random gender */
9990 if (n) n = rn2(n);
9991 for (i = 0; i < ROLE_GENDERS; i++)
9992 /* if (roles[rolenum].allow & races[racenum].allow &
9993 genders[i].allow & ROLE_GENDMASK) {*/
9994 if (validgend(rolenum, racenum, i)) {
9995 if (n) n--;
9996 else return (i);
9999 /* This role/race has no permitted genders? */
10000 return (rn2(ROLE_GENDERS));
10005 str2gend(str)
10006 char *str;
10008 int i, len;
10010 /* Is str valid? */
10011 if (!str || !str[0])
10012 return ROLE_NONE;
10014 /* Match as much of str as is provided */
10015 len = strlen(str);
10016 for (i = 0; i < ROLE_GENDERS; i++) {
10017 /* Does it match the adjective? */
10018 if (!strncmpi(str, genders[i].adj, len))
10019 return i;
10020 /* Or the filecode? */
10021 if (!strcmpi(str, genders[i].filecode))
10022 return i;
10024 if ((len == 1 && (*str == '*' || *str == '@')) ||
10025 !strncmpi(str, randomstr, len))
10026 return ROLE_RANDOM;
10028 /* Couldn't find anything appropriate */
10029 return ROLE_NONE;
10033 boolean
10034 validalign(rolenum, racenum, alignnum)
10035 int rolenum, racenum, alignnum;
10037 /* Assumes validrole and validrace */
10038 return (alignnum >= 0 && alignnum < ROLE_ALIGNS &&
10039 (roles[rolenum].allow & races[racenum].allow &
10040 aligns[alignnum].allow & ROLE_ALIGNMASK));
10045 randalign(rolenum, racenum)
10046 int rolenum, racenum;
10048 int i, n = 0;
10050 /* Count the number of valid alignments */
10051 for (i = 0; i < ROLE_ALIGNS; i++)
10052 if (roles[rolenum].allow & races[racenum].allow &
10053 aligns[i].allow & ROLE_ALIGNMASK)
10054 n++;
10056 /* Pick a random alignment */
10057 if (n) n = rn2(n);
10058 for (i = 0; i < ROLE_ALIGNS; i++)
10059 if (roles[rolenum].allow & races[racenum].allow &
10060 aligns[i].allow & ROLE_ALIGNMASK) {
10061 if (n) n--;
10062 else return (i);
10065 /* This role/race has no permitted alignments? */
10066 return (rn2(ROLE_ALIGNS));
10071 str2align(str)
10072 char *str;
10074 int i, len;
10076 /* Is str valid? */
10077 if (!str || !str[0])
10078 return ROLE_NONE;
10080 /* Match as much of str as is provided */
10081 len = strlen(str);
10082 for (i = 0; i < ROLE_ALIGNS; i++) {
10083 /* Does it match the adjective? */
10084 if (!strncmpi(str, aligns[i].adj, len))
10085 return i;
10086 /* Or the filecode? */
10087 if (!strcmpi(str, aligns[i].filecode))
10088 return i;
10090 if ((len == 1 && (*str == '*' || *str == '@')) ||
10091 !strncmpi(str, randomstr, len))
10092 return ROLE_RANDOM;
10094 /* Couldn't find anything appropriate */
10095 return ROLE_NONE;
10098 /* is rolenum compatible with any racenum/gendnum/alignnum constraints? */
10099 boolean
10100 ok_role(rolenum, racenum, gendnum, alignnum)
10101 int rolenum, racenum, gendnum, alignnum;
10103 int i;
10104 short allow;
10106 if (rolenum >= 0 && rolenum < SIZE(roles)-1) {
10107 allow = roles[rolenum].allow;
10109 if (racenum >= 0 && racenum < SIZE(races)-1)
10110 allow &= races[racenum].allow;
10111 if (gendnum >= 0 && gendnum < ROLE_GENDERS &&
10112 !(allow & genders[gendnum].allow & ROLE_GENDMASK))
10113 return FALSE;
10114 if (alignnum >= 0 && alignnum < ROLE_ALIGNS &&
10115 !(allow & aligns[alignnum].allow & ROLE_ALIGNMASK))
10116 return FALSE;
10118 if (!(allow & ROLE_RACEMASK) || !(allow & ROLE_GENDMASK) ||
10119 !(allow & ROLE_ALIGNMASK))
10120 return FALSE;
10121 return TRUE;
10122 } else {
10123 for (i = 0; i < SIZE(roles)-1; i++) {
10124 allow = roles[i].allow;
10125 if (racenum >= 0 && racenum < SIZE(races)-1)
10126 allow &= races[racenum].allow;
10127 if (gendnum >= 0 && gendnum < ROLE_GENDERS &&
10128 !(allow & genders[gendnum].allow & ROLE_GENDMASK))
10129 continue;
10130 if (alignnum >= 0 && alignnum < ROLE_ALIGNS &&
10131 !(allow & aligns[alignnum].allow & ROLE_ALIGNMASK))
10132 continue;
10133 if (!(allow & ROLE_RACEMASK) || !(allow & ROLE_GENDMASK) ||
10134 !(allow & ROLE_ALIGNMASK))
10135 continue;
10136 return TRUE;
10138 return FALSE;
10142 /* pick a random role subject to any racenum/gendnum/alignnum constraints */
10143 /* If pickhow == PICK_RIGID a role is returned only if there is */
10144 /* a single possibility */
10146 pick_role(racenum, gendnum, alignnum, pickhow)
10147 int racenum, gendnum, alignnum, pickhow;
10149 int i;
10150 int roles_ok = 0;
10152 for (i = 0; i < SIZE(roles)-1; i++) {
10153 if (ok_role(i, racenum, gendnum, alignnum))
10154 roles_ok++;
10156 if (roles_ok == 0 || (roles_ok > 1 && pickhow == PICK_RIGID))
10157 return ROLE_NONE;
10158 roles_ok = rn2(roles_ok);
10159 for (i = 0; i < SIZE(roles)-1; i++) {
10160 if (ok_role(i, racenum, gendnum, alignnum)) {
10161 if (roles_ok == 0)
10162 return i;
10163 else
10164 roles_ok--;
10167 return ROLE_NONE;
10170 /* is racenum compatible with any rolenum/gendnum/alignnum constraints? */
10171 boolean
10172 ok_race(rolenum, racenum, gendnum, alignnum)
10173 int rolenum, racenum, gendnum, alignnum;
10175 int i;
10176 short allow;
10178 if (racenum >= 0 && racenum < SIZE(races)-1) {
10179 allow = races[racenum].allow;
10181 if (rolenum >= 0 && rolenum < SIZE(roles)-1)
10182 allow &= roles[rolenum].allow;
10183 if (gendnum >= 0 && gendnum < ROLE_GENDERS &&
10184 !(allow & genders[gendnum].allow & ROLE_GENDMASK))
10185 return FALSE;
10186 if (alignnum >= 0 && alignnum < ROLE_ALIGNS &&
10187 !(allow & aligns[alignnum].allow & ROLE_ALIGNMASK))
10188 return FALSE;
10190 if (!(allow & ROLE_RACEMASK) || !(allow & ROLE_GENDMASK) ||
10191 !(allow & ROLE_ALIGNMASK))
10192 return FALSE;
10193 return TRUE;
10194 } else {
10195 for (i = 0; i < SIZE(races)-1; i++) {
10196 allow = races[i].allow;
10197 if (rolenum >= 0 && rolenum < SIZE(roles)-1)
10198 allow &= roles[rolenum].allow;
10199 if (gendnum >= 0 && gendnum < ROLE_GENDERS &&
10200 !(allow & genders[gendnum].allow & ROLE_GENDMASK))
10201 continue;
10202 if (alignnum >= 0 && alignnum < ROLE_ALIGNS &&
10203 !(allow & aligns[alignnum].allow & ROLE_ALIGNMASK))
10204 continue;
10205 if (!(allow & ROLE_RACEMASK) || !(allow & ROLE_GENDMASK) ||
10206 !(allow & ROLE_ALIGNMASK))
10207 continue;
10208 return TRUE;
10210 return FALSE;
10214 /* pick a random race subject to any rolenum/gendnum/alignnum constraints */
10215 /* If pickhow == PICK_RIGID a race is returned only if there is */
10216 /* a single possibility */
10218 pick_race(rolenum, gendnum, alignnum, pickhow)
10219 int rolenum, gendnum, alignnum, pickhow;
10221 int i;
10222 int races_ok = 0;
10223 int tryct = 0;
10225 for (i = 0; i < SIZE(races)-1; i++) {
10226 if (ok_race(rolenum, i, gendnum, alignnum))
10227 races_ok++;
10229 if (races_ok == 0 || (races_ok > 1 && pickhow == PICK_RIGID))
10230 return ROLE_NONE;
10231 races_ok = rn2(races_ok);
10232 for (i = 0; i < SIZE(races)-1; i++) {
10233 if (ok_race(rolenum, i, gendnum, alignnum)) {
10234 if (races_ok == 0) {
10236 if (!rn2(10) && !flags.hybridcancel && flags.randomhybrids) { /* hybrid races --Amy */
10238 flags.hybridization++;
10239 switch (rnd(49)) {
10241 case 1:
10242 flags.hybridangbander = 1; break;
10243 case 2:
10244 flags.hybridaquarian = 1; break;
10245 case 3:
10246 flags.hybridcurser = 1; break;
10247 case 4:
10248 flags.hybridhaxor = 1; break;
10249 case 5:
10250 flags.hybridhomicider = 1; break;
10251 case 6:
10252 flags.hybridsuxxor = 1; break;
10253 case 7:
10254 flags.hybridwarper = 1; break;
10255 case 8:
10256 flags.hybridrandomizer = 1; break;
10257 case 9:
10258 flags.hybridnullrace = 1; break;
10259 case 10:
10260 flags.hybridmazewalker = 1; break;
10261 case 11:
10262 flags.hybridsoviet = 1; break;
10263 case 12:
10264 flags.hybridxrace = 1; break;
10265 case 13:
10266 flags.hybridheretic = 1; break;
10267 case 14:
10268 flags.hybridsokosolver = 1; break;
10269 case 15:
10270 flags.hybridspecialist = 1; break;
10271 case 16:
10272 flags.hybridamerican = 1; break;
10273 case 17:
10274 flags.hybridminimalist = 1; break;
10275 case 18:
10276 flags.hybridnastinator = 1; break;
10277 case 19:
10278 flags.hybridrougelike = 1; break;
10279 case 20:
10280 flags.hybridsegfaulter = 1; break;
10281 case 21:
10282 flags.hybridironman = 1; break;
10283 case 22:
10284 flags.hybridamnesiac = 1; break;
10285 case 23:
10286 flags.hybridproblematic = 1; break;
10287 case 24:
10288 flags.hybridwindinhabitant = 1; break;
10289 case 25:
10290 flags.hybridaggravator = 1; break;
10291 case 26:
10292 flags.hybridevilvariant = 1; break;
10293 case 27:
10294 flags.hybridlevelscaler = 1; break;
10295 case 28:
10296 flags.hybriderosator = 1; break;
10297 case 29:
10298 flags.hybridroommate = 1; break;
10299 case 30:
10300 flags.hybridextravator = 1; break;
10301 case 31:
10302 flags.hybridhallucinator = 1; break;
10303 case 32:
10304 flags.hybridbossrusher = 1; break;
10305 case 33:
10306 flags.hybriddorian = 1; break;
10307 case 34:
10308 flags.hybridtechless = 1; break;
10309 case 35:
10310 flags.hybridblait = 1; break;
10311 case 36:
10312 flags.hybridgrouper = 1; break;
10313 case 37:
10314 flags.hybridscriptor = 1; break;
10315 case 38:
10316 flags.hybridunbalancor = 1; break;
10317 case 39:
10318 flags.hybridbeacher = 1; break;
10319 case 40:
10320 flags.hybridstairseeker = 1; break;
10321 case 41:
10322 flags.hybridmatrayser = 1; break;
10323 case 42:
10324 flags.hybridfeminizer = 1; break;
10325 case 43:
10326 flags.hybridchallenger = 1; break;
10327 case 44:
10328 flags.hybridhardmoder = 1; break;
10329 case 45:
10330 flags.hybridstunfish = 1; break;
10331 case 46:
10332 flags.hybridkillfiller = 1; break;
10333 case 47:
10334 flags.hybridbadstatter = 1; break;
10335 case 48:
10336 flags.hybriddroughter = 1; break;
10337 case 49:
10338 flags.hybridvanillaoid = 1; break;
10342 while (((rnd(7)) < 3) && (tryct < 100) ) {
10344 tryct++;
10346 switch (rnd(49)) {
10348 case 1:
10349 if (!(flags.hybridangbander)) {flags.hybridangbander = 1; flags.hybridization++; break;
10351 case 2:
10352 if (!(flags.hybridaquarian)) {flags.hybridaquarian = 1; flags.hybridization++; break;
10354 case 3:
10355 if (!(flags.hybridcurser)) {flags.hybridcurser = 1; flags.hybridization++; break;
10357 case 4:
10358 if (!(flags.hybridhaxor)) {flags.hybridhaxor = 1; flags.hybridization++; break;
10360 case 5:
10361 if (!(flags.hybridhomicider)) {flags.hybridhomicider = 1; flags.hybridization++; break;
10363 case 6:
10364 if (!(flags.hybridsuxxor)) {flags.hybridsuxxor = 1; flags.hybridization++; break;
10366 case 7:
10367 if (!(flags.hybridwarper)) {flags.hybridwarper = 1; flags.hybridization++; break;
10369 case 8:
10370 if (!(flags.hybridrandomizer)) {flags.hybridrandomizer = 1; flags.hybridization++; break;
10372 case 9:
10373 if (!(flags.hybridnullrace)) {flags.hybridnullrace = 1; flags.hybridization++; break;
10375 case 10:
10376 if (!(flags.hybridmazewalker)) {flags.hybridmazewalker = 1; flags.hybridization++; break;
10378 case 11:
10379 if (!(flags.hybridsoviet)) {flags.hybridsoviet = 1; flags.hybridization++; break;
10381 case 12:
10382 if (!(flags.hybridxrace)) {flags.hybridxrace = 1; flags.hybridization++; break;
10384 case 13:
10385 if (!(flags.hybridheretic)) {flags.hybridheretic = 1; flags.hybridization++; break;
10387 case 14:
10388 if (!(flags.hybridsokosolver)) {flags.hybridsokosolver = 1; flags.hybridization++; break;
10390 case 15:
10391 if (!(flags.hybridspecialist)) {flags.hybridspecialist = 1; flags.hybridization++; break;
10393 case 16:
10394 if (!(flags.hybridamerican)) {flags.hybridamerican = 1; flags.hybridization++; break;
10396 case 17:
10397 if (!(flags.hybridminimalist)) {flags.hybridminimalist = 1; flags.hybridization++; break;
10399 case 18:
10400 if (!(flags.hybridnastinator)) {flags.hybridnastinator = 1; flags.hybridization++; break;
10402 case 19:
10403 if (!(flags.hybridrougelike)) {flags.hybridrougelike = 1; flags.hybridization++; break;
10405 case 20:
10406 if (!(flags.hybridsegfaulter)) {flags.hybridsegfaulter = 1; flags.hybridization++; break;
10408 case 21:
10409 if (!(flags.hybridironman)) {flags.hybridironman = 1; flags.hybridization++; break;
10411 case 22:
10412 if (!(flags.hybridamnesiac)) {flags.hybridamnesiac = 1; flags.hybridization++; break;
10414 case 23:
10415 if (!(flags.hybridproblematic)) {flags.hybridproblematic = 1; flags.hybridization++; break;
10417 case 24:
10418 if (!(flags.hybridwindinhabitant)) {flags.hybridwindinhabitant = 1; flags.hybridization++; break;
10420 case 25:
10421 if (!(flags.hybridaggravator)) {flags.hybridaggravator = 1; flags.hybridization++; break;
10423 case 26:
10424 if (!(flags.hybridevilvariant)) {flags.hybridevilvariant = 1; flags.hybridization++; break;
10426 case 27:
10427 if (!(flags.hybridlevelscaler)) {flags.hybridlevelscaler = 1; flags.hybridization++; break;
10429 case 28:
10430 if (!(flags.hybriderosator)) {flags.hybriderosator = 1; flags.hybridization++; break;
10432 case 29:
10433 if (!(flags.hybridroommate)) {flags.hybridroommate = 1; flags.hybridization++; break;
10435 case 30:
10436 if (!(flags.hybridextravator)) {flags.hybridextravator = 1; flags.hybridization++; break;
10438 case 31:
10439 if (!(flags.hybridhallucinator)) {flags.hybridhallucinator = 1; flags.hybridization++; break;
10441 case 32:
10442 if (!(flags.hybridbossrusher)) {flags.hybridbossrusher = 1; flags.hybridization++; break;
10444 case 33:
10445 if (!(flags.hybriddorian)) {flags.hybriddorian = 1; flags.hybridization++; break;
10447 case 34:
10448 if (!(flags.hybridtechless)) {flags.hybridtechless = 1; flags.hybridization++; break;
10450 case 35:
10451 if (!(flags.hybridblait)) {flags.hybridblait = 1; flags.hybridization++; break;
10453 case 36:
10454 if (!(flags.hybridgrouper)) {flags.hybridgrouper = 1; flags.hybridization++; break;
10456 case 37:
10457 if (!(flags.hybridscriptor)) {flags.hybridscriptor = 1; flags.hybridization++; break;
10459 case 38:
10460 if (!(flags.hybridunbalancor)) {flags.hybridunbalancor = 1; flags.hybridization++; break;
10462 case 39:
10463 if (!(flags.hybridbeacher)) {flags.hybridbeacher = 1; flags.hybridization++; break;
10465 case 40:
10466 if (!(flags.hybridstairseeker)) {flags.hybridstairseeker = 1; flags.hybridization++; break;
10468 case 41:
10469 if (!(flags.hybridmatrayser)) {flags.hybridmatrayser = 1; flags.hybridization++; break;
10471 case 42:
10472 if (!(flags.hybridfeminizer)) {flags.hybridfeminizer = 1; flags.hybridization++; break;
10474 case 43:
10475 if (!(flags.hybridchallenger)) {flags.hybridchallenger = 1; flags.hybridization++; break;
10477 case 44:
10478 if (!(flags.hybridhardmoder)) {flags.hybridhardmoder = 1; flags.hybridization++; break;
10480 case 45:
10481 if (!(flags.hybridstunfish)) {flags.hybridstunfish = 1; flags.hybridization++; break;
10483 case 46:
10484 if (!(flags.hybridkillfiller)) {flags.hybridkillfiller = 1; flags.hybridization++; break;
10486 case 47:
10487 if (!(flags.hybridbadstatter)) {flags.hybridbadstatter = 1; flags.hybridization++; break;
10489 case 48:
10490 if (!(flags.hybriddroughter)) {flags.hybriddroughter = 1; flags.hybridization++; break;
10492 case 49:
10493 if (!(flags.hybridvanillaoid)) {flags.hybridvanillaoid = 1; flags.hybridization++; break;
10501 return i;
10504 else
10505 races_ok--;
10509 return ROLE_NONE;
10512 /* is gendnum compatible with any rolenum/racenum/alignnum constraints? */
10513 /* gender and alignment are not comparable (and also not constrainable) */
10514 boolean
10515 ok_gend(rolenum, racenum, gendnum, alignnum)
10516 int rolenum, racenum, gendnum, alignnum;
10518 int i;
10519 short allow;
10521 if (gendnum >= 0 && gendnum < ROLE_GENDERS) {
10522 allow = genders[gendnum].allow;
10524 if (rolenum >= 0 && rolenum < SIZE(roles)-1)
10525 allow &= roles[rolenum].allow;
10526 if (racenum >= 0 && racenum < SIZE(races)-1)
10527 allow &= races[racenum].allow;
10529 if (!(allow & ROLE_GENDMASK))
10530 return FALSE;
10531 return TRUE;
10532 } else {
10533 for (i = 0; i < ROLE_GENDERS; i++) {
10534 allow = genders[i].allow;
10535 if (rolenum >= 0 && rolenum < SIZE(roles)-1)
10536 allow &= roles[rolenum].allow;
10537 if (racenum >= 0 && racenum < SIZE(races)-1)
10538 allow &= races[racenum].allow;
10539 if (allow & ROLE_GENDMASK)
10540 return TRUE;
10542 return FALSE;
10546 /* pick a random gender subject to any rolenum/racenum/alignnum constraints */
10547 /* gender and alignment are not comparable (and also not constrainable) */
10548 /* If pickhow == PICK_RIGID a gender is returned only if there is */
10549 /* a single possibility */
10551 pick_gend(rolenum, racenum, alignnum, pickhow)
10552 int rolenum, racenum, alignnum, pickhow;
10554 int i;
10555 int gends_ok = 0;
10557 for (i = 0; i < ROLE_GENDERS; i++) {
10558 if (ok_gend(rolenum, racenum, i, alignnum))
10559 gends_ok++;
10561 if (gends_ok == 0 || (gends_ok > 1 && pickhow == PICK_RIGID))
10562 return ROLE_NONE;
10563 gends_ok = rn2(gends_ok);
10564 for (i = 0; i < ROLE_GENDERS; i++) {
10565 if (ok_gend(rolenum, racenum, i, alignnum)) {
10566 if (gends_ok == 0)
10567 return i;
10568 else
10569 gends_ok--;
10572 return ROLE_NONE;
10575 /* is alignnum compatible with any rolenum/racenum/gendnum constraints? */
10576 /* alignment and gender are not comparable (and also not constrainable) */
10577 boolean
10578 ok_align(rolenum, racenum, gendnum, alignnum)
10579 int rolenum, racenum, gendnum, alignnum;
10581 int i;
10582 short allow;
10584 if (alignnum >= 0 && alignnum < ROLE_ALIGNS) {
10585 allow = aligns[alignnum].allow;
10587 if (rolenum >= 0 && rolenum < SIZE(roles)-1)
10588 allow &= roles[rolenum].allow;
10589 if (racenum >= 0 && racenum < SIZE(races)-1)
10590 allow &= races[racenum].allow;
10592 if (!(allow & ROLE_ALIGNMASK))
10593 return FALSE;
10594 return TRUE;
10595 } else {
10596 for (i = 0; i < ROLE_ALIGNS; i++) {
10597 allow = races[i].allow;
10598 if (rolenum >= 0 && rolenum < SIZE(roles)-1)
10599 allow &= roles[rolenum].allow;
10600 if (racenum >= 0 && racenum < SIZE(races)-1)
10601 allow &= races[racenum].allow;
10602 if (allow & ROLE_ALIGNMASK)
10603 return TRUE;
10605 return FALSE;
10609 /* pick a random alignment subject to any rolenum/racenum/gendnum constraints */
10610 /* alignment and gender are not comparable (and also not constrainable) */
10611 /* If pickhow == PICK_RIGID an alignment is returned only if there is */
10612 /* a single possibility */
10614 pick_align(rolenum, racenum, gendnum, pickhow)
10615 int rolenum, racenum, gendnum, pickhow;
10617 int i;
10618 int aligns_ok = 0;
10620 for (i = 0; i < ROLE_ALIGNS; i++) {
10621 if (ok_align(rolenum, racenum, gendnum, i))
10622 aligns_ok++;
10624 if (aligns_ok == 0 || (aligns_ok > 1 && pickhow == PICK_RIGID))
10625 return ROLE_NONE;
10626 aligns_ok = rn2(aligns_ok);
10627 for (i = 0; i < ROLE_ALIGNS; i++) {
10628 if (ok_align(rolenum, racenum, gendnum, i)) {
10629 if (aligns_ok == 0)
10630 return i;
10631 else
10632 aligns_ok--;
10635 return ROLE_NONE;
10638 /* change player's hybridization: 0 = random, 1 = always remove, 2 = always give one --Amy
10639 * special case: if you have none and it's type 0, you always get one. The other extreme, where you have all the
10640 * hybridizations, is so rare that I decide to not specialcase it :P */
10641 void
10642 changehybridization(type)
10643 int type;
10645 int tryct = 0;
10647 if (type == 1 || (type == 0 && rn2(2) && flags.hybridization) ) {
10649 while (tryct++ < 1000) {
10651 switch (rnd(49)) {
10653 case 1:
10654 if (flags.hybridangbander) {
10655 tryct = 1000;
10656 flags.hybridangbander = FALSE;
10657 flags.hybridization--;
10658 pline("You no longer have the angbander hybrid race.");
10660 break;
10661 case 2:
10662 if (flags.hybridaquarian) {
10663 tryct = 1000;
10664 flags.hybridaquarian = FALSE;
10665 flags.hybridization--;
10666 pline("You no longer have the aquarian hybrid race.");
10668 break;
10669 case 3:
10670 if (flags.hybridcurser) {
10671 tryct = 1000;
10672 flags.hybridcurser = FALSE;
10673 flags.hybridization--;
10674 pline("You no longer have the curser hybrid race.");
10676 break;
10677 case 4:
10678 if (flags.hybridhaxor) {
10679 tryct = 1000;
10680 flags.hybridhaxor = FALSE;
10681 flags.hybridization--;
10682 pline("You no longer have the haxor hybrid race.");
10684 break;
10685 case 5:
10686 if (flags.hybridhomicider) {
10687 tryct = 1000;
10688 flags.hybridhomicider = FALSE;
10689 flags.hybridization--;
10690 pline("You no longer have the homicider hybrid race.");
10692 break;
10693 case 6:
10694 if (flags.hybridsuxxor) {
10695 tryct = 1000;
10696 flags.hybridsuxxor = FALSE;
10697 flags.hybridization--;
10698 pline("You no longer have the suxxor hybrid race.");
10700 break;
10701 case 7:
10702 if (flags.hybridwarper) {
10703 tryct = 1000;
10704 flags.hybridwarper = FALSE;
10705 flags.hybridization--;
10706 pline("You no longer have the warper hybrid race.");
10708 break;
10709 case 8:
10710 if (flags.hybridrandomizer) {
10711 tryct = 1000;
10712 flags.hybridrandomizer = FALSE;
10713 flags.hybridization--;
10714 pline("You no longer have the randomizer hybrid race.");
10716 break;
10717 case 9:
10718 if (flags.hybridnullrace) {
10719 tryct = 1000;
10720 flags.hybridnullrace = FALSE;
10721 flags.hybridization--;
10722 pline("You no longer have the null hybrid race.");
10724 break;
10725 case 10:
10726 if (flags.hybridmazewalker) {
10727 tryct = 1000;
10728 flags.hybridmazewalker = FALSE;
10729 flags.hybridization--;
10730 pline("You no longer have the mazewalker hybrid race.");
10732 break;
10733 case 11:
10734 if (flags.hybridsoviet) {
10735 tryct = 1000;
10736 flags.hybridsoviet = FALSE;
10737 flags.hybridization--;
10738 pline("You no longer have the soviet hybrid race.");
10740 break;
10741 case 12:
10742 if (flags.hybridxrace) {
10743 tryct = 1000;
10744 flags.hybridxrace = FALSE;
10745 flags.hybridization--;
10746 pline("You no longer have the x-race hybrid race.");
10748 break;
10749 case 13:
10750 if (flags.hybridheretic) {
10751 tryct = 1000;
10752 flags.hybridheretic = FALSE;
10753 flags.hybridization--;
10754 pline("You no longer have the heretic hybrid race.");
10756 break;
10757 case 14:
10758 if (flags.hybridsokosolver) {
10759 tryct = 1000;
10760 flags.hybridsokosolver = FALSE;
10761 flags.hybridization--;
10762 pline("You no longer have the sokosolver hybrid race.");
10764 break;
10765 case 15:
10766 if (flags.hybridspecialist) {
10767 tryct = 1000;
10768 flags.hybridspecialist = FALSE;
10769 flags.hybridization--;
10770 pline("You no longer have the specialist hybrid race.");
10772 break;
10773 case 16:
10774 if (flags.hybridamerican) {
10775 tryct = 1000;
10776 flags.hybridamerican = FALSE;
10777 flags.hybridization--;
10778 pline("You no longer have the american hybrid race.");
10780 break;
10781 case 17:
10782 if (flags.hybridminimalist) {
10783 tryct = 1000;
10784 flags.hybridminimalist = FALSE;
10785 flags.hybridization--;
10786 pline("You no longer have the minimalist hybrid race.");
10788 break;
10789 case 18:
10790 if (flags.hybridnastinator) {
10791 tryct = 1000;
10792 flags.hybridnastinator = FALSE;
10793 flags.hybridization--;
10794 pline("You no longer have the nastinator hybrid race.");
10796 break;
10797 case 19:
10798 if (flags.hybridrougelike) {
10799 tryct = 1000;
10800 flags.hybridrougelike = FALSE;
10801 flags.hybridization--;
10802 pline("You no longer have the rougelike hybrid race.");
10804 break;
10805 case 20:
10806 if (flags.hybridsegfaulter) {
10807 tryct = 1000;
10808 flags.hybridsegfaulter = FALSE;
10809 flags.hybridization--;
10810 pline("You no longer have the segfaulter hybrid race. Yay. No more crashes!");
10812 break;
10813 case 21:
10814 if (flags.hybridironman) {
10815 tryct = 1000;
10816 flags.hybridironman = FALSE;
10817 flags.hybridization--;
10818 pline("You no longer have the ironman hybrid race.");
10820 break;
10821 case 22:
10822 if (flags.hybridamnesiac) {
10823 tryct = 1000;
10824 flags.hybridamnesiac = FALSE;
10825 flags.hybridization--;
10826 pline("You no longer have the amnesiac hybrid race.");
10828 break;
10829 case 23:
10830 if (flags.hybridproblematic) {
10831 tryct = 1000;
10832 flags.hybridproblematic = FALSE;
10833 flags.hybridization--;
10834 pline("You no longer have the problematic hybrid race.");
10836 break;
10837 case 24:
10838 if (flags.hybridwindinhabitant) {
10839 tryct = 1000;
10840 flags.hybridwindinhabitant = FALSE;
10841 flags.hybridization--;
10842 pline("You no longer have the wind inhabitant hybrid race.");
10844 break;
10845 case 25:
10846 if (flags.hybridaggravator) {
10847 tryct = 1000;
10848 flags.hybridaggravator = FALSE;
10849 flags.hybridization--;
10850 pline("You no longer have the aggravator hybrid race.");
10852 break;
10853 case 26:
10854 if (flags.hybridevilvariant) {
10855 tryct = 1000;
10856 flags.hybridevilvariant = FALSE;
10857 flags.hybridization--;
10858 pline("You no longer have the evilvariant hybrid race.");
10860 break;
10861 case 27:
10862 if (flags.hybridlevelscaler) {
10863 tryct = 1000;
10864 flags.hybridlevelscaler = FALSE;
10865 flags.hybridization--;
10866 pline("You no longer have the levelscaler hybrid race.");
10868 break;
10869 case 28:
10870 if (flags.hybriderosator) {
10871 tryct = 1000;
10872 flags.hybriderosator = FALSE;
10873 flags.hybridization--;
10874 pline("You no longer have the erosator hybrid race.");
10876 break;
10877 case 29:
10878 if (flags.hybridroommate) {
10879 tryct = 1000;
10880 flags.hybridroommate = FALSE;
10881 flags.hybridization--;
10882 pline("You no longer have the roommate hybrid race.");
10884 break;
10885 case 30:
10886 if (flags.hybridextravator) {
10887 tryct = 1000;
10888 flags.hybridextravator = FALSE;
10889 flags.hybridization--;
10890 pline("You no longer have the extravator hybrid race.");
10892 break;
10893 case 31:
10894 if (flags.hybridhallucinator) {
10895 tryct = 1000;
10896 flags.hybridhallucinator = FALSE;
10897 flags.hybridization--;
10898 pline("You no longer have the hallucinator hybrid race.");
10900 break;
10901 case 32:
10902 if (flags.hybridbossrusher) {
10903 tryct = 1000;
10904 flags.hybridbossrusher = FALSE;
10905 flags.hybridization--;
10906 pline("You no longer have the bossrusher hybrid race.");
10908 break;
10909 case 33:
10910 if (flags.hybriddorian) {
10911 tryct = 1000;
10912 flags.hybriddorian = FALSE;
10913 flags.hybridization--;
10914 pline("You no longer have the dorian hybrid race.");
10916 break;
10917 case 34:
10918 if (flags.hybridtechless) {
10919 tryct = 1000;
10920 flags.hybridtechless = FALSE;
10921 flags.hybridization--;
10922 pline("You no longer have the techless hybrid race.");
10924 break;
10925 case 35:
10926 if (flags.hybridblait) {
10927 tryct = 1000;
10928 flags.hybridblait = FALSE;
10929 flags.hybridization--;
10930 pline("You no longer have the blait hybrid race.");
10932 break;
10933 case 36:
10934 if (flags.hybridgrouper) {
10935 tryct = 1000;
10936 flags.hybridgrouper = FALSE;
10937 flags.hybridization--;
10938 pline("You no longer have the grouper hybrid race.");
10940 break;
10941 case 37:
10942 if (flags.hybridscriptor) {
10943 tryct = 1000;
10944 flags.hybridscriptor = FALSE;
10945 flags.hybridization--;
10946 pline("You no longer have the scriptor hybrid race.");
10948 break;
10949 case 38:
10950 if (flags.hybridunbalancor) {
10951 tryct = 1000;
10952 flags.hybridunbalancor = FALSE;
10953 flags.hybridization--;
10954 pline("You no longer have the unbalancor hybrid race.");
10956 break;
10957 case 39:
10958 if (flags.hybridbeacher) {
10959 tryct = 1000;
10960 flags.hybridbeacher = FALSE;
10961 flags.hybridization--;
10962 pline("You no longer have the beacher hybrid race.");
10964 break;
10965 case 40:
10966 if (flags.hybridstairseeker) {
10967 tryct = 1000;
10968 flags.hybridstairseeker = FALSE;
10969 flags.hybridization--;
10970 pline("You no longer have the stairseeker hybrid race.");
10972 break;
10973 case 41:
10974 if (flags.hybridmatrayser) {
10975 tryct = 1000;
10976 flags.hybridmatrayser = FALSE;
10977 flags.hybridization--;
10978 pline("You no longer have the matrayser hybrid race.");
10980 break;
10981 case 42:
10982 if (flags.hybridfeminizer) {
10983 tryct = 1000;
10984 flags.hybridfeminizer = FALSE;
10985 flags.hybridization--;
10986 pline("You no longer have the feminizer hybrid race.");
10988 break;
10989 case 43:
10990 if (flags.hybridchallenger) {
10991 tryct = 1000;
10992 flags.hybridchallenger = FALSE;
10993 flags.hybridization--;
10994 pline("You no longer have the challenger hybrid race.");
10996 break;
10997 case 44:
10998 if (flags.hybridhardmoder) {
10999 tryct = 1000;
11000 flags.hybridhardmoder = FALSE;
11001 flags.hybridization--;
11002 pline("You no longer have the hardmoder hybrid race.");
11004 break;
11005 case 45:
11006 if (flags.hybridstunfish) {
11007 tryct = 1000;
11008 flags.hybridstunfish = FALSE;
11009 flags.hybridization--;
11010 pline("You no longer have the stunned-like-a-fish hybrid race.");
11012 break;
11013 case 46:
11014 if (flags.hybridkillfiller) {
11015 tryct = 1000;
11016 flags.hybridkillfiller = FALSE;
11017 flags.hybridization--;
11018 pline("You no longer have the killfiller hybrid race.");
11020 break;
11021 case 47:
11022 if (flags.hybridbadstatter) {
11023 tryct = 1000;
11024 flags.hybridbadstatter = FALSE;
11025 flags.hybridization--;
11026 pline("You no longer have the badstatter hybrid race.");
11028 break;
11029 case 48:
11030 if (flags.hybriddroughter) {
11031 tryct = 1000;
11032 flags.hybriddroughter = FALSE;
11033 flags.hybridization--;
11034 pline("You no longer have the droughter hybrid race.");
11036 break;
11037 case 49:
11038 if (flags.hybridvanillaoid) {
11039 tryct = 1000;
11040 flags.hybridvanillaoid = FALSE;
11041 flags.hybridization--;
11042 pline("You no longer have the vanillaoid hybrid race.");
11044 break;
11046 } /* end switch case */
11049 } else {
11051 while (tryct++ < 1000) {
11053 switch (rnd(49)) {
11055 case 1:
11056 if (!flags.hybridangbander) {
11057 tryct = 1000;
11058 flags.hybridangbander = TRUE;
11059 flags.hybridization++;
11060 pline("You now have the angbander hybrid race.");
11062 break;
11063 case 2:
11064 if (!flags.hybridaquarian) {
11065 tryct = 1000;
11066 flags.hybridaquarian = TRUE;
11067 flags.hybridization++;
11068 pline("You now have the aquarian hybrid race.");
11070 break;
11071 case 3:
11072 if (!flags.hybridcurser) {
11073 tryct = 1000;
11074 flags.hybridcurser = TRUE;
11075 flags.hybridization++;
11076 pline("You now have the curser hybrid race.");
11078 break;
11079 case 4:
11080 if (!flags.hybridhaxor) {
11081 tryct = 1000;
11082 flags.hybridhaxor = TRUE;
11083 flags.hybridization++;
11084 pline("You now have the haxor hybrid race.");
11086 break;
11087 case 5:
11088 if (!flags.hybridhomicider) {
11089 tryct = 1000;
11090 flags.hybridhomicider = TRUE;
11091 flags.hybridization++;
11092 pline("You now have the homicider hybrid race.");
11094 break;
11095 case 6:
11096 if (!flags.hybridsuxxor) {
11097 tryct = 1000;
11098 flags.hybridsuxxor = TRUE;
11099 flags.hybridization++;
11100 pline("You now have the suxxor hybrid race.");
11102 break;
11103 case 7:
11104 if (!flags.hybridwarper) {
11105 tryct = 1000;
11106 flags.hybridwarper = TRUE;
11107 flags.hybridization++;
11108 pline("You now have the warper hybrid race.");
11110 break;
11111 case 8:
11112 if (!flags.hybridrandomizer) {
11113 tryct = 1000;
11114 flags.hybridrandomizer = TRUE;
11115 flags.hybridization++;
11116 pline("You now have the randomizer hybrid race.");
11118 break;
11119 case 9:
11120 if (!flags.hybridnullrace) {
11121 tryct = 1000;
11122 flags.hybridnullrace = TRUE;
11123 flags.hybridization++;
11124 pline("You now have the null hybrid race.");
11126 break;
11127 case 10:
11128 if (!flags.hybridmazewalker) {
11129 tryct = 1000;
11130 flags.hybridmazewalker = TRUE;
11131 flags.hybridization++;
11132 pline("You now have the mazewalker hybrid race.");
11134 break;
11135 case 11:
11136 if (!flags.hybridsoviet) {
11137 tryct = 1000;
11138 flags.hybridsoviet = TRUE;
11139 flags.hybridization++;
11140 pline("You now have the soviet hybrid race.");
11142 break;
11143 case 12:
11144 if (!flags.hybridxrace) {
11145 tryct = 1000;
11146 flags.hybridxrace = TRUE;
11147 flags.hybridization++;
11148 pline("You now have the x-race hybrid race.");
11150 break;
11151 case 13:
11152 if (!flags.hybridheretic) {
11153 tryct = 1000;
11154 flags.hybridheretic = TRUE;
11155 flags.hybridization++;
11156 pline("You now have the heretic hybrid race.");
11158 break;
11159 case 14:
11160 if (!flags.hybridsokosolver) {
11161 tryct = 1000;
11162 flags.hybridsokosolver = TRUE;
11163 flags.hybridization++;
11164 pline("You now have the sokosolver hybrid race.");
11166 break;
11167 case 15:
11168 if (!flags.hybridspecialist) {
11169 tryct = 1000;
11170 flags.hybridspecialist = TRUE;
11171 flags.hybridization++;
11172 pline("You now have the specialist hybrid race.");
11174 break;
11175 case 16:
11176 if (!flags.hybridamerican) {
11177 tryct = 1000;
11178 flags.hybridamerican = TRUE;
11179 flags.hybridization++;
11180 pline("You now have the american hybrid race.");
11182 break;
11183 case 17:
11184 if (!flags.hybridminimalist) {
11185 tryct = 1000;
11186 flags.hybridminimalist = TRUE;
11187 flags.hybridization++;
11188 pline("You now have the minimalist hybrid race.");
11190 break;
11191 case 18:
11192 if (!flags.hybridnastinator) {
11193 tryct = 1000;
11194 flags.hybridnastinator = TRUE;
11195 flags.hybridization++;
11196 pline("You now have the nastinator hybrid race.");
11198 break;
11199 case 19:
11200 if (!flags.hybridrougelike) {
11201 tryct = 1000;
11202 flags.hybridrougelike = TRUE;
11203 flags.hybridization++;
11204 pline("You now have the rougelike hybrid race.");
11206 break;
11207 case 20:
11208 if (!flags.hybridsegfaulter) {
11209 tryct = 1000;
11210 flags.hybridsegfaulter = TRUE;
11211 flags.hybridization++;
11212 pline("You now have the segfaulter hybrid race. Oh no, the game's gonna crash!");
11214 break;
11215 case 21:
11216 if (!flags.hybridironman) {
11217 tryct = 1000;
11218 flags.hybridironman = TRUE;
11219 flags.hybridization++;
11220 pline("You now have the ironman hybrid race.");
11222 break;
11223 case 22:
11224 if (!flags.hybridamnesiac) {
11225 tryct = 1000;
11226 flags.hybridamnesiac = TRUE;
11227 flags.hybridization++;
11228 pline("You now have the amnesiac hybrid race.");
11230 break;
11231 case 23:
11232 if (!flags.hybridproblematic) {
11233 tryct = 1000;
11234 flags.hybridproblematic = TRUE;
11235 flags.hybridization++;
11236 pline("You now have the problematic hybrid race.");
11238 break;
11239 case 24:
11240 if (!flags.hybridwindinhabitant) {
11241 tryct = 1000;
11242 flags.hybridwindinhabitant = TRUE;
11243 flags.hybridization++;
11244 pline("You now have the wind inhabitant hybrid race.");
11246 break;
11247 case 25:
11248 if (!flags.hybridaggravator) {
11249 tryct = 1000;
11250 flags.hybridaggravator = TRUE;
11251 flags.hybridization++;
11252 pline("You now have the aggravator hybrid race.");
11254 break;
11255 case 26:
11256 if (!flags.hybridevilvariant) {
11257 tryct = 1000;
11258 flags.hybridevilvariant = TRUE;
11259 flags.hybridization++;
11260 pline("You now have the evilvariant hybrid race.");
11262 break;
11263 case 27:
11264 if (!flags.hybridlevelscaler) {
11265 tryct = 1000;
11266 flags.hybridlevelscaler = TRUE;
11267 flags.hybridization++;
11268 pline("You now have the levelscaler hybrid race.");
11270 break;
11271 case 28:
11272 if (!flags.hybriderosator) {
11273 tryct = 1000;
11274 flags.hybriderosator = TRUE;
11275 flags.hybridization++;
11276 pline("You now have the erosator hybrid race.");
11278 break;
11279 case 29:
11280 if (!flags.hybridroommate) {
11281 tryct = 1000;
11282 flags.hybridroommate = TRUE;
11283 flags.hybridization++;
11284 pline("You now have the roommate hybrid race.");
11286 break;
11287 case 30:
11288 if (!flags.hybridextravator) {
11289 tryct = 1000;
11290 flags.hybridextravator = TRUE;
11291 flags.hybridization++;
11292 pline("You now have the extravator hybrid race.");
11294 break;
11295 case 31:
11296 if (!flags.hybridhallucinator) {
11297 tryct = 1000;
11298 flags.hybridhallucinator = TRUE;
11299 flags.hybridization++;
11300 pline("You now have the hallucinator hybrid race.");
11302 break;
11303 case 32:
11304 if (!flags.hybridbossrusher) {
11305 tryct = 1000;
11306 flags.hybridbossrusher = TRUE;
11307 flags.hybridization++;
11308 pline("You now have the bossrusher hybrid race.");
11310 break;
11311 case 33:
11312 if (!flags.hybriddorian) {
11313 tryct = 1000;
11314 flags.hybriddorian = TRUE;
11315 flags.hybridization++;
11316 pline("You now have the dorian hybrid race.");
11318 break;
11319 case 34:
11320 if (!flags.hybridtechless) {
11321 tryct = 1000;
11322 flags.hybridtechless = TRUE;
11323 flags.hybridization++;
11324 pline("You now have the techless hybrid race.");
11326 break;
11327 case 35:
11328 if (!flags.hybridblait) {
11329 tryct = 1000;
11330 flags.hybridblait = TRUE;
11331 flags.hybridization++;
11332 pline("You now have the blait hybrid race.");
11334 break;
11335 case 36:
11336 if (!flags.hybridgrouper) {
11337 tryct = 1000;
11338 flags.hybridgrouper = TRUE;
11339 flags.hybridization++;
11340 pline("You now have the grouper hybrid race.");
11342 break;
11343 case 37:
11344 if (!flags.hybridscriptor) {
11345 tryct = 1000;
11346 flags.hybridscriptor = TRUE;
11347 flags.hybridization++;
11348 pline("You now have the scriptor hybrid race.");
11350 break;
11351 case 38:
11352 if (!flags.hybridunbalancor) {
11353 tryct = 1000;
11354 flags.hybridunbalancor = TRUE;
11355 flags.hybridization++;
11356 pline("You now have the unbalancor hybrid race.");
11358 break;
11359 case 39:
11360 if (!flags.hybridbeacher) {
11361 tryct = 1000;
11362 flags.hybridbeacher = TRUE;
11363 flags.hybridization++;
11364 pline("You now have the beacher hybrid race.");
11366 break;
11367 case 40:
11368 if (!flags.hybridstairseeker) {
11369 tryct = 1000;
11370 flags.hybridstairseeker = TRUE;
11371 flags.hybridization++;
11372 pline("You now have the stairseeker hybrid race.");
11374 break;
11375 case 41:
11376 if (!flags.hybridmatrayser) {
11377 tryct = 1000;
11378 flags.hybridmatrayser = TRUE;
11379 flags.hybridization++;
11380 pline("You now have the matrayser hybrid race.");
11382 break;
11383 case 42:
11384 if (!flags.hybridfeminizer) {
11385 tryct = 1000;
11386 flags.hybridfeminizer = TRUE;
11387 flags.hybridization++;
11388 pline("You now have the feminizer hybrid race.");
11390 break;
11391 case 43:
11392 if (!flags.hybridchallenger) {
11393 tryct = 1000;
11394 flags.hybridchallenger = TRUE;
11395 flags.hybridization++;
11396 pline("You now have the challenger hybrid race.");
11398 break;
11399 case 44:
11400 if (!flags.hybridhardmoder) {
11401 tryct = 1000;
11402 flags.hybridhardmoder = TRUE;
11403 flags.hybridization++;
11404 pline("You now have the hardmoder hybrid race.");
11406 break;
11407 case 45:
11408 if (!flags.hybridstunfish) {
11409 tryct = 1000;
11410 flags.hybridstunfish = TRUE;
11411 flags.hybridization++;
11412 pline("You now have the stunned-like-a-fish hybrid race.");
11414 break;
11415 case 46:
11416 if (!flags.hybridkillfiller) {
11417 tryct = 1000;
11418 flags.hybridkillfiller = TRUE;
11419 flags.hybridization++;
11420 pline("You now have the killfiller hybrid race.");
11422 break;
11423 case 47:
11424 if (!flags.hybridbadstatter) {
11425 tryct = 1000;
11426 flags.hybridbadstatter = TRUE;
11427 flags.hybridization++;
11428 pline("You now have the badstatter hybrid race.");
11430 break;
11431 case 48:
11432 if (!flags.hybriddroughter) {
11433 tryct = 1000;
11434 flags.hybriddroughter = TRUE;
11435 flags.hybridization++;
11436 pline("You now have the droughter hybrid race.");
11438 break;
11439 case 49:
11440 if (!flags.hybridvanillaoid) {
11441 tryct = 1000;
11442 flags.hybridvanillaoid = TRUE;
11443 flags.hybridization++;
11444 pline("You now have the vanillaoid hybrid race.");
11446 break;
11448 } /* end switch case */
11454 flags.botl = TRUE;
11457 void
11458 recursioneffect()
11460 u.temprecursion = 0;
11461 u.temprecursiontime = 0;
11462 u.demagoguerecursion = 0;
11463 u.demagoguerecursiontime = 0;
11464 u.oldrecursionrole = -1;
11465 u.oldrecursionrace = -1;
11467 boolean waspolyd = Upolyd;
11468 int polymonnum = u.umonnum;
11470 if (!rn2(4)) {
11472 flags.initrole = randrole();
11473 flags.initrace = randrace(flags.initrole);
11474 urole = roles[flags.initrole];
11475 urace = races[flags.initrace];
11477 pline("You suddenly feel like a completely different person!");
11478 pline("You're a %s %s now!", urace.noun, (flags.female && urole.name.f) ? urole.name.f : urole.name.m);
11480 } else if (!rn2(2)) {
11482 flags.initrole = randrole();
11483 urole = roles[flags.initrole];
11485 pline("You suddenly feel like you have a different profession!");
11486 pline("You're a %s now!", (flags.female && urole.name.f) ? urole.name.f : urole.name.m);
11488 } else {
11490 flags.initrace = randrace(flags.initrole);
11491 urace = races[flags.initrace];
11493 pline("You suddenly feel like your genes got exchanged!");
11494 pline("You're a %s now!", urace.noun);
11498 /* set it all up properly... this is such a pain in the butt --Amy */
11500 u.umonnum = u.umonster = (flags.female && urole.femalenum != NON_PM) ? urole.femalenum : urole.malenum;
11502 init_uasmon();
11504 if (waspolyd) {
11505 u.umonnum = polymonnum;
11506 set_uasmon();
11509 if (Race_if(PM_UNGENOMOLD) && !Upolyd) polyself(FALSE);
11511 flags.botl = TRUE;
11514 void
11515 rolerecursioneffect()
11517 u.temprecursion = 0;
11518 u.temprecursiontime = 0;
11519 u.demagoguerecursion = 0;
11520 u.demagoguerecursiontime = 0;
11521 u.oldrecursionrole = -1;
11522 u.oldrecursionrace = -1;
11524 flags.initrole = randrole();
11525 urole = roles[flags.initrole];
11527 init_uasmon();
11529 flags.botl = TRUE;
11532 void
11533 greenslimetransformation()
11535 u.temprecursion = 0;
11536 u.temprecursiontime = 0;
11537 u.demagoguerecursion = 0;
11538 u.demagoguerecursiontime = 0;
11539 u.oldrecursionrole = -1;
11540 u.oldrecursionrace = -1;
11542 flags.initrace = str2race("Sli");
11543 urace = races[flags.initrace];
11545 init_uasmon();
11547 flags.botl = TRUE;
11550 void
11551 bindertransformation()
11553 u.temprecursion = 0;
11554 u.temprecursiontime = 0;
11555 u.demagoguerecursion = 0;
11556 u.demagoguerecursiontime = 0;
11557 u.oldrecursionrole = -1;
11558 u.oldrecursionrace = -1;
11560 flags.initrole = str2role("Bin");
11561 urole = roles[flags.initrole];
11563 init_uasmon();
11565 flags.botl = TRUE;
11568 void
11569 feministtransformation()
11571 u.temprecursion = 0;
11572 u.temprecursiontime = 0;
11573 u.demagoguerecursion = 0;
11574 u.demagoguerecursiontime = 0;
11575 u.oldrecursionrole = -1;
11576 u.oldrecursionrace = -1;
11578 flags.initrole = str2role("Fem");
11579 urole = roles[flags.initrole];
11581 init_uasmon();
11583 flags.botl = TRUE;
11586 void
11587 temprecursioneffect()
11589 u.temprecursiontime = rnz(2500 + rnd(5000));
11590 u.temprecursion = 1;
11591 u.demagoguerecursion = 0;
11592 u.demagoguerecursiontime = 0;
11594 if (!rn2(4)) {
11596 u.oldrecursionrole = flags.initrole;
11597 u.oldrecursionrace = flags.initrace;
11598 flags.initrole = randrole();
11599 flags.initrace = randrace(flags.initrole);
11600 urole = roles[flags.initrole];
11601 urace = races[flags.initrace];
11603 pline("You temporarily feel like someone else!");
11604 pline("You're temporarily a %s %s now!", urace.noun, (flags.female && urole.name.f) ? urole.name.f : urole.name.m);
11606 } else if (!rn2(2)) {
11608 u.oldrecursionrole = flags.initrole;
11609 u.oldrecursionrace = -1;
11610 flags.initrole = randrole();
11611 urole = roles[flags.initrole];
11613 pline("You suddenly feel like trying another profession for a while!");
11614 pline("You're temporarily a %s now!", (flags.female && urole.name.f) ? urole.name.f : urole.name.m);
11616 } else {
11618 u.oldrecursionrace = flags.initrace;
11619 u.oldrecursionrole = -1;
11620 flags.initrace = randrace(flags.initrole);
11621 urace = races[flags.initrace];
11623 pline("You suddenly feel a genetic injection!");
11624 pline("You're temporarily a %s now!", urace.noun);
11628 init_uasmon();
11630 if (Race_if(PM_UNGENOMOLD) && !Upolyd) polyself(FALSE);
11632 flags.botl = TRUE;
11635 void
11636 climrecursioneffect()
11638 if (u.temprecursion) return;
11639 u.demagoguerecursion = 0;
11640 u.demagoguerecursiontime = 0;
11642 u.temprecursiontime = 1000;
11643 u.temprecursion = 1;
11645 u.oldrecursionrace = flags.initrace;
11646 u.oldrecursionrole = -1;
11647 flags.initrace = randrace(flags.initrole);
11648 urace = races[flags.initrace];
11649 pline("You suddenly feel a genetic injection!");
11650 pline("You're temporarily a %s now!", urace.noun);
11652 init_uasmon();
11654 if (Race_if(PM_UNGENOMOLD) && !Upolyd) polyself(FALSE);
11656 flags.botl = TRUE;
11659 void
11660 demagoguerecursioneffect()
11662 u.demagoguerecursiontime = rnz(250);
11663 u.demagoguerecursion = 1;
11665 u.oldrecursionrole = flags.initrole;
11666 u.oldrecursionrace = -1;
11667 flags.initrole = randrole();
11668 urole = roles[flags.initrole];
11670 pline("You turn into a %s!", (flags.female && urole.name.f) ? urole.name.f : urole.name.m);
11672 init_uasmon();
11674 if (Race_if(PM_UNGENOMOLD) && !Upolyd) polyself(FALSE);
11676 flags.botl = TRUE;
11679 void
11680 rigid_role_checks()
11682 /* Some roles are limited to a single race, alignment, or gender and
11683 * calling this routine prior to XXX_player_selection() will help
11684 * prevent an extraneous prompt that actually doesn't allow
11685 * you to choose anything further. Note the use of PICK_RIGID which
11686 * causes the pick_XX() routine to return a value only if there is one
11687 * single possible selection, otherwise it returns ROLE_NONE.
11690 if (flags.initrole == ROLE_RANDOM) {
11691 /* If the role was explicitly specified as ROLE_RANDOM
11692 * via -uXXXX-@ then choose the role in here to narrow down
11693 * later choices. Pick a random role in this case.
11695 flags.initrole = pick_role(flags.initrace, flags.initgend,
11696 flags.initalign, PICK_RANDOM);
11697 if (flags.initrole < 0)
11698 flags.initrole = randrole();
11700 if (flags.initrole != ROLE_NONE) {
11701 if (flags.initrace == ROLE_NONE)
11702 flags.initrace = pick_race(flags.initrole, flags.initgend,
11703 flags.initalign, PICK_RIGID);
11704 if (flags.initalign == ROLE_NONE)
11705 flags.initalign = pick_align(flags.initrole, flags.initrace,
11706 flags.initgend, PICK_RIGID);
11707 if (flags.initgend == ROLE_NONE)
11708 flags.initgend = pick_gend(flags.initrole, flags.initrace,
11709 flags.initalign, PICK_RIGID);
11713 #define BP_ALIGN 0
11714 #define BP_GEND 1
11715 #define BP_RACE 2
11716 #define BP_ROLE 3
11717 #define NUM_BP 4
11719 STATIC_VAR char pa[NUM_BP], post_attribs;
11721 STATIC_OVL char *
11722 promptsep(buf, num_post_attribs)
11723 char *buf;
11724 int num_post_attribs;
11726 const char *conj = "and ";
11727 if (num_post_attribs > 1
11728 && post_attribs < num_post_attribs && post_attribs > 1)
11729 strcat(buf, ",");
11730 strcat(buf, " ");
11731 --post_attribs;
11732 if (!post_attribs && num_post_attribs > 1) strcat(buf, conj);
11733 return buf;
11736 STATIC_OVL int
11737 role_gendercount(rolenum)
11738 int rolenum;
11740 int gendcount = 0;
11741 if (validrole(rolenum)) {
11742 if (roles[rolenum].allow & ROLE_MALE) ++gendcount;
11743 if (roles[rolenum].allow & ROLE_FEMALE) ++gendcount;
11744 if (roles[rolenum].allow & ROLE_NEUTER) ++gendcount;
11746 return gendcount;
11749 STATIC_OVL int
11750 race_alignmentcount(racenum)
11751 int racenum;
11753 int aligncount = 0;
11754 if (racenum != ROLE_NONE && racenum != ROLE_RANDOM) {
11755 if (races[racenum].allow & ROLE_CHAOTIC) ++aligncount;
11756 if (races[racenum].allow & ROLE_LAWFUL) ++aligncount;
11757 if (races[racenum].allow & ROLE_NEUTRAL) ++aligncount;
11759 return aligncount;
11762 char *
11763 root_plselection_prompt(suppliedbuf, buflen, rolenum, racenum, gendnum, alignnum)
11764 char *suppliedbuf;
11765 int buflen, rolenum, racenum, gendnum, alignnum;
11767 int k, gendercount = 0, aligncount = 0;
11768 char buf[BUFSZ];
11769 static char err_ret[] = " character's";
11770 boolean donefirst = FALSE;
11772 if (!suppliedbuf || buflen < 1) return err_ret;
11774 /* initialize these static variables each time this is called */
11775 post_attribs = 0;
11776 for (k=0; k < NUM_BP; ++k)
11777 pa[k] = 0;
11778 buf[0] = '\0';
11779 *suppliedbuf = '\0';
11781 /* How many alignments are allowed for the desired race? */
11782 if (racenum != ROLE_NONE && racenum != ROLE_RANDOM)
11783 aligncount = race_alignmentcount(racenum);
11785 if (alignnum != ROLE_NONE && alignnum != ROLE_RANDOM) {
11786 /* if race specified, and multiple choice of alignments for it */
11787 if ((racenum >= 0) && (aligncount > 1)) {
11788 if (donefirst) strcat(buf, " ");
11789 strcat(buf, aligns[alignnum].adj);
11790 donefirst = TRUE;
11791 } else {
11792 if (donefirst) strcat(buf, " ");
11793 strcat(buf, aligns[alignnum].adj);
11794 donefirst = TRUE;
11796 } else {
11797 /* if alignment not specified, but race is specified
11798 and only one choice of alignment for that race then
11799 don't include it in the later list */
11800 if ((((racenum != ROLE_NONE && racenum != ROLE_RANDOM) &&
11801 ok_race(rolenum, racenum, gendnum, alignnum))
11802 && (aligncount > 1))
11803 || (racenum == ROLE_NONE || racenum == ROLE_RANDOM)) {
11804 pa[BP_ALIGN] = 1;
11805 post_attribs++;
11808 /* <your lawful> */
11810 /* How many genders are allowed for the desired role? */
11811 if (validrole(rolenum))
11812 gendercount = role_gendercount(rolenum);
11814 if (gendnum != ROLE_NONE && gendnum != ROLE_RANDOM) {
11815 if (validrole(rolenum)) {
11816 /* if role specified, and multiple choice of genders for it,
11817 and name of role itself does not distinguish gender */
11818 if ((rolenum != ROLE_NONE) && (gendercount > 1)
11819 && !roles[rolenum].name.f) {
11820 if (donefirst) strcat(buf, " ");
11821 strcat(buf, genders[gendnum].adj);
11822 donefirst = TRUE;
11824 } else {
11825 if (donefirst) strcat(buf, " ");
11826 strcat(buf, genders[gendnum].adj);
11827 donefirst = TRUE;
11829 } else {
11830 /* if gender not specified, but role is specified
11831 and only one choice of gender then
11832 don't include it in the later list */
11833 if ((validrole(rolenum) && (gendercount > 1)) || !validrole(rolenum)) {
11834 pa[BP_GEND] = 1;
11835 post_attribs++;
11838 /* <your lawful female> */
11840 if (racenum != ROLE_NONE && racenum != ROLE_RANDOM) {
11841 if (validrole(rolenum) && ok_race(rolenum, racenum, gendnum, alignnum)) {
11842 if (donefirst) strcat(buf, " ");
11843 strcat(buf, (rolenum == ROLE_NONE) ?
11844 races[racenum].noun :
11845 races[racenum].adj);
11846 donefirst = TRUE;
11847 } else if (!validrole(rolenum)) {
11848 if (donefirst) strcat(buf, " ");
11849 strcat(buf, races[racenum].noun);
11850 donefirst = TRUE;
11851 } else {
11852 pa[BP_RACE] = 1;
11853 post_attribs++;
11855 } else {
11856 pa[BP_RACE] = 1;
11857 post_attribs++;
11859 /* <your lawful female gnomish> || <your lawful female gnome> */
11861 if (validrole(rolenum)) {
11862 if (donefirst) strcat(buf, " ");
11863 if (gendnum != ROLE_NONE) {
11864 if (gendnum == 1 && roles[rolenum].name.f)
11865 strcat(buf, roles[rolenum].name.f);
11866 else
11867 strcat(buf, roles[rolenum].name.m);
11868 } else {
11869 if (roles[rolenum].name.f) {
11870 strcat(buf, roles[rolenum].name.m);
11871 strcat(buf, "/");
11872 strcat(buf, roles[rolenum].name.f);
11873 } else
11874 strcat(buf, roles[rolenum].name.m);
11876 donefirst = TRUE;
11877 } else if (rolenum == ROLE_NONE) {
11878 pa[BP_ROLE] = 1;
11879 post_attribs++;
11882 if ((racenum == ROLE_NONE || racenum == ROLE_RANDOM) && !validrole(rolenum)) {
11883 if (donefirst) strcat(buf, " ");
11884 strcat(buf, "character");
11885 donefirst = TRUE;
11887 /* <your lawful female gnomish cavewoman> || <your lawful female gnome>
11888 * || <your lawful female character>
11890 if (buflen > (int) (strlen(buf) + 1)) {
11891 strcpy(suppliedbuf, buf);
11892 return suppliedbuf;
11893 } else
11894 return err_ret;
11897 char *
11898 build_plselection_prompt(buf, buflen, rolenum, racenum, gendnum, alignnum)
11899 char *buf;
11900 int buflen, rolenum, racenum, gendnum, alignnum;
11902 const char *defprompt = "Shall I pick a character for you? [ynq] ";
11903 int num_post_attribs = 0;
11904 char tmpbuf[BUFSZ];
11906 if (buflen < QBUFSZ)
11907 return (char *)defprompt;
11909 strcpy(tmpbuf, "Shall I pick ");
11910 if (racenum != ROLE_NONE || validrole(rolenum))
11911 strcat(tmpbuf, "your ");
11912 else {
11913 strcat(tmpbuf, "a ");
11915 /* <your> */
11917 (void) root_plselection_prompt(eos(tmpbuf), buflen - strlen(tmpbuf),
11918 rolenum, racenum, gendnum, alignnum);
11919 sprintf(buf, "%s", s_suffix(tmpbuf));
11921 /* buf should now be:
11922 * < your lawful female gnomish cavewoman's> || <your lawful female gnome's>
11923 * || <your lawful female character's>
11925 * Now append the post attributes to it
11928 num_post_attribs = post_attribs;
11929 if (post_attribs) {
11930 if (pa[BP_RACE]) {
11931 (void) promptsep(eos(buf), num_post_attribs);
11932 strcat(buf, "race");
11934 if (pa[BP_ROLE]) {
11935 (void) promptsep(eos(buf), num_post_attribs);
11936 strcat(buf, "role");
11938 if (pa[BP_GEND]) {
11939 (void) promptsep(eos(buf), num_post_attribs);
11940 strcat(buf, "gender");
11942 if (pa[BP_ALIGN]) {
11943 (void) promptsep(eos(buf), num_post_attribs);
11944 strcat(buf, "alignment");
11947 strcat(buf, " for you? [ynq] ");
11948 return buf;
11951 #undef BP_ALIGN
11952 #undef BP_GEND
11953 #undef BP_RACE
11954 #undef BP_ROLE
11955 #undef NUM_BP
11957 void
11958 plnamesuffix()
11960 char *sptr, *eptr;
11961 int i;
11963 /* Look for tokens delimited by '-' */
11964 if ((eptr = index(plname, '-')) != (char *) 0)
11965 *eptr++ = '\0';
11966 while (eptr) {
11967 /* Isolate the next token */
11968 sptr = eptr;
11969 if ((eptr = index(sptr, '-')) != (char *)0)
11970 *eptr++ = '\0';
11972 /* Try to match it to something */
11973 if ((i = str2role(sptr)) != ROLE_NONE)
11974 flags.initrole = i;
11975 else if ((i = str2race(sptr)) != ROLE_NONE)
11976 flags.initrace = i;
11977 else if ((i = str2gend(sptr)) != ROLE_NONE)
11978 flags.initgend = i;
11979 else if ((i = str2align(sptr)) != ROLE_NONE)
11980 flags.initalign = i;
11982 if(!plname[0]) {
11983 askname();
11984 plnamesuffix();
11987 /* commas in the plname confuse the record file, convert to spaces */
11988 for (sptr = plname; *sptr; sptr++) {
11989 if (*sptr == ',') *sptr = ' ';
11994 * Special setup modifications here:
11996 * Unfortunately, this is going to have to be done
11997 * on each newgame or restore, because you lose the permonst mods
11998 * across a save/restore. :-)
12000 * 1 - The Rogue Leader is the Tourist Nemesis.
12001 * 2 - Priests start with a random alignment - convert the leader and
12002 * guardians here.
12003 * 3 - Elves can have one of two different leaders, but can't work it
12004 * out here because it requires hacking the level file data (see
12005 * sp_lev.c).
12007 * This code also replaces quest_init().
12009 void
12010 role_init()
12012 int alignmnt;
12014 /* Strip the role letter out of the player name.
12015 * This is included for backwards compatibility.
12017 plnamesuffix();
12019 /* Check for a valid role. Try flags.initrole first. */
12020 if (!validrole(flags.initrole)) {
12021 /* Try the player letter second */
12022 if ((flags.initrole = str2role(pl_character)) < 0)
12023 /* None specified; pick a random role */
12024 flags.initrole = randrole();
12027 /* We now have a valid role index. Copy the role name back. */
12028 /* This should become OBSOLETE */
12029 strcpy(pl_character, roles[flags.initrole].name.m);
12030 pl_character[PL_CSIZ-1] = '\0';
12032 /* Check for a valid race */
12033 if (!validrace(flags.initrole, flags.initrace))
12034 flags.initrace = randrace(flags.initrole);
12036 /* Check for a valid gender. If new game, check both initgend
12037 * and female. On restore, assume flags.female is correct. */
12038 if (flags.pantheon == -1) { /* new game */
12039 if (!validgend(flags.initrole, flags.initrace, flags.female))
12040 flags.female = !flags.female;
12042 if (!validgend(flags.initrole, flags.initrace, flags.initgend))
12043 /* Note that there is no way to check for an unspecified gender. */
12044 flags.initgend = flags.female;
12046 /* Check for a valid alignment */
12047 if (!validalign(flags.initrole, flags.initrace, flags.initalign))
12048 /* Pick a random alignment */
12049 flags.initalign = randalign(flags.initrole, flags.initrace);
12050 alignmnt = aligns[flags.initalign].value;
12052 /* Initialize urole and urace */
12053 urole = roles[flags.initrole];
12054 urace = races[flags.initrace];
12055 ustartrole = roles[flags.startingrole];
12056 ustartrace = races[flags.startingrace];
12058 /* Fix up the quest leader */
12059 if (urole.ldrnum != NON_PM) {
12060 mons[urole.ldrnum].msound = MS_LEADER;
12061 mons[urole.ldrnum].mflags2 |= (M2_PEACEFUL);
12062 mons[urole.ldrnum].mflags3 |= M3_CLOSE;
12063 mons[urole.ldrnum].maligntyp = alignmnt * 3;
12066 /* Fix up the quest guardians */
12067 if (urole.guardnum != NON_PM) {
12068 mons[urole.guardnum].mflags2 |= (M2_PEACEFUL);
12069 mons[urole.guardnum].maligntyp = alignmnt * 3;
12072 /* Fix up the quest nemesis */
12073 if (urole.neminum != NON_PM) {
12074 mons[urole.neminum].msound = MS_NEMESIS;
12075 mons[urole.neminum].mflags2 &= ~(M2_PEACEFUL);
12076 mons[urole.neminum].mflags2 |= (M2_NASTY|M2_STALK|M2_HOSTILE);
12077 mons[urole.neminum].mflags3 |= M3_WANTSARTI | M3_WAITFORU;
12080 /* Fix up the god names */
12081 if (flags.pantheon == -1) { /* new game */
12083 flags.pantheon = flags.initrole; /* use own gods */
12084 while (!roles[flags.pantheon].lgod) /* unless they're missing */
12085 flags.pantheon = randrole();
12087 if (!urole.lgod && !isheretic ) {
12088 urole.lgod = roles[flags.pantheon].lgod;
12089 urole.ngod = roles[flags.pantheon].ngod;
12090 urole.cgod = roles[flags.pantheon].cgod;
12092 /*if (Race_if(PM_HERETIC) ) {
12093 urole.lgod = roles[u.uhereticgodlawful].lgod;
12094 urole.ngod = roles[u.uhereticgodneutral].ngod;
12095 urole.cgod = roles[u.uhereticgodchaotic].cgod;
12097 u.uhereticlawfulnew = u.uhereticneutralnew = u.uhereticchaoticnew = 0;
12099 if (!rn2(3)) { urole.lgod = hereticgods[rn2(SIZE(hereticgods))]; u.uhereticlawfulnew = 1; }
12100 if (!rn2(3)) { urole.ngod = hereticgods[rn2(SIZE(hereticgods))]; u.uhereticneutralnew = 1; }
12101 if (!rn2(3)) { urole.cgod = hereticgods[rn2(SIZE(hereticgods))]; u.uhereticchaoticnew = 1; }
12104 #if 0 /* Now in polyself.c, init_uasmon() */
12105 /* Fix up infravision */
12106 if (mons[urace.malenum].mflags3 & M3_INFRAVISION) {
12107 /* although an infravision intrinsic is possible, infravision
12108 * is purely a property of the physical race. This means that we
12109 * must put the infravision flag in the player's current race
12110 * (either that or have separate permonst entries for
12111 * elven/non-elven members of each class). The side effect is that
12112 * all NPCs of that class will have (probably bogus) infravision,
12113 * but since infravision has no effect for NPCs anyway we can
12114 * ignore this.
12116 mons[urole.malenum].mflags3 |= M3_INFRAVISION;
12117 if (urole.femalenum != NON_PM)
12118 mons[urole.femalenum].mflags3 |= M3_INFRAVISION;
12120 #endif
12122 /* Artifacts are fixed in hack_artifacts() */
12124 /* Success! */
12125 return;
12128 const char *
12129 Hello(mtmp)
12130 struct monst *mtmp;
12132 if (isevilvariant) return("Palim-Palim"); /* idea by bhaak */
12134 if (issoviet || (youmonst.data->msound == MS_SOVIET)) {
12135 if (mtmp && mtmp->data == &mons[PM_SHOPKEEPER]) return("O, kakoy slabak");
12136 else return("Smekh novichok");
12138 if (youmonst.data->msound == MS_JAPANESE) {
12139 if (mtmp && mtmp->data == &mons[PM_SHOPKEEPER]) return("Irasshaimase");
12140 else return("Konnichi wa");
12143 switch (Role_switch) {
12144 case PM_KNIGHT:
12145 case PM_CHEVALIER:
12146 case PM_PALADIN:
12147 return ("Salutations"); /* Olde English */
12148 case PM_SAMURAI:
12149 case PM_NINJA:
12150 case PM_OTAKU:
12151 return (mtmp && mtmp->data == &mons[PM_SHOPKEEPER] ?
12152 "Irasshaimase" : "Konnichi wa"); /* Japanese */
12153 case PM_PIRATE:
12154 case PM_KORSAIR:
12155 return ("Ahoy");
12156 case PM_TOURIST:
12157 return ("Aloha"); /* Hawaiian */
12158 case PM_VALKYRIE:
12159 case PM_VANILLA_VALK:
12160 return (
12161 #ifdef MAIL
12162 mtmp && mtmp->data == &mons[PM_MAIL_DAEMON] ? "Hallo" :
12163 #endif
12164 "Velkommen"); /* Norse */
12165 default:
12166 return ("Hello");
12170 const char *
12171 Goodbye()
12173 if (isevilvariant) return("Buh-Bye");
12175 if (issoviet || (youmonst.data->msound == MS_SOVIET)) {
12176 return("Proshchay, neudachnik");
12178 if (youmonst.data->msound == MS_JAPANESE) {
12179 return("Sayonara");
12182 switch (Role_switch) {
12183 case PM_KNIGHT:
12184 case PM_CHEVALIER:
12185 case PM_PALADIN:
12186 return ("Fare thee well"); /* Olde English */
12187 case PM_SAMURAI:
12188 case PM_NINJA:
12189 case PM_OTAKU:
12190 return ("Sayonara"); /* Japanese */
12191 case PM_TOURIST:
12192 return ("Aloha"); /* Hawaiian */
12193 case PM_VALKYRIE:
12194 case PM_VANILLA_VALK:
12195 return ("Farvel"); /* Norse */
12196 default:
12197 return ("Goodbye");
12201 /* role.c */