1 2 /* File: tables.c */ 3 4 /* Purpose: Angband Tables */ 5 6 /* 7 * Copyright (c) 1989 James E. Wilson, Robert A. Koeneke 8 * 9 * This software may be copied and distributed for educational, research, and 10 * not for profit purposes provided that this copyright and statement are 11 * included in all such copies. 12 */ 13 14 #include "angband.h" 15 16 17 18 19 /* 20 * Global array for looping through the "keypad directions" 21 */ 22 const s16b ddd[9] = 23 { 2, 8, 6, 4, 3, 1, 9, 7, 5 }; 24 25 /* 26 * Global arrays for converting "keypad direction" into offsets 27 */ 28 const s16b ddx[10] = 29 { 0, -1, 0, 1, -1, 0, 1, -1, 0, 1 }; 30 31 const s16b ddy[10] = 32 { 0, 1, 1, 1, 0, 0, 0, -1, -1, -1 }; 33 34 /* 35 * Global arrays for optimizing "ddx[ddd[i]]" and "ddy[ddd[i]]" 36 */ 37 const s16b ddx_ddd[9] = 38 { 0, 0, 1, -1, 1, -1, 1, -1, 0 }; 39 40 const s16b ddy_ddd[9] = 41 { 1, -1, 0, 0, 1, 1, -1, -1, 0 }; 42 43 44 /* 45 * Circular keypad direction array 46 */ 47 const s16b cdd[8] = 48 { 2, 3, 6, 9, 8, 7, 4, 1 }; 49 50 /* 51 * Global arrays for optimizing "ddx[cdd[i]]" and "ddy[cdd[i]]" 52 */ 53 const s16b ddx_cdd[8] = 54 { 0, 1, 1, 1, 0, -1, -1, -1 }; 55 56 const s16b ddy_cdd[8] = 57 { 1, 1, 0, -1, -1, -1, 0, 1 }; 58 59 60 61 /* 62 * Global array for converting numbers to uppercase hecidecimal digit 63 * This array can also be used to convert a number to an octal digit 64 */ 65 const char hexsym[16] = 66 { 67 '0', '1', '2', '3', '4', '5', '6', '7', 68 '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' 69 }; 70 71 72 /* 73 * Encode the screen colors 74 */ 75 cptr color_char = "dwsorgbuDWvyRGBU"; 76 77 78 /* 79 * Stat Table (INT/WIS) -- Number of spells at level 50 80 */ 81 const byte adj_mag_study[] = 82 { 83 0 /* 3 */, 84 5 /* 4 */, 85 10 /* 5 */, 86 15 /* 6 */, 87 20 /* 7 */, 88 25 /* 8 */, 89 30 /* 9 */, 90 35 /* 10 */, 91 40 /* 11 */, 92 45 /* 12 */, 93 50 /* 13 */, 94 52 /* 14 */, 95 54 /* 15 */, 96 56 /* 16 */, 97 58 /* 17 */, 98 60 /* 18/00-18/09 */, 99 62 /* 18/10-18/19 */, 100 64 /* 18/20-18/29 */, 101 66 /* 18/30-18/39 */, 102 68 /* 18/40-18/49 */, 103 70 /* 18/50-18/59 */, 104 75 /* 18/60-18/69 */, 105 80 /* 18/70-18/79 */, 106 85 /* 18/80-18/89 */, 107 90 /* 18/90-18/99 */, 108 95 /* 18/100-18/109 */, 109 100 /* 18/110-18/119 */, 110 105 /* 18/120-18/129 */, 111 110 /* 18/130-18/139 */, 112 115 /* 18/140-18/149 */, 113 120 /* 18/150-18/159 */, 114 125 /* 18/160-18/169 */, 115 130 /* 18/170-18/179 */, 116 135 /* 18/180-18/189 */, 117 140 /* 18/190-18/199 */, 118 145 /* 18/200-18/209 */, 119 150 /* 18/210-18/219 */, 120 155 /* 18/220+ */ 121 }; 122 123 124 /* 125 * Stat Table (INT/WIS) -- extra mana at level 50 divided by 2. 126 */ 127 const byte adj_mag_mana[] = 128 { 129 0 /* 3 */, 130 0 /* 4 */, 131 2 /* 5 */, 132 5 /* 6 */, 133 7 /* 7 */, 134 10 /* 8 */, 135 12 /* 9 */, 136 15 /* 10 */, 137 17 /* 11 */, 138 20 /* 12 */, 139 22 /* 13 */, 140 25 /* 14 */, 141 27 /* 15 */, 142 30 /* 16 */, 143 32 /* 17 */, 144 35 /* 18/00-18/09 */, 145 39 /* 18/10-18/19 */, 146 43 /* 18/20-18/29 */, 147 47 /* 18/30-18/39 */, 148 52 /* 18/40-18/49 */, 149 57 /* 18/50-18/59 */, 150 62 /* 18/60-18/69 */, 151 67 /* 18/70-18/79 */, 152 72 /* 18/80-18/89 */, 153 78 /* 18/90-18/99 */, 154 84 /* 18/100-18/109 */, 155 90 /* 18/110-18/119 */, 156 96 /* 18/120-18/129 */, 157 102 /* 18/130-18/139 */, 158 109 /* 18/140-18/149 */, 159 116 /* 18/150-18/159 */, 160 123 /* 18/160-18/169 */, 161 130 /* 18/170-18/179 */, 162 137 /* 18/180-18/189 */, 163 145 /* 18/190-18/199 */, 164 153 /* 18/200-18/209 */, 165 161 /* 18/210-18/219 */, 166 170 /* 18/220+ */ 167 }; 168 169 170 /* 171 * Stat Table (INT/WIS) -- Minimum failure rate (percentage) 172 */ 173 const byte adj_mag_fail[] = 174 { 175 99 /* 3 */, 176 99 /* 4 */, 177 99 /* 5 */, 178 99 /* 6 */, 179 99 /* 7 */, 180 50 /* 8 */, 181 30 /* 9 */, 182 20 /* 10 */, 183 15 /* 11 */, 184 12 /* 12 */, 185 11 /* 13 */, 186 10 /* 14 */, 187 9 /* 15 */, 188 8 /* 16 */, 189 7 /* 17 */, 190 6 /* 18/00-18/09 */, 191 6 /* 18/10-18/19 */, 192 5 /* 18/20-18/29 */, 193 5 /* 18/30-18/39 */, 194 5 /* 18/40-18/49 */, 195 4 /* 18/50-18/59 */, 196 4 /* 18/60-18/69 */, 197 4 /* 18/70-18/79 */, 198 4 /* 18/80-18/89 */, 199 3 /* 18/90-18/99 */, 200 3 /* 18/100-18/109 */, 201 2 /* 18/110-18/119 */, 202 2 /* 18/120-18/129 */, 203 2 /* 18/130-18/139 */, 204 2 /* 18/140-18/149 */, 205 1 /* 18/150-18/159 */, 206 1 /* 18/160-18/169 */, 207 1 /* 18/170-18/179 */, 208 1 /* 18/180-18/189 */, 209 1 /* 18/190-18/199 */, 210 0 /* 18/200-18/209 */, 211 0 /* 18/210-18/219 */, 212 0 /* 18/220+ */ 213 }; 214 215 216 /* 217 * Stat Table (INT/WIS) -- Spell failure rates 218 */ 219 const byte adj_mag_stat[] = 220 { 221 0 /* 3 */, 222 0 /* 4 */, 223 0 /* 5 */, 224 1 /* 6 */, 225 1 /* 7 */, 226 2 /* 8 */, 227 2 /* 9 */, 228 3 /* 10 */, 229 3 /* 11 */, 230 4 /* 12 */, 231 4 /* 13 */, 232 5 /* 14 */, 233 5 /* 15 */, 234 6 /* 16 */, 235 6 /* 17 */, 236 7 /* 18/00-18/09 */, 237 7 /* 18/10-18/19 */, 238 8 /* 18/20-18/29 */, 239 9 /* 18/30-18/39 */, 240 10 /* 18/40-18/49 */, 241 11 /* 18/50-18/59 */, 242 12 /* 18/60-18/69 */, 243 15 /* 18/70-18/79 */, 244 18 /* 18/80-18/89 */, 245 21 /* 18/90-18/99 */, 246 24 /* 18/100-18/109 */, 247 27 /* 18/110-18/119 */, 248 30 /* 18/120-18/129 */, 249 33 /* 18/130-18/139 */, 250 36 /* 18/140-18/149 */, 251 39 /* 18/150-18/159 */, 252 42 /* 18/160-18/169 */, 253 45 /* 18/170-18/179 */, 254 48 /* 18/180-18/189 */, 255 51 /* 18/190-18/199 */, 256 54 /* 18/200-18/209 */, 257 57 /* 18/210-18/219 */, 258 60 /* 18/220+ */ 259 }; 260 261 262 /* 263 * Stat Table (CHR) -- payment percentages 264 */ 265 const byte adj_chr_gold[] = 266 { 267 140 /* 3 */, 268 135 /* 4 */, 269 132 /* 5 */, 270 130 /* 6 */, 271 128 /* 7 */, 272 126 /* 8 */, 273 124 /* 9 */, 274 122 /* 10 */, 275 120 /* 11 */, 276 118 /* 12 */, 277 116 /* 13 */, 278 114 /* 14 */, 279 113 /* 15 */, 280 112 /* 16 */, 281 111 /* 17 */, 282 110 /* 18/00-18/09 */, 283 109 /* 18/10-18/19 */, 284 108 /* 18/20-18/29 */, 285 107 /* 18/30-18/39 */, 286 106 /* 18/40-18/49 */, 287 105 /* 18/50-18/59 */, 288 104 /* 18/60-18/69 */, 289 103 /* 18/70-18/79 */, 290 102 /* 18/80-18/89 */, 291 101 /* 18/90-18/99 */, 292 100 /* 18/100-18/109 */, 293 99 /* 18/110-18/119 */, 294 98 /* 18/120-18/129 */, 295 97 /* 18/130-18/139 */, 296 96 /* 18/140-18/149 */, 297 95 /* 18/150-18/159 */, 298 94 /* 18/160-18/169 */, 299 93 /* 18/170-18/179 */, 300 92 /* 18/180-18/189 */, 301 91 /* 18/190-18/199 */, 302 90 /* 18/200-18/209 */, 303 89 /* 18/210-18/219 */, 304 88 /* 18/220+ */ 305 }; 306 307 308 /* 309 * Stat Table (INT) -- Magic devices 310 */ 311 const byte adj_int_dev[] = 312 { 313 0 /* 3 */, 314 0 /* 4 */, 315 0 /* 5 */, 316 0 /* 6 */, 317 0 /* 7 */, 318 1 /* 8 */, 319 1 /* 9 */, 320 1 /* 10 */, 321 1 /* 11 */, 322 1 /* 12 */, 323 1 /* 13 */, 324 1 /* 14 */, 325 2 /* 15 */, 326 2 /* 16 */, 327 2 /* 17 */, 328 3 /* 18/00-18/09 */, 329 3 /* 18/10-18/19 */, 330 4 /* 18/20-18/29 */, 331 4 /* 18/30-18/39 */, 332 5 /* 18/40-18/49 */, 333 5 /* 18/50-18/59 */, 334 6 /* 18/60-18/69 */, 335 6 /* 18/70-18/79 */, 336 7 /* 18/80-18/89 */, 337 7 /* 18/90-18/99 */, 338 8 /* 18/100-18/109 */, 339 9 /* 18/110-18/119 */, 340 10 /* 18/120-18/129 */, 341 11 /* 18/130-18/139 */, 342 12 /* 18/140-18/149 */, 343 13 /* 18/150-18/159 */, 344 14 /* 18/160-18/169 */, 345 15 /* 18/170-18/179 */, 346 16 /* 18/180-18/189 */, 347 17 /* 18/190-18/199 */, 348 18 /* 18/200-18/209 */, 349 19 /* 18/210-18/219 */, 350 20 /* 18/220+ */ 351 }; 352 353 354 /* 355 * Stat Table (WIS) -- Saving throw 356 */ 357 const byte adj_wis_sav[] = 358 { 359 128 + -20 /* 3 */, 360 128 + -17 /* 4 */, 361 128 + -14 /* 5 */, 362 128 + -11 /* 6 */, 363 128 + -8 /* 7 */, 364 128 + -5 /* 8 */, 365 128 + -2 /* 9 */, 366 128 + 0 /* 10 */, 367 128 + 2 /* 11 */, 368 128 + 5 /* 12 */, 369 128 + 8 /* 13 */, 370 128 + 10 /* 14 */, 371 128 + 13 /* 15 */, 372 128 + 15 /* 16 */, 373 128 + 18 /* 17 */, 374 128 + 20 /* 18/00-18/09 */, 375 128 + 22 /* 18/10-18/19 */, 376 128 + 25 /* 18/20-18/29 */, 377 128 + 27 /* 18/30-18/39 */, 378 128 + 29 /* 18/40-18/49 */, 379 128 + 31 /* 18/50-18/59 */, 380 128 + 33 /* 18/60-18/69 */, 381 128 + 35 /* 18/70-18/79 */, 382 128 + 37 /* 18/80-18/89 */, 383 128 + 39 /* 18/90-18/99 */, 384 128 + 41 /* 18/100-18/109 */, 385 128 + 43 /* 18/110-18/119 */, 386 128 + 45 /* 18/120-18/129 */, 387 128 + 46 /* 18/130-18/139 */, 388 128 + 48 /* 18/140-18/149 */, 389 128 + 50 /* 18/150-18/159 */, 390 128 + 51 /* 18/160-18/169 */, 391 128 + 53 /* 18/170-18/179 */, 392 128 + 54 /* 18/180-18/189 */, 393 128 + 56 /* 18/190-18/199 */, 394 128 + 57 /* 18/200-18/209 */, 395 128 + 58 /* 18/210-18/219 */, 396 128 + 60 /* 18/220+ */ 397 }; 398 399 400 /* 401 * Stat Table (DEX) -- disarming 402 */ 403 const byte adj_dex_dis[] = 404 { 405 0 /* 3 */, 406 0 /* 4 */, 407 0 /* 5 */, 408 0 /* 6 */, 409 0 /* 7 */, 410 0 /* 8 */, 411 0 /* 9 */, 412 0 /* 10 */, 413 0 /* 11 */, 414 0 /* 12 */, 415 1 /* 13 */, 416 1 /* 14 */, 417 1 /* 15 */, 418 2 /* 16 */, 419 2 /* 17 */, 420 4 /* 18/00-18/09 */, 421 4 /* 18/10-18/19 */, 422 4 /* 18/20-18/29 */, 423 4 /* 18/30-18/39 */, 424 5 /* 18/40-18/49 */, 425 5 /* 18/50-18/59 */, 426 5 /* 18/60-18/69 */, 427 6 /* 18/70-18/79 */, 428 6 /* 18/80-18/89 */, 429 7 /* 18/90-18/99 */, 430 8 /* 18/100-18/109 */, 431 8 /* 18/110-18/119 */, 432 8 /* 18/120-18/129 */, 433 8 /* 18/130-18/139 */, 434 8 /* 18/140-18/149 */, 435 9 /* 18/150-18/159 */, 436 9 /* 18/160-18/169 */, 437 9 /* 18/170-18/179 */, 438 9 /* 18/180-18/189 */, 439 9 /* 18/190-18/199 */, 440 10 /* 18/200-18/209 */, 441 10 /* 18/210-18/219 */, 442 10 /* 18/220+ */ 443 }; 444 445 446 /* 447 * Stat Table (INT) -- disarming 448 */ 449 const byte adj_int_dis[] = 450 { 451 0 /* 3 */, 452 0 /* 4 */, 453 0 /* 5 */, 454 0 /* 6 */, 455 0 /* 7 */, 456 1 /* 8 */, 457 1 /* 9 */, 458 1 /* 10 */, 459 1 /* 11 */, 460 1 /* 12 */, 461 1 /* 13 */, 462 1 /* 14 */, 463 2 /* 15 */, 464 2 /* 16 */, 465 2 /* 17 */, 466 3 /* 18/00-18/09 */, 467 3 /* 18/10-18/19 */, 468 3 /* 18/20-18/29 */, 469 4 /* 18/30-18/39 */, 470 4 /* 18/40-18/49 */, 471 5 /* 18/50-18/59 */, 472 6 /* 18/60-18/69 */, 473 7 /* 18/70-18/79 */, 474 8 /* 18/80-18/89 */, 475 9 /* 18/90-18/99 */, 476 10 /* 18/100-18/109 */, 477 10 /* 18/110-18/119 */, 478 11 /* 18/120-18/129 */, 479 12 /* 18/130-18/139 */, 480 13 /* 18/140-18/149 */, 481 14 /* 18/150-18/159 */, 482 15 /* 18/160-18/169 */, 483 16 /* 18/170-18/179 */, 484 17 /* 18/180-18/189 */, 485 18 /* 18/190-18/199 */, 486 19 /* 18/200-18/209 */, 487 19 /* 18/210-18/219 */, 488 20 /* 18/220+ */ 489 }; 490 491 492 /* 493 * Stat Table (DEX) -- bonus to ac (plus 128) 494 */ 495 const byte adj_dex_ta[] = 496 { 497 128 + -4 /* 3 */, 498 128 + -3 /* 4 */, 499 128 + -2 /* 5 */, 500 128 + -1 /* 6 */, 501 128 + 0 /* 7 */, 502 128 + 0 /* 8 */, 503 128 + 0 /* 9 */, 504 128 + 0 /* 10 */, 505 128 + 0 /* 11 */, 506 128 + 0 /* 12 */, 507 128 + 0 /* 13 */, 508 128 + 0 /* 14 */, 509 128 + 1 /* 15 */, 510 128 + 1 /* 16 */, 511 128 + 1 /* 17 */, 512 128 + 2 /* 18/00-18/09 */, 513 128 + 2 /* 18/10-18/19 */, 514 128 + 2 /* 18/20-18/29 */, 515 128 + 2 /* 18/30-18/39 */, 516 128 + 2 /* 18/40-18/49 */, 517 128 + 3 /* 18/50-18/59 */, 518 128 + 3 /* 18/60-18/69 */, 519 128 + 3 /* 18/70-18/79 */, 520 128 + 4 /* 18/80-18/89 */, 521 128 + 5 /* 18/90-18/99 */, 522 128 + 6 /* 18/100-18/109 */, 523 128 + 7 /* 18/110-18/119 */, 524 128 + 8 /* 18/120-18/129 */, 525 128 + 9 /* 18/130-18/139 */, 526 128 + 9 /* 18/140-18/149 */, 527 128 + 10 /* 18/150-18/159 */, 528 128 + 11 /* 18/160-18/169 */, 529 128 + 12 /* 18/170-18/179 */, 530 128 + 13 /* 18/180-18/189 */, 531 128 + 14 /* 18/190-18/199 */, 532 128 + 15 /* 18/200-18/209 */, 533 128 + 15 /* 18/210-18/219 */, 534 128 + 16 /* 18/220+ */ 535 }; 536 537 538 /* 539 * Stat Table (STR) -- bonus to Deadliness (plus 128). To compensate 540 * for changes elsewhere, STR now has a larger effect. -LM- 541 */ 542 const byte adj_str_td[] = 543 { 544 128 + -2 /* 3 */, 545 128 + -2 /* 4 */, 546 128 + -1 /* 5 */, 547 128 + -1 /* 6 */, 548 128 + 0 /* 7 */, 549 128 + 0 /* 8 */, 550 128 + 0 /* 9 */, 551 128 + 0 /* 10 */, 552 128 + 0 /* 11 */, 553 128 + 0 /* 12 */, 554 128 + 0 /* 13 */, 555 128 + 0 /* 14 */, 556 128 + 0 /* 15 */, 557 128 + 1 /* 16 */, 558 128 + 2 /* 17 */, 559 128 + 3 /* 18/00-18/09 */, 560 128 + 4 /* 18/10-18/19 */, 561 128 + 4 /* 18/20-18/29 */, 562 128 + 5 /* 18/30-18/39 */, 563 128 + 6 /* 18/40-18/49 */, 564 128 + 7 /* 18/50-18/59 */, 565 128 + 8 /* 18/60-18/69 */, 566 128 + 9 /* 18/70-18/79 */, 567 128 + 10 /* 18/80-18/89 */, 568 128 + 11 /* 18/90-18/99 */, 569 128 + 12 /* 18/100-18/109 */, 570 128 + 13 /* 18/110-18/119 */, 571 128 + 14 /* 18/120-18/129 */, 572 128 + 15 /* 18/130-18/139 */, 573 128 + 16 /* 18/140-18/149 */, 574 128 + 17 /* 18/150-18/159 */, 575 128 + 18 /* 18/160-18/169 */, 576 128 + 19 /* 18/170-18/179 */, 577 128 + 20 /* 18/180-18/189 */, 578 128 + 21 /* 18/190-18/199 */, 579 128 + 22 /* 18/200-18/209 */, 580 128 + 23 /* 18/210-18/219 */, 581 128 + 25 /* 18/220+ */ 582 }; 583 584 585 /* 586 * Stat Table (DEX) -- bonus to Skill (plus 128. To compensate for 587 * changes elsewhere, DEX now has a larger effect. -LM- 588 */ 589 const byte adj_dex_th[] = 590 { 591 128 + -4 /* 3 */, 592 128 + -3 /* 4 */, 593 128 + -2 /* 5 */, 594 128 + -1 /* 6 */, 595 128 + -1 /* 7 */, 596 128 + 0 /* 8 */, 597 128 + 0 /* 9 */, 598 128 + 0 /* 10 */, 599 128 + 0 /* 11 */, 600 128 + 0 /* 12 */, 601 128 + 0 /* 13 */, 602 128 + 0 /* 14 */, 603 128 + 1 /* 15 */, 604 128 + 2 /* 16 */, 605 128 + 3 /* 17 */, 606 128 + 3 /* 18/00-18/09 */, 607 128 + 3 /* 18/10-18/19 */, 608 128 + 4 /* 18/20-18/29 */, 609 128 + 4 /* 18/30-18/39 */, 610 128 + 4 /* 18/40-18/49 */, 611 128 + 5 /* 18/50-18/59 */, 612 128 + 5 /* 18/60-18/69 */, 613 128 + 6 /* 18/70-18/79 */, 614 128 + 6 /* 18/80-18/89 */, 615 128 + 7 /* 18/90-18/99 */, 616 128 + 8 /* 18/100-18/109 */, 617 128 + 9 /* 18/110-18/119 */, 618 128 + 10 /* 18/120-18/129 */, 619 128 + 11 /* 18/130-18/139 */, 620 128 + 12 /* 18/140-18/149 */, 621 128 + 13 /* 18/150-18/159 */, 622 128 + 14 /* 18/160-18/169 */, 623 128 + 15 /* 18/170-18/179 */, 624 128 + 16 /* 18/180-18/189 */, 625 128 + 17 /* 18/190-18/199 */, 626 128 + 18 /* 18/200-18/209 */, 627 128 + 19 /* 18/210-18/219 */, 628 128 + 20 /* 18/220+ */ 629 }; 630 631 632 633 /* 634 * Stat Table (STR) -- weight limit in deca-pounds 635 */ 636 const byte adj_str_wgt[] = 637 { 638 5 /* 3 */, 639 6 /* 4 */, 640 7 /* 5 */, 641 8 /* 6 */, 642 9 /* 7 */, 643 10 /* 8 */, 644 11 /* 9 */, 645 12 /* 10 */, 646 13 /* 11 */, 647 14 /* 12 */, 648 15 /* 13 */, 649 16 /* 14 */, 650 17 /* 15 */, 651 18 /* 16 */, 652 19 /* 17 */, 653 20 /* 18/00-18/09 */, 654 22 /* 18/10-18/19 */, 655 24 /* 18/20-18/29 */, 656 26 /* 18/30-18/39 */, 657 28 /* 18/40-18/49 */, 658 30 /* 18/50-18/59 */, 659 31 /* 18/60-18/69 */, 660 31 /* 18/70-18/79 */, 661 32 /* 18/80-18/89 */, 662 32 /* 18/90-18/99 */, 663 33 /* 18/100-18/109 */, 664 33 /* 18/110-18/119 */, 665 34 /* 18/120-18/129 */, 666 34 /* 18/130-18/139 */, 667 35 /* 18/140-18/149 */, 668 35 /* 18/150-18/159 */, 669 36 /* 18/160-18/169 */, 670 36 /* 18/170-18/179 */, 671 37 /* 18/180-18/189 */, 672 37 /* 18/190-18/199 */, 673 38 /* 18/200-18/209 */, 674 38 /* 18/210-18/219 */, 675 39 /* 18/220+ */ 676 }; 677 678 679 /* 680 * Stat Table (STR) -- weapon weight limit in pounds 681 */ 682 const byte adj_str_hold[] = 683 { 684 4 /* 3 */, 685 5 /* 4 */, 686 6 /* 5 */, 687 7 /* 6 */, 688 8 /* 7 */, 689 10 /* 8 */, 690 12 /* 9 */, 691 14 /* 10 */, 692 16 /* 11 */, 693 18 /* 12 */, 694 20 /* 13 */, 695 22 /* 14 */, 696 24 /* 15 */, 697 26 /* 16 */, 698 28 /* 17 */, 699 30 /* 18/00-18/09 */, 700 30 /* 18/10-18/19 */, 701 35 /* 18/20-18/29 */, 702 40 /* 18/30-18/39 */, 703 45 /* 18/40-18/49 */, 704 50 /* 18/50-18/59 */, 705 55 /* 18/60-18/69 */, 706 60 /* 18/70-18/79 */, 707 65 /* 18/80-18/89 */, 708 70 /* 18/90-18/99 */, 709 80 /* 18/100-18/109 */, 710 80 /* 18/110-18/119 */, 711 80 /* 18/120-18/129 */, 712 80 /* 18/130-18/139 */, 713 80 /* 18/140-18/149 */, 714 90 /* 18/150-18/159 */, 715 90 /* 18/160-18/169 */, 716 90 /* 18/170-18/179 */, 717 90 /* 18/180-18/189 */, 718 90 /* 18/190-18/199 */, 719 100 /* 18/200-18/209 */, 720 100 /* 18/210-18/219 */, 721 100 /* 18/220+ */ 722 }; 723 724 725 /* 726 * Stat Table (STR) -- digging value 727 */ 728 const byte adj_str_dig[] = 729 { 730 0 /* 3 */, 731 0 /* 4 */, 732 1 /* 5 */, 733 2 /* 6 */, 734 3 /* 7 */, 735 4 /* 8 */, 736 4 /* 9 */, 737 5 /* 10 */, 738 5 /* 11 */, 739 6 /* 12 */, 740 6 /* 13 */, 741 7 /* 14 */, 742 7 /* 15 */, 743 8 /* 16 */, 744 8 /* 17 */, 745 9 /* 18/00-18/09 */, 746 10 /* 18/10-18/19 */, 747 12 /* 18/20-18/29 */, 748 15 /* 18/30-18/39 */, 749 20 /* 18/40-18/49 */, 750 25 /* 18/50-18/59 */, 751 30 /* 18/60-18/69 */, 752 35 /* 18/70-18/79 */, 753 40 /* 18/80-18/89 */, 754 45 /* 18/90-18/99 */, 755 50 /* 18/100-18/109 */, 756 55 /* 18/110-18/119 */, 757 60 /* 18/120-18/129 */, 758 65 /* 18/130-18/139 */, 759 70 /* 18/140-18/149 */, 760 75 /* 18/150-18/159 */, 761 80 /* 18/160-18/169 */, 762 85 /* 18/170-18/179 */, 763 90 /* 18/180-18/189 */, 764 95 /* 18/190-18/199 */, 765 100 /* 18/200-18/209 */, 766 100 /* 18/210-18/219 */, 767 100 /* 18/220+ */ 768 }; 769 770 771 /* 772 * Stat Table (STR) -- help index into the "blow" table 773 */ 774 const byte adj_str_blow[] = 775 { 776 3 /* 3 */, 777 4 /* 4 */, 778 5 /* 5 */, 779 6 /* 6 */, 780 7 /* 7 */, 781 8 /* 8 */, 782 9 /* 9 */, 783 10 /* 10 */, 784 11 /* 11 */, 785 12 /* 12 */, 786 13 /* 13 */, 787 14 /* 14 */, 788 15 /* 15 */, 789 16 /* 16 */, 790 17 /* 17 */, 791 20 /* 18/00-18/09 */, 792 30 /* 18/10-18/19 */, 793 40 /* 18/20-18/29 */, 794 50 /* 18/30-18/39 */, 795 60 /* 18/40-18/49 */, 796 70 /* 18/50-18/59 */, 797 80 /* 18/60-18/69 */, 798 90 /* 18/70-18/79 */, 799 100 /* 18/80-18/89 */, 800 110 /* 18/90-18/99 */, 801 120 /* 18/100-18/109 */, 802 130 /* 18/110-18/119 */, 803 140 /* 18/120-18/129 */, 804 150 /* 18/130-18/139 */, 805 160 /* 18/140-18/149 */, 806 170 /* 18/150-18/159 */, 807 180 /* 18/160-18/169 */, 808 190 /* 18/170-18/179 */, 809 200 /* 18/180-18/189 */, 810 210 /* 18/190-18/199 */, 811 220 /* 18/200-18/209 */, 812 230 /* 18/210-18/219 */, 813 240 /* 18/220+ */ 814 }; 815 816 817 /* 818 * Stat Table (DEX) -- index into the "blow" table 819 */ 820 const byte adj_dex_blow[] = 821 { 822 0 /* 3 */, 823 0 /* 4 */, 824 0 /* 5 */, 825 0 /* 6 */, 826 0 /* 7 */, 827 0 /* 8 */, 828 0 /* 9 */, 829 1 /* 10 */, 830 1 /* 11 */, 831 1 /* 12 */, 832 1 /* 13 */, 833 1 /* 14 */, 834 1 /* 15 */, 835 1 /* 16 */, 836 1 /* 17 */, 837 1 /* 18/00-18/09 */, 838 2 /* 18/10-18/19 */, 839 2 /* 18/20-18/29 */, 840 2 /* 18/30-18/39 */, 841 2 /* 18/40-18/49 */, 842 3 /* 18/50-18/59 */, 843 3 /* 18/60-18/69 */, 844 4 /* 18/70-18/79 */, 845 4 /* 18/80-18/89 */, 846 5 /* 18/90-18/99 */, 847 6 /* 18/100-18/109 */, 848 7 /* 18/110-18/119 */, 849 8 /* 18/120-18/129 */, 850 9 /* 18/130-18/139 */, 851 10 /* 18/140-18/149 */, 852 11 /* 18/150-18/159 */, 853 11 /* 18/160-18/169 */, 854 11 /* 18/170-18/179 */, 855 11 /* 18/180-18/189 */, 856 11 /* 18/190-18/199 */, 857 11 /* 18/200-18/209 */, 858 11 /* 18/210-18/219 */, 859 11 /* 18/220+ */ 860 }; 861 862 863 /* 864 * Stat Table (DEX) -- chance of avoiding "theft" and "falling" 865 */ 866 const byte adj_dex_safe[] = 867 { 868 0 /* 3 */, 869 1 /* 4 */, 870 2 /* 5 */, 871 3 /* 6 */, 872 4 /* 7 */, 873 5 /* 8 */, 874 5 /* 9 */, 875 6 /* 10 */, 876 6 /* 11 */, 877 7 /* 12 */, 878 7 /* 13 */, 879 8 /* 14 */, 880 8 /* 15 */, 881 9 /* 16 */, 882 9 /* 17 */, 883 10 /* 18/00-18/09 */, 884 10 /* 18/10-18/19 */, 885 15 /* 18/20-18/29 */, 886 15 /* 18/30-18/39 */, 887 20 /* 18/40-18/49 */, 888 25 /* 18/50-18/59 */, 889 30 /* 18/60-18/69 */, 890 35 /* 18/70-18/79 */, 891 40 /* 18/80-18/89 */, 892 45 /* 18/90-18/99 */, 893 50 /* 18/100-18/109 */, 894 60 /* 18/110-18/119 */, 895 70 /* 18/120-18/129 */, 896 80 /* 18/130-18/139 */, 897 90 /* 18/140-18/149 */, 898 100 /* 18/150-18/159 */, 899 100 /* 18/160-18/169 */, 900 100 /* 18/170-18/179 */, 901 100 /* 18/180-18/189 */, 902 100 /* 18/190-18/199 */, 903 100 /* 18/200-18/209 */, 904 100 /* 18/210-18/219 */, 905 100 /* 18/220+ */ 906 }; 907 908 909 /* 910 * Stat Table (CON) -- base regeneration rate 911 */ 912 const byte adj_con_fix[] = 913 { 914 0 /* 3 */, 915 0 /* 4 */, 916 0 /* 5 */, 917 0 /* 6 */, 918 0 /* 7 */, 919 0 /* 8 */, 920 0 /* 9 */, 921 0 /* 10 */, 922 0 /* 11 */, 923 0 /* 12 */, 924 0 /* 13 */, 925 1 /* 14 */, 926 1 /* 15 */, 927 1 /* 16 */, 928 1 /* 17 */, 929 2 /* 18/00-18/09 */, 930 2 /* 18/10-18/19 */, 931 2 /* 18/20-18/29 */, 932 2 /* 18/30-18/39 */, 933 2 /* 18/40-18/49 */, 934 3 /* 18/50-18/59 */, 935 3 /* 18/60-18/69 */, 936 3 /* 18/70-18/79 */, 937 3 /* 18/80-18/89 */, 938 3 /* 18/90-18/99 */, 939 4 /* 18/100-18/109 */, 940 4 /* 18/110-18/119 */, 941 5 /* 18/120-18/129 */, 942 6 /* 18/130-18/139 */, 943 6 /* 18/140-18/149 */, 944 7 /* 18/150-18/159 */, 945 7 /* 18/160-18/169 */, 946 8 /* 18/170-18/179 */, 947 8 /* 18/180-18/189 */, 948 8 /* 18/190-18/199 */, 949 9 /* 18/200-18/209 */, 950 9 /* 18/210-18/219 */, 951 9 /* 18/220+ */ 952 }; 953 954 955 /* 956 * Stat Table (CON) -- extra half-hitpoints per level (plus 128). 957 * Because monsters don't breath as powerfully now, I have reduced the 958 * effect of this stat. -LM- 959 */ 960 const byte adj_con_mhp[] = 961 { 962 128 + -5 /* 3 */, 963 128 + -3 /* 4 */, 964 128 + -2 /* 5 */, 965 128 + -1 /* 6 */, 966 128 + -1 /* 7 */, 967 128 + 0 /* 8 */, 968 128 + 0 /* 9 */, 969 128 + 0 /* 10 */, 970 128 + 0 /* 11 */, 971 128 + 0 /* 12 */, 972 128 + 0 /* 13 */, 973 128 + 0 /* 14 */, 974 128 + 1 /* 15 */, 975 128 + 1 /* 16 */, 976 128 + 2 /* 17 */, 977 128 + 2 /* 18/00-18/09 */, 978 128 + 3 /* 18/10-18/19 */, 979 128 + 4 /* 18/20-18/29 */, 980 128 + 4 /* 18/30-18/39 */, 981 128 + 5 /* 18/40-18/49 */, 982 128 + 5 /* 18/50-18/59 */, 983 128 + 6 /* 18/60-18/69 */, 984 128 + 6 /* 18/70-18/79 */, 985 128 + 7 /* 18/80-18/89 */, 986 128 + 7 /* 18/90-18/99 */, 987 128 + 8 /* 18/100-18/109 */, 988 128 + 9 /* 18/110-18/119 */, 989 128 + 9 /* 18/120-18/129 */, 990 128 + 10 /* 18/130-18/139 */, 991 128 + 11 /* 18/140-18/149 */, 992 128 + 12 /* 18/150-18/159 */, 993 128 + 12 /* 18/160-18/169 */, 994 128 + 13 /* 18/170-18/179 */, 995 128 + 14 /* 18/180-18/189 */, 996 128 + 15 /* 18/190-18/199 */, 997 128 + 17 /* 18/200-18/209 */, 998 128 + 18 /* 18/210-18/219 */, 999 128 + 20 /* 18/220+ */ 1000 }; 1001 1002 1003 1004 /* 1005 * This is changed for [O] combat V2. (From L.M.) 1006 * 1007 * This table is used to help calculate the number of blows the player 1008 * can make in a single round of attacks (one player turn) with a 1009 * weapon that is not too heavy to wield effectively. 1010 * 1011 * The player gets "blows_table[P][D]" blows/round, as shown below. 1012 * 1013 * To get "P", we look up the relevant "adj_str_blow[]" (see above), 1014 * multiply it by 6, and then divide it by the effective weapon 1015 * weight (in deci-pounds), rounding down. 1016 * 1017 * To get "D", we look up the relevant "adj_dex_blow[]" (see above). 1018 * 1019 * (Some interesting calculations) 1020 * The character cannot get five blows with any weapon greater than 36 1021 * lb, and cannot get six with any weapon greater than 20 lb. 1022 */ 1023 const byte blows_table[12][12] = 1024 { 1025 /* <- Dexterity factor -> */ 1026 /* 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11+ */ 1027 1028 { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }, /* 0 */ 1029 { 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3 }, /* 1 ^ */ 1030 { 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4 }, /* 2 | */ 1031 { 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4 }, /* 3 */ 1032 { 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5 }, /* 4 Ratio */ 1033 { 2, 2, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5 }, /* 5 of STR */ 1034 { 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5 }, /* 6 over */ 1035 { 2, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6 }, /* 7 weight */ 1036 { 2, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6 }, /* 8 */ 1037 { 2, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6 }, /* 9 | */ 1038 { 2, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6 }, /* 10 V */ 1039 { 2, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 6 } /* 11+ */ 1040 }; 1041 1042 1043 /* 1044 * List of shop owner names 1045 */ 1046 cptr owner_names[] = 1047 { 1048 "Bilbo", 1049 "Raistlin", 1050 "Sultan", 1051 "Lyar-el", 1052 "Falilmawen", 1053 "Voirin", 1054 "Erashnak", 1055 "Grug", 1056 "Forovir", 1057 "Ellis", 1058 "Filbert", 1059 "Fthnargl", 1060 "Eloise", 1061 "Fundi", 1062 "Granthus", 1063 "Lorax", 1064 "Butch", 1065 "Elbereth", 1066 "Sarleth", 1067 "Narlock", 1068 "Haneka", 1069 "Loirin", 1070 "Wuto", 1071 "Araaka", 1072 "Poogor", 1073 "Felorfiliand", 1074 "Maroka", 1075 "Sasin", 1076 "Abiemar", 1077 "Hurk", 1078 "Soalin", 1079 "Merulla", 1080 "Kon-Dar", 1081 "Darg-Low", 1082 "Decado", 1083 "Wieland", 1084 "Kon-Dar", 1085 "Darg-Low", 1086 "Decado", 1087 "Elo", 1088 "Delicatus", 1089 "Gruce", 1090 "Animus", 1091 "Malvus", 1092 "Selaxis", 1093 "Deathchill", 1094 "Drios", 1095 "Bathric", 1096 "Vengella", 1097 "Wyrana", 1098 "Yojo", 1099 "Ranalar", 1100 "Horbag", 1101 "Elelen", 1102 "Isedrelias", 1103 "Vegnar", 1104 "Rodish", 1105 "Hesin", 1106 "Elvererith", 1107 "Zzathath", 1108 "Kon-Dar", 1109 "Darg-Low", 1110 "Decado", 1111 "Wieland", 1112 "Arnold", 1113 "Arndal", 1114 "Eddie", 1115 "Oglign", 1116 "Drew", 1117 "Orrax", 1118 "Anthrax", 1119 "Arkhoth", 1120 "Sarlyas", 1121 "Tuethic", 1122 "Bilious", 1123 "Fasgul", 1124 "Ellefris", 1125 "K'trrik'k", 1126 "Drocus", 1127 "Fungus", 1128 "Delantha", 1129 "Solvistani", 1130 "Xoril", 1131 "Aeonflux", 1132 "Nadoc", 1133 "Eramog", 1134 "Eowilith", 1135 "Huimog", 1136 "Peadus", 1137 "Vamog", 1138 "Hooshnak", 1139 "Balenn", 1140 "Ludwig", 1141 "Gunnar", 1142 "Torin", 1143 "Sarastro", 1144 "Sir Parsival", 1145 "Asenath", 1146 "McKinnon", 1147 "Hashnik", 1148 "Finak", 1149 "Krikkik", 1150 "Morival", 1151 "Hoshak", 1152 "Atal", 1153 "Ibenidd", 1154 "Eridish", 1155 "Vrudush", 1156 "Haob", 1157 "Proogdish", 1158 "Lumwis", 1159 "Muirt", 1160 "Dardobard", 1161 "Mauser", 1162 "Wizzle", 1163 "Midas", 1164 "Ja-Far", 1165 "Kakalrakakal", 1166 "Jal-Eth", 1167 "Fanelath", 1168 "Runcie", 1169 "Grumbleworth", 1170 "Flitter", 1171 "Xarillus", 1172 "Egbert", 1173 "Valindra", 1174 "Tae", 1175 "Cayd", 1176 "Fulir", 1177 "Domli", 1178 "Yaarjukka", 1179 "Gelaraldor", 1180 "Olelaldan", 1181 "Fthoglo", 1182 "Dridash", 1183 "Nelir", 1184 "Lignus", 1185 "Tilba", 1186 "Myrildric", 1187 "Mauser", 1188 "Lo Pan", 1189 "Buggerby", 1190 "Rjak", 1191 "Skidney", 1192 "Kyria", 1193 "Nikki", 1194 "Solostoran", 1195 "Achshe", 1196 "Kaza", 1197 "Fazzil", 1198 "Keldorn", 1199 "Philanthropus", 1200 "Agnar", 1201 "Buliance", 1202 "Vuirak", 1203 "Madish", 1204 "Falebrimbor", 1205 "Felil-Gand", 1206 "Thalegord", 1207 "Cthoaloth", 1208 "Ibeli", 1209 "Heto", 1210 "Nikki", 1211 "Solostoran", 1212 "Gary", 1213 "Histor", 1214 "Quark", 1215 "Topi", 1216 "Vhassa", 1217 "Kyn", 1218 "Bubonicus", 1219 "Corpselight", 1220 "Parrish", 1221 "Vile", 1222 "Prentice", 1223 "Griella", 1224 "Angel", 1225 "Flotsam", 1226 "Nieval", 1227 "Anastasia", 1228 "Charity", 1229 "Pugnacious", 1230 "Footsore", 1231 "Sidria", 1232 "Riatho", 1233 "Janaaka", 1234 "Cina", 1235 "Arunikki", 1236 "Chaeand", 1237 "Afardorf", 1238 "Lathaxl", 1239 "Falarewyn", 1240 "Vosur", 1241 "Araord", 1242 "Theradfrid", 1243 "One-Legged", 1244 "Dolaf", 1245 "Odnar", 1246 "Gandar", 1247 "Ro-sha", 1248 "Sarai", 1249 "Bodril", 1250 "Veloin", 1251 "Vanthylas", 1252 "Ossein", 1253 "Olva", 1254 "Shallowgrave", 1255 "Asuunu", 1256 "Prirand", 1257 "Ronar", 1258 "Galil-Gamir", 1259 "Rorbag", 1260 "Kiriarikirk", 1261 "Rilin", 1262 "Isung", 1263 "Dolaf", 1264 "Odnar", 1265 "Ro-shat", 1266 "Vanthylas", 1267 "Ossein", 1268 "Olvar", 1269 "Suiyan", 1270 "Aadocpeth", 1271 "Ognoqutoin", 1272 "Nothall", 1273 "Athoang", 1274 "Tanistil", 1275 "Paitnaw", 1276 "Thiaeth", 1277 "Kaoghequin", 1278 "Yaowing", 1279 "Aotnron", 1280 "Pwetholn", 1281 "Tim", 1282 "Waowenth", 1283 "Yiquent", 1284 "Paoingth", 1285 "Aargh'nt", 1286 "Wylntes", 1287 "Baongthan", 1288 "Vitholm", 1289 "Aaognwth", 1290 "Naothwell", 1291 "Jaltip", 1292 "Yillwyn", 1293 "Zyxlen", 1294 "Fsanong", 1295 "Paginoth", 1296 "Xaingol", 1297 "Wop", 1298 "Kaquin", 1299 "Agpoan", 1300 "Wewton", 1301 "Masoognnix", 1302 "Pagpon", 1303 "Leiwthen", 1304 "Pwvnom", 1305 "Laign Mawan", 1306 "Palson", 1307 "Thwynyhtm", 1308 "Chaillnew", 1309 "Nethlew", 1310 "Alorn Peln", 1311 "Ahsilth Peon" 1312 "McPallion", 1313 "Qonwyn", 1314 NULL 1315 }; 1316 1317 1318 cptr owner_suffix[] = 1319 { 1320 "the Friendly", 1321 "the Chicken", 1322 "the Midget", 1323 "the Comely", 1324 "the Friendly", 1325 "the Cowardly", 1326 "the Cheap", 1327 "the Fool", 1328 "the Hungry", 1329 "Psathiggua", 1330 "Long-Dead", 1331 "the Slow", 1332 "the Suave", 1333 "the Beautiful", 1334 "the Sneaky", 1335 "the Small", 1336 "the Mad", 1337 "Poisonbreath", 1338 "the Rotund", 1339 "the Dumb", 1340 "the Aged", 1341 "the Bold", 1342 "the Peasant", 1343 "the Poor", 1344 "the Wretched", 1345 "the Humble", 1346 "the Ugly", 1347 "the Grim", 1348 "the Handsome", 1349 "the Smith", 1350 "Dragonscale", 1351 "the Huge", 1352 "the Faint", 1353 "the Cold", 1354 "the Cruel", 1355 "the Mighty", 1356 "II", 1357 "III", 1358 "IV", 1359 "V", 1360 "VI", 1361 "the Sweet", 1362 "the Unclean", 1363 "the Telepath", 1364 "One-eye", 1365 "the Chaotic", 1366 "Swordmaster", 1367 "the Cheat", 1368 "the Beastly", 1369 "Beast-Slayer", 1370 "Dragon-Slayer", 1371 "Dthe Skilled", 1372 "Dragonson", 1373 "Disease-Carrier", 1374 "the Stout", 1375 "the Rotten", 1376 "Bare-Bones", 1377 "Spiderfriend", 1378 "Giant-Slayer", 1379 "the Slow", 1380 "the Strong", 1381 "the Weak", 1382 "the Fair", 1383 "Balrog-Slayer", 1384 "the Cruel", 1385 "Slayer", 1386 "the Vicious", 1387 "War-Dancer", 1388 "the Chosen", 1389 "the Wise", 1390 "the Pure", 1391 "the Holy", 1392 "the Druid", 1393 "the Wild", 1394 "the Dark", 1395 "the Chaste", 1396 "the Berserker", 1397 "the Youthfull", 1398 "the Mad", 1399 "the Virtuous", 1400 "the Chemist", 1401 "the Greedy", 1402 "the Cautious", 1403 "the Insane", 1404 "the Proud", 1405 "the Sweet", 1406 "Demonspawn", 1407 "the Herbmaster", 1408 "the Demonicist", 1409 "the Pungent", 1410 "the Wealthy", 1411 "the Great", 1412 "of Yendor", 1413 "the Noble", 1414 "the Smart", 1415 "the Dead", 1416 "the Treacherous", 1417 "the Bloodthirsty", 1418 "the Trusted", 1419 "Humanslayer", 1420 "the Bloated", 1421 "the Luminous", 1422 "the Pugilist", 1423 "the Lucky", 1424 "Lightfingered", 1425 "the Juggler", 1426 "the Shifty", 1427 "Greatclaw", 1428 "the Brigand", 1429 "the Wrinkled", 1430 "the Loser", 1431 "the Neutral", 1432 "the Patient", 1433 "Carter", 1434 "the Swift", 1435 "the Seer", 1436 "the Quiet", 1437 "the Learned", 1438 "the Iron", 1439 "the Lord", 1440 NULL 1441 }; 1442 1443 1444 /* 1445 * Buying and selling adjustments for race combinations. 1446 * Entry[owner][player] gives the basic "cost inflation". 1447 */ 1448 const byte rgold_adj[MAX_RACES][MAX_RACES] = 1449 { 1450 /* 1451 * Hum, HfE, Elf, Hal, Gno, Dwa, HfO, HfT, Dun, HiE, Barbarian, 1452 * HfOg, HGn, HTn, Cyc, Yek, Klc, Kbd, Nbl, DkE, Drc, Mind Flayer, 1453 * Imp, Glm, Skl, Zombie, Vampire, Spectre, Sprite, Beastman, Ghoul 1454 */ 1455 1456 /* Human */ 1457 { 100, 105, 105, 110, 113, 115, 120, 125, 100, 105, 100, 1458 124, 120, 110, 125, 115, 120, 120, 120, 120, 115, 120, 1459 115, 105, 125, 125, 125, 125, 105, 120, 125 }, 1460 1461 /* Half-Elf */ 1462 { 110, 100, 100, 105, 110, 120, 125, 130, 110, 100, 110, 1463 120, 115, 108, 115, 110, 110, 120, 120, 115, 115, 110, 1464 120, 110, 110, 110, 120, 110, 100, 125, 110 }, 1465 1466 /* Elf */ 1467 { 110, 105, 100, 105, 110, 120, 125, 130, 110, 100, 110, 1468 120, 120, 105, 120, 110, 105, 125, 125, 110, 115, 108, 1469 120, 115, 110, 110, 120, 110, 100, 125, 125}, 1470 1471 /* Halfling */ 1472 { 115, 110, 105, 95, 105, 110, 115, 130, 115, 105, 115, 1473 125, 120, 120, 125, 115, 110, 120, 120, 120, 115, 115, 1474 120, 110, 120, 120, 130, 110, 110, 130, 120 }, 1475 1476 /* Gnome */ 1477 { 115, 115, 110, 105, 95, 110, 115, 130, 115, 110, 115, 1478 120, 125, 110, 120, 110, 105, 120, 110, 110, 105, 110, 1479 120, 101, 110, 110, 120, 120, 115, 130, 110 }, 1480 1481 /* Dwarf */ 1482 { 115, 120, 120, 110, 110, 95, 125, 135, 115, 120, 115, 1483 125, 140, 130, 130, 120, 115, 115, 115, 135, 125, 120, 1484 120, 105, 115, 115, 115, 115, 120, 130, 125 }, 1485 1486 /* Half-Orc */ 1487 { 115, 120, 125, 115, 115, 130, 110, 115, 115, 125, 115, 1488 110, 110, 120, 110, 120, 125, 115, 115, 110, 120, 110, 1489 115, 125, 120, 120, 115, 120, 125, 115, 120}, 1490 1491 /* Half-Troll */ 1492 { 110, 115, 115, 110, 110, 130, 110, 110, 110, 115, 110, 1493 110, 115, 120, 110, 120, 120, 110, 110, 110, 115, 110, 1494 110, 115, 112, 112, 115, 112, 120, 110, 110 }, 1495 1496 /* Amberite (Dunedain) */ 1497 { 100, 105, 105, 110, 113, 115, 120, 125, 100, 105, 100, 1498 120, 120, 105, 120, 115, 105, 115, 120, 110, 105, 105, 1499 120, 105, 120, 120, 125, 120, 105, 135, 120 }, 1500 1501 /* High_Elf */ 1502 { 110, 105, 100, 105, 110, 120, 125, 130, 110, 100, 110, 1503 125, 125, 101, 120, 115, 110, 115, 125, 110, 110, 110, 1504 125, 115, 120, 120, 125, 120, 100, 125, 120 }, 1505 1506 /* Human / Barbarian (copied from human) */ 1507 { 100, 105, 105, 110, 113, 115, 120, 125, 100, 105, 100, 1508 124, 120, 110, 125, 115, 120, 120, 120, 120, 115, 120, 1509 115, 105, 125, 125, 130, 125, 115, 120, 125 }, 1510 1511 /* Half-Ogre: theoretical, copied from half-troll */ 1512 { 110, 115, 115, 110, 110, 130, 110, 110, 110, 115, 110, 1513 110, 115, 120, 110, 120, 120, 110, 110, 110, 115, 110, 1514 110, 115, 112, 112, 115, 112, 120, 110, 110 }, 1515 1516 /* Half-Giant: theoretical, copied from half-troll */ 1517 { 110, 115, 115, 110, 110, 130, 110, 110, 110, 115, 110, 1518 110, 115, 120, 110, 120, 120, 110, 110, 110, 115, 110, 1519 110, 115, 112, 112, 115, 112, 130, 120, 110 }, 1520 1521 /* Half-Titan: theoretical, copied from High_Elf */ 1522 { 110, 105, 100, 105, 110, 120, 125, 130, 110, 100, 110, 1523 125, 125, 101, 120, 115, 110, 115, 125, 110, 110, 110, 1524 125, 115, 120, 120, 120, 120, 130, 130, 120 }, 1525 1526 /* Cyclops: theoretical, copied from half-troll */ 1527 { 110, 115, 115, 110, 110, 130, 110, 110, 110, 115, 110, 1528 110, 115, 120, 110, 120, 120, 110, 110, 110, 115, 110, 1529 110, 115, 112, 112, 115, 112, 130, 130, 110 }, 1530 1531 /* Yeek: theoretical, copied from Half-Orc */ 1532 { 115, 120, 125, 115, 115, 130, 110, 115, 115, 125, 115, 1533 110, 110, 120, 110, 120, 125, 115, 115, 110, 120, 110, 1534 115, 125, 120, 120, 120, 120, 130, 130, 120 }, 1535 1536 /* Klackon: theoretical, copied from Gnome */ 1537 { 115, 115, 110, 105, 95, 110, 115, 130, 115, 110, 115, 1538 120, 125, 110, 120, 110, 105, 120, 110, 110, 105, 110, 1539 120, 101, 110, 110, 120, 120, 130, 130, 110 }, 1540 1541 /* Kobold: theoretical, copied from Half-Orc */ 1542 { 115, 120, 125, 115, 115, 130, 110, 115, 115, 125, 115, 1543 110, 110, 120, 110, 120, 125, 115, 115, 110, 120, 110, 1544 115, 125, 120, 120, 120, 120, 130, 130, 110 }, 1545 1546 /* Nibelung: theoretical, copied from Dwarf */ 1547 { 115, 120, 120, 110, 110, 95, 125, 135, 115, 120, 115, 1548 125, 140, 130, 130, 120, 115, 115, 115, 135, 125, 120, 1549 120, 105, 115, 115, 120, 120, 130, 130, 115 }, 1550 1551 /* Dark Elf */ 1552 { 110, 110, 110, 115, 120, 130, 115, 115, 120, 110, 115, 1553 115, 115, 116, 115, 120, 120, 115, 115, 101, 110, 110, 1554 110, 110, 112, 122, 110, 110, 110, 115, 122 }, 1555 1556 /* Draconian: theoretical, copied from High_Elf */ 1557 { 110, 105, 100, 105, 110, 120, 125, 130, 110, 100, 110, 1558 125, 125, 101, 120, 115, 110, 115, 125, 110, 110, 110, 1559 125, 115, 120, 120, 120, 120, 130, 130, 120 }, 1560 1561 /* Mind Flayer: theoretical, copied from High_Elf */ 1562 { 110, 105, 100, 105, 110, 120, 125, 130, 110, 100, 110, 1563 125, 125, 101, 120, 115, 110, 115, 125, 110, 110, 110, 1564 125, 115, 120, 120, 120, 120, 130, 130, 115 }, 1565 1566 /* Imp: theoretical, copied from High_Elf */ 1567 { 110, 105, 100, 105, 110, 120, 125, 130, 110, 100, 110, 1568 125, 125, 101, 120, 115, 110, 115, 125, 110, 110, 110, 1569 125, 115, 120, 120, 120, 120, 130, 130, 110 }, 1570 1571 /* Golem: theoretical, copied from High_Elf */ 1572 { 110, 105, 100, 105, 110, 120, 125, 130, 110, 100, 110, 1573 125, 125, 101, 120, 115, 110, 115, 125, 110, 110, 110, 1574 125, 115, 120, 120, 120, 120, 130, 130, 120 }, 1575 1576 /* Skeleton: theoretical, copied from half-orc */ 1577 { 115, 120, 125, 115, 115, 130, 110, 115, 115, 125, 115, 1578 110, 110, 120, 110, 120, 125, 115, 115, 110, 120, 110, 1579 115, 125, 120, 120, 120, 120, 130, 130, 110 }, 1580 1581 /* Zombie: Theoretical, copied from half-orc */ 1582 { 115, 120, 125, 115, 115, 130, 110, 115, 115, 125, 115, 1583 110, 110, 120, 110, 120, 125, 115, 115, 110, 120, 110, 1584 115, 125, 120, 120, 120, 120, 130, 130, 110 }, 1585 1586 /* Vampire: Theoretical, copied from half-orc */ 1587 { 115, 120, 125, 115, 115, 130, 110, 115, 115, 125, 115, 1588 110, 110, 120, 110, 120, 125, 115, 115, 110, 120, 110, 1589 115, 125, 120, 120, 120, 120, 130, 130, 110 }, 1590 1591 /* Spectre: Theoretical, copied from half-orc */ 1592 { 115, 120, 125, 115, 115, 130, 110, 115, 115, 125, 115, 1593 110, 110, 120, 110, 120, 125, 115, 115, 110, 120, 110, 1594 115, 125, 120, 120, 120, 120, 130, 130, 110 }, 1595 1596 /* Sprite: Theoretical, copied from half-orc */ 1597 { 115, 120, 125, 115, 115, 130, 110, 115, 115, 125, 115, 1598 110, 110, 120, 110, 120, 125, 115, 115, 110, 120, 110, 1599 115, 125, 120, 120, 120, 120, 130, 130, 130 }, 1600 1601 /* Beastman: Theoretical, copied from half-orc */ 1602 { 115, 120, 125, 115, 115, 130, 110, 115, 115, 125, 115, 1603 110, 110, 120, 110, 120, 125, 115, 115, 110, 120, 110, 1604 115, 125, 120, 120, 120, 120, 130, 130, 115 }, 1605 1606 /* Ghoul */ 1607 { 120, 125, 125, 120, 117, 120, 113, 110, 120, 125, 115, 1608 112, 111, 120, 111, 125, 120, 116, 115, 110, 115, 105, 1609 105, 120, 105, 105, 105, 105, 130, 115, 100 }, 1610 }; 1611 1612 1613 /* 1614 * This table allows quick conversion from "speed" to "energy" 1615 * The basic function WAS ((S>=110) ? (S-110) : (100 / (120-S))) 1616 * Note that table access is *much* quicker than computation. 1617 * 1618 * Note that the table has been changed at high speeds. From 1619 * "Slow (-40)" to "Fast (+30)" is pretty much unchanged, but 1620 * at speeds above "Fast (+30)", one approaches an asymptotic 1621 * effective limit of 50 energy per turn. This means that it 1622 * is relatively easy to reach "Fast (+30)" and get about 40 1623 * energy per turn, but then speed becomes very "expensive", 1624 * and you must get all the way to "Fast (+50)" to reach the 1625 * point of getting 45 energy per turn. After that point, 1626 * further increases in speed are more or less pointless, 1627 * except to balance out heavy inventory. 1628 * 1629 * It should be possible to lower the energy threshhold from 1630 * 100 units to 50 units, though this may interact badly with 1631 * the (compiled out) small random energy boost code. It may 1632 * also tend to cause more "clumping" at high speeds. 1633 */ 1634 const byte extract_energy[200] = 1635 { 1636 /* Slow */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1637 /* Slow */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1638 /* Slow */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1639 /* Slow */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1640 /* Slow */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1641 /* Slow */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1642 /* S-50 */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1643 /* S-40 */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1644 /* S-30 */ 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 1645 /* S-20 */ 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 1646 /* S-10 */ 5, 5, 5, 5, 6, 6, 7, 7, 8, 9, 1647 /* Norm */ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1648 /* F+10 */ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 1649 /* F+20 */ 30, 31, 32, 33, 34, 35, 36, 36, 37, 37, 1650 /* F+30 */ 38, 38, 39, 39, 40, 40, 40, 41, 41, 41, 1651 /* F+40 */ 42, 42, 42, 43, 43, 43, 44, 44, 44, 44, 1652 /* F+50 */ 45, 45, 45, 45, 45, 46, 46, 46, 46, 46, 1653 /* F+60 */ 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, 1654 /* F+70 */ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 1655 /* Fast */ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 1656 }; 1657 1658 1659 1660 1661 /* 1662 * Base experience levels, may be adjusted up for race and/or class 1663 */ 1664 const s32b player_exp[PY_MAX_LEVEL] = 1665 { 1666 10, 1667 25, 1668 45, 1669 70, 1670 100, 1671 140, 1672 200, 1673 280, 1674 380, 1675 500, 1676 650, 1677 850, 1678 1100, 1679 1400, 1680 1800, 1681 2300, 1682 2900, 1683 3600, 1684 4400, 1685 5400, 1686 6800, 1687 8400, 1688 10200, 1689 12500, 1690 17500, 1691 25000, 1692 35000L, 1693 50000L, 1694 75000L, 1695 100000L, 1696 150000L, 1697 200000L, 1698 275000L, 1699 350000L, 1700 450000L, 1701 550000L, 1702 700000L, 1703 850000L, 1704 1000000L, 1705 1250000L, 1706 1500000L, 1707 1800000L, 1708 2100000L, 1709 2400000L, 1710 2700000L, 1711 3000000L, 1712 3500000L, 1713 4000000L, 1714 4500000L, 1715 5000000L 1716 }; 1717 1718 1719 /* 1720 * Player Sexes 1721 * 1722 * Title, 1723 * Winner 1724 */ 1725 player_sex sex_info[MAX_SEXES] = 1726 { 1727 { 1728 "Female", 1729 "Queen" 1730 }, 1731 { 1732 "Male", 1733 "King" 1734 } 1735 }; 1736 1737 1738 /* 1739 * Player Races 1740 * 1741 * Title, 1742 * {STR,INT,WIS,DEX,CON,CHR}, 1743 * r_dis, r_dev, r_sav, r_stl, r_sns, r_fos, r_thn, r_thb, 1744 * hitdie, exp base, 1745 * Age (Base, Mod), 1746 * Male (Hgt, Wgt), 1747 * Female (Hgt, Wgt) 1748 * infra 1749 */ 1750 player_race race_info[MAX_RACES] = 1751 { 1752 { 1753 "Human", 1754 { 0, 0, 0, 0, 0, 0 }, 1755 0, 0, 0, 0, 0, 10, 0, 0, 1756 10, 100, 1757 14, 6, 1758 72, 6, 180, 25, 1759 66, 4, 150, 20, 1760 0, 1761 }, 1762 { 1763 "Half-Elf", 1764 { -1, 1, 1, 1, -1, 1 }, 1765 2, 3, 3, 1, 6, 11, -2, 3, 1766 9, 110, 1767 24, 16, 1768 66, 6, 130, 15, 1769 62, 6, 100, 10, 1770 2, 1771 }, 1772 { 1773 "Elf", 1774 { -1, 2, 2, 1, -2, 2 }, 1775 5, 6, 6, 2, 8, 12, -6, 6, 1776 8, 120, 1777 75, 75, 1778 60, 4, 100, 6, 1779 54, 4, 80, 6, 1780 3, 1781 }, 1782 { 1783 "Hobbit", 1784 { -2, 2, 1, 3, 2, 1 }, 1785 15, 18, 18, 5, 12, 15, -11, 6, 1786 7, 110, 1787 21, 12, 1788 36, 3, 60, 3, 1789 33, 3, 50, 3, 1790 4, 1791 }, 1792 { 1793 "Gnome", 1794 { -1, 2, 0, 2, 1, -2 }, 1795 10, 12, 12, 3, 6, 13, -8, 0, 1796 8, 135, 1797 50, 40, 1798 42, 3, 90, 6, 1799 39, 3, 75, 3, 1800 4, 1801 }, 1802 { 1803 "Dwarf", 1804 { 2, -2, 2, -2, 2, -3 }, 1805 2, 9, 10, -1, 7, 10, 7, 0, 1806 11, 125, 1807 35, 15, 1808 48, 3, 150, 10, 1809 46, 3, 120, 10, 1810 5, 1811 }, 1812 { 1813 "Half-Orc", 1814 { 2, -1, 0, 0, 1, -4 }, 1815 -3, -3, -3, -1, 0, 7, 3, -3, 1816 10, 110, 1817 11, 4, 1818 66, 1, 150, 5, 1819 62, 1, 120, 5, 1820 3, 1821 }, 1822 { 1823 "Half-Troll", 1824 { 4, -4, -2, -4, 3, -6 }, 1825 -5, -8, -8, -2, -1, 5, 10, -5, 1826 12, 137, 1827 20, 10, 1828 96, 10, 250, 50, 1829 84, 8, 225, 40, 1830 3, 1831 }, 1832 { 1833 "Amberite", 1834 { 1, 2, 2, 2, 3, 2 }, 1835 4, 5, 5, 2, 3, 13, 6, 0, 1836 10, 225, 1837 50, 50, 1838 82, 5, 190, 20, 1839 78, 6, 180, 15, 1840 0, 1841 }, 1842 { 1843 "High-Elf", 1844 { 1, 3, 2, 3, 1, 5 }, 1845 4, 20, 20, 4, 3, 14, 0, 10, 1846 10, 200, 1847 100, 30, 1848 90, 10, 190, 20, 1849 82, 10, 180, 15, 1850 4, 1851 }, 1852 { 1853 "Barbarian", 1854 { 3, -2, -1, 1, 2, -2 }, 1855 -2, -10, 2, -1, 1, 7, 10, 0, 1856 11, 120, 1857 14, 8, 1858 82, 5, 200, 20, 1859 78, 6, 190, 15, 1860 0, 1861 }, 1862 { 1863 "Half-Ogre", 1864 { 3, -1, -1, -1, 3, -3 }, 1865 -3, -5, -5, -2, -1, 5, 12, 0, 1866 12, 130, 1867 40, 10, 1868 92, 10, 255, 60, 1869 80, 8, 235, 60, 1870 3, 1871 }, 1872 { 1873 "Half-Giant", 1874 { 4, -2, -2, -2, 3, -3 }, 1875 -6, -8, -6, -2, -1, 5, 13, 2, 1876 13, 150, 1877 40, 10, 1878 100, 10, 255, 65, 1879 80, 10, 240, 64, 1880 3, 1881 }, 1882 { 1883 "Half-Titan", 1884 { 5, 1, 1, -2, 3, 1 }, 1885 -5, 5, 2, -2, 1, 8, 13, 0, 1886 14, 255, 1887 100, 30, 1888 111, 11, 255, 86, 1889 99, 11, 250, 86, 1890 0, 1891 }, 1892 { 1893 "Cyclops", 1894 { 4, -3, -3, -3, 4, -6 }, 1895 -4, -5, -5, -2, -2, 5, 10, 6, 1896 13, 130, 1897 50, 24, 1898 92, 10, 255, 60, 1899 80, 8, 235, 60, 1900 1, 1901 }, 1902 { 1903 "Yeek", 1904 { -2, 1, 1, 1, -2, -7 }, 1905 2, 4, 10, 3, 5, 15, -5, -5, 1906 7, 100, 1907 14, 3, 1908 50, 3, 90, 6, 1909 50, 3, 75, 3, 1910 2, 1911 }, 1912 { 1913 "Klackon", 1914 { 2, -1, -1, 1, 2, -2 }, 1915 10, 5, 5, 0, -1, 10, 5, 5, 1916 12, 135, 1917 20, 3, 1918 60, 3, 80, 4, 1919 54, 3, 70, 4, 1920 2, 1921 }, 1922 { 1923 "Kobold", 1924 { 1, -1, 0, 1, 0, -4 }, 1925 -2, -3, -2, -1, 1, 8, 8, -8, 1926 9, 125, 1927 11, 3, 1928 60, 1, 130, 5, 1929 55, 1, 100, 5, 1930 3, 1931 }, 1932 { 1933 "Nibelung", 1934 { 1, -1, 2, 0, 2, -4 }, 1935 3, 5, 10, 1, 5, 10, 5, 0, 1936 11, 135, 1937 40, 12, 1938 43, 3, 92, 6, 1939 40, 3, 78, 3, 1940 5, 1941 }, 1942 { 1943 "Dark-Elf", 1944 { -1, 3, 2, 2, -2, 1 }, 1945 5, 15, 20, 3, 8, 12, -5, 7, 1946 9, 150, 1947 75, 75, 1948 60, 4, 100, 6, 1949 54, 4, 80, 6, 1950 5, 1951 }, 1952 { 1953 "Draconian", 1954 { 2, 1, 1, 1, 2, -3 }, 1955 -2, 5, 3, 0, 1, 10, 5, 5, 1956 11, 250, 1957 75, 33, 1958 76, 1, 160, 5, 1959 72, 1, 130, 5, 1960 2, 1961 }, 1962 { 1963 "Mindflayer", 1964 { -3, 4, 4, 0, -2, -5 }, 1965 10, 25, 15, 2, 5, 12, -8, -5, 1966 9, 140, 1967 100, 25, 1968 68, 6, 142, 15, 1969 63, 6, 112, 10, 1970 4, 1971 }, 1972 { 1973 "Imp", 1974 { -1, -1, -1, 1, 2, -3 }, 1975 -3, 2, -1, 1, -1, 10, 5, -5, 1976 10, 110, 1977 13, 4, 1978 68, 1, 150, 5, 1979 64, 1, 120, 5, 1980 3, 1981 }, 1982 { 1983 "Golem", 1984 { 4, -5, -5, -2, 4, -4 }, 1985 -5, -5, 10, -1, -1, 8, 10, 0, 1986 12, 200, 1987 1, 100, 1988 66, 1, 200, 6, 1989 62, 1, 180, 6, 1990 4, 1991 }, 1992 { 1993 "Skeleton", 1994 { 0, -2, -2, 0, 1, -4 }, 1995 -5, -5, 5, -1, -1, 8, 8, 0, 1996 10, 145, 1997 100, 35, 1998 72, 6, 50, 5, 1999 66, 4, 50, 5, 2000 2, 2001 }, 2002 { 2003 "Zombie", 2004 { 2, -6, -6, 1, 4, -5 }, 2005 -5, -5, 8, -1, -1, 5, 10, 0, 2006 13, 135, 2007 100, 30, 2008 72, 6, 100, 25, 2009 66, 4, 100, 20, 2010 2, 2011 }, 2012 { 2013 "Vampire", 2014 { 3, 3, -1, -1, 1, 2 }, 2015 4, 10, 10, 4, 1, 8, 5, 0, 2016 11, 200, 2017 100, 30, 2018 72, 6, 180, 25, 2019 66, 4, 150, 20, 2020 5, 2021 }, 2022 { 2023 "Spectre", 2024 { -5, 4, 4, 2, -3, -6 }, 2025 10, 25, 20, 5, 5, 14, -10, -5, 2026 7, 180, 2027 100, 30, 2028 72, 6, 100, 25, 2029 66, 4, 100, 20, 2030 5, 2031 }, 2032 { 2033 "Sprite", 2034 { -4, 3, 3, 3, -2, 2 }, 2035 10, 10, 10, 4, 10, 10, -8, 0, 2036 7, 175, 2037 50, 25, 2038 32, 2, 75, 2, 2039 29, 2, 65, 2, 2040 4, 2041 }, 2042 { 2043 "Beastman", 2044 { 2, -2, -1, -1, 2, -4 }, 2045 -5, -2, -1, -1, -1, 5, 9, 5, 2046 11, 140, 2047 14, 6, 2048 65, 6, 150, 20, 2049 61, 6, 120, 15, 2050 0, 2051 }, 2052 { 2053 "Ghoul", 2054 { 0, -1, -1, -1, 1, -5 }, 2055 -3, -3, 6, 1, 0, 5, 5, 0, 2056 9, 125, 2057 100, 30, 2058 72, 6, 100, 25, 2059 66, 4, 100, 20, 2060 2, 2061 } 2062 }; 2063 2064 2065 /* 2066 * Player Classes 2067 * 2068 * Title, 2069 * {STR,INT,WIS,DEX,CON,CHR}, 2070 * c_dis, c_dev, c_sav, c_stl, c_sns, c_fos, c_thn, c_thb, 2071 * x_dis, x_dev, x_sav, x_stl, x_sns, x_fos, x_thn, x_thb, 2072 * HD, Exp, pet_upkeep_div, heavy_sense 2073 */ 2074 player_class class_info[MAX_CLASS] = 2075 { 2076 { 2077 "Warrior", 2078 { 5, -2, -2, 2, 2, -1}, 2079 25, 18, 18, 1, 14, 2, 25, 17, 2080 12, 7, 24, 0, 0, 0, 100, 55, 2081 9, 0, 20, TRUE 2082 }, 2083 2084 { 2085 "Mage", 2086 {-5, 3, 0, 1, -2, 1}, 2087 30, 36, 30, 2, 16, 20, 10, 10, 2088 7, 13, 22, 0, 0, 0, 25, 14, 2089 0, 30, 15, FALSE 2090 }, 2091 2092 { 2093 "Priest", 2094 {-1, -3, 3, -1, 0, 2}, 2095 25, 30, 32, 2, 16, 8, 16, 7, 2096 7, 10, 27, 0, 0, 0, 50, 18, 2097 2, 20, 20, FALSE 2098 }, 2099 2100 { 2101 "Rogue", 2102 { 2, 1, -2, 3, 1, -1}, 2103 45, 32, 28, 5, 32, 24, 15, 20, 2104 15, 10, 24, 0, 0, 0, 70, 40, 2105 6, 25, 20, TRUE 2106 }, 2107 2108 { 2109 "Ranger", 2110 { 2, 2, 0, 1, 1, 1}, 2111 30, 32, 28, 3, 24, 16, 15, 20, 2112 8, 10, 24, 0, 0, 0, 65, 63, 2113 4, 30, 20, TRUE 2114 }, 2115 2116 { 2117 "Paladin", 2118 { 3, -3, 1, 0, 2, 2}, 2119 20, 24, 26, 1, 12, 2, 19, 10, 2120 7, 10, 25, 0, 0, 0, 76, 14, 2121 6, 35, 20, TRUE 2122 }, 2123 2124 { 2125 "Warrior-Mage", 2126 { 2, 2, 0, 1, 0, 1}, 2127 30, 30, 28, 2, 18, 16, 20, 20, 2128 7, 10, 22, 0, 0, 0, 75, 50, 2129 4, 50, 20, FALSE 2130 }, 2131 2132 { 2133 "Chaos-Warrior", 2134 { 2, 1, 0, 1, 2, -2}, 2135 20, 25, 25, 1, 14, 12, 23, 7, 2136 7, 11, 24, 0, 0, 0, 90, 40, 2137 6, 35, 20, TRUE 2138 }, 2139 2140 { 2141 "Monk", 2142 { 2, -1, 1, 3, 2, 1}, 2143 45, 32, 28, 5, 16, 24, 12, 14, 2144 15, 11, 25, 0, 0, 0, 30, 25, 2145 6, 40, 20, FALSE 2146 }, 2147 2148 { 2149 "Mindcrafter", 2150 {-1, 0, 3, -1, -1, 2}, /* note: spell stat is Wis */ 2151 30, 30, 30, 3, 22, 16, 15, 15, 2152 10, 10, 24, 0, 0, 0, 30, 20, 2153 2, 25, 20, FALSE 2154 }, 2155 2156 { 2157 "High-Mage", 2158 {-5, 4, 0, 0, -2, 1}, 2159 30, 36, 30, 2, 16, 20, 10, 10, 2160 7, 13, 22, 0, 0, 0, 15, 10, 2161 0, 30, 12, FALSE 2162 }, 2163 }; 2164 2165 2166 2167 2168 /* 2169 * Hack -- the spell information table. 2170 * 2171 * Class Name 2172 * 2173 * Spell Book 2174 * Spell Xtra 2175 * 2176 * Spell Stat, 2177 * Spell Type, 2178 * 2179 * Spell Level, 2180 * Spell Encumbrance, 2181 * 2182 * Array of { Lev, Mana, Fail, Exp/Lev } 2183 */ 2184 player_magic magic_info[MAX_CLASS] = 2185 { 2186 { 2187 /*** Warrior ***/ 2188 2189 0, 2190 0, 2191 2192 A_STR, 2193 0, 2194 2195 99, 2196 0, 2197 { 2198 { 2199 { 99, 0 }, 2200 { 99, 0 }, 2201 { 99, 0 }, 2202 { 99, 0 }, 2203 { 99, 0 }, 2204 { 99, 0 }, 2205 { 99, 0 }, 2206 { 99, 0 }, 2207 2208 { 99, 0 }, 2209 { 99, 0 }, 2210 { 99, 0 }, 2211 { 99, 0 }, 2212 { 99, 0 }, 2213 { 99, 0 }, 2214 { 99, 0 }, 2215 { 99, 0 }, 2216 2217 { 99, 0 }, 2218 { 99, 0 }, 2219 { 99, 0 }, 2220 { 99, 0 }, 2221 { 99, 0 }, 2222 { 99, 0 }, 2223 { 99, 0 }, 2224 { 99, 0 }, 2225 2226 { 99, 0 }, 2227 { 99, 0 }, 2228 { 99, 0 }, 2229 { 99, 0 }, 2230 { 99, 0 }, 2231 { 99, 0 }, 2232 { 99, 0 }, 2233 { 99, 0 } 2234 }, 2235 2236 { 2237 2238 { 99, 0 }, 2239 { 99, 0 }, 2240 { 99, 0 }, 2241 { 99, 0 }, 2242 { 99, 0 }, 2243 { 99, 0 }, 2244 { 99, 0 }, 2245 { 99, 0 }, 2246 2247 { 99, 0 }, 2248 { 99, 0 }, 2249 { 99, 0 }, 2250 { 99, 0 }, 2251 { 99, 0 }, 2252 { 99, 0 }, 2253 { 99, 0 }, 2254 { 99, 0 }, 2255 2256 { 99, 0 }, 2257 { 99, 0 }, 2258 { 99, 0 }, 2259 { 99, 0 }, 2260 { 99, 0 }, 2261 { 99, 0 }, 2262 { 99, 0 }, 2263 { 99, 0 }, 2264 2265 { 99, 0 }, 2266 { 99, 0 }, 2267 { 99, 0 }, 2268 { 99, 0 }, 2269 { 99, 0 }, 2270 { 99, 0 }, 2271 { 99, 0 }, 2272 { 99, 0 } 2273 }, 2274 { 2275 { 99, 0 }, 2276 { 99, 0 }, 2277 { 99, 0 }, 2278 { 99, 0 }, 2279 { 99, 0 }, 2280 { 99, 0 }, 2281 { 99, 0 }, 2282 { 99, 0 }, 2283 2284 { 99, 0 }, 2285 { 99, 0 }, 2286 { 99, 0 }, 2287 { 99, 0 }, 2288 { 99, 0 }, 2289 { 99, 0 }, 2290 { 99, 0 }, 2291 { 99, 0 }, 2292 2293 { 99, 0 }, 2294 { 99, 0 }, 2295 { 99, 0 }, 2296 { 99, 0 }, 2297 { 99, 0 }, 2298 { 99, 0 }, 2299 { 99, 0 }, 2300 { 99, 0 }, 2301 2302 { 99, 0 }, 2303 { 99, 0 }, 2304 { 99, 0 }, 2305 { 99, 0 }, 2306 { 99, 0 }, 2307 { 99, 0 }, 2308 { 99, 0 }, 2309 { 99, 0 } 2310 }, 2311 { 2312 { 99, 0 }, 2313 { 99, 0 }, 2314 { 99, 0 }, 2315 { 99, 0 }, 2316 { 99, 0 }, 2317 { 99, 0 }, 2318 { 99, 0 }, 2319 { 99, 0 }, 2320 2321 { 99, 0 }, 2322 { 99, 0 }, 2323 { 99, 0 }, 2324 { 99, 0 }, 2325 { 99, 0 }, 2326 { 99, 0 }, 2327 { 99, 0 }, 2328 { 99, 0 }, 2329 2330 { 99, 0 }, 2331 { 99, 0 }, 2332 { 99, 0 }, 2333 { 99, 0 }, 2334 { 99, 0 }, 2335 { 99, 0 }, 2336 { 99, 0 }, 2337 { 99, 0 }, 2338 2339 { 99, 0 }, 2340 { 99, 0 }, 2341 { 99, 0 }, 2342 { 99, 0 }, 2343 { 99, 0 }, 2344 { 99, 0 }, 2345 { 99, 0 }, 2346 { 99, 0 } 2347 }, 2348 { 2349 { 99, 0 }, 2350 { 99, 0 }, 2351 { 99, 0 }, 2352 { 99, 0 }, 2353 { 99, 0 }, 2354 { 99, 0 }, 2355 { 99, 0 }, 2356 { 99, 0 }, 2357 2358 { 99, 0 }, 2359 { 99, 0 }, 2360 { 99, 0 }, 2361 { 99, 0 }, 2362 { 99, 0 }, 2363 { 99, 0 }, 2364 { 99, 0 }, 2365 { 99, 0 }, 2366 2367 { 99, 0 }, 2368 { 99, 0 }, 2369 { 99, 0 }, 2370 { 99, 0 }, 2371 { 99, 0 }, 2372 { 99, 0 }, 2373 { 99, 0 }, 2374 { 99, 0 }, 2375 2376 { 99, 0 }, 2377 { 99, 0 }, 2378 { 99, 0 }, 2379 { 99, 0 }, 2380 { 99, 0 }, 2381 { 99, 0 }, 2382 { 99, 0 }, 2383 { 99, 0 } 2384 }, 2385 { 2386 { 99, 0 }, 2387 { 99, 0 }, 2388 { 99, 0 }, 2389 { 99, 0 }, 2390 { 99, 0 }, 2391 { 99, 0 }, 2392 { 99, 0 }, 2393 { 99, 0 }, 2394 2395 { 99, 0 }, 2396 { 99, 0 }, 2397 { 99, 0 }, 2398 { 99, 0 }, 2399 { 99, 0 }, 2400 { 99, 0 }, 2401 { 99, 0 }, 2402 { 99, 0 }, 2403 2404 { 99, 0 }, 2405 { 99, 0 }, 2406 { 99, 0 }, 2407 { 99, 0 }, 2408 { 99, 0 }, 2409 { 99, 0 }, 2410 { 99, 0 }, 2411 { 99, 0 }, 2412 2413 { 99, 0 }, 2414 { 99, 0 }, 2415 { 99, 0 }, 2416 { 99, 0 }, 2417 { 99, 0 }, 2418 { 99, 0 }, 2419 { 99, 0 }, 2420 { 99, 0 } 2421 }, 2422 { 2423 { 99, 0 }, 2424 { 99, 0 }, 2425 { 99, 0 }, 2426 { 99, 0 }, 2427 { 99, 0 }, 2428 { 99, 0 }, 2429 { 99, 0 }, 2430 { 99, 0 }, 2431 2432 { 99, 0 }, 2433 { 99, 0 }, 2434 { 99, 0 }, 2435 { 99, 0 }, 2436 { 99, 0 }, 2437 { 99, 0 }, 2438 { 99, 0 }, 2439 { 99, 0 }, 2440 2441 { 99, 0 }, 2442 { 99, 0 }, 2443 { 99, 0 }, 2444 { 99, 0 }, 2445 { 99, 0 }, 2446 { 99, 0 }, 2447 { 99, 0 }, 2448 { 99, 0 }, 2449 2450 { 99, 0 }, 2451 { 99, 0 }, 2452 { 99, 0 }, 2453 { 99, 0 }, 2454 { 99, 0 }, 2455 { 99, 0 }, 2456 { 99, 0 }, 2457 { 99, 0 } 2458 }, 2459 }, 2460 }, 2461 2462 { 2463 /*** Mage ***/ 2464 2465 TV_SORCERY_BOOK, 2466 0, 2467 2468 A_INT, 2469 0, 2470 2471 1, 2472 300, 2473 2474 { 2475 { 2476 /* Mage: Life magic */ 2477 2478 { 1, 1 }, 2479 { 3, 2 }, 2480 { 4, 3 }, 2481 { 5, 5 }, 2482 { 7, 7 }, 2483 { 9, 8 }, 2484 { 12, 12 }, 2485 { 15, 14 }, 2486 2487 { 16, 16 }, 2488 { 17, 17 }, 2489 { 18, 18 }, 2490 { 19, 19 }, 2491 { 20, 20 }, 2492 { 23, 23 }, 2493 { 30, 30 }, 2494 { 35, 70 }, 2495 2496 { 26, 30 }, 2497 { 28, 25 }, 2498 { 33, 33 }, 2499 { 35, 35 }, 2500 { 35, 35 }, 2501 { 35, 55 }, 2502 { 39, 40 }, 2503 { 46, 70 }, 2504 2505 { 9, 9 }, 2506 { 25, 25 }, 2507 { 35, 85 }, 2508 { 42, 100 }, 2509 { 45, 90 }, 2510 { 48, 50 }, 2511 { 49, 100 }, 2512 { 50, 100 } 2513 }, 2514 2515 /* Mage: Sorcery */ 2516 2517 { 2518 { 1, 1 }, 2519 { 1, 2 }, 2520 { 3, 3 }, 2521 { 3, 3 }, 2522 { 4, 4 }, 2523 { 5, 5 }, 2524 { 6, 5 }, 2525 { 7, 7 }, 2526 2527 { 9, 7 }, 2528 { 10, 7 }, 2529 { 11, 7 }, 2530 { 13, 7 }, 2531 { 18, 12 }, 2532 { 22, 12 }, 2533 { 28, 20 }, 2534 { 33, 30 }, 2535 2536 { 3, 3 }, 2537 { 10, 10 }, 2538 { 10, 10 }, 2539 { 12, 12 }, 2540 { 14, 10 }, 2541 { 20, 18 }, 2542 { 20, 18 }, 2543 { 25, 25 }, 2544 2545 { 10, 10 }, 2546 { 25, 25 }, 2547 { 25, 30 }, 2548 { 30, 40 }, 2549 { 40, 80 }, 2550 { 40, 100 }, 2551 { 42, 50 }, 2552 { 45, 70 }, 2553 }, 2554 2555 /* Mage: Nature Magic */ 2556 2557 { 2558 { 1, 1 }, 2559 { 3, 3 }, 2560 { 3, 3 }, 2561 { 4, 4 }, 2562 { 4, 4 }, 2563 { 4, 5 }, 2564 { 5, 5 }, 2565 { 5, 5 }, 2566 2567 { 5, 5 }, 2568 { 5, 5 }, 2569 { 7, 6 }, 2570 { 7, 6 }, 2571 { 9, 6 }, 2572 { 19, 12 }, 2573 { 25, 25 }, 2574 { 40, 100 }, 2575 2576 { 7, 7 }, 2577 { 9, 12 }, 2578 { 10, 12 }, 2579 { 15, 20 }, 2580 { 30, 30 }, 2581 { 37, 40 }, 2582 { 38, 45 }, 2583 { 40, 90 }, 2584 2585 2586 { 20, 18 }, 2587 { 23, 23 }, 2588 { 25, 25 }, 2589 { 30, 27 }, 2590 { 35, 30 }, 2591 { 37, 35 }, 2592 { 40, 90 }, 2593 { 40, 75 } 2594 }, 2595 2596 /* Mage: Chaos Magic */ 2597 2598 { 2599 { 1, 1 }, 2600 { 1, 2 }, 2601 { 2, 2 }, 2602 { 5, 5 }, 2603 { 9, 6 }, 2604 { 13, 9 }, 2605 { 14, 9 }, 2606 { 15, 9 }, 2607 2608 { 17, 10 }, 2609 { 19, 12 }, 2610 { 21, 13 }, 2611 { 23, 15 }, 2612 { 25, 16 }, 2613 { 25, 18 }, 2614 { 30, 20 }, 2615 { 35, 40 }, 2616 2617 { 11, 7 }, 2618 { 15, 15 }, 2619 { 16, 14 }, 2620 {25, 25 }, 2621 { 30, 25 }, 2622 { 42, 50 }, 2623 { 45, 90 }, 2624 { 47, 100 }, 2625 2626 { 20, 20 }, 2627 { 35, 32 }, 2628 { 37, 34 }, 2629 { 41, 42 }, 2630 { 43, 44 }, 2631 { 45, 48 }, 2632 { 47, 75 }, 2633 { 49, 100 } 2634 }, 2635 2636 /* Mage: Death Magic */ 2637 2638 { 2639 { 1, 1 }, 2640 { 2, 2 }, 2641 { 2, 2 }, 2642 { 3, 3 }, 2643 { 5, 5 }, 2644 { 7, 10 }, 2645 { 9, 9 }, 2646 { 10, 10 }, 2647 2648 { 12, 12 }, 2649 { 13, 12 }, 2650 { 18, 15 }, 2651 { 23, 20 }, 2652 { 30, 75 }, 2653 { 33, 35 }, 2654 { 37, 25 }, 2655 { 45, 50 }, 2656 2657 { 10, 20 }, 2658 { 10, 15 }, 2659 { 11, 11 }, 2660 { 30, 25 }, 2661 { 33, 35 }, 2662 { 33, 90 }, 2663 { 40, 40 }, 2664 { 40, 75 }, 2665 2666 { 20, 20 }, 2667 { 25, 66 }, 2668 { 30, 40 }, 2669 { 33, 35 }, 2670 { 37, 35 }, 2671 { 42, 120 }, 2672 { 45, 100 }, 2673 { 47, 100 } 2674 }, 2675 2676 /* Mage: Trump Magic */ 2677 2678 { 2679 { 1, 1 }, 2680 { 3, 3 }, 2681 { 5, 5 }, 2682 { 6, 6 }, 2683 { 7, 7 }, 2684 { 9, 9 }, 2685 { 14, 12 }, 2686 { 17, 15 }, 2687 2688 { 20, 20 }, 2689 { 24, 22 }, 2690 { 28, 24 }, 2691 { 30, 25 }, 2692 { 33, 28 }, 2693 { 35, 30 }, 2694 { 40, 35 }, 2695 { 42, 40 }, 2696 2697 { 15, 15 }, 2698 { 24, 24 }, 2699 { 26, 26 }, 2700 { 30, 30 }, 2701 { 35, 70 }, 2702 { 40, 100 }, 2703 { 42, 50 }, 2704 { 45, 100 }, 2705 2706 { 30, 30 }, 2707 { 35, 50 }, 2708 { 36, 80 }, 2709 { 39, 80 }, 2710 { 42, 100 }, 2711 { 47, 100 }, 2712 { 48, 100 }, 2713 { 49, 100 } 2714 }, 2715 2716 /* Mage: Arcane Magic */ 2717 2718 { 2719 { 1, 1 }, 2720 { 1, 1 }, 2721 { 1, 1 }, 2722 { 2, 1 }, 2723 { 2, 2 }, 2724 { 4, 4 }, 2725 { 5, 5 }, 2726 { 6, 5 }, 2727 2728 { 7, 6 }, 2729 { 8, 8 }, 2730 { 9, 8 }, 2731 { 9, 9 }, 2732 { 9, 9 }, 2733 { 11, 10 }, 2734 { 12, 12 }, 2735 { 13, 12 }, 2736 2737 { 14, 12 }, 2738 { 15, 12 }, 2739 { 16, 14 }, 2740 { 18, 15 }, 2741 { 20, 16 }, 2742 { 23, 18 }, 2743 { 25, 20 }, 2744 { 25, 20 }, 2745 2746 { 28, 25 }, 2747 { 35, 35 }, 2748 { 38, 30 }, 2749 { 40, 30 }, 2750 { 41, 30 }, 2751 { 42, 30 }, 2752 { 45, 50 }, 2753 { 49, 100 } 2754 } 2755 } 2756 }, 2757 2758 { 2759 /*** Priest ***/ 2760 2761 TV_LIFE_BOOK, 2762 0, 2763 2764 A_WIS, 2765 1, 2766 2767 1, 2768 350, 2769 { 2770 /* Priest: Life Magic */ 2771 { 2772 { 1, 1 }, 2773 { 1, 2 }, 2774 { 1, 2 }, 2775 { 3, 2 }, 2776 { 3, 3 }, 2777 { 4, 4 }, 2778 { 5, 4 }, 2779 { 7, 5 }, 2780 2781 { 7, 6 }, 2782 { 9, 6 }, 2783 { 9, 7 }, 2784 { 10, 8 }, 2785 { 10, 8 }, 2786 { 11, 8 }, 2787 { 20, 16 }, 2788 { 33, 55 }, 2789 2790 { 15, 14 }, 2791 { 16, 14 }, 2792 { 17, 14 }, 2793 { 24, 20 }, 2794 { 25, 20 }, 2795 { 25, 25 }, 2796 { 39, 32 }, 2797 { 44, 44 }, 2798 2799 { 5, 5 }, 2800 { 15, 14 }, 2801 { 30, 50 }, 2802 { 35, 70 }, 2803 { 40, 50 }, 2804 { 40, 40 }, 2805 { 42, 90 }, 2806 { 45, 90 }, 2807 }, 2808 2809 /* Priest: Sorcery */ 2810 { 2811 { 2, 1 }, 2812 { 3, 2 }, 2813 { 4, 3 }, 2814 { 5, 4 }, 2815 { 6, 5 }, 2816 { 7, 6 }, 2817 { 9, 7 }, 2818 { 11, 10 }, 2819 2820 { 13, 11 }, 2821 { 14, 12 }, 2822 { 15, 13 }, 2823 { 16, 14 }, 2824 { 22, 15 }, 2825 { 27, 17 }, 2826 { 30, 22 }, 2827 { 36, 33 }, 2828 2829 { 7, 7 }, 2830 { 12, 12 }, 2831 { 14, 14 }, 2832 { 15, 15 }, 2833 { 18, 18 }, 2834 { 20, 20 }, 2835 { 22, 22 }, 2836 { 27, 27 }, 2837 2838 { 13, 13 }, 2839 { 24, 24 }, 2840 { 27, 30 }, 2841 { 33, 40 }, 2842 { 42, 80 }, 2843 { 42, 100 }, 2844 { 45, 50 }, 2845 { 48, 70 }, 2846 }, 2847 2848 /* Priest: Nature Magic */ 2849 { 2850 { 2, 1 }, 2851 { 5, 3 }, 2852 { 5, 4 }, 2853 { 6, 5 }, 2854 { 6, 5 }, 2855 { 6, 6 }, 2856 { 7, 7 }, 2857 { 7, 7 }, 2858 2859 { 7, 7 }, 2860 { 8, 7 }, 2861 { 9, 10 }, 2862 { 10, 10 }, 2863 { 11, 11 }, 2864 { 20, 20 }, 2865 { 30, 30 }, 2866 { 42, 100 }, 2867 2868 { 9, 9 }, 2869 { 11, 12 }, 2870 { 12, 13 }, 2871 { 18, 20 }, 2872 { 35, 35 }, 2873 { 39, 40 }, 2874 { 40, 50 }, 2875 { 42, 90 }, 2876 2877 { 22, 22 }, 2878 { 25, 25 }, 2879 { 27, 27 }, 2880 { 32, 30 }, 2881 { 37, 32 }, 2882 { 39, 37 }, 2883 { 42, 90 }, 2884 { 44, 80 }, 2885 }, 2886 2887 /* Priest: Chaos Magic */ 2888 { 2889 { 2, 1 }, 2890 { 3, 2 }, 2891 { 4, 3 }, 2892 { 5, 4 }, 2893 { 10, 6 }, 2894 { 11, 6 }, 2895 { 16, 11 }, 2896 { 17, 11 }, 2897 2898 { 19, 15 }, 2899 { 21, 16 }, 2900 { 23, 18 }, 2901 { 25, 18 }, 2902 { 27, 20 }, 2903 { 29, 22 }, 2904 { 33, 23 }, 2905 { 37, 42 }, 2906 2907 2908 { 14, 11 }, 2909 { 17, 17 }, 2910 { 20, 18 }, 2911 { 27, 27 }, 2912 { 35, 30 }, 2913 { 45, 55 }, 2914 { 47, 90 }, 2915 { 49, 100 }, 2916 2917 { 25, 25 }, 2918 { 37, 37 }, 2919 { 39, 37 }, 2920 { 43, 45 }, 2921 { 45, 47 }, 2922 { 47, 50 }, 2923 { 49, 95 }, 2924 { 50, 100 }, 2925 }, 2926 2927 /* Priest: Death Magic */ 2928 { 2929 { 1, 1 }, 2930 { 2, 2 }, 2931 { 3, 3 }, 2932 { 5, 4 }, 2933 { 7, 7 }, 2934 { 9, 11 }, 2935 { 11, 11 }, 2936 { 12, 12 }, 2937 2938 { 14, 14 }, 2939 { 16, 16 }, 2940 { 21, 20 }, 2941 { 25, 24 }, 2942 { 33, 75 }, 2943 { 35, 35 }, 2944 { 40, 30 }, 2945 { 50, 52 }, 2946 2947 { 13, 20 }, 2948 { 13, 15 }, 2949 { 14, 15 }, 2950 { 33, 33 }, 2951 { 35, 35 }, 2952 { 35, 95 }, 2953 { 44, 44 }, 2954 { 45, 75 }, 2955 2956 { 25, 25 }, 2957 { 30, 75 }, 2958 { 35, 45 }, 2959 { 40, 40 }, 2960 { 42, 40 }, 2961 { 48, 125 }, 2962 { 49, 100 }, 2963 { 50, 111 }, 2964 }, 2965 2966 /* Priest: Trump Magic */ 2967 { 2968 { 1, 1 }, 2969 { 4, 4 }, 2970 { 6, 5 }, 2971 { 7, 7 }, 2972 { 9, 9 }, 2973 { 11, 11 }, 2974 { 17, 14 }, 2975 { 19, 17 }, 2976 2977 { 22, 22 }, 2978 { 26, 24 }, 2979 { 30, 25 }, 2980 { 32, 30 }, 2981 { 35, 30 }, 2982 { 38, 35 }, 2983 { 42, 40 }, 2984 { 45, 45 }, 2985 2986 { 17, 17 }, 2987 { 27, 25 }, 2988 { 29, 27 }, 2989 { 33, 30 }, 2990 { 38, 75 }, 2991 { 41, 110 }, 2992 { 45, 55 }, 2993 { 49, 125 }, 2994 2995 { 32, 30 }, 2996 { 38, 55 }, 2997 { 40, 85 }, 2998 { 43, 85 }, 2999 { 46, 110 }, 3000 { 48, 115 }, 3001 { 49, 120 }, 3002 { 50, 125 } 3003 }, 3004 3005 /* Priest: Arcane Magic */ 3006 { 3007 { 1, 1 }, 3008 { 1, 1 }, 3009 { 2, 1 }, 3010 { 2, 2 }, 3011 { 3, 3 }, 3012 { 5, 5 }, 3013 { 6, 6 }, 3014 { 7, 6 }, 3015 3016 { 8, 7 }, 3017 { 9, 8 }, 3018 { 10, 9 }, 3019 { 11, 10 }, 3020 { 12, 11 }, 3021 { 13, 12 }, 3022 { 14, 13 }, 3023 { 15, 14 }, 3024 3025 { 16, 15 }, 3026 { 17, 16 }, 3027 { 18, 17 }, 3028 { 19, 18 }, 3029 { 22, 20 }, 3030 { 24, 22 }, 3031 { 27, 24 }, 3032 { 29, 26 }, 3033 3034 { 33, 30 }, 3035 { 37, 36 }, 3036 { 40, 37 }, 3037 { 42, 38 }, 3038 { 44, 39 }, 3039 { 46, 40 }, 3040 { 47, 55 }, 3041 { 50, 120 } 3042 } 3043 } 3044 }, 3045 3046 { 3047 /*** Rogue ***/ 3048 TV_SORCERY_BOOK, 3049 0, 3050 3051 A_INT, 3052 0, 3053 3054 5, 3055 350, 3056 { 3057 { 3058 { 99, 0 }, 3059 { 99, 0 }, 3060 { 99, 0 }, 3061 { 99, 0 }, 3062 { 99, 0 }, 3063 { 99, 0 }, 3064 { 99, 0 }, 3065 { 99, 0 }, 3066 3067 { 99, 0 }, 3068 { 99, 0 }, 3069 { 99, 0 }, 3070 { 99, 0 }, 3071 { 99, 0 }, 3072 { 99, 0 }, 3073 { 99, 0 }, 3074 { 99, 0 }, 3075 3076 { 99, 0 }, 3077 { 99, 0 }, 3078 { 99, 0 }, 3079 { 99, 0 }, 3080 { 99, 0 }, 3081 { 99, 0 }, 3082 { 99, 0 }, 3083 { 99, 0 }, 3084 3085 { 99, 0 }, 3086 { 99, 0 }, 3087 { 99, 0 }, 3088 { 99, 0 }, 3089 { 99, 0 }, 3090 { 99, 0 }, 3091 { 99, 0 }, 3092 { 99, 0 }, 3093 }, 3094 3095 /* Rogue (Burglar): Sorcery */ 3096 { 3097 { 5, 1 }, 3098 { 7, 2 }, 3099 { 8, 3 }, 3100 { 9, 3 }, 3101 { 13, 6 }, 3102 { 15, 7 }, 3103 { 17, 9 }, 3104 { 21, 12 }, 3105 3106 { 25, 14 }, 3107 { 27, 15 }, 3108 { 29, 17 }, 3109 { 30, 20 }, 3110 { 31, 23 }, 3111 { 32, 25 }, 3112 { 35, 30 }, 3113 { 40, 35 }, 3114 3115 { 9, 3 }, 3116 { 13, 10 }, 3117 { 14, 10 }, 3118 { 15, 10 }, 3119 { 16, 10 }, 3120 { 17, 20 }, 3121 { 18, 17 }, 3122 { 30, 35 }, 3123 3124 { 15, 15 }, 3125 { 20, 20 }, 3126 { 35, 40 }, 3127 { 37, 40 }, 3128 { 43, 80 }, 3129 { 44, 100 }, 3130 { 45, 50 }, 3131 { 99, 0 }, 3132 }, 3133 3134 { 3135 { 99, 0 }, 3136 { 99, 0 }, 3137 { 99, 0 }, 3138 { 99, 0 }, 3139 { 99, 0 }, 3140 { 99, 0 }, 3141 { 99, 0 }, 3142 { 99, 0 }, 3143 3144 { 99, 0 }, 3145 { 99, 0 }, 3146 { 99, 0 }, 3147 { 99, 0 }, 3148 { 99, 0 }, 3149 { 99, 0 }, 3150 { 99, 0 }, 3151 { 99, 0 }, 3152 3153 { 99, 0 }, 3154 { 99, 0 }, 3155 { 99, 0 }, 3156 { 99, 0 }, 3157 { 99, 0 }, 3158 { 99, 0 }, 3159 { 99, 0 }, 3160 { 99, 0 }, 3161 3162 { 99, 0 }, 3163 { 99, 0 }, 3164 { 99, 0 }, 3165 { 99, 0 }, 3166 { 99, 0 }, 3167 { 99, 0 }, 3168 { 99, 0 }, 3169 { 99, 0 }, 3170 }, 3171 3172 { 3173 { 99, 0 }, 3174 { 99, 0 }, 3175 { 99, 0 }, 3176 { 99, 0 }, 3177 { 99, 0 }, 3178 { 99, 0 }, 3179 { 99, 0 }, 3180 { 99, 0 }, 3181 3182 { 99, 0 }, 3183 { 99, 0 }, 3184 { 99, 0 }, 3185 { 99, 0 }, 3186 { 99, 0 }, 3187 { 99, 0 }, 3188 { 99, 0 }, 3189 { 99, 0 }, 3190 3191 { 99, 0 }, 3192 { 99, 0 }, 3193 { 99, 0 }, 3194 { 99, 0 }, 3195 { 99, 0 }, 3196 { 99, 0 }, 3197 { 99, 0 }, 3198 { 99, 0 }, 3199 3200 { 99, 0 }, 3201 { 99, 0 }, 3202 { 99, 0 }, 3203 { 99, 0 }, 3204 { 99, 0 }, 3205 { 99, 0 }, 3206 { 99, 0 }, 3207 { 99, 0 }, 3208 }, 3209 3210 /* Rogue (Assassin): Death Magic */ 3211 { 3212 { 5, 3 }, 3213 { 7, 4 }, 3214 { 9, 5 }, 3215 { 13, 7 }, 3216 { 15, 7 }, 3217 { 17, 15 }, 3218 { 19, 17 }, 3219 { 19, 19 }, 3220 3221 { 21, 21 }, 3222 { 23, 23 }, 3223 { 27, 25 }, 3224 { 30, 30 }, 3225 { 35, 35 }, 3226 { 45, 45 }, 3227 { 99, 0 }, 3228 { 99, 0 }, 3229 3230 { 20, 25 }, 3231 { 23, 20 }, 3232 { 28, 28 }, 3233 { 32, 32 }, 3234 { 46, 45 }, 3235 { 48, 100 }, 3236 { 50, 50 }, 3237 { 99, 0 }, 3238 3239 { 30, 30 }, 3240 { 31, 80 }, 3241 { 32, 40 }, 3242 { 99, 0 }, 3243 { 99, 0 }, 3244 { 99, 0 }, 3245 { 99, 0 }, 3246 { 50, 125 }, 3247 }, 3248 3249 /* Rogue (Card Shark): Trump Magic */ 3250 { 3251 { 5, 2 }, 3252 { 7, 5 }, 3253 { 9, 7 }, 3254 { 11, 9 }, 3255 { 13, 11 }, 3256 { 15, 13 }, 3257 { 19, 15 }, 3258 { 21, 20 }, 3259 3260 { 25, 22 }, 3261 { 30, 26 }, 3262 { 33, 26 }, 3263 { 35, 32 }, 3264 { 40, 35 }, 3265 { 42, 38 }, 3266 { 46, 44 }, 3267 { 49, 50 }, 3268 3269 { 20, 15 }, 3270 { 30, 30 }, 3271 { 33, 30 }, 3272 { 38, 33 }, 3273 { 42, 90 }, 3274 { 45, 150 }, 3275 { 48, 75 }, 3276 { 99, 0 }, 3277 3278 { 35, 30 }, 3279 { 42, 65 }, 3280 { 44, 100 }, 3281 { 46, 100 }, 3282 { 99, 0 }, 3283 { 49, 125 }, 3284 { 99, 0 }, 3285 { 99, 0 }, 3286 }, 3287 3288 /* Rogue (Thief): Arcane Magic */ 3289 { 3290 { 1, 1 }, 3291 { 1, 1 }, 3292 { 2, 1 }, 3293 { 2, 2 }, 3294 { 3, 3 }, 3295 { 5, 5 }, 3296 { 6, 6 }, 3297 { 7, 7 }, 3298 3299 { 8, 8 }, 3300 { 9, 9 }, 3301 { 10, 10 }, 3302 { 11, 11 }, 3303 { 13, 11 }, 3304 { 14, 12 }, 3305 { 15, 13 }, 3306 { 16, 14 }, 3307 3308 { 17, 15 }, 3309 { 18, 16 }, 3310 { 19, 17 }, 3311 { 20, 20 }, 3312 { 23, 22 }, 3313 { 25, 24 }, 3314 { 28, 25 }, 3315 { 30, 28 }, 3316 3317 { 35, 30 }, 3318 { 39, 36 }, 3319 { 42, 37 }, 3320 { 44, 38 }, 3321 { 46, 40 }, 3322 { 47, 42 }, 3323 { 48, 60 }, 3324 { 50, 125 } 3325 } 3326 } 3327 }, 3328 3329 { 3330 /*** Ranger ***/ 3331 3332 TV_SORCERY_BOOK, 3333 0, 3334 3335 A_INT, 3336 0, 3337 3338 3, 3339 400, 3340 3341 { 3342 { 3343 { 99, 0 }, 3344 { 99, 0 }, 3345 { 99, 0 }, 3346 { 99, 0 }, 3347 { 99, 0 }, 3348 { 99, 0 }, 3349 { 99, 0 }, 3350 { 99, 0 }, 3351 3352 { 99, 0 }, 3353 { 99, 0 }, 3354 { 99, 0 }, 3355 { 99, 0 }, 3356 { 99, 0 }, 3357 { 99, 0 }, 3358 { 99, 0 }, 3359 { 99, 0 }, 3360 3361 { 99, 0 }, 3362 { 99, 0 }, 3363 { 99, 0 }, 3364 { 99, 0 }, 3365 { 99, 0 }, 3366 { 99, 0 }, 3367 { 99, 0 }, 3368 { 99, 0 }, 3369 3370 { 99, 0 }, 3371 { 99, 0 }, 3372 { 99, 0 }, 3373 { 99, 0 }, 3374 { 99, 0 }, 3375 { 99, 0 }, 3376 { 99, 0 }, 3377 { 99, 0 }, 3378 }, 3379 3380 /* Ranger: Sorcery */ 3381 { 3382 { 3, 2 }, 3383 { 3, 3 }, 3384 { 5, 4 }, 3385 { 7, 4 }, 3386 { 9, 6 }, 3387 { 11, 8 }, 3388 { 13, 8 }, 3389 { 17, 17 }, 3390 3391 { 20, 19 }, 3392 { 23, 25 }, 3393 { 25, 25 }, 3394 { 27, 25 }, 3395 { 31, 27 }, 3396 { 34, 35 }, 3397 { 38, 37 }, 3398 { 42, 40 }, 3399 3400 { 15, 7 }, 3401 { 15, 20 }, 3402 { 17, 17 }, 3403 { 18, 18 }, 3404 { 19, 25 }, 3405 { 23, 25 }, 3406 { 27, 27 }, 3407 { 35, 35 }, 3408 3409 { 20, 20 }, 3410 { 27, 27 }, 3411 { 37, 60 }, 3412 { 40, 40 }, 3413 { 45, 80 }, 3414 { 45, 100 }, 3415 { 50, 50 }, 3416 { 99, 0 }, 3417 }, 3418 3419 /* Ranger: Nature Magic */ 3420 { 3421 { 3, 1 }, 3422 { 4, 3 }, 3423 { 4, 4 }, 3424 { 5, 7 }, 3425 { 6, 7 }, 3426 { 7, 7 }, 3427 { 8, 7 }, 3428 { 9, 7 }, 3429 3430 { 9, 7 }, 3431 { 10, 7 }, 3432 { 11, 9 }, 3433 { 12, 9 }, 3434 { 14, 9 }, 3435 { 18, 20 }, 3436 { 23, 23 }, 3437 { 40, 100 }, 3438 3439 { 10, 10 }, 3440 { 12, 12 }, 3441 { 14, 15 }, 3442 { 20, 30 }, 3443 { 35, 30 }, 3444 { 38, 40 }, 3445 { 40, 55 }, 3446 { 42, 80 }, 3447 3448 { 25, 28 }, 3449 { 26, 26 }, 3450 { 30, 35 }, 3451 { 32, 29 }, 3452 { 36, 33 }, 3453 { 40, 35 }, 3454 { 41, 80 }, 3455 { 42, 80 }, 3456 }, 3457 3458 /* Ranger: Chaos Magic */ 3459 { 3460 { 3, 1 }, 3461 { 3, 3 }, 3462 { 5, 3 }, 3463 { 7, 5 }, 3464 { 14, 12 }, 3465 { 20, 16 }, 3466 { 25, 21 }, 3467 { 25, 22 }, 3468 3469 { 27, 23 }, 3470 { 30, 25 }, 3471 { 33, 30 }, 3472 { 35, 31 }, 3473 { 37, 35 }, 3474 { 39, 29 }, 3475 { 43, 30 }, 3476 { 48, 50 }, 3477 3478 { 22, 20 }, 3479 { 25, 25 }, 3480 { 28, 25 }, 3481 { 35, 32 }, 3482 { 38, 35 }, 3483 { 42, 75 }, 3484 { 48, 100 }, 3485 { 99, 0 }, 3486 3487 { 33, 33 }, 3488 { 40, 45 }, 3489 { 42, 42 }, 3490 { 48, 48 }, 3491 { 50, 50 }, 3492 { 99, 0 }, 3493 { 99, 0 }, 3494 { 99, 0 }, 3495 }, 3496 3497 /* Ranger: Death Magic */ 3498 { 3499 { 5, 2 }, 3500 { 5, 3 }, 3501 { 7, 4 }, 3502 { 9, 5 }, 3503 { 11, 8 }, 3504 { 17, 25 }, 3505 { 19, 19 }, 3506 { 22, 22 }, 3507 3508 { 24, 24 }, 3509 { 26, 26 }, 3510 { 28, 28 }, 3511 { 30, 30 }, 3512 { 40, 80 }, 3513 { 45, 40 }, 3514 { 99, 0 }, 3515 { 99, 0 }, 3516 3517 { 25, 30 }, 3518 { 25, 25 }, 3519 { 27, 27 }, 3520 { 39, 39 }, 3521 { 45, 45 }, 3522 { 46, 100 }, 3523 { 99, 0 }, 3524 { 99, 0 }, 3525 3526 { 35, 35 }, 3527 { 38, 90 }, 3528 { 40, 45 }, 3529 { 48, 50 }, 3530 { 50, 50 }, 3531 { 99, 0 }, 3532 { 99, 0 }, 3533 { 99, 0 } 3534 }, 3535 3536 /* Ranger: Trump Magic */ 3537 { 3538 { 3, 1 }, 3539 { 6, 6 }, 3540 { 9, 7 }, 3541 { 10, 8 }, 3542 { 13, 10 }, 3543 { 17, 15 }, 3544 { 20, 17 }, 3545 { 22, 20 }, 3546 3547 { 24, 22 }, 3548 { 28, 25 }, 3549 { 33, 26 }, 3550 { 36, 32 }, 3551 { 38, 33 }, 3552 { 42, 38 }, 3553 { 45, 42 }, 3554 { 99, 0 }, 3555 3556 { 20, 20 }, 3557 { 28, 26 }, 3558 { 31, 30 }, 3559 { 36, 33 }, 3560 { 41, 80 }, 3561 { 44, 120 }, 3562 { 99, 0 }, 3563 { 99, 0 }, 3564 3565 { 35, 33 }, 3566 { 40, 65 }, 3567 { 99, 0 }, 3568 { 47, 95 }, 3569 { 50, 120 }, 3570 { 99, 0 }, 3571 { 99, 0 }, 3572 { 99, 0 }, 3573 }, 3574 3575 /* Ranger: Arcane Magic */ 3576 { 3577 { 3, 2 }, 3578 { 3, 2 }, 3579 { 4, 3 }, 3580 { 4, 3 }, 3581 { 5, 4 }, 3582 { 6, 6 }, 3583 { 7, 7 }, 3584 { 8, 8 }, 3585 3586 { 9, 9 }, 3587 { 10, 10 }, 3588 { 11, 11 }, 3589 { 12, 12 }, 3590 { 14, 13 }, 3591 { 15, 14 }, 3592 { 16, 15 }, 3593 { 17, 16 }, 3594 3595 { 18, 17 }, 3596 { 19, 18 }, 3597 { 20, 19 }, 3598 { 22, 20 }, 3599 { 25, 23 }, 3600 { 27, 26 }, 3601 { 29, 27 }, 3602 { 33, 30 }, 3603 3604 { 38, 36 }, 3605 { 42, 38 }, 3606 { 44, 38 }, 3607 { 46, 40 }, 3608 { 47, 42 }, 3609 { 48, 44 }, 3610 { 49, 65 }, 3611 { 99, 0 } 3612 } 3613 } 3614 }, 3615 3616 { 3617 /*** Paladin ***/ 3618 3619 TV_LIFE_BOOK, 3620 0, 3621 3622 A_WIS, 3623 1, 3624 3625 1, 3626 400, 3627 { 3628 /* Paladin: Life Magic */ 3629 { 3630 { 1, 1 }, 3631 { 2, 2 }, 3632 { 3, 3 }, 3633 { 4, 3 }, 3634 { 5, 4 }, 3635 { 8, 5 }, 3636 { 11, 9 }, 3637 { 13, 10 }, 3638 3639 { 14, 11 }, 3640 { 15, 15 }, 3641 { 17, 15 }, 3642 { 18, 15 }, 3643 { 18, 15 }, 3644 { 19, 15 }, 3645 { 30, 25 }, 3646 { 35, 70 }, 3647 3648 { 25, 22 }, 3649 { 28, 24 }, 3650 { 30, 25 }, 3651 { 33, 30 }, 3652 { 35, 32 }, 3653 { 35, 55 }, 3654 { 39, 38 }, 3655 { 46, 60 }, 3656 3657 { 9, 9 }, 3658 { 25, 20 }, 3659 { 35, 65 }, 3660 { 40, 80 }, 3661 { 45, 80 }, 3662 { 45, 45 }, 3663 { 48, 100 }, 3664 { 50, 100 } 3665 }, 3666 3667 { 3668 3669 { 99, 0 }, 3670 { 99, 0 }, 3671 { 99, 0 }, 3672 { 99, 0 }, 3673 { 99, 0 }, 3674 { 99, 0 }, 3675 { 99, 0 }, 3676 { 99, 0 }, 3677 3678 { 99, 0 }, 3679 { 99, 0 }, 3680 { 99, 0 }, 3681 { 99, 0 }, 3682 { 99, 0 }, 3683 { 99, 0 }, 3684 { 99, 0 }, 3685 { 99, 0 }, 3686 3687 { 99, 0 }, 3688 { 99, 0 }, 3689 { 99, 0 }, 3690 { 99, 0 }, 3691 { 99, 0 }, 3692 { 99, 0 }, 3693 { 99, 0 }, 3694 { 99, 0 }, 3695 3696 { 99, 0 }, 3697 { 99, 0 }, 3698 { 99, 0 }, 3699 { 99, 0 }, 3700 { 99, 0 }, 3701 { 99, 0 }, 3702 { 99, 0 }, 3703 { 99, 0 } 3704 }, 3705 { 3706 { 99, 0 }, 3707 { 99, 0 }, 3708 { 99, 0 }, 3709 { 99, 0 }, 3710 { 99, 0 }, 3711 { 99, 0 }, 3712 { 99, 0 }, 3713 { 99, 0 }, 3714 3715 { 99, 0 }, 3716 { 99, 0 }, 3717 { 99, 0 }, 3718 { 99, 0 }, 3719 { 99, 0 }, 3720 { 99, 0 }, 3721 { 99, 0 }, 3722 { 99, 0 }, 3723 3724 { 99, 0 }, 3725 { 99, 0 }, 3726 { 99, 0 }, 3727 { 99, 0 }, 3728 { 99, 0 }, 3729 { 99, 0 }, 3730 { 99, 0 }, 3731 { 99, 0 }, 3732 3733 { 99, 0 }, 3734 { 99, 0 }, 3735 { 99, 0 }, 3736 { 99, 0 }, 3737 { 99, 0 }, 3738 { 99, 0 }, 3739 { 99, 0 }, 3740 { 99, 0 } 3741 }, 3742 { 3743 { 99, 0 }, 3744 { 99, 0 }, 3745 { 99, 0 }, 3746 { 99, 0 }, 3747 { 99, 0 }, 3748 { 99, 0 }, 3749 { 99, 0 }, 3750 { 99, 0 }, 3751 3752 { 99, 0 }, 3753 { 99, 0 }, 3754 { 99, 0 }, 3755 { 99, 0 }, 3756 { 99, 0 }, 3757 { 99, 0 }, 3758 { 99, 0 }, 3759 { 99, 0 }, 3760 3761 { 99, 0 }, 3762 { 99, 0 }, 3763 { 99, 0 }, 3764 { 99, 0 }, 3765 { 99, 0 }, 3766 { 99, 0 }, 3767 { 99, 0 }, 3768 { 99, 0 }, 3769 3770 { 99, 0 }, 3771 { 99, 0 }, 3772 { 99, 0 }, 3773 { 99, 0 }, 3774 { 99, 0 }, 3775 { 99, 0 }, 3776 { 99, 0 }, 3777 { 99, 0 } 3778 }, 3779 3780 /* Paladin: Death Magic */ 3781 { 3782 { 1, 1 }, 3783 { 3, 2 }, 3784 { 4, 3 }, 3785 { 6, 5 }, 3786 { 8, 8 }, 3787 { 10, 11 }, 3788 { 12, 12 }, 3789 { 15, 15 }, 3790 3791 { 17, 17 }, 3792 { 19, 19 }, 3793 { 23, 23 }, 3794 { 28, 26 }, 3795 { 35, 75 }, 3796 { 40, 35 }, 3797 { 45, 35 }, 3798 { 50, 52 }, 3799 3800 { 15, 20 }, 3801 { 15, 20 }, 3802 { 18, 20 }, 3803 { 38, 38 }, 3804 { 40, 40 }, 3805 { 42, 100 }, 3806 { 48, 50 }, 3807 { 48, 75 }, 3808 3809 { 30, 35 }, 3810 { 36, 85 }, 3811 { 38, 45 }, 3812 { 45, 45 }, 3813 { 47, 45 }, 3814 { 50, 150 }, 3815 { 50, 100 }, 3816 { 50, 111 } 3817 }, 3818 3819 /* Paladin: No Trump magic */ 3820 { 3821 { 99, 0 }, 3822 { 99, 0 }, 3823 { 99, 0 }, 3824 { 99, 0 }, 3825 { 99, 0 }, 3826 { 99, 0 }, 3827 { 99, 0 }, 3828 { 99, 0 }, 3829 3830 { 99, 0 }, 3831 { 99, 0 }, 3832 { 99, 0 }, 3833 { 99, 0 }, 3834 { 99, 0 }, 3835 { 99, 0 }, 3836 { 99, 0 }, 3837 { 99, 0 }, 3838 3839 { 99, 0 }, 3840 { 99, 0 }, 3841 { 99, 0 }, 3842 { 99, 0 }, 3843 { 99, 0 }, 3844 { 99, 0 }, 3845 { 99, 0 }, 3846 { 99, 0 }, 3847 3848 { 99, 0 }, 3849 { 99, 0 }, 3850 { 99, 0 }, 3851 { 99, 0 }, 3852 { 99, 0 }, 3853 { 99, 0 }, 3854 { 99, 0 }, 3855 { 99, 0 }, 3856 }, 3857 /* Paladin: No Arcane Magic */ 3858 { 3859 { 99, 0 }, 3860 { 99, 0 }, 3861 { 99, 0 }, 3862 { 99, 0 }, 3863 { 99, 0 }, 3864 { 99, 0 }, 3865 { 99, 0 }, 3866 { 99, 0 }, 3867 3868 { 99, 0 }, 3869 { 99, 0 }, 3870 { 99, 0 }, 3871 { 99, 0 }, 3872 { 99, 0 }, 3873 { 99, 0 }, 3874 { 99, 0 }, 3875 { 99, 0 }, 3876 3877 { 99, 0 }, 3878 { 99, 0 }, 3879 { 99, 0 }, 3880 { 99, 0 }, 3881 { 99, 0 }, 3882 { 99, 0 }, 3883 { 99, 0 }, 3884 { 99, 0 }, 3885 3886 { 99, 0 }, 3887 { 99, 0 }, 3888 { 99, 0 }, 3889 { 99, 0 }, 3890 { 99, 0 }, 3891 { 99, 0 }, 3892 { 99, 0 }, 3893 { 99, 0 }, 3894 } 3895 } 3896 }, 3897 3898 { 3899 /*** Warrior-Mage ***/ 3900 3901 TV_SORCERY_BOOK, 3902 0, 3903 3904 A_INT, 3905 0, 3906 3907 1, 3908 350, 3909 3910 { 3911 { 3912 { 2, 2 }, 3913 { 4, 4 }, 3914 { 5, 5 }, 3915 { 6, 6 }, 3916 { 8, 8 }, 3917 { 9, 9 }, 3918 { 14, 14 }, 3919 { 16, 16 }, 3920 3921 { 18, 18 }, 3922 { 20, 20 }, 3923 { 22, 22 }, 3924 { 24, 24 }, 3925 { 26, 26 }, 3926 { 28, 28 }, 3927 { 33, 33 }, 3928 { 40, 70 }, 3929 3930 { 28, 28 }, 3931 { 30, 30 }, 3932 { 34, 34 }, 3933 { 36, 36 }, 3934 { 38, 38 }, 3935 { 42, 55 }, 3936 { 45, 45 }, 3937 { 50, 70 }, 3938 3939 { 10, 10 }, 3940 { 28, 28 }, 3941 { 38, 85 }, 3942 { 45, 90 }, 3943 { 46, 90 }, 3944 { 48, 50 }, 3945 { 49, 100 }, 3946 { 50, 100 } 3947 }, 3948 3949 /* Warrior-Mage: Sorcery */ 3950 { 3951 { 1, 1 }, 3952 { 2, 2 }, 3953 { 3, 3 }, 3954 { 4, 4 }, 3955 { 5, 5 }, 3956 { 6, 6 }, 3957 { 7, 7 }, 3958 { 8, 8 }, 3959 3960 { 10, 9 }, 3961 { 11, 10 }, 3962 { 12, 11 }, 3963 { 13, 12 }, 3964 { 20, 15 }, 3965 { 27, 18 }, 3966 { 33, 25 }, 3967 { 40, 40 }, 3968 3969 { 4, 4 }, 3970 { 12, 12 }, 3971 { 14, 12 }, 3972 { 15, 12 }, 3973 { 16, 14 }, 3974 { 19, 19 }, 3975 { 24, 22 }, 3976 { 28, 28 }, 3977 3978 { 12, 12 }, 3979 { 19, 19 }, 3980 { 30, 35 }, 3981 { 35, 45 }, 3982 { 42, 85 }, 3983 { 45, 100 }, 3984 { 46, 55 }, 3985 { 48, 75 }, 3986 }, 3987 3988 /* Warrior-Mage: Nature Magic */ 3989 { 3990 { 2, 2 }, 3991 { 3, 3 }, 3992 { 4, 4 }, 3993 { 5, 5 }, 3994 { 6, 6 }, 3995 { 7, 7 }, 3996 { 8, 8 }, 3997 { 9, 9 }, 3998 3999 { 10, 10 }, 4000 { 11, 11 }, 4001 { 12, 12 }, 4002 { 13, 13 }, 4003 { 14, 14 }, 4004 { 19, 15 }, 4005 { 31, 31 }, 4006 { 45, 100 }, 4007 4008 { 9, 9 }, 4009 { 12, 12 }, 4010 { 15, 15 }, 4011 { 20, 22 }, 4012 { 38, 38 }, 4013 { 40, 42 }, 4014 { 45, 48 }, 4015 { 49, 95 }, 4016 4017 { 25, 25 }, 4018 { 27, 27 }, 4019 { 28, 28 }, 4020 { 33, 33 }, 4021 { 38, 38 }, 4022 { 41, 41 }, 4023 { 45, 95 }, 4024 { 50, 85 }, 4025 }, 4026 4027 /* Warrior-Mage: Chaos Magic */ 4028 { 4029 { 2, 2 }, 4030 { 3, 3 }, 4031 { 4, 4 }, 4032 { 5, 5 }, 4033 { 8, 8 }, 4034 { 11, 11 }, 4035 { 17, 15 }, 4036 { 18, 17 }, 4037 4038 { 21, 21 }, 4039 { 23, 22 }, 4040 { 27, 25 }, 4041 { 29, 30 }, 4042 { 33, 33 }, 4043 { 37, 35 }, 4044 { 41, 40 }, 4045 { 48, 50 }, 4046 4047 { 12, 12 }, 4048 { 17, 16 }, 4049 { 20, 18 }, 4050 { 27, 25 }, 4051 { 35, 30 }, 4052 { 45, 55 }, 4053 { 49, 95 }, 4054 { 50, 111 }, 4055 4056 { 24, 20 }, 4057 { 40, 35 }, 4058 { 42, 40 }, 4059 { 46, 44 }, 4060 { 48, 48 }, 4061 { 49, 50 }, 4062 { 50, 100 }, 4063 { 50, 100 }, 4064 }, 4065 4066 /* Warrior-Mage: Death Magic */ 4067 { 4068 { 1, 1 }, 4069 { 2, 2 }, 4070 { 3, 3 }, 4071 { 4, 4 }, 4072 { 7, 7 }, 4073 { 9, 10 }, 4074 { 10, 10 }, 4075 { 12, 12 }, 4076 4077 { 14, 14 }, 4078 { 16, 16 }, 4079 { 21, 21 }, 4080 { 25, 25 }, 4081 { 35, 75 }, 4082 { 40, 40 }, 4083 { 44, 45 }, 4084 { 48, 55 }, 4085 4086 { 10, 22 }, 4087 { 12, 18 }, 4088 { 14, 18 }, 4089 { 30, 30 }, 4090 { 40, 40 }, 4091 { 42, 90 }, 4092 { 45, 50 }, 4093 { 48, 85 }, 4094 4095 { 24, 24 }, 4096 { 33, 80 }, 4097 { 35, 45 }, 4098 { 42, 50 }, 4099 { 45, 55 }, 4100 { 50, 135 }, 4101 { 50, 100 }, 4102 { 50, 123 }, 4103 }, 4104 4105 /* Warrior-Mage: Trump Magic */ 4106 { 4107 { 1, 1 }, 4108 { 5, 5 }, 4109 { 7, 7 }, 4110 { 8, 7 }, 4111 { 10, 10 }, 4112 { 12, 12 }, 4113 { 18, 15 }, 4114 { 20, 18 }, 4115 4116 { 24, 23 }, 4117 { 28, 25 }, 4118 { 31, 26 }, 4119 { 33, 30 }, 4120 { 38, 32 }, 4121 { 40, 38 }, 4122 { 44, 42 }, 4123 { 48, 46 }, 4124 4125 { 19, 18 }, 4126 { 29, 27 }, 4127 { 31, 30 }, 4128 { 35, 33 }, 4129 { 40, 80 }, 4130 { 42, 120 }, 4131 { 46, 55 }, 4132 { 50, 135 }, 4133 4134 { 33, 30 }, 4135 { 40, 60 }, 4136 { 42, 95 }, 4137 { 45, 95 }, 4138 { 46, 120 }, 4139 { 48, 125 }, 4140 { 49, 130 }, 4141 { 50, 135 } 4142 }, 4143 4144 /* Warrior-Mage: Arcane Magic */ 4145 { 4146 { 1, 1 }, 4147 { 2, 1 }, 4148 { 2, 2 }, 4149 { 3, 3 }, 4150 { 4, 4 }, 4151 { 5, 5 }, 4152 { 6, 6 }, 4153 { 7, 7 }, 4154 4155 { 8, 8 }, 4156 { 9, 9 }, 4157 { 11, 10 }, 4158 { 12, 11 }, 4159 { 13, 12 }, 4160 { 14, 13 }, 4161 { 15, 14 }, 4162 { 16, 15 }, 4163 4164 { 17, 16 }, 4165 { 18, 17 }, 4166 { 19, 18 }, 4167 { 20, 20 }, 4168 { 23, 22 }, 4169 { 25, 23 }, 4170 { 29, 25 }, 4171 { 30, 27 }, 4172 4173 { 35, 30 }, 4174 { 39, 38 }, 4175 { 41, 40 }, 4176 { 43, 42 }, 4177 { 45, 44 }, 4178 { 47, 45 }, 4179 { 48, 65 }, 4180 { 50, 140 } 4181 } 4182 } 4183 }, 4184 4185 { 4186 /*** Chaos Warrior ***/ 4187 TV_SORCERY_BOOK, 4188 0, 4189 4190 A_INT, 4191 0, 4192 4193 2, 4194 400, 4195 4196 { 4197 { 4198 { 99, 0 }, 4199 { 99, 0 }, 4200 { 99, 0 }, 4201 { 99, 0 }, 4202 { 99, 0 }, 4203 { 99, 0 }, 4204 { 99, 0 }, 4205 { 99, 0 }, 4206 4207 { 99, 0 }, 4208 { 99, 0 }, 4209 { 99, 0 }, 4210 { 99, 0 }, 4211 { 99, 0 }, 4212 { 99, 0 }, 4213 { 99, 0 }, 4214 { 99, 0 }, 4215 4216 { 99, 0 }, 4217 { 99, 0 }, 4218 { 99, 0 }, 4219 { 99, 0 }, 4220 { 99, 0 }, 4221 { 99, 0 }, 4222 { 99, 0 }, 4223 { 99, 0 }, 4224 4225 { 99, 0 }, 4226 { 99, 0 }, 4227 { 99, 0 }, 4228 { 99, 0 }, 4229 { 99, 0 }, 4230 { 99, 0 }, 4231 { 99, 0 }, 4232 { 99, 0 } 4233 }, 4234 4235 { 4236 { 99, 0 }, 4237 { 99, 0 }, 4238 { 99, 0 }, 4239 { 99, 0 }, 4240 { 99, 0 }, 4241 { 99, 0 }, 4242 { 99, 0 }, 4243 { 99, 0 }, 4244 4245 { 99, 0 }, 4246 { 99, 0 }, 4247 { 99, 0 }, 4248 { 99, 0 }, 4249 { 99, 0 }, 4250 { 99, 0 }, 4251 { 99, 0 }, 4252 { 99, 0 }, 4253 4254 { 99, 0 }, 4255 { 99, 0 }, 4256 { 99, 0 }, 4257 { 99, 0 }, 4258 { 99, 0 }, 4259 { 99, 0 }, 4260 { 99, 0 }, 4261 { 99, 0 }, 4262 4263 { 99, 0 }, 4264 { 99, 0 }, 4265 { 99, 0 }, 4266 { 99, 0 }, 4267 { 99, 0 }, 4268 { 99, 0 }, 4269 { 99, 0 }, 4270 { 99, 0 } 4271 }, 4272 { 4273 { 99, 0 }, 4274 { 99, 0 }, 4275 { 99, 0 }, 4276 { 99, 0 }, 4277 { 99, 0 }, 4278 { 99, 0 }, 4279 { 99, 0 }, 4280 { 99, 0 }, 4281 4282 { 99, 0 }, 4283 { 99, 0 }, 4284 { 99, 0 }, 4285 { 99, 0 }, 4286 { 99, 0 }, 4287 { 99, 0 }, 4288 { 99, 0 }, 4289 { 99, 0 }, 4290 4291 { 99, 0 }, 4292 { 99, 0 }, 4293 { 99, 0 }, 4294 { 99, 0 }, 4295 { 99, 0 }, 4296 { 99, 0 }, 4297 { 99, 0 }, 4298 { 99, 0 }, 4299 4300 { 99, 0 }, 4301 { 99, 0 }, 4302 { 99, 0 }, 4303 { 99, 0 }, 4304 { 99, 0 }, 4305 { 99, 0 }, 4306 { 99, 0 }, 4307 { 99, 0 } 4308 }, 4309 4310 /* Chaos Warrior: Chaos Magic */ 4311 { 4312 { 2, 1 }, 4313 { 3, 3 }, 4314 { 4, 4 }, 4315 { 5, 6 }, 4316 { 7, 9 }, 4317 { 8, 9 }, 4318 { 15, 12 }, 4319 { 16, 15 }, 4320 4321 { 19, 18 }, 4322 { 22, 21 }, 4323 { 25, 25 }, 4324 { 28, 27 }, 4325 { 30, 30 }, 4326 { 33, 36 }, 4327 { 36, 39 }, 4328 { 40, 67 }, 4329 4330 { 11, 16 }, 4331 { 14, 21 }, 4332 { 16, 22 }, 4333 { 23, 34 }, 4334 { 30, 45 }, 4335 { 42, 75 }, 4336 { 45, 135 }, 4337 { 47, 150 }, 4338 4339 { 23, 34 }, 4340 { 35, 52 }, 4341 { 37, 55 }, 4342 { 41, 63 }, 4343 { 43, 66 }, 4344 { 45, 72 }, 4345 { 48, 150 }, 4346 { 49, 150 }, 4347 }, 4348 { 4349 { 99, 0 }, 4350 { 99, 0 }, 4351 { 99, 0 }, 4352 { 99, 0 }, 4353 { 99, 0 }, 4354 { 99, 0 }, 4355 { 99, 0 }, 4356 { 99, 0 }, 4357 4358 { 99, 0 }, 4359 { 99, 0 }, 4360 { 99, 0 }, 4361 { 99, 0 }, 4362 { 99, 0 }, 4363 { 99, 0 }, 4364 { 99, 0 }, 4365 { 99, 0 }, 4366 4367 { 99, 0 }, 4368 { 99, 0 }, 4369 { 99, 0 }, 4370 { 99, 0 }, 4371 { 99, 0 }, 4372 { 99, 0 }, 4373 { 99, 0 }, 4374 { 99, 0 }, 4375 4376 { 99, 0 }, 4377 { 99, 0 }, 4378 { 99, 0 }, 4379 { 99, 0 }, 4380 { 99, 0 }, 4381 { 99, 0 }, 4382 { 99, 0 }, 4383 { 99, 0 } 4384 }, 4385 4386 /* Chaos Warrior: No Trump magic */ 4387 { 4388 { 99, 0 }, 4389 { 99, 0 }, 4390 { 99, 0 }, 4391 { 99, 0 }, 4392 { 99, 0 }, 4393 { 99, 0 }, 4394 { 99, 0 }, 4395 { 99, 0 }, 4396 4397 { 99, 0 }, 4398 { 99, 0 }, 4399 { 99, 0 }, 4400 { 99, 0 }, 4401 { 99, 0 }, 4402 { 99, 0 }, 4403 { 99, 0 }, 4404 { 99, 0 }, 4405 4406 { 99, 0 }, 4407 { 99, 0 }, 4408 { 99, 0 }, 4409 { 99, 0 }, 4410 { 99, 0 }, 4411 { 99, 0 }, 4412 { 99, 0 }, 4413 { 99, 0 }, 4414 4415 { 99, 0 }, 4416 { 99, 0 }, 4417 { 99, 0 }, 4418 { 99, 0 }, 4419 { 99, 0 }, 4420 { 99, 0 }, 4421 { 99, 0 }, 4422 { 99, 0 }, 4423 }, 4424 /* Chaos Warrior: No Arcane Magic */ 4425 { 4426 { 99, 0 }, 4427 { 99, 0 }, 4428 { 99, 0 }, 4429 { 99, 0 }, 4430 { 99, 0 }, 4431 { 99, 0 }, 4432 { 99, 0 }, 4433 { 99, 0 }, 4434 4435 { 99, 0 }, 4436 { 99, 0 }, 4437 { 99, 0 }, 4438 { 99, 0 }, 4439 { 99, 0 }, 4440 { 99, 0 }, 4441 { 99, 0 }, 4442 { 99, 0 }, 4443 4444 { 99, 0 }, 4445 { 99, 0 }, 4446 { 99, 0 }, 4447 { 99, 0 }, 4448 { 99, 0 }, 4449 { 99, 0 }, 4450 { 99, 0 }, 4451 { 99, 0 }, 4452 4453 { 99, 0 }, 4454 { 99, 0 }, 4455 { 99, 0 }, 4456 { 99, 0 }, 4457 { 99, 0 }, 4458 { 99, 0 }, 4459 { 99, 0 }, 4460 { 99, 0 }, 4461 } 4462 } 4463 }, 4464 { 4465 /*** Monk ***/ 4466 4467 TV_LIFE_BOOK, 4468 0, 4469 4470 A_WIS, 4471 0, 4472 4473 1, 4474 300, 4475 4476 { 4477 { 4478 { 1, 1 }, 4479 { 2, 2 }, 4480 { 3, 3 }, 4481 { 4, 4 }, 4482 { 5, 5 }, 4483 { 8, 6 }, 4484 { 11, 10 }, 4485 { 13, 12 }, 4486 4487 { 15, 12 }, 4488 { 16, 15 }, 4489 { 17, 15 }, 4490 { 18, 16 }, 4491 { 19, 16 }, 4492 { 20, 18 }, 4493 { 30, 25 }, 4494 { 35, 70 }, 4495 4496 { 26, 26 }, 4497 { 28, 28 }, 4498 { 32, 32 }, 4499 { 36, 35 }, 4500 { 38, 35 }, 4501 { 40, 60 }, 4502 { 45, 45 }, 4503 { 48, 64 }, 4504 4505 { 10, 10 }, 4506 { 25, 25 }, 4507 { 40, 65 }, 4508 { 44, 84 }, 4509 { 46, 64 }, 4510 { 48, 40 }, 4511 { 49, 100 }, 4512 { 50, 100 } 4513 }, 4514 4515 /* Monk: Sorcery */ 4516 { 4517 { 99, 0 }, 4518 { 99, 0 }, 4519 { 99, 0 }, 4520 { 99, 0 }, 4521 { 99, 0 }, 4522 { 99, 0 }, 4523 { 99, 0 }, 4524 { 99, 0 }, 4525 4526 { 99, 0 }, 4527 { 99, 0 }, 4528 { 99, 0 }, 4529 { 99, 0 }, 4530 { 99, 0 }, 4531 { 99, 0 }, 4532 { 99, 0 }, 4533 { 99, 0 }, 4534 4535 { 99, 0 }, 4536 { 99, 0 }, 4537 { 99, 0 }, 4538 { 99, 0 }, 4539 { 99, 0 }, 4540 { 99, 0 }, 4541 { 99, 0 }, 4542 { 99, 0 }, 4543 4544 { 99, 0 }, 4545 { 99, 0 }, 4546 { 99, 0 }, 4547 { 99, 0 }, 4548 { 99, 0 }, 4549 { 99, 0 }, 4550 { 99, 0 }, 4551 { 99, 0 } 4552 }, 4553 4554 /* Monk: Nature Magic */ 4555 { 4556 { 1, 1 }, 4557 { 3, 3 }, 4558 { 4, 4 }, 4559 { 7, 7 }, 4560 { 7, 7 }, 4561 { 7, 7 }, 4562 { 8, 8 }, 4563 { 9, 9 }, 4564 4565 { 10, 8 }, 4566 { 11, 9 }, 4567 { 12, 10 }, 4568 { 14, 12 }, 4569 { 16, 12 }, 4570 { 18, 22 }, 4571 { 31, 31 }, 4572 { 40, 100 }, 4573 4574 { 12, 12 }, 4575 { 14, 14 }, 4576 { 16, 16 }, 4577 { 22, 30 }, 4578 { 35, 35 }, 4579 { 40, 40 }, 4580 { 45, 55 }, 4581 { 50, 80 }, 4582 4583 { 28, 28 }, 4584 { 30, 30 }, 4585 { 35, 50 }, 4586 { 33, 33 }, 4587 { 38, 38 }, 4588 { 42, 40 }, 4589 { 45, 85 }, 4590 { 48, 85 } 4591 }, 4592 4593 /* Monk: Chaos Magic */ 4594 { 4595 { 99, 0 }, 4596 { 99, 0 }, 4597 { 99, 0 }, 4598 { 99, 0 }, 4599 { 99, 0 }, 4600 { 99, 0 }, 4601 { 99, 0 }, 4602 { 99, 0 }, 4603 4604 { 99, 0 }, 4605 { 99, 0 }, 4606 { 99, 0 }, 4607 { 99, 0 }, 4608 { 99, 0 }, 4609 { 99, 0 }, 4610 { 99, 0 }, 4611 { 99, 0 }, 4612 4613 { 99, 0 }, 4614 { 99, 0 }, 4615 { 99, 0 }, 4616 { 99, 0 }, 4617 { 99, 0 }, 4618 { 99, 0 }, 4619 { 99, 0 }, 4620 { 99, 0 }, 4621 4622 { 99, 0 }, 4623 { 99, 0 }, 4624 { 99, 0 }, 4625 { 99, 0 }, 4626 { 99, 0 }, 4627 { 99, 0 }, 4628 { 99, 0 }, 4629 { 99, 0 } 4630 }, 4631 4632 /* Monk: Death Magic */ 4633 { 4634 { 1, 1 }, 4635 { 2, 2 }, 4636 { 3, 3 }, 4637 { 5, 5 }, 4638 { 7, 7 }, 4639 { 11, 11 }, 4640 { 12, 12 }, 4641 { 14, 14 }, 4642 4643 { 16, 16 }, 4644 { 19, 19 }, 4645 { 22, 22 }, 4646 { 25, 25 }, 4647 { 33, 80 }, 4648 { 40, 40 }, 4649 { 45, 45 }, 4650 { 50, 60 }, 4651 4652 { 15, 20 }, 4653 { 16, 16 }, 4654 { 18, 18 }, 4655 { 35, 35 }, 4656 { 40, 40 }, 4657 { 42, 95 }, 4658 { 48, 50 }, 4659 { 49, 80 }, 4660 4661 { 30, 30 }, 4662 { 37, 85 }, 4663 { 38, 50 }, 4664 { 44, 44 }, 4665 { 46, 50 }, 4666 { 50, 140 }, 4667 { 50, 100 }, 4668 { 50, 115 } 4669 }, 4670 4671 /* Monk: No Trump magic */ 4672 { 4673 { 99, 0 }, 4674 { 99, 0 }, 4675 { 99, 0 }, 4676 { 99, 0 }, 4677 { 99, 0 }, 4678 { 99, 0 }, 4679 { 99, 0 }, 4680 { 99, 0 }, 4681 4682 { 99, 0 }, 4683 { 99, 0 }, 4684 { 99, 0 }, 4685 { 99, 0 }, 4686 { 99, 0 }, 4687 { 99, 0 }, 4688 { 99, 0 }, 4689 { 99, 0 }, 4690 4691 { 99, 0 }, 4692 { 99, 0 }, 4693 { 99, 0 }, 4694 { 99, 0 }, 4695 { 99, 0 }, 4696 { 99, 0 }, 4697 { 99, 0 }, 4698 { 99, 0 }, 4699 4700 { 99, 0 }, 4701 { 99, 0 }, 4702 { 99, 0 }, 4703 { 99, 0 }, 4704 { 99, 0 }, 4705 { 99, 0 }, 4706 { 99, 0 }, 4707 { 99, 0 }, 4708 }, 4709 4710 /* Monk: No Arcane Magic */ 4711 { 4712 { 99, 0 }, 4713 { 99, 0 }, 4714 { 99, 0 }, 4715 { 99, 0 }, 4716 { 99, 0 }, 4717 { 99, 0 }, 4718 { 99, 0 }, 4719 { 99, 0 }, 4720 4721 { 99, 0 }, 4722 { 99, 0 }, 4723 { 99, 0 }, 4724 { 99, 0 }, 4725 { 99, 0 }, 4726 { 99, 0 }, 4727 { 99, 0 }, 4728 { 99, 0 }, 4729 4730 { 99, 0 }, 4731 { 99, 0 }, 4732 { 99, 0 }, 4733 { 99, 0 }, 4734 { 99, 0 }, 4735 { 99, 0 }, 4736 { 99, 0 }, 4737 { 99, 0 }, 4738 4739 { 99, 0 }, 4740 { 99, 0 }, 4741 { 99, 0 }, 4742 { 99, 0 }, 4743 { 99, 0 }, 4744 { 99, 0 }, 4745 { 99, 0 }, 4746 { 99, 0 }, 4747 } 4748 } 4749 }, 4750 4751 { 4752 /*** Mindcrafter ***/ 4753 4754 TV_LIFE_BOOK, 4755 0, 4756 4757 A_WIS, 4758 0, 4759 4760 99, 4761 300, 4762 { 4763 { 4764 { 99, 0 }, 4765 { 99, 0 }, 4766 { 99, 0 }, 4767 { 99, 0 }, 4768 { 99, 0 }, 4769 { 99, 0 }, 4770 { 99, 0 }, 4771 { 99, 0 }, 4772 4773 { 99, 0 }, 4774 { 99, 0 }, 4775 { 99, 0 }, 4776 { 99, 0 }, 4777 { 99, 0 }, 4778 { 99, 0 }, 4779 { 99, 0 }, 4780 { 99, 0 }, 4781 4782 { 99, 0 }, 4783 { 99, 0 }, 4784 { 99, 0 }, 4785 { 99, 0 }, 4786 { 99, 0 }, 4787 { 99, 0 }, 4788 { 99, 0 }, 4789 { 99, 0 }, 4790 4791 { 99, 0 }, 4792 { 99, 0 }, 4793 { 99, 0 }, 4794 { 99, 0 }, 4795 { 99, 0 }, 4796 { 99, 0 }, 4797 { 99, 0 }, 4798 { 99, 0 } 4799 }, 4800 4801 { 4802 { 99, 0 }, 4803 { 99, 0 }, 4804 { 99, 0 }, 4805 { 99, 0 }, 4806 { 99, 0 }, 4807 { 99, 0 }, 4808 { 99, 0 }, 4809 { 99, 0 }, 4810 4811 { 99, 0 }, 4812 { 99, 0 }, 4813 { 99, 0 }, 4814 { 99, 0 }, 4815 { 99, 0 }, 4816 { 99, 0 }, 4817 { 99, 0 }, 4818 { 99, 0 }, 4819 4820 { 99, 0 }, 4821 { 99, 0 }, 4822 { 99, 0 }, 4823 { 99, 0 }, 4824 { 99, 0 }, 4825 { 99, 0 }, 4826 { 99, 0 }, 4827 { 99, 0 }, 4828 4829 { 99, 0 }, 4830 { 99, 0 }, 4831 { 99, 0 }, 4832 { 99, 0 }, 4833 { 99, 0 }, 4834 { 99, 0 }, 4835 { 99, 0 }, 4836 { 99, 0 } 4837 }, 4838 { 4839 { 99, 0 }, 4840 { 99, 0 }, 4841 { 99, 0 }, 4842 { 99, 0 }, 4843 { 99, 0 }, 4844 { 99, 0 }, 4845 { 99, 0 }, 4846 { 99, 0 }, 4847 4848 { 99, 0 }, 4849 { 99, 0 }, 4850 { 99, 0 }, 4851 { 99, 0 }, 4852 { 99, 0 }, 4853 { 99, 0 }, 4854 { 99, 0 }, 4855 { 99, 0 }, 4856 4857 { 99, 0 }, 4858 { 99, 0 }, 4859 { 99, 0 }, 4860 { 99, 0 }, 4861 { 99, 0 }, 4862 { 99, 0 }, 4863 { 99, 0 }, 4864 { 99, 0 }, 4865 4866 { 99, 0 }, 4867 { 99, 0 }, 4868 { 99, 0 }, 4869 { 99, 0 }, 4870 { 99, 0 }, 4871 { 99, 0 }, 4872 { 99, 0 }, 4873 { 99, 0 } 4874 }, 4875 { 4876 { 99, 0 }, 4877 { 99, 0 }, 4878 { 99, 0 }, 4879 { 99, 0 }, 4880 { 99, 0 }, 4881 { 99, 0 }, 4882 { 99, 0 }, 4883 { 99, 0 }, 4884 4885 { 99, 0 }, 4886 { 99, 0 }, 4887 { 99, 0 }, 4888 { 99, 0 }, 4889 { 99, 0 }, 4890 { 99, 0 }, 4891 { 99, 0 }, 4892 { 99, 0 }, 4893 4894 { 99, 0 }, 4895 { 99, 0 }, 4896 { 99, 0 }, 4897 { 99, 0 }, 4898 { 99, 0 }, 4899 { 99, 0 }, 4900 { 99, 0 }, 4901 { 99, 0 }, 4902 4903 { 99, 0 }, 4904 { 99, 0 }, 4905 { 99, 0 }, 4906 { 99, 0 }, 4907 { 99, 0 }, 4908 { 99, 0 }, 4909 { 99, 0 }, 4910 { 99, 0 } 4911 }, 4912 { 4913 { 99, 0 }, 4914 { 99, 0 }, 4915 { 99, 0 }, 4916 { 99, 0 }, 4917 { 99, 0 }, 4918 { 99, 0 }, 4919 { 99, 0 }, 4920 { 99, 0 }, 4921 4922 { 99, 0 }, 4923 { 99, 0 }, 4924 { 99, 0 }, 4925 { 99, 0 }, 4926 { 99, 0 }, 4927 { 99, 0 }, 4928 { 99, 0 }, 4929 { 99, 0 }, 4930 4931 { 99, 0 }, 4932 { 99, 0 }, 4933 { 99, 0 }, 4934 { 99, 0 }, 4935 { 99, 0 }, 4936 { 99, 0 }, 4937 { 99, 0 }, 4938 { 99, 0 }, 4939 4940 { 99, 0 }, 4941 { 99, 0 }, 4942 { 99, 0 }, 4943 { 99, 0 }, 4944 { 99, 0 }, 4945 { 99, 0 }, 4946 { 99, 0 }, 4947 { 99, 0 } 4948 }, 4949 { 4950 { 99, 0 }, 4951 { 99, 0 }, 4952 { 99, 0 }, 4953 { 99, 0 }, 4954 { 99, 0 }, 4955 { 99, 0 }, 4956 { 99, 0 }, 4957 { 99, 0 }, 4958 4959 { 99, 0 }, 4960 { 99, 0 }, 4961 { 99, 0 }, 4962 { 99, 0 }, 4963 { 99, 0 }, 4964 { 99, 0 }, 4965 { 99, 0 }, 4966 { 99, 0 }, 4967 4968 { 99, 0 }, 4969 { 99, 0 }, 4970 { 99, 0 }, 4971 { 99, 0 }, 4972 { 99, 0 }, 4973 { 99, 0 }, 4974 { 99, 0 }, 4975 { 99, 0 }, 4976 4977 { 99, 0 }, 4978 { 99, 0 }, 4979 { 99, 0 }, 4980 { 99, 0 }, 4981 { 99, 0 }, 4982 { 99, 0 }, 4983 { 99, 0 }, 4984 { 99, 0 } 4985 }, 4986 { 4987 { 99, 0 }, 4988 { 99, 0 }, 4989 { 99, 0 }, 4990 { 99, 0 }, 4991 { 99, 0 }, 4992 { 99, 0 }, 4993 { 99, 0 }, 4994 { 99, 0 }, 4995 4996 { 99, 0 }, 4997 { 99, 0 }, 4998 { 99, 0 }, 4999 { 99, 0 }, 5000 { 99, 0 }, 5001 { 99, 0 }, 5002 { 99, 0 }, 5003 { 99, 0 }, 5004 5005 { 99, 0 }, 5006 { 99, 0 }, 5007 { 99, 0 }, 5008 { 99, 0 }, 5009 { 99, 0 }, 5010 { 99, 0 }, 5011 { 99, 0 }, 5012 { 99, 0 }, 5013 5014 { 99, 0 }, 5015 { 99, 0 }, 5016 { 99, 0 }, 5017 { 99, 0 }, 5018 { 99, 0 }, 5019 { 99, 0 }, 5020 { 99, 0 }, 5021 { 99, 0 } 5022 }, 5023 }, 5024 }, 5025 5026 { 5027 /*** High Mage ***/ 5028 5029 TV_SORCERY_BOOK, 5030 0, 5031 5032 A_INT, 5033 0, 5034 5035 1, 5036 300, 5037 5038 { 5039 /* High Mage: Life Magic */ 5040 { 5041 { 1, 1 }, 5042 { 2, 2 }, 5043 { 3, 3 }, 5044 { 4, 4 }, 5045 { 5, 5 }, 5046 { 6, 5 }, 5047 { 9, 9 }, 5048 { 12, 10 }, 5049 5050 { 14, 12 }, 5051 { 15, 14 }, 5052 { 15, 15 }, 5053 { 17, 15 }, 5054 { 19, 17 }, 5055 { 21, 19 }, 5056 { 25, 25 }, 5057 { 30, 50 }, 5058 5059 { 20, 20 }, 5060 { 24, 24 }, 5061 { 30, 30 }, 5062 { 31, 30 }, 5063 { 32, 30 }, 5064 { 33, 40 }, 5065 { 35, 35 }, 5066 { 40, 70 }, 5067 5068 { 5, 5 }, 5069 { 20, 20 }, 5070 { 30, 70 }, 5071 { 40, 80 }, 5072 { 42, 75 }, 5073 { 45, 40 }, 5074 { 47, 90 }, 5075 { 49, 90 } 5076 }, 5077 5078 /* High Mage: Sorcery */ 5079 { 5080 { 1, 1 }, 5081 { 1, 1 }, 5082 { 2, 2 }, 5083 { 2, 2 }, 5084 { 3, 3 }, 5085 { 4, 3 }, 5086 { 5, 4 }, 5087 { 5, 5 }, 5088 5089 { 7, 5 }, 5090 { 7, 5 }, 5091 { 9, 5 }, 5092 { 9, 5 }, 5093 { 13, 8 }, 5094 { 17, 10 }, 5095 { 24, 15 }, 5096 { 28, 20 }, 5097 5098 { 2, 2 }, 5099 { 7, 7 }, 5100 { 8, 8 }, 5101 { 9, 9 }, 5102 { 12, 9 }, 5103 { 15, 12 }, 5104 { 17, 12 }, 5105 { 20, 20 }, 5106 5107 { 8, 8 }, 5108 { 20, 20 }, 5109 { 20, 25 }, 5110 { 25, 30 }, 5111 { 30, 65 }, 5112 { 35, 80 }, 5113 { 40, 40 }, 5114 { 42, 65 }, 5115 }, 5116 5117 /* High Mage: Nature Magic */ 5118 { 5119 { 1, 1 }, 5120 { 2, 1 }, 5121 { 2, 2 }, 5122 { 3, 2 }, 5123 { 3, 3 }, 5124 { 4, 3 }, 5125 { 4, 4 }, 5126 { 5, 4 }, 5127 5128 { 5, 4 }, 5129 { 5, 4 }, 5130 { 5, 5 }, 5131 { 5, 5 }, 5132 { 7, 5 }, 5133 { 14, 10 }, 5134 { 20, 20 }, 5135 { 35, 80 }, 5136 5137 { 5, 5 }, 5138 { 7, 7 }, 5139 { 8, 8 }, 5140 { 12, 15 }, 5141 { 25, 25 }, 5142 { 33, 35 }, 5143 { 35, 40 }, 5144 { 37, 65 }, 5145 5146 { 15, 15 }, 5147 { 20, 20 }, 5148 { 22, 22 }, 5149 { 28, 25 }, 5150 { 32, 28 }, 5151 { 34, 30 }, 5152 { 36, 80 }, 5153 { 39, 65 } 5154 }, 5155 5156 /* High Mage: Chaos Magic */ 5157 { 5158 { 1, 1 }, 5159 { 1, 1 }, 5160 { 2, 1 }, 5161 { 4, 2 }, 5162 { 6, 4 }, 5163 { 10, 5 }, 5164 { 12, 6 }, 5165 { 14, 7 }, 5166 5167 { 15, 9 }, 5168 { 17, 10 }, 5169 { 19, 11 }, 5170 { 21, 12 }, 5171 { 22, 13 }, 5172 { 23, 15 }, 5173 { 27, 17 }, 5174 { 30, 35 }, 5175 5176 { 9, 5 }, 5177 { 12, 12 }, 5178 { 14, 12 }, 5179 { 21, 21 }, 5180 { 26, 22 }, 5181 { 39, 40 }, 5182 { 42, 80 }, 5183 { 44, 90 }, 5184 5185 { 16, 16 }, 5186 { 32, 30 }, 5187 { 34, 32 }, 5188 { 36, 36 }, 5189 { 38, 38 }, 5190 { 40, 45 }, 5191 { 43, 55 }, 5192 { 46, 90 } 5193 }, 5194 5195 /* High Mage: Death Magic */ 5196 { 5197 { 1, 1 }, 5198 { 1, 1 }, 5199 { 2, 1 }, 5200 { 2, 2 }, 5201 { 3, 3 }, 5202 { 5, 9 }, 5203 { 7, 7 }, 5204 { 8, 8 }, 5205 5206 { 10, 10 }, 5207 { 11, 10 }, 5208 { 14, 12 }, 5209 { 20, 16 }, 5210 { 26, 65 }, 5211 { 30, 30 }, 5212 { 33, 30 }, 5213 { 40, 40 }, 5214 5215 { 8, 15 }, 5216 { 8, 10 }, 5217 { 9, 9 }, 5218 { 25, 20 }, 5219 { 30, 30 }, 5220 { 30, 80 }, 5221 { 36, 35 }, 5222 { 38, 66 }, 5223 5224 { 16, 16 }, 5225 { 22, 60 }, 5226 { 26, 35 }, 5227 { 29, 30 }, 5228 { 33, 30 }, 5229 { 39, 100 }, 5230 { 41, 85 }, 5231 { 44, 75 } 5232 }, 5233 5234 /* High Mage: Trump Magic */ 5235 { 5236 { 1, 1 }, 5237 { 2, 2 }, 5238 { 4, 4 }, 5239 { 5, 5 }, 5240 { 6, 5 }, 5241 { 7, 7 }, 5242 { 10, 10 }, 5243 { 14, 12 }, 5244 5245 { 16, 16 }, 5246 { 20, 20 }, 5247 { 25, 22 }, 5248 { 28, 24 }, 5249 { 28, 26 }, 5250 { 30, 28 }, 5251 { 35, 30 }, 5252 { 39, 36 }, 5253 5254 { 11, 11 }, 5255 { 21, 21 }, 5256 { 23, 23 }, 5257 { 25, 25 }, 5258 { 31, 65 }, 5259 { 36, 90 }, 5260 { 39, 45 }, 5261 { 42, 90 }, 5262 5263 { 25, 25 }, 5264 { 32, 45 }, 5265 { 34, 75 }, 5266 { 36, 75 }, 5267 { 38, 90 }, 5268 { 42, 90 }, 5269 { 44, 90 }, 5270 { 46, 90 } 5271 }, 5272 5273 /* High Mage: Arcane Magic */ 5274 { 5275 { 1, 1 }, 5276 { 1, 1 }, 5277 { 1, 1 }, 5278 { 1, 1 }, 5279 { 2, 1 }, 5280 { 3, 2 }, 5281 { 4, 4 }, 5282 { 5, 4 }, 5283 5284 { 6, 5 }, 5285 { 7, 7 }, 5286 { 8, 7 }, 5287 { 8, 8 }, 5288 { 9, 8 }, 5289 { 10, 9 }, 5290 { 10, 10 }, 5291 { 11, 10 }, 5292 5293 { 12, 10 }, 5294 { 13, 10 }, 5295 { 14, 11 }, 5296 { 15, 12 }, 5297 { 17, 15 }, 5298 { 20, 15 }, 5299 { 20, 16 }, 5300 { 22, 18 }, 5301 5302 { 24, 22 }, 5303 { 30, 30 }, 5304 { 33, 28 }, 5305 { 38, 28 }, 5306 { 40, 28 }, 5307 { 41, 28 }, 5308 { 43, 40 }, 5309 { 46, 80 } 5310 } 5311 } 5312 }, 5313 }; 5314 5315 5316 /* 5317 * Zangband uses this array instead of the spell flags table, as there 5318 * are 5 realms of magic, each with 4 spellbooks and 8 spells per book -- TY 5319 */ 5320 const u32b fake_spell_flags[4]= 5321 { 5322 0x000000ff, 5323 0x0000ff00, 5324 0x00ff0000, 5325 0xff000000 5326 }; 5327 5328 5329 const byte realm_choices1[] = 5330 { 5331 (CH_NONE), /* Warrior */ 5332 (CH_LIFE | CH_SORCERY | CH_NATURE | 5333 CH_CHAOS | CH_DEATH | CH_TRUMP | 5334 CH_ARCANE), /* Mage */ 5335 (CH_LIFE | CH_DEATH), /* Priest */ 5336 (CH_SORCERY | CH_DEATH | CH_TRUMP | 5337 CH_ARCANE), /* Rogue */ 5338 (CH_NATURE), /* Ranger */ 5339 (CH_LIFE | CH_DEATH), /* Paladin */ 5340 (CH_ARCANE), /* Warrior-Mage */ 5341 (CH_CHAOS), /* Chaos-Warrior */ 5342 (CH_LIFE | CH_NATURE | CH_DEATH), /* Monk */ 5343 (CH_NONE), /* Mindcrafter */ 5344 (CH_LIFE | CH_SORCERY | CH_NATURE | 5345 CH_CHAOS | CH_DEATH | CH_TRUMP | 5346 CH_ARCANE), /* High-Mage */ 5347 }; 5348 5349 5350 const byte realm_choices2[] = 5351 { 5352 (CH_NONE), /* Warrior */ 5353 (CH_LIFE | CH_SORCERY | CH_NATURE | 5354 CH_CHAOS | CH_DEATH | CH_TRUMP | 5355 CH_ARCANE), /* Mage */ 5356 (CH_SORCERY | CH_NATURE | CH_CHAOS | 5357 CH_TRUMP | CH_ARCANE), /* Priest */ 5358 (CH_NONE), /* Rogue */ 5359 (CH_SORCERY | CH_CHAOS | CH_DEATH | 5360 CH_TRUMP | CH_ARCANE), /* Ranger */ 5361 (CH_NONE), /* Paladin */ 5362 (CH_LIFE | CH_NATURE | CH_CHAOS | 5363 CH_DEATH | CH_TRUMP | CH_ARCANE | 5364 CH_SORCERY), /* Warrior-Mage */ 5365 (CH_NONE), /* Chaos-Warrior */ 5366 (CH_NONE), /* Monk */ 5367 (CH_NONE), /* Mindcrafter */ 5368 (CH_NONE), /* High-Mage */ 5369 }; 5370 5371 5372 cptr realm_names[] = 5373 { 5374 "no magic", 5375 "Life", 5376 "Sorcery", 5377 "Nature", 5378 "Chaos", 5379 "Death", 5380 "Trump", 5381 "Arcane", 5382 "unknown" 5383 }; 5384 5385 5386 /* 5387 * Names of the spells (mage spells then priest spells) 5388 */ 5389 cptr spell_names[7][32] = 5390 { 5391 /*** Life Spells ***/ 5392 { 5393 /* Common Life Spellbooks */ 5394 "Detect Evil", 5395 "Cure Light Wounds", 5396 "Bless", 5397 "Remove Fear", 5398 "Call Light", 5399 "Detect Traps and Secret Doors", 5400 "Cure Medium Wounds", 5401 "Satisfy Hunger", 5402 5403 "Remove Curse", 5404 "Cure Poison", 5405 "Cure Critical Wounds", 5406 "Sense Unseen", 5407 "Holy Orb", 5408 "Protection from Evil", 5409 "Healing", 5410 "Glyph of Warding", 5411 5412 /* Rare Life Spellbooks */ 5413 "Exorcism", 5414 "Dispel Curse", 5415 "Dispel Undead & Demons", 5416 "Day of the Dove", 5417 "Dispel Evil", 5418 "Banish", 5419 "Holy Word", 5420 "Warding True", 5421 5422 "Heroism", 5423 "Prayer", 5424 "Bless Weapon", 5425 "Restoration", 5426 "Healing True", 5427 "Holy Vision", 5428 "Divine Intervention", 5429 "Holy Invulnerability" 5430 }, 5431 5432 /*** Sorcery Spells ***/ 5433 5434 { 5435 /* Common Sorcery Spellbooks */ 5436 "Detect Monsters", 5437 "Phase Door", 5438 "Detect Doors and Traps", 5439 "Light Area", 5440 "Confuse Monster", 5441 "Teleport", 5442 "Sleep Monster", 5443 "Recharging", 5444 5445 "Magic Mapping", 5446 "Identify", 5447 "Slow Monster", 5448 "Mass Sleep", 5449 "Teleport Away", 5450 "Haste Self", 5451 "Detection True", 5452 "Identify True", 5453 5454 /* Rare Sorcery Spellbooks */ 5455 "Detect Objects and Treasure", 5456 "Detect Enchantment", 5457 "Charm Monster", 5458 "Dimension Door", 5459 "Sense Minds", 5460 "Self Knowledge", 5461 "Teleport Level", 5462 "Word of Recall", 5463 5464 "Stasis", 5465 "Telekinesis", 5466 "Explosive Rune", 5467 "Clairvoyance", 5468 "Enchant Weapon", 5469 "Enchant Armour", 5470 "Alchemy", 5471 "Globe of Invulnerability" 5472 }, 5473 5474 /*** Nature Spellbooks ***/ 5475 5476 { 5477 /* Common Nature Spellbooks */ 5478 "Detect Creatures", 5479 "First Aid", 5480 "Detect Doors and Traps", 5481 "Foraging", 5482 "Daylight", 5483 "Animal Taming", 5484 "Resist Environment", 5485 "Cure Wounds & Poison", 5486 5487 "Stone to Mud", 5488 "Lightning Bolt", 5489 "Nature Awareness", 5490 "Frost Bolt", 5491 "Ray of Sunlight", 5492 "Entangle", 5493 "Summon Animal", 5494 "Herbal Healing", 5495 5496 /* Rare Nature Spellbooks */ 5497 "Door Building", 5498 "Stair Building", 5499 "Stone Skin", 5500 "Resistance True", 5501 "Animal Friendship", 5502 "Stone Tell", 5503 "Wall of Stone", 5504 "Protect from Corrosion", 5505 5506 "Earthquake", 5507 "Whirlwind Attack", 5508 "Blizzard", 5509 "Lightning Storm", 5510 "Whirlpool", 5511 "Call Sunlight", 5512 "Elemental Branding", 5513 "Nature's Wrath" 5514 }, 5515 5516 /*** Chaos Spells ***/ 5517 5518 { 5519 /* Common Chaos Spellbooks */ 5520 "Magic Missile", 5521 "Trap / Door Destruction", 5522 "Flash of Light", 5523 "Touch of Confusion", 5524 "Mana Burst", 5525 "Fire Bolt", 5526 "Fist of Force", 5527 "Teleport Self", 5528 5529 "Wonder", 5530 "Chaos Bolt", 5531 "Sonic Boom", 5532 "Doom Bolt", 5533 "Fire Ball", 5534 "Teleport Other", 5535 "Word of Destruction", 5536 "Invoke Logrus", 5537 5538 /* Rare Chaos Spellbooks */ 5539 "Polymorph Other", 5540 "Chain Lightning", 5541 "Arcane Binding", 5542 "Disintegrate", 5543 "Alter Reality", 5544 "Polymorph Self", 5545 "Chaos Branding", 5546 "Summon Demon", 5547 5548 "Beam of Gravity", 5549 "Meteor Swarm", 5550 "Flame Strike", 5551 "Call Chaos", 5552 "Magic Rocket", 5553 "Mana Storm", 5554 "Breathe Logrus", 5555 "Call the Void" 5556 }, 5557 5558 /*** Death Spells ***/ 5559 5560 { 5561 /* Common Death Spellbooks */ 5562 "Detect Unlife", 5563 "Malediction", 5564 "Detect Evil", 5565 "Stinking Cloud", 5566 "Black Sleep", 5567 "Resist Poison", 5568 "Horrify", 5569 "Enslave Undead", 5570 5571 "Orb of Entropy", 5572 "Nether Bolt", 5573 "Terror", 5574 "Vampiric Drain", 5575 "Poison Branding", 5576 "Dispel Good", 5577 "Genocide", 5578 "Restore Life", 5579 5580 /* Rare Death Spellbooks */ 5581 "Berserk", 5582 "Invoke Spirits", 5583 "Dark Bolt", 5584 "Battle Frenzy", 5585 "Vampirism True", 5586 "Vampiric Branding", 5587 "Darkness Storm", 5588 "Mass Genocide", 5589 5590 "Death Ray", 5591 "Raise the Dead", 5592 "Esoteria", 5593 "Word of Death", 5594 "Evocation", 5595 "Hellfire", 5596 "Omnicide", 5597 "Wraithform" 5598 }, 5599 5600 /* Trump Spellbooks */ 5601 5602 { 5603 /* Common Trump Spellbooks */ 5604 "Phase Door", 5605 "Mind Blast", 5606 "Shuffle", 5607 "Reset Recall", 5608 "Teleport", 5609 "Dimension Door", 5610 "Trump Spying", 5611 "Teleport Away", 5612 5613 "Trump Reach", 5614 "Trump Animal", 5615 "Phantasmal Servant", 5616 "Trump Monster", 5617 "Conjure Elemental", 5618 "Teleport Level", 5619 "Word of Recall", 5620 "Banish", 5621 5622 /* Rare Trump Spellbooks */ 5623 "Joker Card", 5624 "Trump Spiders", 5625 "Trump Reptiles", 5626 "Trump Hounds", 5627 "Trump Branding", 5628 "Living Trump", 5629 "Death Dealing", 5630 "Trump Cyberdemon", 5631 5632 5633 "Trump Divination", 5634 "Trump Lore", 5635 "Trump Undead", 5636 "Trump Dragon", 5637 "Mass Trump", 5638 "Trump Demon", 5639 "Trump Ancient Dragon", 5640 "Trump Greater Undead" 5641 }, 5642 5643 /* Arcane Spellbooks (_only_ common spells) */ 5644 5645 { 5646 "Zap", 5647 "Wizard Lock", 5648 "Detect Invisibility", 5649 "Detect Monsters", 5650 "Blink", 5651 "Light Area", 5652 "Trap & Door Destruction", 5653 "Cure Light Wounds", 5654 5655 "Detect Doors & Traps", 5656 "Phlogiston", 5657 "Detect Treasure", 5658 "Detect Enchantment", 5659 "Detect Objects", 5660 "Cure Poison", 5661 "Resist Cold", 5662 "Resist Fire", 5663 5664 "Resist Lightning", 5665 "Resist Acid", 5666 "Cure Medium Wounds", 5667 "Teleport", 5668 "Stone to Mud", 5669 "Ray of Light", 5670 "Satisfy Hunger", 5671 "See Invisible", 5672 5673 "Recharging", 5674 "Teleport Level", 5675 "Identify", 5676 "Teleport Away", 5677 "Elemental Ball", 5678 "Detection", 5679 "Word of Recall", 5680 "Clairvoyance" 5681 } 5682 }; 5683 5684 /* 5685 * Each chest has a certain set of traps, determined by pval 5686 * Each chest has a "pval" from 1 to the chest level (max 55) 5687 * If the "pval" is negative then the trap has been disarmed 5688 * The "pval" of a chest determines the quality of its treasure 5689 * Note that disarming a trap on a chest also removes the lock. 5690 */ 5691 const byte chest_traps[64] = 5692 { 5693 0, /* 0 == empty */ 5694 (CHEST_POISON), 5695 (CHEST_LOSE_STR), 5696 (CHEST_LOSE_CON), 5697 (CHEST_LOSE_STR), 5698 (CHEST_LOSE_CON), /* 5 == best small wooden */ 5699 0, 5700 (CHEST_POISON), 5701 (CHEST_POISON), 5702 (CHEST_LOSE_STR), 5703 (CHEST_LOSE_CON), 5704 (CHEST_POISON), 5705 (CHEST_LOSE_STR | CHEST_LOSE_CON), 5706 (CHEST_LOSE_STR | CHEST_LOSE_CON), 5707 (CHEST_LOSE_STR | CHEST_LOSE_CON), 5708 (CHEST_SUMMON), /* 15 == best large wooden */ 5709 0, 5710 (CHEST_LOSE_STR), 5711 (CHEST_LOSE_CON), 5712 (CHEST_PARALYZE), 5713 (CHEST_LOSE_STR | CHEST_LOSE_CON), 5714 (CHEST_SUMMON), 5715 (CHEST_PARALYZE), 5716 (CHEST_LOSE_STR), 5717 (CHEST_LOSE_CON), 5718 (CHEST_EXPLODE), /* 25 == best small iron */ 5719 0, 5720 (CHEST_POISON | CHEST_LOSE_STR), 5721 (CHEST_POISON | CHEST_LOSE_CON), 5722 (CHEST_LOSE_STR | CHEST_LOSE_CON), 5723 (CHEST_EXPLODE | CHEST_SUMMON), 5724 (CHEST_PARALYZE), 5725 (CHEST_POISON | CHEST_SUMMON), 5726 (CHEST_SUMMON), 5727 (CHEST_EXPLODE), 5728 (CHEST_EXPLODE | CHEST_SUMMON), /* 35 == best large iron */ 5729 0, 5730 (CHEST_SUMMON), 5731 (CHEST_EXPLODE), 5732 (CHEST_EXPLODE | CHEST_SUMMON), 5733 (CHEST_EXPLODE | CHEST_SUMMON), 5734 (CHEST_POISON | CHEST_PARALYZE), 5735 (CHEST_EXPLODE), 5736 (CHEST_EXPLODE | CHEST_SUMMON), 5737 (CHEST_EXPLODE | CHEST_SUMMON), 5738 (CHEST_POISON | CHEST_PARALYZE), /* 45 == best small steel */ 5739 0, 5740 (CHEST_LOSE_STR | CHEST_LOSE_CON), 5741 (CHEST_LOSE_STR | CHEST_LOSE_CON), 5742 (CHEST_POISON | CHEST_PARALYZE | CHEST_LOSE_STR), 5743 (CHEST_POISON | CHEST_PARALYZE | CHEST_LOSE_CON), 5744 (CHEST_POISON | CHEST_LOSE_STR | CHEST_LOSE_CON), 5745 (CHEST_POISON | CHEST_LOSE_STR | CHEST_LOSE_CON), 5746 (CHEST_POISON | CHEST_PARALYZE | CHEST_LOSE_STR | CHEST_LOSE_CON), 5747 (CHEST_POISON | CHEST_PARALYZE), 5748 (CHEST_POISON | CHEST_PARALYZE), /* 55 == best large steel */ 5749 (CHEST_EXPLODE | CHEST_SUMMON), 5750 (CHEST_EXPLODE | CHEST_SUMMON), 5751 (CHEST_EXPLODE | CHEST_SUMMON), 5752 (CHEST_EXPLODE | CHEST_SUMMON), 5753 (CHEST_EXPLODE | CHEST_SUMMON), 5754 (CHEST_EXPLODE | CHEST_SUMMON), 5755 (CHEST_EXPLODE | CHEST_SUMMON), 5756 (CHEST_EXPLODE | CHEST_SUMMON), 5757 }; 5758 5759 5760 /* 5761 * Class titles for the player. 5762 * 5763 * The player gets a new title every five levels, so each class 5764 * needs only ten titles total. 5765 */ 5766 cptr player_title[MAX_CLASS][PY_MAX_LEVEL / 5] = 5767 { 5768 /* Warrior */ 5769 { 5770 "Rookie", 5771 "Soldier", 5772 "Mercenary", 5773 "Veteran", 5774 "Swordsman", 5775 "Champion", 5776 "Hero", 5777 "Baron", 5778 "Duke", 5779 "Lord", 5780 }, 5781 5782 /* Mage */ 5783 { 5784 "Apprentice", 5785 "Trickster", 5786 "Illusionist", 5787 "Spellbinder", 5788 "Evoker", 5789 "Conjurer", 5790 "Warlock", 5791 "Sorcerer", 5792 "Ipsissimus", 5793 "Archimage", 5794 }, 5795 5796 /* Priest */ 5797 { 5798 "Believer", 5799 "Acolyte", 5800 "Adept", 5801 "Curate", 5802 "Canon", 5803 "Priest", 5804 "High Priest", 5805 "Cardinal", 5806 "Inquisitor", 5807 "Pope", 5808 }, 5809 5810 /* Rogues */ 5811 { 5812 "Cutpurse", 5813 "Robber", 5814 "Burglar", 5815 "Filcher", 5816 "Sharper", 5817 "Low Thief", 5818 "High Thief", 5819 "Master Thief", 5820 "Assassin", 5821 "Guildmaster", 5822 }, 5823 5824 /* Rangers */ 5825 { 5826 "Runner", 5827 "Strider", 5828 "Scout", 5829 "Courser", 5830 "Tracker", 5831 "Guide", 5832 "Pathfinder", 5833 "Low Ranger", 5834 "High Ranger", 5835 "Ranger Lord", 5836 }, 5837 5838 /* Paladins */ 5839 { 5840 "Gallant", 5841 "Keeper", 5842 "Protector", 5843 "Defender", 5844 "Warder", 5845 "Knight", 5846 "Guardian", 5847 "Low Paladin", 5848 "High Paladin", 5849 "Paladin Lord", 5850 }, 5851 5852 /* Warrior-Mage */ 5853 { 5854 "Novice", 5855 "Apprentice", 5856 "Journeyman", 5857 "Veteran", 5858 "Enchanter", 5859 "Champion", 5860 "Mage-Hero", 5861 "Baron Mage", 5862 "Battlemage", 5863 "Wizard Lord", 5864 }, 5865 5866 /* Chaos Warrior */ 5867 { 5868 "Rookie", 5869 "Soldier", 5870 "Mercenary", 5871 "Veteran", 5872 "Swordsman", 5873 "Champion", 5874 "Chaos Hero", 5875 "Chaos Baron", 5876 "Chaos Duke", 5877 "Chaos Lord", 5878 }, 5879 5880 /* Monk */ 5881 { 5882 "Initiate", 5883 "Brother", 5884 "Disciple", 5885 "Immaculate", 5886 "Master", 5887 "Soft Master", 5888 "Hard Master", 5889 "Flower Master", 5890 "Dragon Master", 5891 "Grand Master", 5892 }, 5893 5894 /* Mindcrafter */ 5895 { 5896 "Trainee", 5897 "Acolyte", 5898 "Adept", 5899 "Immaculate", 5900 "Contemplator", 5901 "Mentalist", 5902 "Psychic", 5903 "Psionicist", 5904 "Esper", 5905 "Mindmaster", 5906 }, 5907 5908 /* High Mage; same as Mage */ 5909 { 5910 "Apprentice", 5911 "Trickster", 5912 "Illusionist", 5913 "Spellbinder", 5914 "Evoker", 5915 "Conjurer", 5916 "Warlock", 5917 "Sorcerer", 5918 "Ipsissimus", 5919 "Archimage", 5920 }, 5921 }; 5922 5923 5924 5925 /* 5926 * Hack -- the "basic" color names (see "TERM_xxx") 5927 */ 5928 cptr color_names[16] = 5929 { 5930 "Dark", 5931 "White", 5932 "Slate", 5933 "Orange", 5934 "Red", 5935 "Green", 5936 "Blue", 5937 "Umber", 5938 "Light Dark", 5939 "Light Slate", 5940 "Violet", 5941 "Yellow", 5942 "Light Red", 5943 "Light Green", 5944 "Light Blue", 5945 "Light Umber", 5946 }; 5947 5948 5949 /* 5950 * Table of colour escape sequences for string formatting 5951 */ 5952 cptr color_seq[16] = 5953 { 5954 CLR_DARK, 5955 CLR_WHITE, 5956 CLR_SLATE, 5957 CLR_ORANGE, 5958 CLR_RED, 5959 CLR_GREEN, 5960 CLR_BLUE, 5961 CLR_UMBER, 5962 CLR_L_DARK, 5963 CLR_L_WHITE, 5964 CLR_VIOLET, 5965 CLR_YELLOW, 5966 CLR_L_RED, 5967 CLR_L_GREEN, 5968 CLR_L_BLUE, 5969 CLR_L_UMBER, 5970 }; 5971 5972 5973 /* 5974 * Hack -- the message colour names (MSG_* in defines.h) 5975 * Several are unused, although the corresponding sounds are not. 5976 * ToDo: Use colours where appropriate (eg where sounds are used). 5977 */ 5978 cptr msg_names[MSG_MAX] = 5979 { 5980 "Generic", 5981 "Hit monster", 5982 "Miss monster", 5983 "Monster flees", 5984 "Monster drop (unused)", 5985 "Monster kill", 5986 "Gain level", 5987 "Player death", 5988 "Spell/prayer gained", 5989 "Teleport (unused)", 5990 "Shoot (unused)", 5991 "Quaff (unused)", 5992 "Activate artifact", 5993 "Walk (unused)", 5994 "Teleport other (unused)", 5995 "Hit wall", 5996 "Eat (unused)", 5997 "Sell worthless (unidentified) item (unused)", 5998 "Sell poor (unidentified) item (unused)", 5999 "Sell good (unidentified) item (unused)", 6000 "Sell excellent (unidentified) item (unused)", 6001 "Dig (unused)", 6002 "Pick chest", /* sound is for opening doors */ 6003 "Shut door", 6004 "Teleport level", /* sound also for recall */ 6005 "Error", 6006 "Nothing to open", 6007 "Fail to pick lock", 6008 "Use stairs", 6009 "Hitpoint warning" 6010 }; 6011 6012 6013 6014 /* 6015 * Abbreviations of healthy stats 6016 */ 6017 cptr stat_names[A_MAX] = 6018 { 6019 "STR: ", "INT: ", "WIS: ", "DEX: ", "CON: ", "CHR: " 6020 }; 6021 6022 /* 6023 * Abbreviations of damaged stats 6024 */ 6025 cptr stat_names_reduced[A_MAX] = 6026 { 6027 "Str: ", "Int: ", "Wis: ", "Dex: ", "Con: ", "Chr: " 6028 }; 6029 6030 6031 /* 6032 * Certain "screens" always use the main screen, including News, Birth, 6033 * Dungeon, Tomb-stone, High-scores, Macros, Colors, Visuals, Options. 6034 * 6035 * Later, special flags may allow sub-windows to "steal" stuff from the 6036 * main window, including File dump (help), File dump (artifacts, uniques), 6037 * Character screen, Small scale map, Previous Messages, Store screen, etc. 6038 * 6039 * The "ctrl-i" (tab) command flips the "Display inven/equip" and "Display 6040 * equip/inven" flags for all windows. 6041 * 6042 * The "ctrl-g" command (or pseudo-command) should perhaps grab a snapshot 6043 * of the main screen into any interested windows. 6044 */ 6045 cptr window_flag_desc[WINDOW_CHOICE_MAX] = 6046 { 6047 "Display inven/equip", 6048 "Display equip/inven", 6049 "Display spell list", 6050 "Display character", 6051 "Display script variables", 6052 "Display script source", 6053 "Display messages", 6054 "Display overhead view", 6055 "Display monster recall", 6056 "Display object recall", 6057 "Display dungeon view", 6058 "Display snap-shot", 6059 "Display visible monsters", 6060 "Display borg messages", 6061 "Display borg status", 6062 }; 6063 6064 6065 /* 6066 * Available Options 6067 */ 6068 option_type option_info[OPT_MAX] = 6069 { 6070 {FALSE, 1, "rogue_like_commands", "Rogue-like commands" }, 6071 {TRUE, 1, "quick_messages", "Activate quick messages" }, 6072 {TRUE, 0, NULL, "Number 2" }, 6073 {TRUE, 1, "carry_query_flag", "Prompt before picking things up" }, 6074 {FALSE, 1, "use_old_target", "Use old target by default" }, 6075 {TRUE, 1, "always_pickup", "Pick things up by default" }, 6076 {TRUE, 0, NULL, "Number 6" }, 6077 {FALSE, 5, "depth_in_feet", "Show dungeon level in feet" }, 6078 {TRUE, 0, NULL, "Number 8" }, 6079 {FALSE, 0, NULL, "Number 9" }, 6080 {TRUE, 5, "show_labels", "Show labels in object listings" }, 6081 {TRUE, 5, "show_weights", "Show weights in object listings" }, 6082 {FALSE, 8, "view_monster_grids", "Map remembers monster-lit grids" }, 6083 {FALSE, 1, "toggle_xp", "Reverse experience display" }, 6084 {FALSE, 2, "ring_bell", "Audible bell (on errors, etc)" }, 6085 {TRUE, 5, "use_color", "Use color if possible (slow)" }, 6086 {FALSE, 2, "find_ignore_stairs", "Run past stairs" }, 6087 {TRUE, 2, "find_ignore_doors", "Run through open doors" }, 6088 {FALSE, 2, "find_cut", "Run past known corners" }, 6089 {TRUE, 2, "find_examine", "Run into potential corners" }, 6090 {TRUE, 2, "disturb_view", "Disturb whenever new monster is seen" }, 6091 {TRUE, 2, "disturb_near", "Disturb whenever viewable monster moves" }, 6092 {TRUE, 2, "disturb_panel", "Disturb whenever map panel changes" }, 6093 {TRUE, 2, "disturb_state", "Disturb whenever player state changes" }, 6094 {TRUE, 2, "disturb_minor", "Disturb whenever boring things happen" }, 6095 {TRUE, 2, "disturb_other", "Disturb whenever random things happen" }, 6096 {TRUE, 2, "disturb_traps", "Disturb when you leave detection radius" }, 6097 {FALSE, 2, "auto_more", "Automatically clear '-more-' prompts" }, 6098 {TRUE, 3, "last_words", "Get last words when the character dies" }, 6099 {TRUE, 3, "speak_unique", "Allow uniques to speak" }, 6100 {TRUE, 3, "small_levels", "Allow unusually small dungeon levels" }, 6101 {TRUE, 0, NULL, "Number 31" }, 6102 6103 {TRUE, 0, NULL, "Number 32" }, 6104 {TRUE, 0, NULL, "Number 33" }, 6105 {TRUE, 0, NULL, "Number 34" }, 6106 {TRUE, 0, NULL, "Number 35" }, 6107 {TRUE, 0, NULL, "Number 36" }, 6108 {TRUE, 1, "expand_list", "Expand the power of the list commands" }, 6109 {TRUE, 0, NULL, "Number 38" }, 6110 {FALSE, 3, "view_torch_grids", "Map remembers all torch-lit grids" }, 6111 {TRUE, 0, NULL, "Number 40" }, 6112 {TRUE, 3, "dungeon_stair", "Generate dungeons with connected stairs" }, 6113 {TRUE, 0, NULL, "Number 42" }, 6114 {TRUE, 0, NULL, "Number 43" }, 6115 {TRUE, 0, NULL, "Number 44" }, 6116 {TRUE, 0, NULL, "Number 45" }, 6117 {TRUE, 7, "smart_packs", "Pack monsters use new AI" }, 6118 {FALSE, 0, NULL, "Number 47" }, 6119 {FALSE, 0, NULL, "Number 48" }, 6120 {FALSE, 0, NULL, "Number 49" }, 6121 {FALSE, 0, NULL, "Number 50" }, 6122 {FALSE, 0, NULL, "Number 51" }, 6123 {TRUE, 4, "flush_failure", "Flush input on various failures" }, 6124 {FALSE, 4, "flush_disturb", "Flush input whenever disturbed" }, 6125 {FALSE, 0, NULL, "Number 54" }, 6126 {TRUE, 4, "fresh_before", "Flush output before every command" }, 6127 {FALSE, 4, "fresh_after", "Flush output after every command" }, 6128 {FALSE, 2, "emergency_stop", "Halt all input after hp warning" }, 6129 /* {FALSE, 0, NULL, "Number 57" },*/ 6130 {TRUE, 4, "compress_savefile", "Compress messages in savefiles" }, 6131 {TRUE, 5, "hilite_player", "Hilite the player with the cursor" }, 6132 {FALSE, 5, "view_yellow_lite", "Use special colors for torch-lit grids" }, 6133 {FALSE, 5, "view_bright_lite", "Use special colors for 'viewable' grids" }, 6134 {FALSE, 5, "view_granite_lite", "Use special colors for wall grids (slow)" }, 6135 {FALSE, 5, "view_special_lite", "Use special colors for floor grids (slow)" }, 6136 6137 {TRUE, 5, "view_player_colour", "Use special colours for the player" }, 6138 {TRUE, 0, NULL, "Number 65" }, 6139 {TRUE, 0, NULL, "Number 66" }, 6140 {TRUE, 0, NULL, "Number 67" }, 6141 {TRUE, 0, NULL, "Number 68" }, 6142 {TRUE, 0, NULL, "Number 69" }, 6143 {TRUE, 0, NULL, "Number 70" }, 6144 {TRUE, 0, NULL, "Number 71" }, 6145 {TRUE, 0, NULL, "Number 72" }, 6146 {TRUE, 0, NULL, "Number 73" }, 6147 {TRUE, 0, NULL, "Number 74" }, 6148 {TRUE, 0, NULL, "Number 75" }, 6149 {TRUE, 0, NULL, "Number 76" }, 6150 {TRUE, 0, NULL, "Number 77" }, 6151 {TRUE, 0, NULL, "Number 78" }, 6152 {TRUE, 0, NULL, "Number 79" }, 6153 {TRUE, 0, NULL, "Number 80" }, 6154 {TRUE, 0, NULL, "Number 81" }, 6155 {TRUE, 0, NULL, "Number 82" }, 6156 {TRUE, 0, NULL, "Number 83" }, 6157 {TRUE, 0, NULL, "Number 84" }, 6158 {TRUE, 0, NULL, "Number 85" }, 6159 {TRUE, 0, NULL, "Number 86" }, 6160 {TRUE, 0, NULL, "Number 87" }, 6161 {TRUE, 0, NULL, "Number 88" }, 6162 {TRUE, 0, NULL, "Number 89" }, 6163 {TRUE, 0, NULL, "Number 90" }, 6164 {TRUE, 0, NULL, "Number 91" }, 6165 {TRUE, 0, NULL, "Number 92" }, 6166 {TRUE, 0, NULL, "Number 93" }, 6167 {TRUE, 0, NULL, "Number 94" }, 6168 {TRUE, 0, NULL, "Number 95" }, 6169 6170 {TRUE, 0, NULL, "Number 96" }, 6171 {TRUE, 0, NULL, "Number 97" }, 6172 {TRUE, 0, NULL, "Number 98" }, 6173 {TRUE, 0, NULL, "Number 99" }, 6174 {TRUE, 0, NULL, "Number 100" }, 6175 {TRUE, 0, NULL, "Number 101" }, 6176 {TRUE, 0, NULL, "Number 102" }, 6177 {TRUE, 0, NULL, "Number 103" }, 6178 {TRUE, 0, NULL, "Number 104" }, 6179 {TRUE, 0, NULL, "Number 105" }, 6180 {TRUE, 0, NULL, "Number 106" }, 6181 {TRUE, 0, NULL, "Number 107" }, 6182 {TRUE, 0, NULL, "Number 108" }, 6183 {TRUE, 0, NULL, "Number 109" }, 6184 {TRUE, 0, NULL, "Number 110" }, 6185 {TRUE, 0, NULL, "Number 111" }, 6186 {TRUE, 0, NULL, "Number 112" }, 6187 {TRUE, 0, NULL, "Number 113" }, 6188 {TRUE, 0, NULL, "Number 114" }, 6189 {TRUE, 0, NULL, "Number 115" }, 6190 {TRUE, 0, NULL, "Number 116" }, 6191 {TRUE, 0, NULL, "Number 117" }, 6192 {TRUE, 0, NULL, "Number 118" }, 6193 {TRUE, 0, NULL, "Number 119" }, 6194 {TRUE, 0, NULL, "Number 120" }, 6195 {TRUE, 0, NULL, "Number 121" }, 6196 {TRUE, 0, NULL, "Number 122" }, 6197 {TRUE, 0, NULL, "Number 123" }, 6198 {TRUE, 0, NULL, "Number 124" }, 6199 {TRUE, 0, NULL, "Number 125" }, 6200 {TRUE, 0, NULL, "Number 126" }, 6201 {TRUE, 0, NULL, "Number 127" }, 6202 6203 {TRUE, 0, NULL, "Number 128" }, 6204 {TRUE, 0, NULL, "Number 129" }, 6205 {TRUE, 0, NULL, "Number 130" }, 6206 {TRUE, 0, NULL, "Number 131" }, 6207 {TRUE, 0, NULL, "Number 132" }, 6208 {TRUE, 0, NULL, "Number 133" }, 6209 {TRUE, 0, NULL, "Number 134" }, 6210 {TRUE, 0, NULL, "Number 135" }, 6211 {TRUE, 0, NULL, "Number 136" }, 6212 {TRUE, 0, NULL, "Number 137" }, 6213 {TRUE, 0, NULL, "Number 138" }, 6214 {TRUE, 0, NULL, "Number 139" }, 6215 {TRUE, 0, NULL, "Number 140" }, 6216 {TRUE, 0, NULL, "Number 141" }, 6217 {TRUE, 0, NULL, "Number 142" }, 6218 {TRUE, 0, NULL, "Number 143" }, 6219 {TRUE, 0, NULL, "Number 144" }, 6220 {TRUE, 0, NULL, "Number 145" }, 6221 {TRUE, 0, NULL, "Number 146" }, 6222 {TRUE, 0, NULL, "Number 147" }, 6223 {TRUE, 0, NULL, "Number 148" }, 6224 {TRUE, 0, NULL, "Number 149" }, 6225 {TRUE, 0, NULL, "Number 150" }, 6226 {TRUE, 0, NULL, "Number 151" }, 6227 {TRUE, 0, NULL, "Number 152" }, 6228 {TRUE, 0, NULL, "Number 153" }, 6229 {TRUE, 0, NULL, "Number 154" }, 6230 {TRUE, 0, NULL, "Number 155" }, 6231 {TRUE, 0, NULL, "Number 156" }, 6232 {TRUE, 0, NULL, "Number 157" }, 6233 {TRUE, 0, NULL, "Number 158" }, 6234 {TRUE, 0, NULL, "Number 159" }, 6235 6236 {TRUE, 0, NULL, "Number 160" }, 6237 {FALSE, 5, "plain_descriptions", "Plain object descriptions" }, 6238 {FALSE, 6, "stupid_monsters", "Monsters behave stupidly" }, 6239 {FALSE, 1, "auto_destroy", "No query to destroy known worthless items" }, 6240 {FALSE, 1, "confirm_wear", "Confirm to wear/wield known cursed items" }, 6241 {FALSE, 0, NULL, "Number 165" }, 6242 {TRUE, 1, "easy_open", "Automatically open doors" }, 6243 {TRUE, 1, "easy_disarm", "Automatically disarm traps" }, 6244 {FALSE, 1, "easy_floor", "Display floor stacks in a list" }, 6245 {TRUE, 0, NULL, "Number 169" }, 6246 {FALSE, 5, "center_player", "Always center on the player (*slow*)" }, 6247 {FALSE, 5, "avoid_center", "Avoid centering while running" }, 6248 {TRUE, 0, NULL, "Number 172" }, 6249 {TRUE, 5, "limit_messages", "Only display last 50 messages in dumps" }, 6250 {FALSE, 1, "check_transaction", "Prompt when buying or selling" }, 6251 {TRUE, 0, NULL, "Number 175" }, 6252 {TRUE, 0, NULL, "Number 176" }, 6253 {TRUE, 0, NULL, "Number 177" }, 6254 {TRUE, 0, NULL, "Number 178" }, 6255 {TRUE, 0, NULL, "Number 179" }, 6256 {TRUE, 0, NULL, "Number 180" }, 6257 {TRUE, 0, NULL, "Number 181" }, 6258 {TRUE, 0, NULL, "Number 182" }, 6259 {TRUE, 0, NULL, "Number 183" }, 6260 {TRUE, 0, NULL, "Number 184" }, 6261 {TRUE, 0, NULL, "Number 185" }, 6262 {TRUE, 0, NULL, "Number 186" }, 6263 {TRUE, 0, NULL, "Number 187" }, 6264 {TRUE, 0, NULL, "Number 188" }, 6265 {TRUE, 0, NULL, "Number 189" }, 6266 {TRUE, 0, NULL, "Number 190" }, 6267 {TRUE, 0, NULL, "Number 191" }, 6268 6269 {FALSE, 6, "vanilla_town", "Use 'vanilla' town without quests and wilderness" }, 6270 {TRUE, 0, NULL, "Number 193" }, 6271 {FALSE, 6, "ironman_shops", "Stores are permanently closed" }, 6272 {FALSE, 6, "ironman_small_levels", "Always create unusually small dungeon levels" }, 6273 {FALSE, 6, "ironman_downward", "Don't allow climbing upwards/recalling" }, 6274 {TRUE, 0, NULL, "Number 197" }, 6275 {TRUE, 0, NULL, "Number 198" }, 6276 {TRUE, 0, NULL, "Number 199" }, 6277 {TRUE, 0, NULL, "Number 200" }, 6278 {TRUE, 0, NULL, "Number 201" }, 6279 {TRUE, 0, NULL, "Number 202" }, 6280 {FALSE, 6, "munchkin_death", "Ask for saving death" }, 6281 {TRUE, 0, NULL, "Number 204" }, 6282 {TRUE, 0, NULL, "Number 205" }, 6283 {TRUE, 6, "preserve_mode", "Preserve artifacts" }, 6284 {TRUE, 6, "autoroller", "Specify stat weightings" }, 6285 {FALSE, 6, "point_based", "Generate character using a point system" }, 6286 {TRUE, 6, "silly_monsters", "Allow silly monsters" }, 6287 {FALSE, 6, "ironman_nightmare", "Nightmare mode (this isn't even remotely fair!)" }, 6288 {TRUE, 0, NULL, "Number 211" }, 6289 {TRUE, 0, NULL, "Number 212" }, 6290 {TRUE, 0, NULL, "Number 213" }, 6291 {TRUE, 0, NULL, "Number 214" }, 6292 {TRUE, 0, NULL, "Number 215" }, 6293 {TRUE, 0, NULL, "Number 216" }, 6294 {TRUE, 0, NULL, "Number 217" }, 6295 {TRUE, 0, NULL, "Number 218" }, 6296 {TRUE, 0, NULL, "Number 219" }, 6297 {TRUE, 0, NULL, "Number 220" }, 6298 {TRUE, 0, NULL, "Number 221" }, 6299 {TRUE, 0, NULL, "Number 222" }, 6300 {TRUE, 0, NULL, "Number 223" }, 6301 {FALSE, 0, NULL, "Number 224" }, 6302 {FALSE, 5, "monster_light", "Allow monsters to carry lights" }, 6303 {TRUE, 0, NULL, "Turn on muliplayer client - server code" }, 6304 {TRUE, 0, NULL, "Number 227" }, 6305 {TRUE, 0, NULL, "Number 228" }, 6306 {TRUE, 0, NULL, "Number 229" }, 6307 {TRUE, 0, NULL, "Number 230" }, 6308 {TRUE, 0, NULL, "Number 231" }, 6309 {TRUE, 0, NULL, "Number 232" }, 6310 {TRUE, 0, NULL, "Number 233" }, 6311 {TRUE, 0, NULL, "Number 234" }, 6312 {TRUE, 0, NULL, "Number 235" }, 6313 {TRUE, 0, NULL, "Number 236" }, 6314 {TRUE, 0, NULL, "Number 237" }, 6315 {TRUE, 0, NULL, "Number 238" }, 6316 {TRUE, 0, NULL, "Number 239" }, 6317 {TRUE, 0, NULL, "Number 240" }, 6318 {TRUE, 0, NULL, "Number 241" }, 6319 {TRUE, 0, NULL, "Number 242" }, 6320 {TRUE, 0, NULL, "Number 243" }, 6321 {TRUE, 0, NULL, "Number 244" }, 6322 {TRUE, 0, NULL, "Number 245" }, 6323 {TRUE, 0, NULL, "Number 246" }, 6324 {TRUE, 0, NULL, "Number 247" }, 6325 {TRUE, 0, NULL, "Number 248" }, 6326 {TRUE, 0, NULL, "Number 249" }, 6327 {TRUE, 0, NULL, "Number 250" }, 6328 {FALSE, 3, "auto_notes", "Automatically note important events" }, 6329 {FALSE, 3, "take_notes", "Allow notes to be appended to a file" }, 6330 {TRUE, 0, NULL, "Number 253" }, 6331 {TRUE, 8, "testing_stack", "Allow objects to stack on floor" }, 6332 {TRUE, 0, NULL, NULL }, 6333 }; 6334 6335 const int birth_options[OPT_BIRTH + 1] = 6336 { 6337 162, 192, 194, 195, 196, 197, 198, 199, 6338 200, 201, 202, 203, 204, 205, 206, 207, 6339 208, 209, 210, 211, 212, 213, 214, 215, 6340 216, 217, 218, 219, 220, 221, 222, 223, 0 6341 }; 6342 6343 const int server_options[OPT_SERVER + 1] = 6344 { 6345 30, 31, 33, 34, 35, 36, 37, 40, 6346 41, 42, 43, 44, 45, 46, 47, 224, 6347 225, 226, 227, 228, 229, 230, 231, 232, 6348 233, 234, 235, 236, 237, 238, 254, 255, 0 6349 }; 6350 6351 cptr chaos_patrons[MAX_PATRON] = 6352 { 6353 "Slortar", 6354 "Mabelode", 6355 "Chardros", 6356 "Hionhurn", 6357 "Xiombarg", 6358 6359 "Pyaray", 6360 "Balaan", 6361 "Arioch", 6362 "Eequor", 6363 "Narjhan", 6364 6365 "Balo", 6366 "Khorne", 6367 "Slaanesh", 6368 "Nurgle", 6369 "Tzeentch", 6370 6371 "Khaine" 6372 }; 6373 6374 const int chaos_stats[MAX_PATRON] = 6375 { 6376 A_CON, /* Slortar */ 6377 A_CON, /* Mabelode */ 6378 A_STR, /* Chardros */ 6379 A_STR, /* Hionhurn */ 6380 A_STR, /* Xiombarg */ 6381 6382 A_INT, /* Pyaray */ 6383 A_STR, /* Balaan */ 6384 A_INT, /* Arioch */ 6385 A_CON, /* Eequor */ 6386 A_CHR, /* Narjhan */ 6387 6388 -1, /* Balo */ 6389 A_STR, /* Khorne */ 6390 A_CHR, /* Slaanesh */ 6391 A_CON, /* Nurgle */ 6392 A_INT, /* Tzeentch */ 6393 6394 A_STR, /* Khaine */ 6395 }; 6396 6397 6398 6399 6400 const int chaos_rewards[MAX_PATRON][20] = 6401 { 6402 /* Slortar the Old: */ 6403 { 6404 REW_WRATH, REW_CURSE_WP, REW_CURSE_AR, REW_RUIN_ABL, REW_LOSE_ABL, 6405 REW_IGNORE, REW_IGNORE, REW_IGNORE, REW_POLY_WND, REW_POLY_SLF, 6406 REW_POLY_SLF, REW_POLY_SLF, REW_GAIN_ABL, REW_GAIN_ABL, REW_GAIN_EXP, 6407 REW_GOOD_OBJ, REW_CHAOS_WP, REW_GREA_OBJ, REW_AUGM_ABL, REW_AUGM_ABL 6408 }, 6409 6410 /* Mabelode the Faceless: */ 6411 { 6412 REW_WRATH, REW_CURSE_WP, REW_CURSE_AR, REW_H_SUMMON, REW_SUMMON_M, 6413 REW_SUMMON_M, REW_IGNORE, REW_IGNORE, REW_POLY_WND, REW_POLY_WND, 6414 REW_POLY_SLF, REW_HEAL_FUL, REW_HEAL_FUL, REW_GAIN_ABL, REW_SER_UNDE, 6415 REW_CHAOS_WP, REW_GOOD_OBJ, REW_GOOD_OBJ, REW_GOOD_OBS, REW_GOOD_OBS 6416 }, 6417 6418 /* Chardros the Reaper: */ 6419 { 6420 REW_WRATH, REW_WRATH, REW_HURT_LOT, REW_PISS_OFF, REW_H_SUMMON, 6421 REW_SUMMON_M, REW_IGNORE, REW_IGNORE, REW_DESTRUCT, REW_SER_UNDE, 6422 REW_GENOCIDE, REW_MASS_GEN, REW_MASS_GEN, REW_DISPEL_C, REW_GOOD_OBJ, 6423 REW_CHAOS_WP, REW_GOOD_OBS, REW_GOOD_OBS, REW_AUGM_ABL, REW_AUGM_ABL 6424 }, 6425 6426 /* Hionhurn the Executioner: */ 6427 { 6428 REW_WRATH, REW_WRATH, REW_CURSE_WP, REW_CURSE_AR, REW_RUIN_ABL, 6429 REW_IGNORE, REW_IGNORE, REW_SER_UNDE, REW_DESTRUCT, REW_GENOCIDE, 6430 REW_MASS_GEN, REW_MASS_GEN, REW_HEAL_FUL, REW_GAIN_ABL, REW_GAIN_ABL, 6431 REW_CHAOS_WP, REW_GOOD_OBS, REW_GOOD_OBS, REW_AUGM_ABL, REW_AUGM_ABL 6432 }, 6433 6434 /* Xiombarg the Sword-Queen: */ 6435 { 6436 REW_TY_CURSE, REW_TY_CURSE, REW_PISS_OFF, REW_RUIN_ABL, REW_LOSE_ABL, 6437 REW_IGNORE, REW_POLY_SLF, REW_POLY_SLF, REW_POLY_WND, REW_POLY_WND, 6438 REW_GENOCIDE, REW_DISPEL_C, REW_GOOD_OBJ, REW_GOOD_OBJ, REW_SER_MONS, 6439 REW_GAIN_ABL, REW_CHAOS_WP, REW_GAIN_EXP, REW_AUGM_ABL, REW_GOOD_OBS 6440 }, 6441 6442 6443 /* Pyaray the Tentacled Whisperer of Impossible Secretes: */ 6444 { 6445 REW_WRATH, REW_TY_CURSE, REW_PISS_OFF, REW_H_SUMMON, REW_H_SUMMON, 6446 REW_IGNORE, REW_IGNORE, REW_IGNORE, REW_POLY_WND, REW_POLY_SLF, 6447 REW_POLY_SLF, REW_SER_DEMO, REW_HEAL_FUL, REW_GAIN_ABL, REW_GAIN_ABL, 6448 REW_CHAOS_WP, REW_DO_HAVOC, REW_GOOD_OBJ, REW_GREA_OBJ, REW_GREA_OBS 6449 }, 6450 6451 /* Balaan the Grim: */ 6452 { 6453 REW_TY_CURSE, REW_HURT_LOT, REW_CURSE_WP, REW_CURSE_AR, REW_RUIN_ABL, 6454 REW_SUMMON_M, REW_LOSE_EXP, REW_POLY_SLF, REW_POLY_SLF, REW_POLY_WND, 6455 REW_SER_UNDE, REW_HEAL_FUL, REW_HEAL_FUL, REW_GAIN_EXP, REW_GAIN_EXP, 6456 REW_CHAOS_WP, REW_GOOD_OBJ, REW_GOOD_OBS, REW_GREA_OBS, REW_AUGM_ABL 6457 }, 6458 6459 /* Arioch, Duke of Hell: */ 6460 { 6461 REW_WRATH, REW_PISS_OFF, REW_RUIN_ABL, REW_LOSE_EXP, REW_H_SUMMON, 6462 REW_IGNORE, REW_IGNORE, REW_IGNORE, REW_IGNORE, REW_POLY_SLF, 6463 REW_POLY_SLF, REW_MASS_GEN, REW_SER_DEMO, REW_HEAL_FUL, REW_CHAOS_WP, 6464 REW_CHAOS_WP, REW_GOOD_OBJ, REW_GAIN_EXP, REW_GREA_OBJ, REW_AUGM_ABL 6465 }, 6466 6467 /* Eequor, Blue Lady of Dismay: */ 6468 { 6469 REW_WRATH, REW_TY_CURSE, REW_PISS_OFF, REW_CURSE_WP, REW_RUIN_ABL, 6470 REW_IGNORE, REW_IGNORE, REW_POLY_SLF, REW_POLY_SLF, REW_POLY_WND, 6471 REW_GOOD_OBJ, REW_GOOD_OBJ, REW_SER_MONS, REW_HEAL_FUL, REW_GAIN_EXP, 6472 REW_GAIN_ABL, REW_CHAOS_WP, REW_GOOD_OBS, REW_GREA_OBJ, REW_AUGM_ABL 6473 }, 6474 6475 /* Narjhan, Lord of Beggars: */ 6476 { 6477 REW_WRATH, REW_CURSE_AR, REW_CURSE_WP, REW_CURSE_WP, REW_CURSE_AR, 6478 REW_IGNORE, REW_IGNORE, REW_IGNORE, REW_POLY_SLF, REW_POLY_SLF, 6479 REW_POLY_WND, REW_HEAL_FUL, REW_HEAL_FUL, REW_GAIN_EXP, REW_AUGM_ABL, 6480 REW_GOOD_OBJ, REW_GOOD_OBJ, REW_CHAOS_WP, REW_GREA_OBJ, REW_GREA_OBS 6481 }, 6482 6483 /* Balo the Jester: */ 6484 { 6485 REW_WRATH, REW_SER_DEMO, REW_CURSE_WP, REW_CURSE_AR, REW_LOSE_EXP, 6486 REW_GAIN_ABL, REW_LOSE_ABL, REW_POLY_WND, REW_POLY_SLF, REW_IGNORE, 6487 REW_DESTRUCT, REW_MASS_GEN, REW_CHAOS_WP, REW_GREA_OBJ, REW_HURT_LOT, 6488 REW_AUGM_ABL, REW_RUIN_ABL, REW_H_SUMMON, REW_GREA_OBS, REW_AUGM_ABL 6489 }, 6490 6491 /* Khorne the Bloodgod: */ 6492 { 6493 REW_WRATH, REW_HURT_LOT, REW_HURT_LOT, REW_H_SUMMON, REW_H_SUMMON, 6494 REW_IGNORE, REW_IGNORE, REW_IGNORE, REW_SER_MONS, REW_SER_DEMO, 6495 REW_POLY_SLF, REW_POLY_WND, REW_HEAL_FUL, REW_GOOD_OBJ, REW_GOOD_OBJ, 6496 REW_CHAOS_WP, REW_GOOD_OBS, REW_GOOD_OBS, REW_GREA_OBJ, REW_GREA_OBS 6497 }, 6498 6499 /* Slaanesh: */ 6500 { 6501 REW_WRATH, REW_PISS_OFF, REW_PISS_OFF, REW_RUIN_ABL, REW_LOSE_ABL, 6502 REW_LOSE_EXP, REW_IGNORE, REW_IGNORE, REW_POLY_WND, REW_SER_DEMO, 6503 REW_POLY_SLF, REW_HEAL_FUL, REW_HEAL_FUL, REW_GOOD_OBJ, REW_GAIN_EXP, 6504 REW_GAIN_EXP, REW_CHAOS_WP, REW_GAIN_ABL, REW_GREA_OBJ, REW_AUGM_ABL 6505 }, 6506 6507 /* Nurgle: */ 6508 { 6509 REW_WRATH, REW_PISS_OFF, REW_HURT_LOT, REW_RUIN_ABL, REW_LOSE_ABL, 6510 REW_LOSE_EXP, REW_IGNORE, REW_IGNORE, REW_IGNORE, REW_POLY_SLF, 6511 REW_POLY_SLF, REW_POLY_WND, REW_HEAL_FUL, REW_GOOD_OBJ, REW_GAIN_ABL, 6512 REW_GAIN_ABL, REW_SER_UNDE, REW_CHAOS_WP, REW_GREA_OBJ, REW_AUGM_ABL 6513 }, 6514 6515 /* Tzeentch: */ 6516 { 6517 REW_WRATH, REW_CURSE_WP, REW_CURSE_AR, REW_RUIN_ABL, REW_LOSE_ABL, 6518 REW_LOSE_EXP, REW_IGNORE, REW_POLY_SLF, REW_POLY_SLF, REW_POLY_SLF, 6519 REW_POLY_SLF, REW_POLY_WND, REW_HEAL_FUL, REW_CHAOS_WP, REW_GREA_OBJ, 6520 REW_GAIN_ABL, REW_GAIN_ABL, REW_GAIN_EXP, REW_GAIN_EXP, REW_AUGM_ABL 6521 }, 6522 6523 /* Khaine: */ 6524 { 6525 REW_WRATH, REW_HURT_LOT, REW_PISS_OFF, REW_LOSE_ABL, REW_LOSE_EXP, 6526 REW_IGNORE, REW_IGNORE, REW_DISPEL_C, REW_DO_HAVOC, REW_DO_HAVOC, 6527 REW_POLY_SLF, REW_POLY_SLF, REW_GAIN_EXP, REW_GAIN_ABL, REW_GAIN_ABL, 6528 REW_SER_MONS, REW_GOOD_OBJ, REW_CHAOS_WP, REW_GREA_OBJ, REW_GOOD_OBS 6529 } 6530 }; 6531 6532 const martial_arts ma_blows[MAX_MA] = 6533 { 6534 #ifdef VERBOSE_MARTIAL_ARTS 6535 { "You punch %s.", 1, 0, 1, 4, 0 }, 6536 { "You kick %s.", 2, 0, 1, 5, 0 }, 6537 { "You strike %s.", 3, 0, 1, 6, 0 }, 6538 { "You hit %s with your knee.", 5, 5, 2, 3, MA_KNEE }, 6539 { "You hit %s with your elbow.", 7, 5, 1, 7, 0 }, 6540 { "You butt %s.", 9, 10, 2, 4, 0 }, 6541 { "You kick %s.", 11, 10, 2, 5, MA_SLOW }, 6542 { "You uppercut %s.", 13, 12, 3, 5, 6 }, 6543 { "You double-kick %s.", 16, 15, 6, 3, 8 }, 6544 { "You hit %s with a Cat's Claw.", 20, 20, 4, 6, 0 }, 6545 { "You hit %s with a jump kick.", 25, 25, 4, 7, 10 }, 6546 { "You hit %s with an Eagle's Claw.", 29, 25, 5, 6, 0 }, 6547 { "You hit %s with a circle kick.", 33, 30, 5, 8, 10 }, 6548 { "You hit %s with an Iron Fist.", 37, 35, 6, 8, 10 }, 6549 { "You hit %s with a flying kick.", 41, 35, 7, 8, 12 }, 6550 { "You hit %s with a Dragon Fist.", 45, 35, 7, 10, 16 }, 6551 { "You hit %s with a Crushing Blow.", 48, 35, 7, 12, 18 }, 6552 #else 6553 { "You punch %s.", 1, 0, 1, 4, 0 }, 6554 { "You kick %s.", 2, 0, 1, 5, 0 }, 6555 { "You strike %s.", 3, 0, 1, 6, 0 }, 6556 { "You knee %s.", 5, 5, 2, 3, MA_KNEE }, 6557 { "You hit %s.", 7, 5, 1, 7, 0 }, 6558 { "You butt %s.", 9, 10, 2, 4, 0 }, 6559 { "You kick %s.", 11, 10, 2, 5, MA_SLOW }, 6560 { "You uppercut %s.", 13, 12, 3, 5, 6 }, 6561 { "You double-kick %s.", 16, 15, 6, 3, 8 }, 6562 { "You hit %s.", 20, 20, 4, 6, 0 }, 6563 { "You kick %s.", 25, 25, 4, 7, 10 }, 6564 { "You hit %s.", 29, 25, 5, 6, 0 }, 6565 { "You kick %s.", 33, 30, 5, 8, 10 }, 6566 { "You punch %s.", 37, 35, 6, 8, 10 }, 6567 { "You kick %s.", 41, 35, 7, 8, 12 }, 6568 { "You punch %s.", 45, 35, 7, 10, 16 }, 6569 { "You punch %s.", 48, 35, 7, 12, 18 }, 6570 #endif 6571 }; 6572 6573 /* 6574 * Table of game-generated inscriptions (indexed by the defines in 6575 * defines.h). -- RG 6576 */ 6577 cptr game_inscriptions[FEEL_MAX] = 6578 { 6579 NULL, /* FEEL_NONE */ 6580 "broken", /* FEEL_BROKEN */ 6581 "terrible", /* FEEL_TERRIBLE */ 6582 "worthless", /* FEEL_WORTHLESS */ 6583 "cursed", /* FEEL_CURSED */ 6584 "uncursed", /* FEEL_UNCURSED */ 6585 "average", /* FEEL_AVERAGE */ 6586 "good", /* FEEL_GOOD */ 6587 "excellent", /* FEEL_EXCELLENT */ 6588 "special", /* FEEL_SPECIAL */ 6589 "bad", /* FEEL_BAD */ 6590 "dubious", /* FEEL_DUBIOUS */ 6591 "tainted", /* FEEL_TAINTED */ 6592 }; 6593 6594 6595 /* Weird melee attack types when hallucinating */ 6596 cptr silly_attacks[MAX_SILLY_ATTACK] = 6597 { 6598 "smothers", 6599 "hugs", 6600 "humiliates", 6601 "whips", 6602 "kisses", 6603 6604 "disgusts", 6605 "pees all over", 6606 "passes the gas on", 6607 "makes obscene gestures at", 6608 "licks", 6609 6610 "stomps on", 6611 "swallows", 6612 "drools on", 6613 "misses", 6614 "shrinks", 6615 6616 "emasculates", 6617 "evaporates", 6618 "solidifies", 6619 "digitizes", 6620 "insta-kills", 6621 6622 "massacres", 6623 "slaughters", 6624 "drugs", 6625 "psychoanalyzes", 6626 "deconstructs", 6627 6628 "falsifies", 6629 "disbelieves", 6630 "molests" 6631 }; 6632 6633 6634 /* Monster Blow-Method types */ 6635 const rbm_type rbm_info[MAX_RBM] = 6636 { 6637 { 6638 NULL, NULL, 6639 SOUND_NONE, FALSE, FALSE, FALSE 6640 }, 6641 6642 { 6643 "hit", "hits %s.", 6644 SOUND_HIT, TRUE, TRUE, TRUE 6645 }, 6646 6647 { 6648 "touch", "touches %s.", 6649 SOUND_TOUCH, TRUE, FALSE, FALSE 6650 }, 6651 6652 { 6653 "punch", "punches %s.", 6654 SOUND_HIT, TRUE, FALSE, TRUE 6655 }, 6656 6657 { 6658 "kick", "kicks %s.", 6659 SOUND_HIT, TRUE, FALSE, TRUE 6660 }, 6661 6662 { 6663 "claw", "claws %s.", 6664 SOUND_CLAW, TRUE, TRUE, FALSE 6665 }, 6666 6667 { 6668 "bite", "bites %s.", 6669 SOUND_BITE, TRUE, TRUE, FALSE 6670 }, 6671 6672 { 6673 "sting", "stings %s.", 6674 SOUND_STING, TRUE, FALSE, FALSE 6675 }, 6676 6677 { 6678 "XXX1","XXX1's %s.", 6679 SOUND_NONE, FALSE, FALSE, FALSE 6680 }, 6681 6682 { 6683 "butt", "butts %s.", 6684 SOUND_HIT, TRUE, FALSE, TRUE 6685 }, 6686 6687 { 6688 "crush", "crushes %s.", 6689 SOUND_CRUSH, TRUE, FALSE, TRUE 6690 }, 6691 6692 { 6693 "engulf", "engulfs %s.", 6694 SOUND_CRUSH, TRUE, FALSE, FALSE 6695 }, 6696 6697 { 6698 "charge", "charges %s.", 6699 SOUND_BUY, TRUE, FALSE, FALSE 6700 }, 6701 6702 { 6703 "crawl on you", "crawls on %s.", 6704 SOUND_SLIME, TRUE, FALSE, FALSE 6705 }, 6706 6707 { 6708 "drool on you", "drools on %s.", 6709 SOUND_SLIME, FALSE, FALSE, FALSE 6710 }, 6711 6712 { 6713 "spit", "spits on %s.", 6714 SOUND_SLIME, FALSE, FALSE, FALSE 6715 }, 6716 6717 { 6718 "explode", "explodes.", 6719 SOUND_NONE, FALSE, FALSE, FALSE 6720 }, 6721 6722 { 6723 "gaze", "gazes at %s.", 6724 SOUND_NONE, FALSE, FALSE, FALSE 6725 }, 6726 6727 { 6728 "wail", "wails at %s.", 6729 SOUND_WAIL, FALSE, FALSE, FALSE 6730 }, 6731 6732 { 6733 "release spores", "releases spores at %s.", 6734 SOUND_SLIME, FALSE, FALSE, FALSE 6735 }, 6736 6737 { 6738 "XXX4", "projects XXX4's at %s.", 6739 SOUND_NONE, FALSE, FALSE, FALSE 6740 }, 6741 6742 { 6743 "beg", "begs %s for money.", 6744 SOUND_MOAN, FALSE, FALSE, FALSE 6745 }, 6746 6747 { 6748 "insult", "insults %s.", 6749 SOUND_MOAN, FALSE, FALSE, FALSE 6750 }, 6751 6752 { 6753 "moan", "moans at %s.", 6754 SOUND_MOAN, FALSE, FALSE, FALSE 6755 }, 6756 6757 { 6758 "sing", "sings to %s.", 6759 SOUND_SHOW, FALSE, FALSE, FALSE 6760 } 6761 }; 6762 6763 /* 6764 * The mutations: 6765 * 6766 * Actual mutation, 6767 * Description of mutation 6768 * Text on gaining mutation 6769 * Text on losing mutation 6770 * Short text (for choosing activatable mutations) 6771 * level, cost, stat, difficulty (each for activatable mutations only) 6772 * chance (random mutations only) 6773 */ 6774 const mutation_type mutations[MUT_SETS_MAX * MUT_PER_SET] = 6775 { 6776 /* Activatable mutations */ 6777 { 6778 MUT1_SPIT_ACID, 6779 "You can spit acid.", 6780 "You gain the ability to spit acid.", 6781 "You lose the ability to spit acid.", 6782 "Spit acid (dam lvl)", 6783 9, 9, A_DEX, 15, 6784 0 6785 }, 6786 6787 { 6788 MUT1_BR_FIRE, 6789 "You can breathe fire.", 6790 "You gain the ability to breathe fire.", 6791 "You lose the ability to breathe fire.", 6792 "Fire breath (lvl*2)", 6793 20, 20, A_CON, 18, 6794 0 6795 }, 6796 6797 { 6798 MUT1_HYPN_GAZE, 6799 "Your gaze is hypnotic (-1 WIS).", 6800 "Your eyes look mesmerizing...", 6801 "Your eyes look uninteresting.", 6802 "Hypnotic gaze", 6803 12, 12, A_CHR, 18, 6804 0 6805 }, 6806 6807 { 6808 MUT1_TELEKINES, 6809 "You are telekinetic (-1 CON).", 6810 "You gain the ability to move objects telekinetically.", 6811 "You lose the ability to move objects telekinetically.", 6812 "Telekinesis", 6813 9, 9, A_WIS, 14, 6814 0 6815 }, 6816 6817 { 6818 MUT1_VTELEPORT, 6819 "You can teleport at will.", 6820 "You gain the power of teleportation at will.", 6821 "You lose the power of teleportation at will.", 6822 "Teleport", 6823 7, 7, A_WIS, 15, 6824 0 6825 }, 6826 6827 { 6828 MUT1_MIND_BLST, 6829 "You can Mind Blast your enemies (-1 STR).", 6830 "You gain the power of Mind Blast.", 6831 "You lose the power of Mind Blast.", 6832 "Mind blast", 6833 5, 3, A_WIS, 15, 6834 0 6835 }, 6836 6837 { 6838 MUT1_RADIATION, 6839 "You can emit hard radiation at will (-1 CON).", 6840 "You start emitting hard radiation.", 6841 "You stop emitting hard radiation.", 6842 "Emit radiation", 6843 15, 15, A_CON, 14, 6844 0 6845 }, 6846 6847 { 6848 MUT1_VAMPIRISM, 6849 "You can drain life from a foe like a vampire.", 6850 "You become vampiric.", 6851 "You are no longer vampiric.", 6852 "Vampiric drain", 6853 10, 10, A_CON, 9, 6854 0 6855 }, 6856 6857 { 6858 MUT1_SMELL_MET, 6859 "You can smell nearby precious metal.", 6860 "You smell a metallic odor.", 6861 "You no longer smell a metallic odor.", 6862 "Smell metal", 6863 3, 2, A_INT, 12, 6864 0 6865 }, 6866 6867 { 6868 MUT1_SMELL_MON, 6869 "You can smell nearby monsters.", 6870 "You smell filthy monsters.", 6871 "You no longer smell filthy monsters.", 6872 "Smell monsters", 6873 5, 4, A_INT, 15, 6874 0 6875 }, 6876 6877 { 6878 MUT1_BLINK, 6879 "You can teleport yourself short distances.", 6880 "You gain the power of minor teleportation.", 6881 "You lose the power of minor teleportation.", 6882 "Blink", 6883 3, 3, A_WIS, 12, 6884 0 6885 }, 6886 6887 { 6888 MUT1_EAT_ROCK, 6889 "You can consume solid rock.", 6890 "The walls look delicious.", 6891 "The walls look unappetizing.", 6892 "Eat rock", 6893 8, 12, A_CON, 18, 6894 0 6895 }, 6896 6897 { 6898 MUT1_SWAP_POS, 6899 "You can switch locations with another being.", 6900 "You feel like walking a mile in someone else's shoes.", 6901 "You feel like staying in your own shoes.", 6902 "Swap position", 6903 15, 12, A_DEX, 16, 6904 0 6905 }, 6906 6907 { 6908 MUT1_SHRIEK, 6909 "You can emit a horrible shriek. (-1 CHR)", 6910 "Your vocal cords get much tougher.", 6911 "Your vocal cords get much weaker.", 6912 "Shriek", 6913 20, 14, A_CON, 16, 6914 0 6915 }, 6916 6917 { 6918 MUT1_ILLUMINE, 6919 "You can emit bright light (-2 stealth).", 6920 "You can light up rooms with your presence.", 6921 "You can no longer light up rooms with your presence.", 6922 "Illuminate area", 6923 3, 2, A_INT, 10, 6924 0 6925 }, 6926 6927 { 6928 MUT1_DET_CURSE, 6929 "You can feel the danger of evil magic.", 6930 "You can feel evil magics.", 6931 "You can no longer feel evil magics.", 6932 "Detect curses", 6933 7, 14, A_WIS, 14, 6934 0 6935 }, 6936 6937 { 6938 MUT1_BERSERK, 6939 "You can drive yourself into a berserk frenzy (-1 WIS).", 6940 "You feel a controlled rage.", 6941 "You no longer feel a controlled rage.", 6942 "Berserk", 6943 8, 8, A_STR, 14, 6944 0 6945 }, 6946 6947 { 6948 MUT1_POLYMORPH, 6949 "You can polymorph yourself at will.", 6950 "Your body seems mutable.", 6951 "Your body seems stable.", 6952 "Polymorph", 6953 18, 20, A_CON, 18, 6954 0 6955 }, 6956 6957 { 6958 MUT1_MIDAS_TCH, 6959 "You can turn ordinary items to gold (-1 WIS, -1 CHR).", 6960 "You gain the Midas touch.", 6961 "You lose the Midas touch.", 6962 "Midas touch", 6963 10, 5, A_INT, 12, 6964 0 6965 }, 6966 6967 { 6968 MUT1_GROW_MOLD, 6969 "You can cause mold to grow near you.", 6970 "You feel a sudden affinity for mold.", 6971 "You feel a sudden dislike for mold.", 6972 "Grow mold", 6973 1, 6, A_CON, 14, 6974 0 6975 }, 6976 6977 { 6978 MUT1_RESIST, 6979 "You can harden yourself to the ravages of the elements.", 6980 "You feel like you can protect yourself.", 6981 "You feel like you might be vulnerable.", 6982 "Resist elements", 6983 10, 12, A_CON, 12, 6984 0 6985 }, 6986 6987 { 6988 MUT1_EARTHQUAKE, 6989 "You can bring down the dungeon around your ears (-1 WIS).", 6990 "You gain the ability to wreck the dungeon.", 6991 "You lose the ability to wreck the dungeon.", 6992 "Earthquake", 6993 12, 12, A_STR, 16, 6994 0 6995 }, 6996 6997 { 6998 MUT1_EAT_MAGIC, 6999 "You can consume magic energy for your own use.", 7000 "Your magic items look delicious.", 7001 "Your magic items no longer look delicious.", 7002 "Eat magic", 7003 17, 1, A_WIS, 15, 7004 0 7005 }, 7006 7007 { 7008 MUT1_WEIGH_MAG, 7009 "You can feel the strength of the magics affecting you.", 7010 "You feel you can better understand the magic around you.", 7011 "You no longer sense magic.", 7012 "Weigh magic", 7013 6, 6, A_INT, 10, 7014 0 7015 }, 7016 7017 { 7018 MUT1_STERILITY, 7019 "You can cause mass impotence (-1 INT).", 7020 "You can give everything around you a headache.", 7021 "You hear a massed sigh of relief.", 7022 "Sterilize", 7023 12, 23, A_CHR, 15, 7024 0 7025 }, 7026 7027 { 7028 MUT1_PANIC_HIT, 7029 "You can run for your life after hitting something.", 7030 "You suddenly understand how thieves feel.", 7031 "You no longer feel jumpy.", 7032 "Panic hit", 7033 10, 12, A_DEX, 14, 7034 0 7035 }, 7036 7037 { 7038 MUT1_DAZZLE, 7039 "You can emit confusing, blinding radiation (-1 stealth).", 7040 "You gain the ability to emit dazzling lights.", 7041 "You lose the ability to emit dazzling lights.", 7042 "Dazzle", 7043 7, 15, A_CHR, 8, 7044 0 7045 }, 7046 7047 { 7048 MUT1_LASER_EYE, 7049 "Your eyes can fire laser beams (-2 sensing).", 7050 "Your eyes burn for a moment.", 7051 "Your eyes burn for a moment, then feel soothed.", 7052 "Laser eye", 7053 7, 10, A_WIS, 9, 7054 0 7055 }, 7056 7057 { 7058 MUT1_RECALL, 7059 "You can travel between town and the depths.", 7060 "You feel briefly homesick, but it passes.", 7061 "You feel briefly homesick.", 7062 "Recall", 7063 17, 50, A_INT, 16, 7064 0 7065 }, 7066 7067 { 7068 MUT1_BANISH, 7069 "You can send evil creatures directly to Hell.", 7070 "You feel a holy wrath fill you.", 7071 "You no longer feel a holy wrath.", 7072 "Banish evil", 7073 25, 25, A_WIS, 18, 7074 0 7075 }, 7076 7077 { 7078 MUT1_COLD_TOUCH, 7079 "You can freeze things with a touch (-1 DEX).", 7080 "Your hands get very cold.", 7081 "Your hands warm up.", 7082 "Cold touch", 7083 2, 2, A_CON, 11, 7084 0 7085 }, 7086 7087 { 7088 MUT1_LAUNCHER, 7089 "You can hurl objects with great force (-1 DEX).", 7090 "Your throwing arm feels much stronger.", 7091 "Your throwing arm feels much weaker.", 7092 "Throw object", 7093 10, 15, A_STR, 6, 7094 0 7095 }, 7096 7097 /* Randomly activating mutations */ 7098 { 7099 MUT2_BERS_RAGE, 7100 "You are subject to berserker fits.", 7101 "You become subject to fits of berserk rage!", 7102 "You are no longer subject to fits of berserk rage!", 7103 "(nothing)", 7104 0, 0, 0, 0, 7105 30 7106 }, 7107 7108 { 7109 MUT2_COWARDICE, 7110 "You are subject to cowardice.", 7111 "You become an incredible coward!", 7112 "You are no longer an incredible coward!", 7113 "(nothing)", 7114 0, 0, 0, 0, 7115 30 7116 }, 7117 7118 { 7119 MUT2_RTELEPORT, 7120 "You are teleporting randomly.", 7121 "Your position seems very uncertain...", 7122 "Your position seems more certain.", 7123 "(nothing)", 7124 0, 0, 0, 0, 7125 50 7126 }, 7127 7128 { 7129 MUT2_ALCOHOL, 7130 "Your body produces alcohol.", 7131 "Your body starts producing alcohol!", 7132 "Your body stops producing alcohol!", 7133 "(nothing)", 7134 0, 0, 0, 0, 7135 64 7136 }, 7137 7138 { 7139 MUT2_HALLU, 7140 "You have a hallucinatory insanity.", 7141 "You are afflicted by a hallucinatory insanity!", 7142 "You are no longer afflicted by a hallucinatory insanity!", 7143 "(nothing)", 7144 0, 0, 0, 0, 7145 64 7146 }, 7147 7148 { 7149 MUT2_FLATULENT, 7150 "You are subject to uncontrollable flatulence.", 7151 "You become subject to uncontrollable flatulence.", 7152 "You are no longer subject to uncontrollable flatulence.", 7153 "(nothing)", 7154 0, 0, 0, 0, 7155 30 7156 }, 7157 7158 { 7159 MUT2_SCOR_TAIL, 7160 "You have a scorpion tail (poison, 3d7, -3 CHR).", 7161 "You grow a scorpion tail!", 7162 "You lose your scorpion tail!", 7163 "(nothing)", 7164 0, 0, 0, 0, 7165 0 7166 }, 7167 7168 { 7169 MUT2_HORNS, 7170 "You have horns (dam. 2d6).", 7171 "Horns pop forth into your forehead!", 7172 "Your horns vanish from your forehead!", 7173 "(nothing)", 7174 0, 0, 0, 0, 7175 0 7176 }, 7177 7178 { 7179 MUT2_BEAK, 7180 "You have a beak (dam. 2d4).", 7181 "Your mouth turns into a sharp, powerful beak!", 7182 "Your mouth reverts to normal!", 7183 "(nothing)", 7184 0, 0, 0, 0, 7185 0 7186 }, 7187 7188 { 7189 MUT2_ATT_DEMON, 7190 "You attract demons.", 7191 "You start attracting demons.", 7192 "You stop attracting demons.", 7193 "(nothing)", 7194 0, 0, 0, 0, 7195 66 7196 }, 7197 7198 { 7199 MUT2_PROD_MANA, 7200 "You are producing magical energy uncontrollably.", 7201 "You start producing magical energy uncontrollably.", 7202 "You stop producing magical energy uncontrollably.", 7203 "(nothing)", 7204 0, 0, 0, 0, 7205 90 7206 }, 7207 7208 { 7209 MUT2_SPEED_FLUX, 7210 "You move faster or slower randomly.", 7211 "You become manic-depressive.", 7212 "You are no longer manic-depressive.", 7213 "(nothing)", 7214 0, 0, 0, 0, 7215 60 7216 }, 7217 7218 { 7219 MUT2_BANISH_ALL, 7220 "You sometimes cause nearby creatures to vanish.", 7221 "You feel a terrifying power lurking behind you.", 7222 "You no longer feel a terrifying power lurking behind you.", 7223 "(nothing)", 7224 0, 0, 0, 0, 7225 90 7226 }, 7227 7228 { 7229 MUT2_EAT_LIGHT, 7230 "You sometimes feed off of the light around you.", 7231 "You feel a strange kinship with Ungoliant.", 7232 "You feel the world's a brighter place.", 7233 "(nothing)", 7234 0, 0, 0, 0, 7235 30 7236 }, 7237 7238 { 7239 MUT2_TRUNK, 7240 "You have an elephantine trunk (dam 1d4, -1 CHR).", 7241 "Your nose grows into an elephant-like trunk.", 7242 "Your nose returns to a normal length.", 7243 "(nothing)", 7244 0, 0, 0, 0, 7245 0 7246 }, 7247 7248 { 7249 MUT2_ATT_ANIMAL, 7250 "You attract animals.", 7251 "You start attracting animals.", 7252 "You stop attracting animals.", 7253 "(nothing)", 7254 0, 0, 0, 0, 7255 70 7256 }, 7257 7258 { 7259 MUT2_TENTACLES, 7260 "You have evil looking tentacles (dam 2d5, +1 DEX, -2 CHR).", 7261 "Evil-looking tentacles sprout from your sides.", 7262 "Your tentacles vanish from your sides.", 7263 "(nothing)", 7264 0, 0, 0, 0, 7265 0 7266 }, 7267 7268 { 7269 MUT2_RAW_CHAOS, 7270 "You occasionally are surrounded with raw chaos.", 7271 "You feel the universe is less stable around you.", 7272 "You feel the universe is more stable around you.", 7273 "(nothing)", 7274 0, 0, 0, 0, 7275 80 7276 }, 7277 7278 { 7279 MUT2_NORMALITY, 7280 "You may be mutated, but you're recovering.", 7281 "You feel strangely normal.", 7282 "You feel normally strange.", 7283 "(nothing)", 7284 0, 0, 0, 0, 7285 50 7286 }, 7287 7288 { 7289 MUT2_WRAITH, 7290 "You fade in and out of physical reality (-3 CON).", 7291 "You start to fade in and out of the physical world.", 7292 "You are firmly in the physical world.", 7293 "(nothing)", 7294 0, 0, 0, 0, 7295 30 7296 }, 7297 7298 { 7299 MUT2_POLY_WOUND, 7300 "Your health is subject to chaotic forces.", 7301 "You feel forces of chaos entering your old scars.", 7302 "You feel forces of chaos departing your old scars.", 7303 "(nothing)", 7304 0, 0, 0, 0, 7305 30 7306 }, 7307 7308 { 7309 MUT2_WASTING, 7310 "You have a horrible wasting disease.", 7311 "You suddenly contract a horrible wasting disease.", 7312 "You are cured of the horrible wasting disease!", 7313 "(nothing)", 7314 0, 0, 0, 0, 7315 30 7316 }, 7317 7318 { 7319 MUT2_ATT_DRAGON, 7320 "You attract dragons.", 7321 "You start attracting dragons.", 7322 "You stop attracting dragons.", 7323 "(nothing)", 7324 0, 0, 0, 0, 7325 30 7326 }, 7327 7328 { 7329 MUT2_WEIRD_MIND, 7330 "Your mind randomly expands and contracts.", 7331 "Your thoughts suddenly take off in strange directions.", 7332 "Your thoughts return to boring paths.", 7333 "(nothing)", 7334 0, 0, 0, 0, 7335 30 7336 }, 7337 7338 { 7339 MUT2_NAUSEA, 7340 "You have a seriously upset stomach.", 7341 "Your stomach starts to roil nauseously.", 7342 "Your stomach stops roiling.", 7343 "(nothing)", 7344 0, 0, 0, 0, 7345 90 7346 }, 7347 7348 { 7349 MUT2_CHAOS_GIFT, 7350 "Chaos deities give you gifts.", 7351 "You attract the notice of a chaos deity!", 7352 "You lose the attention of the chaos deities.", 7353 "(nothing)", 7354 0, 0, 0, 0, 7355 0 7356 }, 7357 7358 { 7359 MUT2_WALK_SHAD, 7360 "You occasionally stumble into other shadows.", 7361 "You feel like reality is as thin as paper.", 7362 "You feel like you're trapped in reality.", 7363 "(nothing)", 7364 0, 0, 0, 0, 7365 120 7366 }, 7367 7368 { 7369 MUT2_WARNING, 7370 "You receive warnings about your foes.", 7371 "You suddenly feel paranoid.", 7372 "You no longer feel paranoid.", 7373 "(nothing)", 7374 0, 0, 0, 0, 7375 10 7376 }, 7377 7378 { 7379 MUT2_INVULN, 7380 "You occasionally feel invincible (-2 WIS).", 7381 "You are blessed with fits of invulnerability.", 7382 "You are no longer blessed with fits of invulnerability.", 7383 "(nothing)", 7384 0, 0, 0, 0, 7385 50 7386 }, 7387 7388 { 7389 MUT2_SP_TO_HP, 7390 "Your blood sometimes rushes to your muscles.", 7391 "You are subject to fits of magical healing.", 7392 "You are no longer subject to fits of magical healing.", 7393 "(nothing)", 7394 0, 0, 0, 0, 7395 20 7396 }, 7397 7398 { 7399 MUT2_HP_TO_SP, 7400 "Your blood sometimes rushes to your head.", 7401 "You are subject to fits of painful clarity.", 7402 "You are no longer subject to fits of painful clarity.", 7403 "(nothing)", 7404 0, 0, 0, 0, 7405 40 7406 }, 7407 7408 { 7409 MUT2_DISARM, 7410 "You occasionally stumble and drop things.", 7411 "Your feet grow to four times their former size.", 7412 "Your feet shrink to their former size.", 7413 "(nothing)", 7414 0, 0, 0, 0, 7415 100 7416 }, 7417 7418 /* Other Mutations */ 7419 { 7420 MUT3_HYPER_STR, 7421 "You are superhumanly strong (+4 STR, -1 INT, -1 WIS).", 7422 "You turn into a superhuman he-man!", 7423 "Your muscles revert to normal.", 7424 "(nothing)", 7425 0, 0, 0, 0, 7426 0 7427 }, 7428 7429 { 7430 MUT3_PUNY, 7431 "You are puny (+2 DEX, -4 STR).", 7432 "Your muscles wither away...", 7433 "Your muscles revert to normal.", 7434 "(nothing)", 7435 0, 0, 0, 0, 7436 0 7437 }, 7438 7439 { 7440 MUT3_HYPER_INT, 7441 "Your brain is a living computer (+4 INT/WIS).", 7442 "Your brain evolves into a living computer!", 7443 "Your brain reverts to normal.", 7444 "(nothing)", 7445 0, 0, 0, 0, 7446 0 7447 }, 7448 7449 { 7450 MUT3_MORONIC, 7451 "You are moronic (-4 INT/WIS).", 7452 "Your brain withers away...", 7453 "Your brain reverts to normal.", 7454 "(nothing)", 7455 0, 0, 0, 0, 7456 0 7457 }, 7458 7459 { 7460 MUT3_RESILIENT, 7461 "You are very resilient (+4 CON).", 7462 "You become extraordinarily resilient.", 7463 "You become ordinarily resilient again.", 7464 "(nothing)", 7465 0, 0, 0, 0, 7466 0 7467 }, 7468 7469 { 7470 MUT3_XTRA_FAT, 7471 "You are extremely fat (+2 CON, -2 speed).", 7472 "You become sickeningly fat!", 7473 "You benefit from a miracle diet!", 7474 "(nothing)", 7475 0, 0, 0, 0, 7476 0 7477 }, 7478 7479 { 7480 MUT3_ALBINO, 7481 "You are albino (-4 CON).", 7482 "You turn into an albino! You feel frail...", 7483 "You are no longer an albino!", 7484 "(nothing)", 7485 0, 0, 0, 0, 7486 0 7487 }, 7488 7489 { 7490 MUT3_FLESH_ROT, 7491 "Your flesh is rotting (-2 CON, -1 CHR).", 7492 "Your flesh is afflicted by a rotting disease!", 7493 "Your flesh is no longer afflicted by a rotting disease!", 7494 "(nothing)", 7495 0, 0, 0, 0, 7496 0 7497 }, 7498 7499 { 7500 MUT3_SILLY_VOI, 7501 "Your voice is a silly squeak (-4 CHR).", 7502 "Your voice turns into a ridiculous squeak!", 7503 "Your voice returns to normal.", 7504 "(nothing)", 7505 0, 0, 0, 0, 7506 0 7507 }, 7508 7509 { 7510 MUT3_BLANK_FAC, 7511 "Your face is featureless (-1 CHR).", 7512 "Your face becomes completely featureless!", 7513 "Your facial features return.", 7514 "(nothing)", 7515 0, 0, 0, 0, 7516 0 7517 }, 7518 7519 { 7520 MUT3_ILL_NORM, 7521 "Your appearance is masked with illusion.", 7522 "You start projecting a reassuring image.", 7523 "You stop projecting a reassuring image.", 7524 "(nothing)", 7525 0, 0, 0, 0, 7526 0 7527 }, 7528 7529 { 7530 MUT3_XTRA_EYES, 7531 "You have an extra pair of eyes (+3 sensing, -1 CHR).", 7532 "You grow an extra pair of eyes!", 7533 "Your extra eyes vanish!", 7534 "(nothing)", 7535 0, 0, 0, 0, 7536 0 7537 }, 7538 7539 { 7540 MUT3_MAGIC_RES, 7541 "You are resistant to magic.", 7542 "You become resistant to magic.", 7543 "You become susceptible to magic again.", 7544 "(nothing)", 7545 0, 0, 0, 0, 7546 0 7547 }, 7548 7549 { 7550 MUT3_XTRA_NOIS, 7551 "You make a lot of strange noise (-3 stealth).", 7552 "You start making strange noise!", 7553 "You stop making strange noise!", 7554 "(nothing)", 7555 0, 0, 0, 0, 7556 0 7557 }, 7558 7559 { 7560 MUT3_INFRAVIS, 7561 "You have remarkable infravision (+3).", 7562 "Your infravision is improved.", 7563 "Your infravision is degraded.", 7564 "(nothing)", 7565 0, 0, 0, 0, 7566 0 7567 }, 7568 7569 { 7570 MUT3_XTRA_LEGS, 7571 "You have an extra pair of legs (+3 speed, -1 DEX).", 7572 "You grow an extra pair of legs!", 7573 "Your extra legs disappear!", 7574 "(nothing)", 7575 0, 0, 0, 0, 7576 0 7577 }, 7578 7579 { 7580 MUT3_SHORT_LEG, 7581 "Your legs are short stubs (+1 CON, -3 speed).", 7582 "Your legs turn into short stubs!", 7583 "Your legs lengthen to normal.", 7584 "(nothing)", 7585 0, 0, 0, 0, 7586 0 7587 }, 7588 7589 { 7590 MUT3_ELEC_TOUC, 7591 "Electricity is running through your veins (-1 CON).", 7592 "Electricity starts running through you!", 7593 "Electricity stops running through you.", 7594 "(nothing)", 7595 0, 0, 0, 0, 7596 0 7597 }, 7598 7599 { 7600 MUT3_FIRE_BODY, 7601 "Your body is enveloped in flames (-1 DEX).", 7602 "Your body is enveloped in flames!", 7603 "Your body is no longer enveloped in flames.", 7604 "(nothing)", 7605 0, 0, 0, 0, 7606 0 7607 }, 7608 7609 { 7610 MUT3_WART_SKIN, 7611 "Your skin is covered with warts (-2 CHR, +5 AC).", 7612 "Disgusting warts appear everywhere on you!", 7613 "Your warts disappear!", 7614 "(nothing)", 7615 0, 0, 0, 0, 7616 0 7617 }, 7618 7619 { 7620 MUT3_SCALES, 7621 "Your skin has turned into scales (-1 CHR, +10 AC).", 7622 "Your skin turns into black scales!", 7623 "Your scales vanish!", 7624 "(nothing)", 7625 0, 0, 0, 0, 7626 0 7627 }, 7628 7629 { 7630 MUT3_IRON_SKIN, 7631 "Your skin is made of steel (-3 DEX, +25 AC).", 7632 "Your skin turns to steel!", 7633 "Your skin reverts to flesh!", 7634 "(nothing)", 7635 0, 0, 0, 0, 7636 0 7637 }, 7638 7639 { 7640 MUT3_WINGS, 7641 "You have wings (+3 CHR, -1 CON).", 7642 "You grow a pair of wings.", 7643 "Your wings fall off.", 7644 "(nothing)", 7645 0, 0, 0, 0, 7646 0 7647 }, 7648 7649 { 7650 MUT3_FEARLESS, 7651 "You are completely fearless.", 7652 "You become completely fearless.", 7653 "You begin to feel fear again.", 7654 "(nothing)", 7655 0, 0, 0, 0, 7656 0 7657 }, 7658 7659 { 7660 MUT3_REGEN, 7661 "You are regenerating.", 7662 "You start regenerating.", 7663 "You stop regenerating.", 7664 "(nothing)", 7665 0, 0, 0, 0, 7666 0 7667 }, 7668 7669 { 7670 MUT3_ESP, 7671 "You are telepathic (-1 CON).", 7672 "You develop a telepathic ability!", 7673 "You lose your telepathic ability!", 7674 "(nothing)", 7675 0, 0, 0, 0, 7676 0 7677 }, 7678 7679 { 7680 MUT3_LIMBER, 7681 "Your body is very limber (+3 DEX, -1 STR).", 7682 "Your muscles become limber.", 7683 "Your muscles stiffen.", 7684 "(nothing)", 7685 0, 0, 0, 0, 7686 0 7687 }, 7688 7689 { 7690 MUT3_ARTHRITIS, 7691 "Your joints ache constantly (-3 DEX).", 7692 "Your joints suddenly hurt.", 7693 "Your joints stop hurting.", 7694 "(nothing)", 7695 0, 0, 0, 0, 7696 0 7697 }, 7698 7699 { 7700 MUT3_BAD_LUCK, 7701 "There is a black aura surrounding you.", 7702 "There is a malignant black aura surrounding you...", 7703 "Your black aura swirls and fades.", 7704 "(nothing)", 7705 0, 0, 0, 0, 7706 0 7707 }, 7708 7709 { 7710 MUT3_VULN_ELEM, 7711 "You are susceptible to damage from the elements.", 7712 "You feel strangely exposed.", 7713 "You feel less exposed.", 7714 "(nothing)", 7715 0, 0, 0, 0, 7716 0 7717 }, 7718 7719 { 7720 MUT3_MOTION, 7721 "Your movements are precise and forceful (+1 stealth).", 7722 "You move with new assurance.", 7723 "You move with less assurance.", 7724 "(nothing)", 7725 0, 0, 0, 0, 7726 0 7727 }, 7728 7729 { 7730 MUT3_GOOD_LUCK, 7731 "There is a white aura surrounding you.", 7732 "There is a benevolent white aura surrounding you...", 7733 "Your white aura shimmers and fades.", 7734 "(nothing)", 7735 0, 0, 0, 0, 7736 0 7737 } 7738 }; 7739 7740 7741 /* 7742 * The racial powers: 7743 * 7744 * Actual mutation, 7745 * Description of mutation 7746 * Text on gaining mutation 7747 * Text on losing mutation 7748 * Short text (for choosing activatable mutations) 7749 * level, cost, stat, difficulty (each for activatable mutations only) 7750 * chance (random mutations only) 7751 */ 7752 const mutation_type race_powers[MAX_RACE_POWERS] = 7753 { 7754 { 7755 RACE_DWARF, 7756 "You can find traps, doors and stairs.", 7757 "(nothing)", 7758 "(nothing)", 7759 "Detect doors+traps", 7760 5, 5, A_WIS, 12, 7761 0 7762 }, 7763 7764 { 7765 RACE_NIBELUNG, 7766 "You can find traps, doors and stairs.", 7767 "(nothing)", 7768 "(nothing)", 7769 "Detect doors+traps", 7770 10, 5, A_WIS, 10, 7771 0 7772 }, 7773 7774 { 7775 RACE_HOBBIT, 7776 "You can forage in the dungeon.", 7777 "(nothing)", 7778 "(nothing)", 7779 "Create food", 7780 15, 10, A_INT, 10, 7781 0 7782 }, 7783 7784 { 7785 RACE_GNOME, 7786 "You can move youself accross the dungeon.", 7787 "(nothing)", 7788 "(nothing)", 7789 "Telport (range 10 + lvl)", 7790 5, 10, A_INT, 12, 7791 0 7792 }, 7793 7794 { 7795 RACE_HALF_ORC, 7796 "You can conquer your fears.", 7797 "(nothing)", 7798 "(nothing)", 7799 "Remove fear", 7800 3, 5, A_WIS, 8, 7801 0 7802 }, 7803 7804 { 7805 RACE_HALF_TROLL, 7806 "You can drive yourself into a berserk frenzy.", 7807 "(nothing)", 7808 "(nothing)", 7809 "Berserk", 7810 10, 12, A_WIS, 9, 7811 0 7812 }, 7813 7814 { 7815 RACE_BARBARIAN, 7816 "You can drive yourself into a berserk frenzy.", 7817 "(nothing)", 7818 "(nothing)", 7819 "Berserk", 7820 8, 10, A_WIS, 9, 7821 0 7822 }, 7823 7824 { 7825 RACE_AMBERITE, 7826 "You can cross into other shadows.", 7827 "(nothing)", 7828 "(nothing)", 7829 "Shadow shifting", 7830 30, 50, A_INT, 50, 7831 0 7832 }, 7833 7834 { 7835 RACE_AMBERITE, 7836 "You can mentally walk the pattern.", 7837 "(nothing)", 7838 "(nothing)", 7839 "Pattern mindwalking", 7840 40, 75, A_WIS, 50, 7841 0 7842 }, 7843 7844 { 7845 RACE_HALF_OGRE, 7846 "You can set traps for your enemies.", 7847 "(nothing)", 7848 "(nothing)", 7849 "Explosive rune", 7850 25, 35, A_INT, 15, 7851 0 7852 }, 7853 7854 { 7855 RACE_HALF_GIANT, 7856 "You can reduce the dungeon to rubble.", 7857 "(nothing)", 7858 "(nothing)", 7859 "Stone to mud", 7860 20, 10, A_STR, 12, 7861 0 7862 }, 7863 7864 { 7865 RACE_HALF_TITAN, 7866 "You can learn about the dungeon's inhabitants.", 7867 "(nothing)", 7868 "(nothing)", 7869 "Probing", 7870 35, 20, A_STR, 12, 7871 0 7872 }, 7873 7874 { 7875 RACE_CYCLOPS, 7876 "You can throw boulders with great force.", 7877 "(nothing)", 7878 "(nothing)", 7879 "Throw Boulder (3*lvl)/2", 7880 20, 15, A_STR, 12, 7881 0 7882 }, 7883 7884 { 7885 RACE_YEEK, 7886 "You can make a terrifying scream.", 7887 "(nothing)", 7888 "(nothing)", 7889 "Scare monsters", 7890 15, 15, A_WIS, 10, 7891 0 7892 }, 7893 7894 { 7895 RACE_SPECTRE, 7896 "You can wail to terrify your enemies.", 7897 "(nothing)", 7898 "(nothing)", 7899 "Scare monsters", 7900 4, 6, A_INT, 3, 7901 0 7902 }, 7903 7904 { 7905 RACE_KLACKON, 7906 "You can spit acid.", 7907 "(nothing)", 7908 "(nothing)", 7909 "Spit acid (dam lvl)", 7910 9, 9, A_DEX, 14, 7911 0 7912 }, 7913 7914 { 7915 RACE_KOBOLD, 7916 "You can throw poisoned darts.", 7917 "(nothing)", 7918 "(nothing)", 7919 "Poison dart (dam lvl)", 7920 12, 8, A_DEX, 14, 7921 0 7922 }, 7923 7924 { 7925 RACE_DARK_ELF, 7926 "You can fire magic missiles.", 7927 "(nothing)", 7928 "(nothing)", 7929 "Magic missile", 7930 2, 2, A_INT, 9, 7931 0 7932 }, 7933 7934 { 7935 RACE_DRACONIAN, 7936 "You can breathe like a dragon.", 7937 "(nothing)", 7938 "(nothing)", 7939 "Dragon breath", 7940 15, 25, A_CON, 12, 7941 0 7942 }, 7943 7944 { 7945 RACE_MIND_FLAYER, 7946 "You can blast your enemies with psionic energy.", 7947 "(nothing)", 7948 "(nothing)", 7949 "Mind blast (dam lvl)", 7950 15, 12, A_INT, 14, 7951 0 7952 }, 7953 7954 { 7955 RACE_IMP, 7956 "You can cast fire bolts/balls.", 7957 "(nothing)", 7958 "(nothing)", 7959 "Fire bolt/ball (dam lvl)", 7960 9, 15, A_WIS, 15, 7961 0 7962 }, 7963 7964 { 7965 RACE_GOLEM, 7966 "You can turn your skin to stone.", 7967 "(nothing)", 7968 "(nothing)", 7969 "Stone skin (dur 1d20+30)", 7970 20, 15, A_CON, 8, 7971 0 7972 }, 7973 7974 { 7975 RACE_SKELETON, 7976 "You can recover lost life force.", 7977 "(nothing)", 7978 "(nothing)", 7979 "Restore life", 7980 30, 30, A_WIS, 18, 7981 0 7982 }, 7983 7984 { 7985 RACE_ZOMBIE, 7986 "You can recover lost life force.", 7987 "(nothing)", 7988 "(nothing)", 7989 "Restore life", 7990 30, 30, A_WIS, 18, 7991 0 7992 }, 7993 7994 { 7995 RACE_VAMPIRE, 7996 "You can steal life from a foe.", 7997 "(nothing)", 7998 "(nothing)", 7999 "Drain life", 8000 5, 10, A_CON, 9, 8001 0 8002 }, 8003 8004 { 8005 RACE_SPRITE, 8006 "You can throw magic dust which induces sleep.", 8007 "(nothing)", 8008 "(nothing)", 8009 "Sleeping dust", 8010 12, 12, A_INT, 15, 8011 0 8012 }, 8013 8014 { 8015 RACE_GHOUL, 8016 "You can eat corpses and skeletons to gain nutrition.", 8017 "(nothing)", 8018 "(nothing)", 8019 "Eat corpse/skeleton", 8020 1, 0, A_CON, 0, 8021 0 8022 }, 8023 8024 { 8025 RACE_GHOUL, 8026 "You can sense living creatures.", 8027 "(nothing)", 8028 "(nothing)", 8029 "Sense living", 8030 30, 10, A_WIS, 12, 8031 0 8032 } 8033 }; 8034 8035