Changeset 911
- Timestamp:
- 05/17/08 07:51:08 (2 months ago)
- Files:
-
- trunk/src/melee2.c (modified) (90 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/melee2.c
r895 r911 435 435 * Offsets for the spell indices 436 436 */ 437 #define RF3_OFFSET 32 * 3 438 #define RF4_OFFSET 32 * 4 439 #define RF5_OFFSET 32 * 5 440 437 #define BASE2_LOG_HACK_FRAGMENT(A,B) ((((A)>>(B)) & 1)*(B)) 438 439 /** Unfortunately, this macro only works for an isolated bitflag 440 * (exactly one bit set, all others reset). It also only works for at most 441 * 32 bits. 442 */ 443 #define BASE2_LOG_HACK(A) \ 444 (BASE2_LOG_HACK_FRAGMENT(A,31)+BASE2_LOG_HACK_FRAGMENT(A,30)+ \ 445 BASE2_LOG_HACK_FRAGMENT(A,29)+BASE2_LOG_HACK_FRAGMENT(A,28)+ \ 446 BASE2_LOG_HACK_FRAGMENT(A,27)+BASE2_LOG_HACK_FRAGMENT(A,26)+ \ 447 BASE2_LOG_HACK_FRAGMENT(A,25)+BASE2_LOG_HACK_FRAGMENT(A,24)+ \ 448 BASE2_LOG_HACK_FRAGMENT(A,23)+BASE2_LOG_HACK_FRAGMENT(A,22)+ \ 449 BASE2_LOG_HACK_FRAGMENT(A,21)+BASE2_LOG_HACK_FRAGMENT(A,20)+ \ 450 BASE2_LOG_HACK_FRAGMENT(A,19)+BASE2_LOG_HACK_FRAGMENT(A,18)+ \ 451 BASE2_LOG_HACK_FRAGMENT(A,17)+BASE2_LOG_HACK_FRAGMENT(A,16)+ \ 452 BASE2_LOG_HACK_FRAGMENT(A,15)+BASE2_LOG_HACK_FRAGMENT(A,14)+ \ 453 BASE2_LOG_HACK_FRAGMENT(A,13)+BASE2_LOG_HACK_FRAGMENT(A,12)+ \ 454 BASE2_LOG_HACK_FRAGMENT(A,11)+BASE2_LOG_HACK_FRAGMENT(A,10)+ \ 455 BASE2_LOG_HACK_FRAGMENT(A,9)+BASE2_LOG_HACK_FRAGMENT(A,8)+ \ 456 BASE2_LOG_HACK_FRAGMENT(A,7)+BASE2_LOG_HACK_FRAGMENT(A,6)+ \ 457 BASE2_LOG_HACK_FRAGMENT(A,5)+BASE2_LOG_HACK_FRAGMENT(A,4)+ \ 458 BASE2_LOG_HACK_FRAGMENT(A,3)+BASE2_LOG_HACK_FRAGMENT(A,2)+ \ 459 BASE2_LOG_HACK_FRAGMENT(A,1)) 460 461 #define SPELL_ORIGIN 1 462 #define MIN_NONINNATE_SPELL (SPELL_ORIGIN+32) 463 464 /** converts spell flag into an index value for the case statement */ 465 #define SPELL(A,B) SPELL_ORIGIN+(A)*32+BASE2_LOG_HACK(B) 441 466 442 467 /* … … 595 620 for (i = 0; i < 32*RACE_FLAG_SPELL_STRICT_UB; i++) 596 621 { 597 if (TEST_FLAG(f, i)) spells[num++] = i + 32*RACE_FLAG_STRICT_UB;622 if (TEST_FLAG(f, i)) spells[num++] = i + SPELL_ORIGIN; 598 623 } 599 624 … … 801 826 802 827 /* Check for spell failure (innate attacks never fail) */ 803 if ((thrown_spell >= RF4_OFFSET) && (randint0(100) < failrate))828 if ((thrown_spell >= MIN_NONINNATE_SPELL) && (randint0(100) < failrate)) 804 829 { 805 830 /* Message */ … … 812 837 switch (thrown_spell) 813 838 { 814 /* RSF0_SHRIEK */ 815 case RF3_OFFSET+0: 839 case SPELL(0,RSF0_SHRIEK): 816 840 { 817 841 if (!direct) break; … … 823 847 } 824 848 825 /* RSF0_XXX2X4 */ 826 case RF3_OFFSET+1: 827 { 828 break; 829 } 830 831 /* RSF0_XXX3X4 */ 832 case RF3_OFFSET+2: 833 { 834 break; 835 } 836 837 /* RSF0_XXX4X4 */ 838 case RF3_OFFSET+3: 839 { 840 break; 841 } 842 843 /* RSF0_ARROW_1 */ 844 case RF3_OFFSET+4: 849 case SPELL(0,RSF0_XXX2): 850 { 851 break; 852 } 853 854 case SPELL(0,RSF0_XXX3): 855 { 856 break; 857 } 858 859 case SPELL(0,RSF0_XXX4): 860 { 861 break; 862 } 863 864 case SPELL(0,RSF0_ARROW_1): 845 865 { 846 866 disturb(1, 0); … … 851 871 } 852 872 853 /* RSF0_ARROW_2 */ 854 case RF3_OFFSET+5: 873 case SPELL(0,RSF0_ARROW_2): 855 874 { 856 875 disturb(1, 0); … … 861 880 } 862 881 863 /* RSF0_ARROW_3 */ 864 case RF3_OFFSET+6: 882 case SPELL(0,RSF0_ARROW_3): 865 883 { 866 884 disturb(1, 0); … … 871 889 } 872 890 873 /* RSF0_ARROW_4 */ 874 case RF3_OFFSET+7: 891 case SPELL(0,RSF0_ARROW_4): 875 892 { 876 893 disturb(1, 0); … … 881 898 } 882 899 883 /* RSF0_BR_ACID */ 884 case RF3_OFFSET+8: 900 case SPELL(0,RSF0_BR_ACID): 885 901 { 886 902 disturb(1, 0); … … 894 910 } 895 911 896 /* RSF0_BR_ELEC */ 897 case RF3_OFFSET+9: 912 case SPELL(0,RSF0_BR_ELEC): 898 913 { 899 914 disturb(1, 0); … … 907 922 } 908 923 909 /* RSF0_BR_FIRE */ 910 case RF3_OFFSET+10: 924 case SPELL(0,RSF0_BR_FIRE): 911 925 { 912 926 disturb(1, 0); … … 920 934 } 921 935 922 /* RSF0_BR_COLD */ 923 case RF3_OFFSET+11: 936 case SPELL(0,RSF0_BR_COLD): 924 937 { 925 938 disturb(1, 0); … … 933 946 } 934 947 935 /* RSF0_BR_POIS */ 936 case RF3_OFFSET+12: 948 case SPELL(0,RSF0_BR_POIS): 937 949 { 938 950 disturb(1, 0); … … 946 958 } 947 959 948 /* RSF0_BR_NETH */ 949 case RF3_OFFSET+13: 960 case SPELL(0,RSF0_BR_NETH): 950 961 { 951 962 disturb(1, 0); … … 959 970 } 960 971 961 /* RSF0_BR_LITE */ 962 case RF3_OFFSET+14: 972 case SPELL(0,RSF0_BR_LITE): 963 973 { 964 974 disturb(1, 0); … … 972 982 } 973 983 974 /* RSF0_BR_DARK */ 975 case RF3_OFFSET+15: 984 case SPELL(0,RSF0_BR_DARK): 976 985 { 977 986 disturb(1, 0); … … 985 994 } 986 995 987 /* RSF0_BR_CONF */ 988 case RF3_OFFSET+16: 996 case SPELL(0,RSF0_BR_CONF): 989 997 { 990 998 disturb(1, 0); … … 998 1006 } 999 1007 1000 /* RSF0_BR_SOUN */ 1001 case RF3_OFFSET+17: 1008 case SPELL(0,RSF0_BR_SOUN): 1002 1009 { 1003 1010 disturb(1, 0); … … 1011 1018 } 1012 1019 1013 /* RSF0_BR_CHAO */ 1014 case RF3_OFFSET+18: 1020 case SPELL(0,RSF0_BR_CHAO): 1015 1021 { 1016 1022 disturb(1, 0); … … 1024 1030 } 1025 1031 1026 /* RSF0_BR_DISE */ 1027 case RF3_OFFSET+19: 1032 case SPELL(0,RSF0_BR_DISE): 1028 1033 { 1029 1034 disturb(1, 0); … … 1037 1042 } 1038 1043 1039 /* RSF0_BR_NEXU */ 1040 case RF3_OFFSET+20: 1044 case SPELL(0,RSF0_BR_NEXU): 1041 1045 { 1042 1046 disturb(1, 0); … … 1050 1054 } 1051 1055 1052 /* RSF0_BR_TIME */ 1053 case RF3_OFFSET+21: 1056 case SPELL(0,RSF0_BR_TIME): 1054 1057 { 1055 1058 disturb(1, 0); … … 1062 1065 } 1063 1066 1064 /* RSF0_BR_INER */ 1065 case RF3_OFFSET+22: 1067 case SPELL(0,RSF0_BR_INER): 1066 1068 { 1067 1069 disturb(1, 0); … … 1074 1076 } 1075 1077 1076 /* RSF0_BR_GRAV */ 1077 case RF3_OFFSET+23: 1078 case SPELL(0,RSF0_BR_GRAV): 1078 1079 { 1079 1080 disturb(1, 0); … … 1086 1087 } 1087 1088 1088 /* RSF0_BR_SHAR */ 1089 case RF3_OFFSET+24: 1089 case SPELL(0,RSF0_BR_SHAR): 1090 1090 { 1091 1091 disturb(1, 0); … … 1099 1099 } 1100 1100 1101 /* RSF0_BR_PLAS */ 1102 case RF3_OFFSET+25: 1101 case SPELL(0,RSF0_BR_PLAS): 1103 1102 { 1104 1103 disturb(1, 0); … … 1111 1110 } 1112 1111 1113 /* RSF0_BR_WALL */ 1114 case RF3_OFFSET+26: 1112 case SPELL(0,RSF0_BR_WALL): 1115 1113 { 1116 1114 disturb(1, 0); … … 1123 1121 } 1124 1122 1125 /* RSF0_BR_MANA */ 1126 case RF3_OFFSET+27: 1123 case SPELL(0,RSF0_BR_MANA): 1127 1124 { 1128 1125 /* XXX XXX XXX */ … … 1130 1127 } 1131 1128 1132 /* RSF0_XXX5X4 */ 1133 case RF3_OFFSET+28: 1134 { 1135 break; 1136 } 1137 1138 /* RSF0_XXX6X4 */ 1139 case RF3_OFFSET+29: 1140 { 1141 break; 1142 } 1143 1144 /* RSF0_XXX7X4 */ 1145 case RF3_OFFSET+30: 1146 { 1147 break; 1148 } 1149 1150 /* RSF0_BOULDER */ 1151 case RF3_OFFSET+31: 1129 case SPELL(0,RSF0_XXX5): 1130 { 1131 break; 1132 } 1133 1134 case SPELL(0,RSF0_XXX6): 1135 { 1136 break; 1137 } 1138 1139 case SPELL(0,RSF0_XXX7): 1140 { 1141 break; 1142 } 1143 1144 case SPELL(0,RSF0_BOULDER): 1152 1145 { 1153 1146 disturb(1, 0); … … 1159 1152 1160 1153 1161 /* RSF1_BA_ACID */ 1162 case RF4_OFFSET+0: 1154 case SPELL(1,RSF1_BA_ACID): 1163 1155 { 1164 1156 disturb(1, 0); … … 1171 1163 } 1172 1164 1173 /* RSF1_BA_ELEC */ 1174 case RF4_OFFSET+1: 1165 case SPELL(1,RSF1_BA_ELEC): 1175 1166 { 1176 1167 disturb(1, 0); … … 1183 1174 } 1184 1175 1185 /* RSF1_BA_FIRE */ 1186 case RF4_OFFSET+2: 1176 case SPELL(1,RSF1_BA_FIRE): 1187 1177 { 1188 1178 disturb(1, 0); … … 1195 1185 } 1196 1186 1197 /* RSF1_BA_COLD */ 1198 case RF4_OFFSET+3: 1187 case SPELL(1,RSF1_BA_COLD): 1199 1188 { 1200 1189 disturb(1, 0); … … 1207 1196 } 1208 1197 1209 /* RSF1_BA_POIS */ 1210 case RF4_OFFSET+4: 1198 case SPELL(1,RSF1_BA_POIS): 1211 1199 { 1212 1200 disturb(1, 0); … … 1219 1207 } 1220 1208 1221 /* RSF1_BA_NETH */ 1222 case RF4_OFFSET+5: 1209 case SPELL(1,RSF1_BA_NETH): 1223 1210 { 1224 1211 disturb(1, 0); … … 1231 1218 } 1232 1219 1233 /* RSF1_BA_WATE */ 1234 case RF4_OFFSET+6: 1220 case SPELL(1,RSF1_BA_WATE): 1235 1221 { 1236 1222 disturb(1, 0); … … 1243 1229 } 1244 1230 1245 /* RSF1_BA_MANA */ 1246 case RF4_OFFSET+7: 1231 case SPELL(1,RSF1_BA_MANA): 1247 1232 { 1248 1233 disturb(1, 0); … … 1254 1239 } 1255 1240 1256 /* RSF1_BA_DARK */ 1257 case RF4_OFFSET+8: 1241 case SPELL(1,RSF1_BA_DARK): 1258 1242 { 1259 1243 disturb(1, 0); … … 1266 1250 } 1267 1251 1268 /* RSF1_DRAIN_MANA */ 1269 case RF4_OFFSET+9: 1252 case SPELL(1,RSF1_DRAIN_MANA): 1270 1253 { 1271 1254 if (!direct) break; … … 1321 1304 } 1322 1305 1323 /* RSF1_MIND_BLAST */ 1324 case RF4_OFFSET+10: 1306 case SPELL(1,RSF1_MIND_BLAST): 1325 1307 { 1326 1308 if (!direct) break; … … 1351 1333 } 1352 1334 1353 /* RSF1_BRAIN_SMASH */ 1354 case RF4_OFFSET+11: 1335 case SPELL(1,RSF1_BRAIN_SMASH): 1355 1336 { 1356 1337 if (!direct) break; … … 1389 1370 } 1390 1371 1391 /* RSF1_CAUSE_1 */ 1392 case RF4_OFFSET+12: 1372 case SPELL(1,RSF1_CAUSE_1): 1393 1373 { 1394 1374 if (!direct) break; … … 1407 1387 } 1408 1388 1409 /* RSF1_CAUSE_2 */ 1410 case RF4_OFFSET+13: 1389 case SPELL(1,RSF1_CAUSE_2): 1411 1390 { 1412 1391 if (!direct) break; … … 1425 1404 } 1426 1405 1427 /* RSF1_CAUSE_3 */ 1428 case RF4_OFFSET+14: 1406 case SPELL(1,RSF1_CAUSE_3): 1429 1407 { 1430 1408 if (!direct) break; … … 1443 1421 } 1444 1422 1445 /* RSF1_CAUSE_4 */ 1446 case RF4_OFFSET+15: 1423 case SPELL(1,RSF1_CAUSE_4): 1447 1424 { 1448 1425 if (!direct) break; … … 1462 1439 } 1463 1440 1464 /* RSF1_BO_ACID */ 1465 case RF4_OFFSET+16: 1441 case SPELL(1,RSF1_BO_ACID): 1466 1442 { 1467 1443 disturb(1, 0); … … 1474 1450 } 1475 1451 1476 /* RSF1_BO_ELEC */ 1477 case RF4_OFFSET+17: 1452 case SPELL(1,RSF1_BO_ELEC): 1478 1453 { 1479 1454 disturb(1, 0); … … 1486 1461 } 1487 1462 1488 /* RSF1_BO_FIRE */ 1489 case RF4_OFFSET+18: 1463 case SPELL(1,RSF1_BO_FIRE): 1490 1464 { 1491 1465 disturb(1, 0); … … 1498 1472 } 1499 1473 1500 /* RSF1_BO_COLD */ 1501 case RF4_OFFSET+19: 1474 case SPELL(1,RSF1_BO_COLD): 1502 1475 { 1503 1476 disturb(1, 0); … … 1510 1483 } 1511 1484 1512 /* RSF1_BO_POIS */ 1513 case RF4_OFFSET+20: 1485 case SPELL(1,RSF1_BO_POIS): 1514 1486 { 1515 1487 /* XXX XXX XXX */ … … 1517 1489 } 1518 1490 1519 /* RSF1_BO_NETH */ 1520 case RF4_OFFSET+21: 1491 case SPELL(1,RSF1_BO_NETH): 1521 1492 { 1522 1493 disturb(1, 0); … … 1529 1500 } 1530 1501 1531 /* RSF1_BO_WATE */ 1532 case RF4_OFFSET+22: 1502 case SPELL(1,RSF1_BO_WATE): 1533 1503 { 1534 1504 disturb(1, 0); … … 1540 1510 } 1541 1511 1542 /* RSF1_BO_MANA */ 1543 case RF4_OFFSET+23: 1512 case SPELL(1,RSF1_BO_MANA): 1544 1513 { 1545 1514 disturb(1, 0); … … 1551 1520 } 1552 1521 1553 /* RSF1_BO_PLAS */ 1554 case RF4_OFFSET+24: 1522 case SPELL(1,RSF1_BO_PLAS): 1555 1523 { 1556 1524 disturb(1, 0); … … 1562 1530 } 1563 1531 1564 /* RSF1_BO_ICEE */ 1565 case RF4_OFFSET+25: 1532 case SPELL(1,RSF1_BO_ICEE): 1566 1533 { 1567 1534 disturb(1, 0); … … 1574 1541 } 1575 1542 1576 /* RSF1_MISSILE */ 1577 case RF4_OFFSET+26: 1543 case SPELL(1,RSF1_MISSILE): 1578 1544 { 1579 1545 disturb(1, 0); … … 1585 1551 } 1586 1552 1587 /* RSF1_SCARE */ 1588 case RF4_OFFSET+27: 1553 case SPELL(1,RSF1_SCARE): 1589 1554 { 1590 1555 if (!direct) break; … … 1609 1574 } 1610 1575 1611 /* RSF1_BLIND */ 1612 case RF4_OFFSET+28: 1576 case SPELL(1,RSF1_BLIND): 1613 1577 { 1614 1578 if (!direct) break; … … 1632 1596 } 1633 1597 1634 /* RSF1_CONF */ 1635 case RF4_OFFSET+29: 1598 case SPELL(1,RSF1_CONF): 1636 1599 { 1637 1600 if (!direct) break; … … 1655 1618 } 1656 1619 1657 /* RSF1_SLOW */ 1658 case RF4_OFFSET+30: 1620 case SPELL(1,RSF1_SLOW): 1659 1621 { 1660 1622 if (!direct) break; … … 1677 1639 } 1678 1640 1679 /* RSF1_HOLD */ 1680 case RF4_OFFSET+31: 1641 case SPELL(1,RSF1_HOLD): 1681 1642 { 1682 1643 if (!direct) break; … … 1701 1662 1702 1663 1703 1704 /* RSF2_HASTE */ 1705 case RF5_OFFSET+0: 1664 case SPELL(2,RSF2_HASTE): 1706 1665 { 1707 1666 disturb(1, 0); … … 1732 1691 } 1733 1692 1734 /* RSF2_XXX1X6 */ 1735 case RF5_OFFSET+1: 1736 { 1737 break; 1738 } 1739 1740 /* RSF2_HEAL */ 1741 case RF5_OFFSET+2: 1693 case SPELL(2,RSF2_XXX1): 1694 { 1695 break; 1696 } 1697 1698 case SPELL(2,RSF2_HEAL): 1742 1699 { 1743 1700 disturb(1, 0); … … 1803 1760 } 1804 1761 1805 /* RSF2_XXX2X6 */ 1806 case RF5_OFFSET+3: 1807 { 1808 break; 1809 } 1810 1811 /* RSF2_BLINK */ 1812 case RF5_OFFSET+4: 1762 case SPELL(2,RSF2_XXX2): 1763 { 1764 break; 1765 } 1766 1767 case SPELL(2,RSF2_BLINK): 1813 1768 { 1814 1769 disturb(1, 0); … … 1818 1773 } 1819 1774 1820 /* RSF2_TPORT */ 1821 case RF5_OFFSET+5: 1775 case SPELL(2,RSF2_TPORT): 1822 1776 { 1823 1777 disturb(1, 0); … … 1827 1781 } 1828 1782 1829 /* RSF2_XXX3X6 */ 1830 case RF5_OFFSET+6: 1831 { 1832 break; 1833 } 1834 1835 /* RSF2_XXX4X6 */ 1836 case RF5_OFFSET+7: 1837 { 1838 break; 1839 } 1840 1841 /* RSF2_TELE_TO */ 1842 case RF5_OFFSET+8: 1783 case SPELL(2,RSF2_XXX3): 1784 { 1785 break; 1786 } 1787 1788 case SPELL(2,RSF2_XXX4): 1789 { 1790 break; 1791 } 1792 1793 case SPELL(2,RSF2_TELE_TO): 1843 1794 { 1844 1795 if (!direct) break; … … 1849 1800 } 1850 1801 1851 /* RSF2_TELE_AWAY */ 1852 case RF5_OFFSET+9: 1802 case SPELL(2,RSF2_TELE_AWAY): 1853 1803 { 1854 1804 if (!direct) break; … … 1859 1809 } 1860 1810 1861 /* RSF2_TELE_LEVEL */ 1862 case RF5_OFFSET+10: 1811 case SPELL(2,RSF2_TELE_LEVEL): 1863 1812 { 1864 1813 if (!direct) break; … … 1882 1831 } 1883 1832 1884 /* RSF2_XXX5 */ 1885 case RF5_OFFSET+11: 1886 { 1887 break; 1888 } 1889 1890 /* RSF2_DARKNESS */ 1891 case RF5_OFFSET+12: 1833 case SPELL(2,RSF2_XXX5): 1834 { 1835 break; 1836 } 1837 1838 case SPELL(2,RSF2_DARKNESS): 1892 1839 { 1893 1840 if (!direct) break; … … 1899 1846 } 1900 1847 1901 /* RSF2_TRAPS */ 1902 case RF5_OFFSET+13: 1848 case SPELL(2,RSF2_TRAPS): 1903 1849 { 1904 1850 if (!direct) break; … … 1911 1857 } 1912 1858 1913 /* RSF2_FORGET */ 1914 case RF5_OFFSET+14: 1859 case SPELL(2,RSF2_FORGET): 1915 1860 { 1916 1861 if (!direct) break; … … 1926 1871 } 1927 1872 1928 /* RSF2_ANIMAL */ 1929 case RF5_OFFSET+15: 1930 { 1931 break; 1932 } 1933 1934 /* RSF2_S_KIN */ 1935 case RF5_OFFSET+16: 1873 case SPELL(2,RSF2_XXX6): 1874 { 1875 break; 1876 } 1877 1878 case SPELL(2,RSF2_S_KIN): 1936 1879 { 1937 1880 disturb(1, 0); … … 1955 1898 } 1956 1899 1957 /* RSF2_HI_DEMON */ 1958 case RF5_OFFSET+17: 1900 case SPELL(2,RSF2_S_HI_DEMON): 1959 1901 { 1960 1902 disturb(1, 0); … … 1973 1915 } 1974 1916 1975 /* RSF2_S_MONSTER */ 1976 case RF5_OFFSET+18: 1917 case SPELL(2,RSF2_S_MONSTER): 1977 1918 { 1978 1919 disturb(1, 0); … … 1991 1932 } 1992 1933 1993 /* RSF2_S_MONSTERS */ 1994 case RF5_OFFSET+19: 1934 case SPELL(2,RSF2_S_MONSTERS): 1995 1935 { 1996 1936 disturb(1, 0); … … 2009 1949 } 2010 1950 2011 /* RSF2_S_ANIMAL */ 2012 case RF5_OFFSET+20: 1951 case SPELL(2,RSF2_S_ANIMAL): 2013 1952 { 2014 1953 disturb(1, 0); … … 2027 1966 } 2028 1967 2029 /* RSF2_S_SPIDER */ 2030 case RF5_OFFSET+21: 1968 case SPELL(2,RSF2_S_SPIDER): 2031 1969 { 2032 1970 disturb(1, 0); … … 2045 1983 } 2046 1984 2047 /* RSF2_S_HOUND */ 2048 case RF5_OFFSET+22: 1985 case SPELL(2,RSF2_S_HOUND): 2049 1986 { 2050 1987 disturb(1, 0); … … 2063 2000 } 2064 2001 2065 /* RSF2_S_HYDRA */ 2066 case RF5_OFFSET+23: 2002 case SPELL(2,RSF2_S_HYDRA): 2067 2003 { 2068 2004 disturb(1, 0); … … 2081 2017 } 2082 2018 2083 /* RSF2_S_ANGEL */ 2084 case RF5_OFFSET+24: 2019 case SPELL(2,RSF2_S_ANGEL): 2085 2020 { 2086 2021 disturb(1, 0); … … 2099 2034 } 2100 2035 2101 /* RSF2_S_DEMON */ 2102 case RF5_OFFSET+25: 2036 case SPELL(2,RSF2_S_DEMON): 2103 2037 { 2104 2038 disturb(1, 0); … … 2117 2051 } 2118 2052 2119 /* RSF2_S_UNDEAD */ 2120 case RF5_OFFSET+26: 2053 case SPELL(2,RSF2_S_UNDEAD): 2121 2054 { 2122 2055 disturb(1, 0); … … 2135 2068 } 2136 2069 2137 /* RSF2_S_DRAGON */ 2138 case RF5_OFFSET+27: 2070 case SPELL(2,RSF2_S_DRAGON): 2139 2071 { 2140 2072 disturb(1, 0); … … 2153 2085 } 2154 2086 2155 /* RSF2_S_HI_UNDEAD */ 2156 case RF5_OFFSET+28: 2087 case SPELL(2,RSF2_S_HI_UNDEAD): 2157 2088 { 2158 2089 disturb(1, 0); … … 2171 2102 } 2172 2103 2173 /* RSF2_S_HI_DRAGON */ 2174 case RF5_OFFSET+29: 2104 case SPELL(2,RSF2_S_HI_DRAGON): 2175 2105 { 2176 2106 disturb(1, 0); … … 2189 2119 } 2190 2120 2191 /* RSF2_S_WRAITH */ 2192 case RF5_OFFSET+30: 2121 case SPELL(2,RSF2_S_WRAITH): 2193 2122 { 2194 2123 disturb(1, 0); … … 2211 2140 } 2212 2141 2213 /* RSF2_S_UNIQUE */ 2214 case RF5_OFFSET+31: 2142 case SPELL(2,RSF2_S_UNIQUE): 2215 2143 { 2216 2144 disturb(1, 0); … … 2238 2166 if (seen) 2239 2167 { 2240 SET_FLAG(l_ptr->spell_flags, thrown_spell- 32*RACE_FLAG_STRICT_UB);2168 SET_FLAG(l_ptr->spell_flags, thrown_spell-SPELL_ORIGIN); 2241 2169 2242 2170 /* Innate spell */ 2243 if (thrown_spell < 32*(RACE_FLAG_STRICT_UB + 1))2171 if (thrown_spell < SPELL_ORIGIN+32) 2244 2172 { 2245 2173 if (l_ptr->cast_innate < MAX_UCHAR) l_ptr->cast_innate++; … … 2247 2175 2248 2176 /* Bolt or Ball, or Special spell */ 2249 else if (thrown_spell < 32*(RACE_FLAG_STRICT_UB+RACE_FLAG_SPELL_STRICT_UB))2177 else if (thrown_spell < SPELL_ORIGIN+32*(RACE_FLAG_SPELL_STRICT_UB)) 2250 2178 { 2251 2179 if (l_ptr->cast_spell < MAX_UCHAR) l_ptr->cast_spell++; … … 4090 4018 monster_race *r_ptr; 4091 4019 4092 4093 4020 /* Process the monsters (backwards) */ 4094 4021 for (i = mon_max - 1; i >= 1; i--)
