Skip to content

Instantly share code, notes, and snippets.

@xackery

xackery/exp.cpp Secret

Created July 18, 2017 06:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xackery/a7ba2803a416eda5885eda7e37596ae1 to your computer and use it in GitHub Desktop.
Save xackery/a7ba2803a416eda5885eda7e37596ae1 to your computer and use it in GitHub Desktop.
void Client::UpdateSkillsAndSpells() {
//Called on level up, this auto grants skills and spells
void Client::UpdateSkillsAndSpells() {
uint16 book_slot, curspell;
uint16 abilityCount = 0;
uint16 spellCount = 0;
//Scribe New Spells and Disciplines
for (curspell = 0, book_slot = this->GetNextAvailableSpellBookSlot(), spellCount = 0; curspell < SPDAT_RECORDS && book_slot < MAX_PP_SPELLBOOK; curspell++, book_slot = this->GetNextAvailableSpellBookSlot(book_slot))
{
if (
spells[curspell].classes[WARRIOR] != 0 && // check if spell exists
spells[curspell].classes[this->GetPP().class_ - 1] <= GetLevel() && //maximum level
spells[curspell].classes[this->GetPP().class_ - 1] >= 1 && //minimum level
spells[curspell].skill != 52
) {
//Whitelisted spells
//for (i = 0; i < document.querySelectorAll("td > a[href*='spell=']").length; i++) { console.log(document.querySelectorAll("td > a[href*='spell=']")[i].attributes[0].value); }
if (this->GetClass() == BARD && curspell != 744 && curspell != 3567 && curspell != 743 && curspell != 1748 && curspell != 4210 && curspell != 707 && curspell != 730 && curspell != 703 && curspell != 1764 && curspell != 3566 && curspell != 1747 && curspell != 742 && curspell != 704 && curspell != 3681 && curspell != 3682 && curspell != 7 && curspell != 2609 && curspell != 1759 && curspell != 1448 && curspell != 723 && curspell != 1287 && curspell != 1763 && curspell != 1765 && curspell != 2608 && curspell != 2607 && curspell != 714 && curspell != 709 && curspell != 711 && curspell != 710 && curspell != 745 && curspell != 708 && curspell != 2604 && curspell != 1760 && curspell != 716 && curspell != 713 && curspell != 715 && curspell != 712 && curspell != 1452 && curspell != 2610 && curspell != 1762 && curspell != 1760 && curspell != 1757 && curspell != 2606 && curspell != 747 && curspell != 1449 && curspell != 749 && curspell != 702 && curspell != 740 && curspell != 701 && curspell != 734 && curspell != 700 && curspell != 719 && curspell != 1749 && curspell != 718 && curspell != 748 && curspell != 2603 && curspell != 729 && curspell != 2602 && curspell != 737 && curspell != 2601 && curspell != 4586 && curspell != 4587 && curspell != 4585 && curspell != 1750 && curspell != 2605 && curspell != 717 && curspell != 1752 && curspell != 1450 && curspell != 1755 && curspell != 739 && curspell != 4084 && curspell != 4086 && curspell != 4083 && curspell != 4085 && curspell != 721 && curspell != 735 && curspell != 728 && curspell != 750 && curspell != 725 && curspell != 726 && curspell != 727 && curspell != 1197 && curspell != 1100 && curspell != 1753 && curspell != 1754 && curspell != 868 && curspell != 741 && curspell != 724 && curspell != 1756 && curspell != 706 && curspell != 2936 && curspell != 1761 && curspell != 736 && curspell != 1451 && curspell != 1758 && curspell != 1751 && curspell != 746 && curspell != 738 && curspell != 705 && curspell != 1758 && curspell != 1751 && curspell != 738 && curspell != 720) {
continue;
}
else if (this->GetClass() == CLERIC && curspell != 11 && curspell != 14 && curspell != 200 && curspell != 201 && curspell != 202 && curspell != 203 && curspell != 205 && curspell != 207 && curspell != 208 && curspell != 209 && curspell != 210 && curspell != 215 && curspell != 216 && curspell != 211 && curspell != 212 && curspell != 17 && curspell != 213 && curspell != 218 && curspell != 36 && curspell != 501 && curspell != 560 && curspell != 227 && curspell != 229 && curspell != 2501 && curspell != 219 && curspell != 223 && curspell != 230 && curspell != 224 && curspell != 4056 && curspell != 50 && curspell != 221 && curspell != 231 && curspell != 12 && curspell != 35 && curspell != 226 && curspell != 235 && curspell != 485 && curspell != 2168 && curspell != 232 && curspell != 234 && curspell != 225 && curspell != 233 && curspell != 48 && curspell != 16 && curspell != 3575 && curspell != 368 && curspell != 47 && curspell != 123 && curspell != 228 && curspell != 43 && curspell != 248 && curspell != 89 && curspell != 2169 && curspell != 2502 && curspell != 413 && curspell != 15 && curspell != 37 && curspell != 4088 && curspell != 126 && curspell != 128 && curspell != 486 && curspell != 2170 && curspell != 244 && curspell != 95 && curspell != 117 && curspell != 4057 && curspell != 18 && curspell != 2503 && curspell != 414 && curspell != 59 && curspell != 131 && curspell != 391 && curspell != 663 && curspell != 52 && curspell != 96 && curspell != 130 && curspell != 2175 && curspell != 329 && curspell != 135 && curspell != 62 && curspell != 9 && curspell != 124 && curspell != 487 && curspell != 504 && curspell != 2171 && curspell != 312 && curspell != 480 && curspell != 53 && curspell != 60 && curspell != 662 && curspell != 134 && curspell != 1445 && curspell != 405 && curspell != 19 && curspell != 3576 && curspell != 127 && curspell != 45 && curspell != 63 && curspell != 115 && curspell != 1443 && curspell != 388 && curspell != 2946 && curspell != 49 && curspell != 61 && curspell != 13 && curspell != 2504 && curspell != 415 && curspell != 3692 && curspell != 4089 && curspell != 675 && curspell != 44 && curspell != 488 && curspell != 2172 && curspell != 314 && curspell != 118 && curspell != 64 && curspell != 1444 && curspell != 406 && curspell != 672 && curspell != 136 && curspell != 20 && curspell != 4053 && curspell != 125 && curspell != 132 && curspell != 392 && curspell != 664 && curspell != 1411 && curspell != 97 && curspell != 2505 && curspell != 416 && curspell != 6902 && curspell != 1518 && curspell != 1532 && curspell != 1547 && curspell != 1726 && curspell != 3693 && curspell != 1520 && curspell != 1533 && curspell != 1536 && curspell != 1542 && curspell != 2506 && curspell != 1519 && curspell != 1526 && curspell != 1534 && curspell != 1535 && curspell != 1543 && curspell != 1721 && curspell != 2507 && curspell != 2880 && curspell != 4090 && curspell != 1446 && curspell != 1528 && curspell != 1539 && curspell != 1541 && curspell != 116 && curspell != 133 && curspell != 1524 && curspell != 1548 && curspell != 2181 && curspell != 2326 && curspell != 2508 && curspell != 6989 && curspell != 1521 && curspell != 1527 && curspell != 1537 && curspell != 1540 && curspell != 6903 && curspell != 1525 && curspell != 1544 && curspell != 1774 && curspell != 2182 && curspell != 2509 && curspell != 3135 && curspell != 1522 && curspell != 1545 && curspell != 2462 && curspell != 6977 && curspell != 1447 && curspell != 1523 && curspell != 1530 && curspell != 1546 && curspell != 2109 && curspell != 2122 && curspell != 2180 && curspell != 2510 && curspell != 2893 && curspell != 3136) {
continue;
}
else if (this->GetClass() == DRUID && curspell != 200 && curspell != 237 && curspell != 238 && curspell != 239 && curspell != 240 && curspell != 241 && curspell != 242 && curspell != 2591 && curspell != 93 && curspell != 248 && curspell != 249 && curspell != 253 && curspell != 92 && curspell != 213 && curspell != 247 && curspell != 252 && curspell != 203 && curspell != 250 && curspell != 36 && curspell != 254 && curspell != 258 && curspell != 86 && curspell != 515 && curspell != 255 && curspell != 4056 && curspell != 91 && curspell != 17 && curspell != 257 && curspell != 211 && curspell != 264 && curspell != 278 && curspell != 234 && curspell != 50 && curspell != 262 && curspell != 35 && curspell != 245 && curspell != 663 && curspell != 80 && curspell != 261 && curspell != 2021 && curspell != 513 && curspell != 514 && curspell != 530 && curspell != 419 && curspell != 520 && curspell != 532 && curspell != 3583 && curspell != 516 && curspell != 531 && curspell != 533 && curspell != 139 && curspell != 2183 && curspell != 34 && curspell != 48 && curspell != 12 && curspell != 3794 && curspell != 425 && curspell != 535 && curspell != 220 && curspell != 405 && curspell != 537 && curspell != 76 && curspell != 143 && curspell != 27 && curspell != 534 && curspell != 536 && curspell != 115 && curspell != 260 && curspell != 4057 && curspell != 1326 && curspell != 99 && curspell != 538 && curspell != 550 && curspell != 552 && curspell != 553 && curspell != 78 && curspell != 2020 && curspell != 424 && curspell != 512 && curspell != 607 && curspell != 517 && curspell != 551 && curspell != 217 && curspell != 3792 && curspell != 753 && curspell != 95 && curspell != 96 && curspell != 15 && curspell != 3601 && curspell != 1439 && curspell != 4054 && curspell != 426 && curspell != 554 && curspell != 1433 && curspell != 406 && curspell != 418 && curspell != 557 && curspell != 1434 && curspell != 259 && curspell != 555 && curspell != 556 && curspell != 608 && curspell != 141 && curspell != 1517 && curspell != 2029 && curspell != 664 && curspell != 169 && curspell != 4055 && curspell != 428 && curspell != 2030 && curspell != 3580 && curspell != 490 && curspell != 558 && curspell != 1437 && curspell != 1737 && curspell != 28 && curspell != 518 && curspell != 1438 && curspell != 2946 && curspell != 57 && curspell != 609 && curspell != 1736 && curspell != 2031 && curspell != 1398 && curspell != 427 && curspell != 665 && curspell != 1285 && curspell != 140 && curspell != 610 && curspell != 1436 && curspell != 1440 && curspell != 116 && curspell != 142 && curspell != 1740 && curspell != 49 && curspell != 3834 && curspell != 62 && curspell != 63 && curspell != 3579 && curspell != 77 && curspell != 420 && curspell != 611 && curspell != 29 && curspell != 519 && curspell != 1435 && curspell != 1542 && curspell != 433 && curspell != 671 && curspell != 4104 && curspell != 2881 && curspell != 2894 && curspell != 5571 && curspell != 1550 && curspell != 9 && curspell != 1553 && curspell != 1566 && curspell != 1600 && curspell != 2516 && curspell != 3693 && curspell != 4058 && curspell != 1554 && curspell != 1555 && curspell != 1601 && curspell != 1562 && curspell != 1602 && curspell != 1603 && curspell != 2517 && curspell != 2880 && curspell != 1290 && curspell != 1475 && curspell != 1526 && curspell != 1529 && curspell != 1556 && curspell != 1557 && curspell != 1605 && curspell != 4105 && curspell != 1558 && curspell != 1604 && curspell != 1719 && curspell != 1725 && curspell != 2518 && curspell != 1567 && curspell != 1767 && curspell != 6998 && curspell != 1606 && curspell != 2179 && curspell != 1564 && curspell != 1607 && curspell != 4589 && curspell != 1291 && curspell != 1531 && curspell != 1563 && curspell != 1565 && curspell != 1608 && curspell != 2125 && curspell != 2126 && curspell != 2877 && curspell != 2887) {
continue;
}
else if (this->GetClass() == ENCHANTER && curspell != 208 && curspell != 285 && curspell != 286 && curspell != 288 && curspell != 289 && curspell != 331 && curspell != 40 && curspell != 41 && curspell != 292 && curspell != 676 && curspell != 681 && curspell != 229 && curspell != 290 && curspell != 293 && curspell != 291 && curspell != 294 && curspell != 36 && curspell != 42 && curspell != 297 && curspell != 299 && curspell != 230 && curspell != 246 && curspell != 501 && curspell != 80 && curspell != 295 && curspell != 296 && curspell != 48 && curspell != 667 && curspell != 298 && curspell != 500 && curspell != 302 && curspell != 303 && curspell != 645 && curspell != 682 && curspell != 276 && curspell != 301 && curspell != 650 && curspell != 2561 && curspell != 300 && curspell != 390 && curspell != 521 && curspell != 35 && curspell != 86 && curspell != 187 && curspell != 481 && curspell != 235 && curspell != 683 && curspell != 697 && curspell != 261 && curspell != 39 && curspell != 281 && curspell != 304 && curspell != 306 && curspell != 307 && curspell != 309 && curspell != 228 && curspell != 2562 && curspell != 651 && curspell != 684 && curspell != 47 && curspell != 489 && curspell != 677 && curspell != 179 && curspell != 21 && curspell != 3583 && curspell != 173 && curspell != 177 && curspell != 84 && curspell != 170 && curspell != 350 && curspell != 24 && curspell != 482 && curspell != 685 && curspell != 182 && curspell != 185 && curspell != 65 && curspell != 131 && curspell != 162 && curspell != 191 && curspell != 174 && curspell != 2563 && curspell != 408 && curspell != 450 && curspell != 46 && curspell != 652 && curspell != 10 && curspell != 49 && curspell != 619 && curspell != 4073 && curspell != 686 && curspell != 188 && curspell != 3585 && curspell != 74 && curspell != 646 && curspell != 66 && curspell != 687 && curspell != 407 && curspell != 71 && curspell != 483 && curspell != 1408 && curspell != 180 && curspell != 127 && curspell != 175 && curspell != 45 && curspell != 192 && curspell != 2564 && curspell != 73 && curspell != 183 && curspell != 64 && curspell != 653 && curspell != 688 && curspell != 1407 && curspell != 648 && curspell != 132 && curspell != 171 && curspell != 1474 && curspell != 163 && curspell != 484 && curspell != 67 && curspell != 186 && curspell != 33 && curspell != 678 && curspell != 689 && curspell != 1694 && curspell != 181 && curspell != 25 && curspell != 31003 && curspell != 1285 && curspell != 178 && curspell != 4099 && curspell != 673 && curspell != 3696 && curspell != 4074 && curspell != 133 && curspell != 194 && curspell != 184 && curspell != 193 && curspell != 647 && curspell != 172 && curspell != 176 && curspell != 190 && curspell != 195 && curspell != 654 && curspell != 690 && curspell != 72 && curspell != 1406 && curspell != 1686 && curspell != 1687 && curspell != 1541 && curspell != 2881 && curspell != 2894 && curspell != 1689 && curspell != 1690 && curspell != 1693 && curspell != 1696 && curspell != 2566 && curspell != 3697 && curspell != 4077 && curspell != 1592 && curspell != 1697 && curspell != 1705 && curspell != 1708 && curspell != 1610 && curspell != 1691 && curspell != 1698 && curspell != 2567 && curspell != 1409 && curspell != 1699 && curspell != 1714 && curspell != 1715 && curspell != 1723 && curspell != 4075 && curspell != 1527 && curspell != 1695 && curspell != 1700 && curspell != 1701 && curspell != 1729 && curspell != 2568 && curspell != 1688 && curspell != 1702 && curspell != 1711 && curspell != 1712 && curspell != 6983 && curspell != 1633 && curspell != 1709 && curspell != 1713 && curspell != 2016 && curspell != 2569 && curspell != 4100 && curspell != 1692 && curspell != 1703 && curspell != 1410 && curspell != 1704 && curspell != 1707 && curspell != 1710 && curspell != 2120 && curspell != 2121 && curspell != 2570 && curspell != 2895) {
continue;
}
else if (this->GetClass() == MAGICIAN && curspell != 211 && curspell != 288 && curspell != 310 && curspell != 311 && curspell != 313 && curspell != 331 && curspell != 50 && curspell != 93 && curspell != 2230 && curspell != 315 && curspell != 318 && curspell != 232 && curspell != 316 && curspell != 321 && curspell != 317 && curspell != 36 && curspell != 94 && curspell != 246 && curspell != 322 && curspell != 58 && curspell != 323 && curspell != 325 && curspell !=1504 && curspell != 324 && curspell != 332 && curspell !=2233 && curspell !=42 && curspell != 613 && curspell != 248 && curspell != 319 && curspell !=2242 && curspell != 330 && curspell !=48 && curspell != 2531 && curspell != 327 && curspell !=328 && curspell != 35 && curspell !=333 && curspell != 614 && curspell != 100 && curspell != 320 && curspell != 334 && curspell !=2239 && curspell != 309 && curspell !=80 && curspell != 2532 && curspell !=4 && curspell != 83 && curspell != 1505 && curspell !=663 && curspell != 68 && curspell != 108 && curspell != 3583 && curspell != 411 && curspell !=101 && curspell != 102 && curspell != 2236 && curspell != 4027 && curspell !=2231 && curspell !=55 && curspell != 110 && curspell != 189 && curspell != 56 && curspell !=113 && curspell != 615 && curspell != 65 && curspell != 115 && curspell != 2533 && curspell !=81 && curspell != 409 && curspell !=617 && curspell != 1286 && curspell != 2234 && curspell !=479 && curspell !=664 && curspell != 103 && curspell != 106 && curspell != 2243 && curspell != 618 && curspell != 120 && curspell != 1401 && curspell !=49 && curspell !=66 && curspell != 616 && curspell !=69 && curspell != 3584 && curspell !=104 && curspell != 121 && curspell != 1285 && curspell !=105 && curspell != 2240 && curspell !=2534 && curspell !=680 && curspell != 122 && curspell !=109 && curspell != 114 && curspell !=82 && curspell != 2237 && curspell != 4082 && curspell != 4099 && curspell !=1403 && curspell !=67 && curspell != 111 && curspell != 3699 && curspell != 4028 && curspell !=412 && curspell != 4079 && curspell !=107 && curspell !=70 && curspell != 116 && curspell != 2535 && curspell !=410 && curspell != 2232 && curspell != 112 && curspell != 1659 && curspell !=1680 && curspell != 2235 && curspell != 1660 && curspell != 1666 && curspell !=1681 && curspell != 2244 && curspell != 2536 && curspell != 3700 && curspell != 1526 && curspell != 1668 && curspell !=1682 && curspell != 2241 && curspell != 1610 && curspell != 1661 && curspell !=1683 && curspell != 2238 && curspell != 2537 && curspell != 2879 && curspell != 3582 && curspell != 4011 && curspell != 4029 && curspell != 5133 && curspell != 1405 && curspell != 1472 && curspell != 1662 && curspell != 1684 && curspell != 1770 && curspell != 8933 && curspell != 1529 && curspell != 1667 && curspell != 1685 && curspell != 1663 && curspell !=1720 && curspell != 1577 && curspell != 1670 && curspell !=2539 && curspell != 4080 && curspell != 4100 && curspell != 1284 && curspell != 1664 && curspell != 1665 && curspell != 1394 && curspell !=1531 && curspell != 1669 && curspell !=1772 && curspell != 2118 && curspell != 2119 && curspell != 2540 && curspell != 2896 && curspell != 4078) {
continue;
}
else if (this->GetClass() == MONK && curspell != 5225 && curspell != 4721 && curspell != 4585 && curspell != 4614 && curspell != 4587 && curspell != 4683 && curspell != 4510 && curspell != 4511 && curspell != 4509 && curspell != 4502 && curspell != 4512 && curspell != 4513 && curspell != 4684 && curspell != 4507 && curspell != 4508) {
continue;
}
else if (this->GetClass() == NECROMANCER && curspell != 221 && curspell != 235 && curspell != 288 && curspell != 331 && curspell != 338 && curspell != 340 && curspell != 341 && curspell != 342 && curspell != 343 && curspell != 229 && curspell != 347 && curspell != 225 && curspell != 346 && curspell != 502 && curspell != 344 && curspell != 348 && curspell != 36 && curspell != 491 && curspell != 352 && curspell != 354 && curspell != 218 && curspell != 357 && curspell != 641 && curspell != 353 && curspell != 359 && curspell != 522 && curspell != 246 && curspell != 351 && curspell != 358 && curspell != 1509 && curspell != 361 && curspell != 363 && curspell != 1511 && curspell != 209 && curspell != 360 && curspell != 226 && curspell != 2541 && curspell != 355 && curspell != 2213 && curspell != 35 && curspell != 362 && curspell != 445 && curspell != 213 && curspell != 367 && curspell != 236 && curspell != 364 && curspell != 365 && curspell != 371 && curspell != 48 && curspell != 309 && curspell != 366 && curspell != 368 && curspell != 369 && curspell != 492 && curspell != 1510 && curspell != 2542 && curspell != 196 && curspell != 642 && curspell != 698 && curspell != 233 && curspell != 3583 && curspell != 370 && curspell != 199 && curspell != 413 && curspell != 440 && curspell != 446 && curspell != 1512 && curspell != 1514 && curspell != 204 && curspell != 478 && curspell != 387 && curspell != 549 && curspell != 90 && curspell != 448 && curspell != 449 && curspell != 493 && curspell != 61 && curspell != 65 && curspell != 59 && curspell != 699 && curspell != 444 && curspell != 524 && curspell != 2543 && curspell != 414 && curspell != 452 && curspell != 117 && curspell != 451 && curspell != 441 && curspell != 454 && curspell != 127 && curspell != 197 && curspell != 63 && curspell != 643 && curspell != 1415 && curspell != 393 && curspell != 455 && curspell != 494 && curspell != 66 && curspell != 230 && curspell != 435 && curspell != 3 && curspell != 31 && curspell != 661 && curspell != 1412 && curspell != 415 && curspell != 96 && curspell != 1513 && curspell != 49 && curspell != 2544 && curspell != 662 && curspell != 4096 && curspell != 442 && curspell != 525 && curspell != 1285 && curspell != 1508 && curspell != 457 && curspell != 67 && curspell != 2014 && curspell != 559 && curspell != 1413 && curspell != 1515 && curspell != 394 && curspell != 4099 && curspell != 495 && curspell != 694 && curspell != 1391 && curspell != 3702 && curspell != 118 && curspell != 133 && curspell != 2545 && curspell != 198 && curspell != 453 && curspell != 6 && curspell != 443 && curspell != 447 && curspell != 644 && curspell != 3571 && curspell != 4079 && curspell != 456 && curspell != 1411 && curspell != 436 && curspell != 1532 && curspell != 1620 && curspell != 1768 && curspell != 1609 && curspell != 1630 && curspell != 1716 && curspell != 2546 && curspell != 32 && curspell != 3685 && curspell != 131 && curspell != 1526 && curspell != 1621 && curspell != 1733 && curspell != 32397 && curspell != 1610 && curspell != 1613 && curspell != 1624 && curspell != 1717 && curspell != 2547 && curspell != 3572 && curspell != 4097 && curspell != 1414 && curspell != 1614 && curspell != 1625 && curspell != 1626 && curspell != 1734 && curspell != 2015 && curspell != 1527 && curspell != 1611 && curspell != 1615 && curspell != 1622 && curspell != 1718 && curspell != 2548 && curspell != 6992 && curspell != 1528 && curspell != 1616 && curspell != 1773 && curspell != 6980 && curspell != 132 && curspell != 1612 && curspell != 1617 && curspell != 2549 && curspell != 4080 && curspell != 4100 && curspell != 1618 && curspell != 1619 && curspell != 1623 && curspell != 1393 && curspell != 1416 && curspell != 1460 && curspell != 1530 && curspell != 1629 && curspell != 1735 && curspell != 2115 && curspell != 2550 && curspell != 2885) {
continue;
}
else if (this->GetClass() == PALADIN && curspell != 202 && curspell != 5011 && curspell != 201 && curspell != 221 && curspell != 203 && curspell != 200 && curspell != 2581 && curspell != 209 && curspell != 210 && curspell != 208 && curspell != 213 && curspell != 17 && curspell != 2582 && curspell != 218 && curspell != 234 && curspell != 235 && curspell != 215 && curspell != 230 && curspell != 4056 && curspell != 227 && curspell != 2168 && curspell != 501 && curspell != 2583 && curspell != 12 && curspell != 216 && curspell != 228 && curspell != 2169 && curspell != 233 && curspell != 2170 && curspell != 48 && curspell != 4057 && curspell != 95 && curspell != 15 && curspell != 1453 && curspell != 226 && curspell != 43 && curspell != 3577 && curspell != 391 && curspell != 123 && curspell != 47 && curspell != 2585 && curspell != 3683 && curspell != 2946 && curspell != 693 && curspell != 117 && curspell != 2586 && curspell != 207 && curspell != 2171 && curspell != 45 && curspell != 1454 && curspell != 63 && curspell != 4585 && curspell != 124 && curspell != 3684 && curspell != 504 && curspell != 3975 && curspell != 131 && curspell != 2587 && curspell != 4587 && curspell != 662 && curspell != 1455 && curspell != 1743 && curspell != 2172 && curspell != 4500 && curspell != 64 && curspell != 2588 && curspell != 44 && curspell != 7004 && curspell != 96 && curspell != 9 && curspell != 2589 && curspell != 49 && curspell != 1283 && curspell != 392 && curspell != 4590 && curspell != 1534 && curspell != 2590 && curspell != 2880 && curspell != 4518) {
continue;
}
else if (this->GetClass() == RANGER && curspell != 5011 && curspell != 51 && curspell != 239 && curspell != 240 && curspell != 2591 && curspell != 242 && curspell != 26 && curspell != 200 && curspell != 224 && curspell != 237 && curspell != 2592 && curspell != 269 && curspell != 203 && curspell != 515 && curspell != 247 && curspell != 92 && curspell != 249 && curspell != 252 && curspell != 241 && curspell != 248 && curspell != 254 && curspell != 500 && curspell != 225 && curspell != 91 && curspell != 86 && curspell != 17 && curspell != 263 && curspell != 213 && curspell != 250 && curspell != 256 && curspell != 264 && curspell != 268 && curspell != 655 && curspell != 278 && curspell != 2593 && curspell != 3565 && curspell != 48 && curspell != 516 && curspell != 513 && curspell != 80 && curspell != 115 && curspell != 517 && curspell != 261 && curspell != 1461 && curspell != 2594 && curspell != 419 && curspell != 12 && curspell != 421 && curspell != 3564 && curspell != 3601 && curspell != 3687 && curspell != 4054 && curspell != 518 && curspell != 129 && curspell != 78 && curspell != 76 && curspell != 60 && curspell != 34 && curspell != 2595 && curspell != 425 && curspell != 4055 && curspell != 691 && curspell != 1462 && curspell != 1741 && curspell != 40809 && curspell != 1397 && curspell != 4585 && curspell != 512 && curspell != 5571 && curspell != 2596 && curspell != 3688 && curspell != 57 && curspell != 430 && curspell != 259 && curspell != 2597 && curspell != 422 && curspell != 4587 && curspell != 1296 && curspell != 145 && curspell != 1463 && curspell != 4111 && curspell != 4506 && curspell != 61 && curspell != 2598 && curspell != 426 && curspell != 539 && curspell != 15 && curspell != 2599 && curspell != 4059 && curspell != 432 && curspell != 49 && curspell != 1740 && curspell != 423 && curspell != 1464 && curspell != 2600 && curspell != 4519 && curspell != 490 && curspell != 519) {
continue;
}
else if (this->GetClass() == ROGUE && curspell != 5225 && curspell != 4721 && curspell != 4659 && curspell != 4585 && curspell != 4587 && curspell != 4685 && curspell != 4673 && curspell != 4505 && curspell != 4515 && curspell != 4517 && curspell != 4677 && curspell != 4676) {
continue;
}
else if (this->GetClass() == SHADOWKNIGHT && curspell != 5012 && curspell != 221 && curspell != 342 && curspell != 235 && curspell != 340 && curspell != 343 && curspell != 2571 && curspell != 347 && curspell != 225 && curspell != 344 && curspell != 2213 && curspell != 229 && curspell != 354 && curspell != 2572 && curspell != 346 && curspell != 352 && curspell != 218 && curspell != 213 && curspell != 3583 && curspell != 209 && curspell != 355 && curspell != 357 && curspell != 359 && curspell != 2573 && curspell != 226 && curspell != 363 && curspell != 360 && curspell != 1289 && curspell != 522 && curspell != 236 && curspell != 4062 && curspell != 1221 && curspell != 3561 && curspell != 1457 && curspell != 3 && curspell != 61 && curspell != 367 && curspell != 48 && curspell != 2574 && curspell != 370 && curspell != 1225 && curspell != 233 && curspell != 90 && curspell != 3686 && curspell != 1222 && curspell != 127 && curspell != 452 && curspell != 414 && curspell != 478 && curspell != 1226 && curspell != 4102 && curspell != 3560 && curspell != 117 && curspell != 1458 && curspell != 199 && curspell != 4585 && curspell != 1285 && curspell != 2575 && curspell != 2576 && curspell != 448 && curspell != 1223 && curspell != 451 && curspell != 2577 && curspell != 3562 && curspell != 364 && curspell != 4063 && curspell != 4103 && curspell != 4587 && curspell != 59 && curspell != 1227 && curspell != 1376 && curspell != 1459 && curspell != 1742 && curspell != 4520 && curspell != 662 && curspell != 2578 && curspell != 393 && curspell != 6995 && curspell != 7005 && curspell != 1773 && curspell != 454 && curspell != 6986 && curspell != 2579 && curspell != 2892 && curspell != 49 && curspell != 1224 && curspell != 394 && curspell != 453 && curspell != 4590 && curspell != 1228 && curspell != 1508 && curspell != 2580 && curspell != 4504 && curspell != 661) {
continue;
}
else if (this->GetClass() == SHAMAN && curspell != 200 && curspell != 201 && curspell != 213 && curspell != 225 && curspell != 93 && curspell != 203 && curspell != 211 && curspell != 272 && curspell != 271 && curspell != 275 && curspell != 75 && curspell != 224 && curspell != 270 && curspell != 36 && curspell != 276 && curspell != 50 && curspell != 212 && curspell != 238 && curspell != 79 && curspell != 226 && curspell != 277 && curspell != 17 && curspell != 278 && curspell != 4056 && curspell != 255 && curspell != 261 && curspell != 284 && curspell != 227 && curspell != 280 && curspell != 230 && curspell != 281 && curspell != 86 && curspell != 505 && curspell != 282 && curspell != 35 && curspell != 345 && curspell != 365 && curspell != 2522 && curspell != 308 && curspell != 3583 && curspell != 526 && curspell != 580 && curspell != 110 && curspell != 148 && curspell != 12 && curspell != 228 && curspell != 48 && curspell != 511 && curspell != 640 && curspell != 220 && curspell != 424 && curspell != 437 && curspell != 96 && curspell != 144 && curspell != 4262 && curspell != 508 && curspell != 4057 && curspell != 434 && curspell != 61 && curspell != 245 && curspell != 2495 && curspell != 15 && curspell != 162 && curspell != 4054 && curspell != 326 && curspell != 63 && curspell != 31 && curspell != 111 && curspell != 260 && curspell != 131 && curspell != 509 && curspell != 1427 && curspell != 4055 && curspell != 4092 && curspell != 62 && curspell != 2524 && curspell != 384 && curspell != 438 && curspell != 155 && curspell != 435 && curspell != 2946 && curspell != 507 && curspell != 527 && curspell != 134 && curspell != 145 && curspell != 1285 && curspell != 163 && curspell != 1429 && curspell != 170 && curspell != 4093 && curspell != 64 && curspell != 3694 && curspell != 49 && curspell != 510 && curspell != 337 && curspell != 156 && curspell != 3573 && curspell != 112 && curspell != 98 && curspell != 32 && curspell != 436 && curspell != 1430 && curspell != 1570 && curspell != 6906 && curspell != 132 && curspell != 1588 && curspell != 2881 && curspell != 2894 && curspell != 9 && curspell != 1554 && curspell != 1568 && curspell != 1573 && curspell != 1819 && curspell != 2526 && curspell != 3842 && curspell != 1571 && curspell != 1592 && curspell != 1586 && curspell != 2527 && curspell != 2880 && curspell != 3574 && curspell != 4094 && curspell != 1290 && curspell != 1431 && curspell != 1526 && curspell != 1587 && curspell != 8930 && curspell != 133 && curspell != 1575 && curspell != 1590 && curspell != 171 && curspell != 2528 && curspell != 1577 && curspell != 6907 && curspell != 1582 && curspell != 1589 && curspell != 2435 && curspell != 2529 && curspell != 2886 && curspell != 1591 && curspell != 1597 && curspell != 4589 && curspell != 1576 && curspell != 1578 && curspell != 2112 && curspell != 2113 && curspell != 42 && curspell != 506 && curspell != 39 && curspell != 507 && curspell != 1430 && curspell != 1588 && curspell != 2527 && curspell != 171 && curspell != 1589) {
continue;
}
else if (this->GetClass() == WARRIOR && curspell != 5225 && curspell && curspell != 4721 && curspell != 4608 && curspell != 4585 && curspell != 4587 && curspell != 4503 && curspell != 4681 && curspell != 4672 && curspell != 4514 && curspell != 4674 && curspell != 4682 && curspell != 4501 && curspell != 4675 && curspell != 4670 && curspell != 4498) {
continue;
}
else if (this->GetClass() == WIZARD && curspell != 288 && curspell != 372 && curspell != 373 && curspell != 374 && curspell != 54 && curspell != 378 && curspell != 51 && curspell != 230 && curspell != 375 && curspell != 36 && curspell != 376 && curspell != 80 && curspell != 379 && curspell != 477 && curspell != 246 && curspell != 377 && curspell != 232 && curspell != 354 && curspell != 323 && curspell != 380 && curspell != 656 && curspell != 234 && curspell != 381 && curspell != 2551 && curspell != 383 && curspell != 48 && curspell != 529 && curspell != 35 && curspell != 382 && curspell != 85 && curspell != 236 && curspell != 385 && curspell != 309 && curspell != 386 && curspell != 657 && curspell != 38 && curspell != 42 && curspell != 500 && curspell != 679 && curspell != 131 && curspell != 22 && curspell != 2184 && curspell != 2552 && curspell != 458 && curspell != 542 && curspell != 503 && curspell != 541 && curspell != 578 && curspell != 108 && curspell != 543 && curspell != 3795 && curspell != 387 && curspell != 544 && curspell != 261 && curspell != 545 && curspell != 547 && curspell != 467 && curspell != 548 && curspell != 65 && curspell != 1325 && curspell != 461 && curspell != 462 && curspell != 464 && curspell != 2553 && curspell != 3581 && curspell != 528 && curspell != 562 && curspell != 465 && curspell != 468 && curspell != 602 && curspell != 3793 && curspell != 563 && curspell != 636 && curspell != 459 && curspell != 470 && curspell != 561 && curspell != 579 && curspell != 393 && curspell != 471 && curspell != 1419 && curspell != 463 && curspell != 1417 && curspell != 1744 && curspell != 469 && curspell != 564 && curspell != 603 && curspell != 1418 && curspell != 66 && curspell != 1516 && curspell != 2026 && curspell != 49 && curspell != 658 && curspell != 1338 && curspell != 2554 && curspell != 3833 && curspell != 460 && curspell != 566 && curspell != 1336 && curspell != 1423 && curspell != 1738 && curspell != 567 && curspell != 1337 && curspell != 1739 && curspell != 466 && curspell != 568 && curspell != 752 && curspell != 1339 && curspell != 2027 && curspell != 539 && curspell != 604 && curspell != 84 && curspell != 132 && curspell != 1420 && curspell != 2028 && curspell != 1372 && curspell != 3811 && curspell != 394 && curspell != 1371 && curspell != 23 && curspell != 660 && curspell != 109 && curspell != 1374 && curspell != 1399 && curspell != 605 && curspell != 1373 && curspell != 1425 && curspell != 659 && curspell != 73 && curspell != 1421 && curspell != 4099 && curspell != 67 && curspell != 2022 && curspell != 2555 && curspell != 733 && curspell != 2023 && curspell != 666 && curspell != 674 && curspell != 2024 && curspell != 606 && curspell != 612 && curspell != 755 && curspell != 133 && curspell != 2025 && curspell != 731 && curspell != 4067 && curspell != 732 && curspell != 1422 && curspell != 2894 && curspell != 1631 && curspell != 1634 && curspell != 1637 && curspell != 1646 && curspell != 1334 && curspell != 1609 && curspell != 1627 && curspell != 1642 && curspell != 1649 && curspell != 3706 && curspell != 1526 && curspell != 1650 && curspell != 1653 && curspell != 1610 && curspell != 1639 && curspell != 1645 && curspell != 1656 && curspell != 2557 && curspell != 3582 && curspell != 4070 && curspell != 1406 && curspell != 1632 && curspell != 1638 && curspell != 1643 && curspell != 1648 && curspell != 8932 && curspell != 1635 && curspell != 1651 && curspell != 1654 && curspell != 2558 && curspell != 1628 && curspell != 1641 && curspell != 1644 && curspell != 1720 && curspell != 4068 && curspell != 1633 && curspell != 1640 && curspell != 1647 && curspell != 1728 && curspell != 2559 && curspell != 4100 && curspell != 1636 && curspell != 1652 && curspell != 1655 && curspell != 1722 && curspell != 1310 && curspell != 1311 && curspell != 1426 && curspell != 1657 && curspell != 1658 && curspell != 1724 && curspell != 1769 && curspell != 2116 && curspell != 2117 && curspell != 2560 && curspell != 2883 && curspell != 2884) {
continue;
}
if (book_slot == -1) { //no more book slots
this->Message(13, "Unable to scribe spell %s (%u) to spellbook: no more spell book slots available.", spells[curspell].name, curspell);
break;
}
if (!IsDiscipline(curspell) && !this->HasSpellScribed(curspell)) { //isn't a discipline & we don't already have it scribed
this->ScribeSpell(curspell, book_slot);
spellCount++;
}
if (IsDiscipline(curspell)) {
//we may want to come up with a function like Client::GetNextAvailableSpellBookSlot() to help speed this up a little
for (int r = 0; r < MAX_PP_DISCIPLINES; r++) {
if (this->GetPP().disciplines.values[r] == curspell) { //Already learned
break;
}
else if (this->GetPP().disciplines.values[r] == 0) {
this->GetPP().disciplines.values[r] = curspell;
database.SaveCharacterDisc(this->CharacterID(), r, curspell);
this->SendDisciplineUpdate();
abilityCount++; //success counter
break;
} //if we get to this point, there's already a discipline in this slot, so we continue onto the next slot
}
}
}
}
//Skill logic
//if (GetSkill(EQEmu::skills::Skill1HBlunt) == 0) SetSkill(EQEmu::skills::Skill1HBlunt, 1);
if (GetSkill(EQEmu::skills::SkillDodge) == 0) {
if (
(GetClass() == WIZARD && GetLevel() >= 22) ||
(GetClass() == BARD && GetLevel() >= 10) ||
(GetClass() == CLERIC && GetLevel() >= 15) ||
(GetClass() == DRUID && GetLevel() >= 15) ||
(GetClass() == ENCHANTER && GetLevel() >= 22) ||
(GetClass() == MAGICIAN && GetLevel() >= 22) ||
(GetClass() == NECROMANCER && GetLevel() >= 22) ||
(GetClass() == PALADIN && GetLevel() >= 10) ||
(GetClass() == SHADOWKNIGHT && GetLevel() >= 10) ||
(GetClass() == RANGER && GetLevel() >= 8) ||
(GetClass() == SHAMAN && GetLevel() >= 15) ||
(GetClass() == MONK && GetLevel() >= 1) ||
(GetClass() == ROGUE && GetLevel() >= 4) ||
(GetClass() == WARRIOR && GetLevel() >= 6)
) {
SetSkill(EQEmu::skills::SkillDodge, 1);
}
}
if (GetSkill(EQEmu::skills::SkillDualWield) == 0) {
if (
(GetClass() == BARD && GetLevel() >= 17) ||
(GetClass() == RANGER && GetLevel() >= 17) ||
(GetClass() == MONK && GetLevel() >= 1) ||
(GetClass() == WARRIOR && GetLevel() >= 13) ||
(GetClass() == ROGUE && GetLevel() >= 13)
) {
SetSkill(EQEmu::skills::SkillDualWield, 1);
}
}
if (GetSkill(EQEmu::skills::SkillKick) == 0) {
if (
(GetClass() == RANGER && GetLevel() >= 5)
) {
SetSkill(EQEmu::skills::SkillKick, 1);
}
}
if (GetSkill(EQEmu::skills::SkillPickPockets) == 0) {
if (
(GetClass() == ROGUE && GetLevel() >= 1)
) {
SetSkill(EQEmu::skills::SkillPickPockets, 1);
}
}
if (GetSkill(EQEmu::skills::SkillIntimidation) == 0) {
if (
(GetClass() == BARD && GetLevel() >=16) ||
(GetClass() == MONK && GetLevel() >= 18) ||
(GetClass() == ROGUE && GetLevel() >= 22)
) {
SetSkill(EQEmu::skills::SkillIntimidation, 1);
}
}
if (GetSkill(EQEmu::skills::SkillParry) == 0) {
if (
(GetClass() == BARD && GetLevel() >= 25) ||
(GetClass() == PALADIN && GetLevel() >= 17) ||
(GetClass() == SHADOWKNIGHT && GetLevel() >= 17) ||
(GetClass() == RANGER && GetLevel() >= 18) ||
(GetClass() == WARRIOR && GetLevel() >= 10) ||
(GetClass() == ROGUE && GetLevel() >= 12)
) {
SetSkill(EQEmu::skills::SkillParry, 1);
}
}
if (GetSkill(EQEmu::skills::SkillRiposte) == 0) {
if (
(GetClass() == BARD && GetLevel() >= 30) ||
(GetClass() == WARRIOR && GetLevel() >= 25) ||
(GetClass() == ROGUE && GetLevel() >= 30) ||
(GetClass() == PALADIN && GetLevel() >= 30) ||
(GetClass() == SHADOWKNIGHT && GetLevel() >= 30) ||
(GetClass() == RANGER && GetLevel() >= 35) ||
(GetClass() == MONK && GetLevel() >= 35)
) {
SetSkill(EQEmu::skills::SkillRiposte, 1);
}
}
if (GetSkill(EQEmu::skills::SkillMeditate) == 0) {
if (
(GetClass() == BARD && GetLevel() >= 10) ||
(GetClass() == CLERIC && GetLevel() >= 8) ||
(GetClass() == DRUID && GetLevel() >= 8) ||
(GetClass() == SHAMAN && GetLevel() >= 8) ||
(GetClass() == ENCHANTER && GetLevel() >= 4) ||
(GetClass() == MAGICIAN && GetLevel() >= 4) ||
(GetClass() == NECROMANCER && GetLevel() >= 4) ||
(GetClass() == WIZARD && GetLevel() >= 4) ||
(GetClass() == PALADIN && GetLevel() >= 12) ||
(GetClass() == RANGER && GetLevel() >= 12) ||
(GetClass() == SHADOWKNIGHT && GetLevel() >= 12)
) {
SetSkill(EQEmu::skills::SkillMeditate, 1);
}
}
if (GetSkill(EQEmu::skills::SkillChanneling) == 0) {
if (
(GetClass() == CLERIC && GetLevel() >= 4) ||
(GetClass() == DRUID && GetLevel() >= 4) ||
(GetClass() == SHAMAN && GetLevel() >= 4) ||
(GetClass() == RANGER && GetLevel() >= 9) ||
(GetClass() == PALADIN && GetLevel() >= 9) ||
(GetClass() == SHADOWKNIGHT && GetLevel() >= 9)
) {
SetSkill(EQEmu::skills::SkillChanneling, 1);
}
}
if (GetSkill(EQEmu::skills::SkillBash) == 0) {
if (
(GetClass() == PALADIN && GetLevel() >= 6) ||
(GetClass() == SHADOWKNIGHT && GetLevel() >= 6)
) {
SetSkill(EQEmu::skills::SkillBash, 1);
}
}
if (GetSkill(EQEmu::skills::SkillForage) == 0) {
if (
(GetClass() == BARD && GetLevel() >= 12) ||
(GetClass() == DRUID && GetLevel() >= 5) ||
(GetClass() == RANGER && GetLevel() >= 3)
) {
SetSkill(EQEmu::skills::SkillForage, 1);
}
}
if (GetSkill(EQEmu::skills::SkillSneak) == 0) {
if (
(GetClass() == BARD && GetLevel() >= 17) ||
(GetClass() == MONK && GetLevel() >= 8) ||
(GetClass() == ROGUE && GetLevel() >= 1) ||
(GetClass() == RANGER && GetLevel() >= 10)
) {
SetSkill(EQEmu::skills::SkillSneak, 1);
}
}
if (GetSkill(EQEmu::skills::SkillSenseTraps) == 0) {
if (
(GetClass() == BARD && GetLevel() >= 15) ||
(GetClass() == ROGUE && GetLevel() >= 10)
) {
SetSkill(EQEmu::skills::SkillSenseTraps, 1);
}
}
if (GetSkill(EQEmu::skills::SkillSafeFall) == 0) {
if (
(GetClass() == BARD && GetLevel() >= 20) ||
(GetClass() == MONK && GetLevel() >= 3) ||
(GetClass() == ROGUE && GetLevel() >= 12)
) {
SetSkill(EQEmu::skills::SkillSafeFall, 1);
}
}
if (GetSkill(EQEmu::skills::SkillHide) == 0) {
if (
(GetClass() == BARD && GetLevel() >= 25) ||
(GetClass() == ROGUE && GetLevel() >= 3) ||
(GetClass() == RANGER && GetLevel() >= 25) ||
(GetClass() == SHADOWKNIGHT && GetLevel() >= 35)
) {
SetSkill(EQEmu::skills::SkillHide, 1);
}
}
if (GetSkill(EQEmu::skills::SkillDisarmTraps) == 0) {
if (
(GetClass() == BARD && GetLevel() >= 20) ||
(GetClass() == ROGUE && GetLevel() >= 21)
) {
SetSkill(EQEmu::skills::SkillDisarmTraps, 1);
}
}
if (GetSkill(EQEmu::skills::SkillTracking) == 0) {
if (
(GetClass() == BARD && GetLevel() >= 35) ||
(GetClass() == DRUID && GetLevel() >= 20) ||
(GetClass() == RANGER && GetLevel() >= 1)
) {
SetSkill(EQEmu::skills::SkillTracking, 1);
}
}
if (GetSkill(EQEmu::skills::SkillPickLock) == 0) {
if (
(GetClass() == BARD && GetLevel() >= 10) ||
(GetClass() == ROGUE && GetLevel() >= 6)
) {
SetSkill(EQEmu::skills::SkillPickLock, 1);
}
}
if (GetSkill(EQEmu::skills::SkillDisarm) == 0) {
if (
(GetClass() == MONK && GetLevel() >= 27) ||
(GetClass() == ROGUE && GetLevel() >= 27) ||
(GetClass() == WARRIOR && GetLevel() >= 35) ||
(GetClass() == PALADIN && GetLevel() >= 40) ||
(GetClass() == RANGER && GetLevel() >= 35) ||
(GetClass() == SHADOWKNIGHT && GetLevel() >= 40)
) {
SetSkill(EQEmu::skills::SkillDisarm, 1);
}
}
if (GetSkill(EQEmu::skills::SkillBackstab) == 0) {
if (
(GetClass() == ROGUE && GetLevel() >= 10)
) {
SetSkill(EQEmu::skills::SkillBackstab, 1);
}
}
if (GetSkill(EQEmu::skills::SkillTripleAttack) == 0) {
if (
(GetClass() == SHADOWKNIGHT && GetLevel() >= 54) ||
(GetClass() == PALADIN && GetLevel() >= 54) ||
(GetClass() == WARRIOR && GetLevel() >= 46) ||
(GetClass() == MONK && GetLevel() >= 46) ||
(GetClass() == ROGUE && GetLevel() >= 46)
//(GetClass() == BARD && GetLevel() >= 46)
//(GetClass() == SHADOWKNIGHT && GetLevel() >= 54)
) {
SetSkill(EQEmu::skills::SkillTripleAttack, 1);
}
}
if (GetSkill(EQEmu::skills::SkillApplyPoison) == 0) {
if (
(GetClass() == ROGUE && GetLevel() >= 18)
) {
SetSkill(EQEmu::skills::SkillApplyPoison, 1);
}
}
if (GetSkill(EQEmu::skills::SkillBlock) == 0) {
if (
(GetClass() == MONK && GetLevel() >= 12)
) {
SetSkill(EQEmu::skills::SkillBlock, 1);
}
}
if (GetSkill(EQEmu::skills::SkillDoubleAttack) == 0) {
if (
(GetClass() == MONK && GetLevel() >= 15) ||
(GetClass() == WARRIOR && GetLevel() >= 15) ||
(GetClass() == ROGUE && GetLevel() >= 16) ||
(GetClass() == PALADIN && GetLevel() >= 20) ||
(GetClass() == SHADOWKNIGHT && GetLevel() >= 20) ||
(GetClass() == RANGER && GetLevel() >= 20)
) {
SetSkill(EQEmu::skills::SkillDoubleAttack, 1);
}
}
if (GetSkill(EQEmu::skills::SkillRiposte) == 0) {
if (
(GetClass() == MONK && GetLevel() >= 35) ||
(GetClass() == PALADIN && GetLevel() >= 30) ||
(GetClass() == SHADOWKNIGHT && GetLevel() >= 30) ||
(GetClass() == WARRIOR && GetLevel() >= 15) ||
(GetClass() == ROGUE && GetLevel() >= 30) ||
(GetClass() == MONK && GetLevel() >= 35) ||
(GetClass() == RANGER && GetLevel() >= 35) ||
(GetClass() == BARD && GetLevel() >= 30)
) {
SetSkill(EQEmu::skills::SkillRiposte, 1);
}
}
if (GetSkill(EQEmu::skills::SkillFeignDeath) == 0) {
if (
(GetClass() == MONK && GetLevel() >= 1)
) {
SetSkill(EQEmu::skills::SkillFeignDeath, 1);
}
}
//Bard Specific
if (GetSkill(EQEmu::skills::SkillPercussionInstruments) == 0 && GetClass() == BARD && GetLevel() >= 5) {
SetSkill(EQEmu::skills::SkillPercussionInstruments, 1);
}
if (GetSkill(EQEmu::skills::SkillStringedInstruments) == 0 && GetClass() == BARD && GetLevel() >= 5) {
SetSkill(EQEmu::skills::SkillStringedInstruments, 1);
}
if (GetSkill(EQEmu::skills::SkillBrassInstruments) == 0 && GetClass() == BARD && GetLevel() >= 5) {
SetSkill(EQEmu::skills::SkillBrassInstruments, 1);
}
if (GetSkill(EQEmu::skills::SkillWindInstruments) == 0 && GetClass() == BARD && GetLevel() >= 5) {
SetSkill(EQEmu::skills::SkillWindInstruments, 1);
}
//Monk Specific
if (GetSkill(EQEmu::skills::SkillRoundKick) == 0 && GetClass() == MONK && GetLevel() >= 5) {
SetSkill(EQEmu::skills::SkillRoundKick, 1);
}
if (GetSkill(EQEmu::skills::SkillTigerClaw) == 0 && GetClass() == MONK && GetLevel() >= 10) {
SetSkill(EQEmu::skills::SkillTigerClaw, 1);
}
if (GetSkill(EQEmu::skills::SkillEagleStrike) == 0 && GetClass() == MONK && GetLevel() >= 20) {
SetSkill(EQEmu::skills::SkillEagleStrike, 1);
}
if (GetSkill(EQEmu::skills::SkillDragonPunch) == 0 && GetRace() != IKSAR && GetClass() == MONK && GetLevel() >= 25) {
SetSkill(EQEmu::skills::SkillDragonPunch, 1);
}
if (GetSkill(EQEmu::skills::SkillTailRake) == 0 && GetRace() == IKSAR && GetClass() == MONK && GetLevel() >= 25) {
SetSkill(EQEmu::skills::SkillTailRake, 1);
}
if (GetSkill(EQEmu::skills::SkillFlyingKick) == 0 && GetClass() == MONK && GetLevel() >= 30) {
SetSkill(EQEmu::skills::SkillFlyingKick, 1);
}
if (spellCount > 0) {
Message(0, "You have learned %u new spells!", spellCount);
}
if (abilityCount > 0) {
Message(0, "You have learned %u new disciplines!", abilityCount);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment