Bringing PRC Alpha up to pairty with PRC35
Bringing PRC alpha up to parity with PRC35 with the exception of the marker feats, which need to be reworked. Updated PRC alpha release.
This commit is contained in:
		
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -9,13 +9,13 @@ | ||||
| 5  cls_feat_*    600       | ||||
| 6  cls_skill_*   50        | ||||
| 7  cls_psipw_*   180       | ||||
| 8  feat          22300     | ||||
| 8  feat          24800     | ||||
| 9  cls_pres_*    25        | ||||
| 10 hen_familiar  20        | ||||
| 11 hen_companion 20        | ||||
| 11 hen_companion 30        | ||||
| 12 domains       70        | ||||
| 13 soundset      450       | ||||
| 14 spells        16100     | ||||
| 14 spells        19400     | ||||
| 15 appearance    500       | ||||
| 16 wingmodel     10        | ||||
| 17 tailmodel     10        | ||||
|   | ||||
| @@ -1462,4 +1462,4 @@ | ||||
| 1458       BasiliskMask_TotemBind            16836739 15        8         90000  3656       0         0       0          is_less_shivtch    | ||||
| 1459       Crystallize                       16823673 12        6         10000  14202      0         0       0          fot_fleshstone     | ||||
| 1460       Epic_Spell_Audience_of_Stone      16833338 20        9         114750 4007       0         0       0          ife_audience       | ||||
| 1461       DetectMagic                       16836770 3         0         4500   3658       0         1       1          is_detect_law      | ||||
| 1461       DetectMagic                       16836770 3         0         4500   3658       1         1       1          is_detect_law      | ||||
|   | ||||
| @@ -1,67 +1,67 @@ | ||||
| 2DA V2.0 | ||||
|  | ||||
|    Name     Label                           Description PropertyType Level PrereqMisc Skill SkillRanks Spells       Enhancement AdditionalCost ReplaceLast IP1         IP2  IP3  IP4  IP5  IP6  Epic Special  | ||||
| 0  16828726 Enhancement_+1                  16828746    ****         3     ****       ****  ****       ****         1           ****           ****        1_*_1_*     **** **** **** **** **** 0    ****     | ||||
| 1  16828727 Enhancement_+2                  16828746    ****         6     ****       ****  ****       ****         2           ****           1           1_*_2_*     **** **** **** **** **** 0    ****     | ||||
| 2  16828728 Enhancement_+3                  16828746    ****         9     ****       ****  ****       ****         3           ****           2           1_*_3_*     **** **** **** **** **** 0    ****     | ||||
| 3  16828729 Enhancement_+4                  16828746    ****         12    ****       ****  ****       ****         4           ****           3           1_*_4_*     **** **** **** **** **** 0    ****     | ||||
| 4  16828730 Enhancement_+5                  16828746    ****         15    ****       ****  ****       ****         5           ****           4           1_*_5_*     **** **** **** **** **** 0    ****     | ||||
| 5  16828731 Enhancement_+6                  16828746    ****         18    ****       ****  ****       ****         6           ****           5           1_*_6_*     **** **** **** **** **** 1    ****     | ||||
| 6  16828732 Enhancement_+7                  16828746    ****         21    ****       ****  ****       ****         7           ****           6           1_*_7_*     **** **** **** **** **** 1    ****     | ||||
| 7  16828733 Enhancement_+8                  16828746    ****         24    ****       ****  ****       ****         8           ****           7           1_*_8_*     **** **** **** **** **** 1    ****     | ||||
| 8  16828734 Enhancement_+9                  16828746    ****         27    ****       ****  ****       ****         9           ****           8           1_*_9_*     **** **** **** **** **** 1    ****     | ||||
| 9  16828735 Enhancement_+10                 16828746    ****         30    ****       ****  ****       ****         10          ****           9           1_*_10_*    **** **** **** **** **** 1    ****     | ||||
| 10 16828736 Enhancement_+11                 16828746    ****         33    ****       ****  ****       ****         11          ****           10          1_*_11_*    **** **** **** **** **** 1    ****     | ||||
| 11 16828737 Enhancement_+12                 16828746    ****         36    ****       ****  ****       ****         12          ****           11          1_*_12_*    **** **** **** **** **** 1    ****     | ||||
| 12 16828738 Enhancement_+13                 16828746    ****         39    ****       ****  ****       ****         13          ****           12          1_*_13_*    **** **** **** **** **** 1    ****     | ||||
| 13 16828739 Enhancement_+14                 16828746    ****         42    ****       ****  ****       ****         14          ****           13          1_*_14_*    **** **** **** **** **** 1    ****     | ||||
| 14 16828740 Enhancement_+15                 16828746    ****         45    ****       ****  ****       ****         15          ****           14          1_*_15_*    **** **** **** **** **** 1    ****     | ||||
| 15 16828741 Enhancement_+16                 16828746    ****         48    ****       ****  ****       ****         16          ****           15          1_*_16_*    **** **** **** **** **** 1    ****     | ||||
| 16 16828742 Enhancement_+17                 16828746    ****         51    ****       ****  ****       ****         17          ****           16          1_*_17_*    **** **** **** **** **** 1    ****     | ||||
| 17 16828743 Enhancement_+18                 16828746    ****         54    ****       ****  ****       ****         18          ****           17          1_*_18_*    **** **** **** **** **** 1    ****     | ||||
| 18 16828744 Enhancement_+19                 16828746    ****         57    ****       ****  ****       ****         19          ****           18          1_*_19_*    **** **** **** **** **** 1    ****     | ||||
| 19 16828745 Enhancement_+20                 16828746    ****         60    ****       ****  ****       ****         20          ****           19          1_*_20_*    **** **** **** **** **** 1    ****     | ||||
| 20 16828747 Acid_Resistance                 16828748    M            3     ****       ****  ****       50_*_*_*_*   ****        18000          ****        23_6_2_*    **** **** **** **** **** 0    ****     | ||||
| 21 16828749 Acid_Resistance_Improved        16828750    M            7     ****       ****  ****       50_*_*_*_*   ****        42000          1           23_6_4_*    **** **** **** **** **** 0    ****     | ||||
| 22 16828751 Acid_Resistance_Greater         16828752    M            11    ****       ****  ****       50_*_*_*_*   ****        66000          2           23_6_6_*    **** **** **** **** **** 0    ****     | ||||
| 23 16828801 Acid_Warding                    16828802    M            21    ****       ****  ****       137_*_*_*_*  6           ****           3           23_6_10_*   **** **** **** **** **** 1    ****     | ||||
| 24 16828753 Arrow_Deflection                16828754    M            5     ****       ****  ****       417_*_*_*_*  2           ****           ****        12_201_*_*  **** **** **** **** **** 0    ****     | ||||
| 25 16828755 Cold_Resistance                 16828756    M            3     ****       ****  ****       50_*_*_*_*   ****        18000          ****        23_7_2_*    **** **** **** **** **** 0    ****     | ||||
| 26 16828757 Cold_Resistance_Improved        16828758    M            7     ****       ****  ****       50_*_*_*_*   ****        42000          1           23_7_4_*    **** **** **** **** **** 0    ****     | ||||
| 27 16828759 Cold_Resistance_Greater         16828760    M            11    ****       ****  ****       50_*_*_*_*   ****        66000          2           23_7_6_*    **** **** **** **** **** 0    ****     | ||||
| 28 16828803 Cold_Warding                    16828804    M            21    ****       ****  ****       137_*_*_*_*  6           ****           3           23_7_10_*   **** **** **** **** **** 1    ****     | ||||
| 29 16828761 Electricity_Resistance          16828762    M            3     ****       ****  ****       50_*_*_*_*   ****        18000          ****        23_9_2_*    **** **** **** **** **** 0    ****     | ||||
| 30 16828763 Electricity_Resistance_Improved 16828764    M            7     ****       ****  ****       50_*_*_*_*   ****        42000          1           23_9_4_*    **** **** **** **** **** 0    ****     | ||||
| 31 16828765 Electricity_Resistance_Greater  16828766    M            11    ****       ****  ****       50_*_*_*_*   ****        66000          2           23_9_6_*    **** **** **** **** **** 0    ****     | ||||
| 32 16828813 Lightning_Warding               16828814    M            21    ****       ****  ****       137_*_*_*_*  6           ****           3           23_9_10_*   **** **** **** **** **** 1    ****     | ||||
| 33 16828767 Etherealness                    16828768    M            13    ****       ****  ****       443_*_*_*_*  ****        49000          ****        15_374_8_*  **** **** **** **** **** 0    ****     | ||||
| 34 16828769 Fire_Resistance                 16828770    M            3     ****       ****  ****       50_*_*_*_*   ****        18000          ****        23_10_2_*   **** **** **** **** **** 0    ****     | ||||
| 35 16828771 Fire_Resistance_Improved        16828772    M            7     ****       ****  ****       50_*_*_*_*   ****        42000          1           23_10_4_*   **** **** **** **** **** 0    ****     | ||||
| 36 16828773 Fire_Resistance_Greater         16828774    M            11    ****       ****  ****       50_*_*_*_*   ****        66000          2           23_10_6_*   **** **** **** **** **** 0    ****     | ||||
| 37 16828805 Fire_Warding                    16828806    M            21    ****       ****  ****       137_*_*_*_*  6           ****           3           23_10_10_*  **** **** **** **** **** 1    ****     | ||||
| 38 16828775 Invulnerability_5_Magic         16828776    M            18    ****       ****  ****       172_*_*_*_*  3           ****           ****        22_0_1_*    **** **** **** **** **** 0    ****     | ||||
| 39 16828807 Great_Invulnerability_10_Magic  16828808    M            19    ****       ****  ****       172_*_*_*_*  4           ****           1           22_0_2_*    **** **** **** **** **** 1    ****     | ||||
| 40 16828903 Great_Invulnerability_15_Magic  16828870    M            20    ****       ****  ****       172_*_*_*_*  5           ****           2           22_0_3_*    **** **** **** **** **** 1    ****     | ||||
| 41 16828904 Great_Invulnerability_5_Epic    16828871    M            21    ****       ****  ****       172_*_*_*_*  6           ****           3           22_5_1_*    **** **** **** **** **** 1    ****     | ||||
| 42 16828905 Great_Invulnerability_10_Epic   16828872    M            22    ****       ****  ****       172_*_*_*_*  7           ****           4           22_5_2_*    **** **** **** **** **** 1    ****     | ||||
| 43 16828777 Reflecting                      16828778    M            14    ****       ****  ****       1567_*_*_*_* 5           ****           ****        15_928_8_*  **** **** **** **** **** 0    ****     | ||||
| 44 16828809 Great_Reflection                16828810    M            25    ****       ****  ****       1567_*_*_*_* 10          ****           ****        15_928_13_* **** **** **** **** **** 1    ****     | ||||
| 45 16828779 Shadow                          16828780    M            5     ****       ****  ****       90_*_*_*_*   ****        3750           ****        52_5_5_*    **** **** **** **** **** 0    ****     | ||||
| 46 16828781 Shadow_Improved                 16828782    M            10    ****       ****  ****       90_*_*_*_*   ****        15000          1           52_5_10_*   **** **** **** **** **** 0    ****     | ||||
| 47 16828783 Shadow_Greater                  16828784    M            15    ****       ****  ****       90_*_*_*_*   ****        33750          2           52_5_15_*   **** **** **** **** **** 0    ****     | ||||
| 48 16828785 Silent_Moves                    16828786    M            5     ****       ****  ****       163_*_*_*_*  ****        3750           ****        52_8_5_*    **** **** **** **** **** 0    ****     | ||||
| 49 16828787 Silent_Moves_Improved           16828788    M            10    ****       ****  ****       163_*_*_*_*  ****        15000          1           52_8_10_*   **** **** **** **** **** 0    ****     | ||||
| 50 16828789 Silent_Moves_Greater            16828790    M            15    ****       ****  ****       163_*_*_*_*  ****        33750          2           52_8_15_*   **** **** **** **** **** 0    ****     | ||||
| 51 16828791 Sonic_Resistance                16828792    M            3     ****       ****  ****       50_*_*_*_*   ****        18000          ****        23_13_2_*   **** **** **** **** **** 0    ****     | ||||
| 52 16828793 Sonic_Resistance_Improved       16828794    M            7     ****       ****  ****       50_*_*_*_*   ****        42000          1           23_13_4_*   **** **** **** **** **** 0    ****     | ||||
| 53 16828795 Sonic_Resistance_Greater        16828796    M            11    ****       ****  ****       50_*_*_*_*   ****        66000          2           23_13_6_*   **** **** **** **** **** 0    ****     | ||||
| 54 16828815 Sonic_Warding                   16828816    M            21    ****       ****  ****       137_*_*_*_*  6           ****           3           23_13_10_*  **** **** **** **** **** 1    ****     | ||||
| 55 16828797 Spell_Resistance_13             16828798    M            15    ****       ****  ****       168_*_*_*_*  2           ****           ****        39_*_27_*   **** **** **** **** **** 0    ****     | ||||
| 56 16828906 Spell_Resistance_15             16828873    M            15    ****       ****  ****       168_*_*_*_*  3           ****           1           39_*_28_*   **** **** **** **** **** 0    ****     | ||||
| 57 16828907 Spell_Resistance_17             16828874    M            15    ****       ****  ****       168_*_*_*_*  4           ****           2           39_*_29_*   **** **** **** **** **** 0    ****     | ||||
| 58 16828908 Spell_Resistance_19             16828875    M            15    ****       ****  ****       168_*_*_*_*  5           ****           3           39_*_30_*   **** **** **** **** **** 0    ****     | ||||
| 59 16828811 Spell_Resistance_21             16828812    M            21    ****       ****  ****       168_*_*_*_*  6           ****           4           39_*_31_*   **** **** **** **** **** 1    ****     | ||||
| 60 16828909 Spell_Resistance_23             16828876    M            22    ****       ****  ****       168_*_*_*_*  7           ****           5           39_*_32_*   **** **** **** **** **** 1    ****     | ||||
| 61 16828910 Spell_Resistance_25             16828877    M            23    ****       ****  ****       168_*_*_*_*  8           ****           6           39_*_33_*   **** **** **** **** **** 1    ****     | ||||
| 62 16828911 Spell_Resistance_27             16828878    M            24    ****       ****  ****       168_*_*_*_*  9           ****           7           39_*_34_*   **** **** **** **** **** 1    ****     | ||||
| 63 16828799 Undead_Controlling              16828800    M            13    ****       ****  ****       28_*_*_*_*   ****        49000          ****        15_55_8_*   **** **** **** **** **** 0    ****     | ||||
|    Name     Label                           Description PropertyType Level PrereqMisc Skill SkillRanks Spells         Enhancement AdditionalCost ReplaceLast IP1         IP2  IP3  IP4  IP5  IP6  Epic Special  | ||||
| 0  16828726 Enhancement_+1                  16828746    ****         3     ****       ****  ****       ****           1           ****           ****        1_*_1_*     **** **** **** **** **** 0    ****     | ||||
| 1  16828727 Enhancement_+2                  16828746    ****         6     ****       ****  ****       ****           2           ****           1           1_*_2_*     **** **** **** **** **** 0    ****     | ||||
| 2  16828728 Enhancement_+3                  16828746    ****         9     ****       ****  ****       ****           3           ****           2           1_*_3_*     **** **** **** **** **** 0    ****     | ||||
| 3  16828729 Enhancement_+4                  16828746    ****         12    ****       ****  ****       ****           4           ****           3           1_*_4_*     **** **** **** **** **** 0    ****     | ||||
| 4  16828730 Enhancement_+5                  16828746    ****         15    ****       ****  ****       ****           5           ****           4           1_*_5_*     **** **** **** **** **** 0    ****     | ||||
| 5  16828731 Enhancement_+6                  16828746    ****         18    ****       ****  ****       ****           6           ****           5           1_*_6_*     **** **** **** **** **** 1    ****     | ||||
| 6  16828732 Enhancement_+7                  16828746    ****         21    ****       ****  ****       ****           7           ****           6           1_*_7_*     **** **** **** **** **** 1    ****     | ||||
| 7  16828733 Enhancement_+8                  16828746    ****         24    ****       ****  ****       ****           8           ****           7           1_*_8_*     **** **** **** **** **** 1    ****     | ||||
| 8  16828734 Enhancement_+9                  16828746    ****         27    ****       ****  ****       ****           9           ****           8           1_*_9_*     **** **** **** **** **** 1    ****     | ||||
| 9  16828735 Enhancement_+10                 16828746    ****         30    ****       ****  ****       ****           10          ****           9           1_*_10_*    **** **** **** **** **** 1    ****     | ||||
| 10 16828736 Enhancement_+11                 16828746    ****         33    ****       ****  ****       ****           11          ****           10          1_*_11_*    **** **** **** **** **** 1    ****     | ||||
| 11 16828737 Enhancement_+12                 16828746    ****         36    ****       ****  ****       ****           12          ****           11          1_*_12_*    **** **** **** **** **** 1    ****     | ||||
| 12 16828738 Enhancement_+13                 16828746    ****         39    ****       ****  ****       ****           13          ****           12          1_*_13_*    **** **** **** **** **** 1    ****     | ||||
| 13 16828739 Enhancement_+14                 16828746    ****         42    ****       ****  ****       ****           14          ****           13          1_*_14_*    **** **** **** **** **** 1    ****     | ||||
| 14 16828740 Enhancement_+15                 16828746    ****         45    ****       ****  ****       ****           15          ****           14          1_*_15_*    **** **** **** **** **** 1    ****     | ||||
| 15 16828741 Enhancement_+16                 16828746    ****         48    ****       ****  ****       ****           16          ****           15          1_*_16_*    **** **** **** **** **** 1    ****     | ||||
| 16 16828742 Enhancement_+17                 16828746    ****         51    ****       ****  ****       ****           17          ****           16          1_*_17_*    **** **** **** **** **** 1    ****     | ||||
| 17 16828743 Enhancement_+18                 16828746    ****         54    ****       ****  ****       ****           18          ****           17          1_*_18_*    **** **** **** **** **** 1    ****     | ||||
| 18 16828744 Enhancement_+19                 16828746    ****         57    ****       ****  ****       ****           19          ****           18          1_*_19_*    **** **** **** **** **** 1    ****     | ||||
| 19 16828745 Enhancement_+20                 16828746    ****         60    ****       ****  ****       ****           20          ****           19          1_*_20_*    **** **** **** **** **** 1    ****     | ||||
| 20 16828747 Acid_Resistance                 16828748    M            3     ****       ****  ****       50_*_*_*_*_*   ****        18000          ****        23_6_2_*    **** **** **** **** **** 0    ****     | ||||
| 21 16828749 Acid_Resistance_Improved        16828750    M            7     ****       ****  ****       50_*_*_*_*_*   ****        42000          1           23_6_4_*    **** **** **** **** **** 0    ****     | ||||
| 22 16828751 Acid_Resistance_Greater         16828752    M            11    ****       ****  ****       50_*_*_*_*_*   ****        66000          2           23_6_6_*    **** **** **** **** **** 0    ****     | ||||
| 23 16828801 Acid_Warding                    16828802    M            21    ****       ****  ****       137_*_*_*_*_*  6           ****           3           23_6_10_*   **** **** **** **** **** 1    ****     | ||||
| 24 16828753 Arrow_Deflection                16828754    M            5     ****       ****  ****       417_*_*_*_*_*  2           ****           ****        12_201_*_*  **** **** **** **** **** 0    ****     | ||||
| 25 16828755 Cold_Resistance                 16828756    M            3     ****       ****  ****       50_*_*_*_*_*   ****        18000          ****        23_7_2_*    **** **** **** **** **** 0    ****     | ||||
| 26 16828757 Cold_Resistance_Improved        16828758    M            7     ****       ****  ****       50_*_*_*_*_*   ****        42000          1           23_7_4_*    **** **** **** **** **** 0    ****     | ||||
| 27 16828759 Cold_Resistance_Greater         16828760    M            11    ****       ****  ****       50_*_*_*_*_*   ****        66000          2           23_7_6_*    **** **** **** **** **** 0    ****     | ||||
| 28 16828803 Cold_Warding                    16828804    M            21    ****       ****  ****       137_*_*_*_*_*  6           ****           3           23_7_10_*   **** **** **** **** **** 1    ****     | ||||
| 29 16828761 Electricity_Resistance          16828762    M            3     ****       ****  ****       50_*_*_*_*_*   ****        18000          ****        23_9_2_*    **** **** **** **** **** 0    ****     | ||||
| 30 16828763 Electricity_Resistance_Improved 16828764    M            7     ****       ****  ****       50_*_*_*_*_*   ****        42000          1           23_9_4_*    **** **** **** **** **** 0    ****     | ||||
| 31 16828765 Electricity_Resistance_Greater  16828766    M            11    ****       ****  ****       50_*_*_*_*_*   ****        66000          2           23_9_6_*    **** **** **** **** **** 0    ****     | ||||
| 32 16828813 Lightning_Warding               16828814    M            21    ****       ****  ****       137_*_*_*_*_*  6           ****           3           23_9_10_*   **** **** **** **** **** 1    ****     | ||||
| 33 16828767 Etherealness                    16828768    M            13    ****       ****  ****       443_*_*_*_*_*  ****        49000          ****        15_374_8_*  **** **** **** **** **** 0    ****     | ||||
| 34 16828769 Fire_Resistance                 16828770    M            3     ****       ****  ****       50_*_*_*_*_*   ****        18000          ****        23_10_2_*   **** **** **** **** **** 0    ****     | ||||
| 35 16828771 Fire_Resistance_Improved        16828772    M            7     ****       ****  ****       50_*_*_*_*_*   ****        42000          1           23_10_4_*   **** **** **** **** **** 0    ****     | ||||
| 36 16828773 Fire_Resistance_Greater         16828774    M            11    ****       ****  ****       50_*_*_*_*_*   ****        66000          2           23_10_6_*   **** **** **** **** **** 0    ****     | ||||
| 37 16828805 Fire_Warding                    16828806    M            21    ****       ****  ****       137_*_*_*_*_*  6           ****           3           23_10_10_*  **** **** **** **** **** 1    ****     | ||||
| 38 16828775 Invulnerability_5_Magic         16828776    M            18    ****       ****  ****       172_*_*_*_*_*  3           ****           ****        22_0_1_*    **** **** **** **** **** 0    ****     | ||||
| 39 16828807 Great_Invulnerability_10_Magic  16828808    M            19    ****       ****  ****       172_*_*_*_*_*  4           ****           1           22_0_2_*    **** **** **** **** **** 1    ****     | ||||
| 40 16828903 Great_Invulnerability_15_Magic  16828870    M            20    ****       ****  ****       172_*_*_*_*_*  5           ****           2           22_0_3_*    **** **** **** **** **** 1    ****     | ||||
| 41 16828904 Great_Invulnerability_5_Epic    16828871    M            21    ****       ****  ****       172_*_*_*_*_*  6           ****           3           22_5_1_*    **** **** **** **** **** 1    ****     | ||||
| 42 16828905 Great_Invulnerability_10_Epic   16828872    M            22    ****       ****  ****       172_*_*_*_*_*  7           ****           4           22_5_2_*    **** **** **** **** **** 1    ****     | ||||
| 43 16828777 Reflecting                      16828778    M            14    ****       ****  ****       1567_*_*_*_*_* 5           ****           ****        15_928_8_*  **** **** **** **** **** 0    ****     | ||||
| 44 16828809 Great_Reflection                16828810    M            25    ****       ****  ****       1567_*_*_*_*_* 10          ****           ****        15_928_13_* **** **** **** **** **** 1    ****     | ||||
| 45 16828779 Shadow                          16828780    M            5     ****       ****  ****       90_*_*_*_*_*   ****        3750           ****        52_5_5_*    **** **** **** **** **** 0    ****     | ||||
| 46 16828781 Shadow_Improved                 16828782    M            10    ****       ****  ****       90_*_*_*_*_*   ****        15000          1           52_5_10_*   **** **** **** **** **** 0    ****     | ||||
| 47 16828783 Shadow_Greater                  16828784    M            15    ****       ****  ****       90_*_*_*_*_*   ****        33750          2           52_5_15_*   **** **** **** **** **** 0    ****     | ||||
| 48 16828785 Silent_Moves                    16828786    M            5     ****       ****  ****       163_*_*_*_*_*  ****        3750           ****        52_8_5_*    **** **** **** **** **** 0    ****     | ||||
| 49 16828787 Silent_Moves_Improved           16828788    M            10    ****       ****  ****       163_*_*_*_*_*  ****        15000          1           52_8_10_*   **** **** **** **** **** 0    ****     | ||||
| 50 16828789 Silent_Moves_Greater            16828790    M            15    ****       ****  ****       163_*_*_*_*_*  ****        33750          2           52_8_15_*   **** **** **** **** **** 0    ****     | ||||
| 51 16828791 Sonic_Resistance                16828792    M            3     ****       ****  ****       50_*_*_*_*_*   ****        18000          ****        23_13_2_*   **** **** **** **** **** 0    ****     | ||||
| 52 16828793 Sonic_Resistance_Improved       16828794    M            7     ****       ****  ****       50_*_*_*_*_*   ****        42000          1           23_13_4_*   **** **** **** **** **** 0    ****     | ||||
| 53 16828795 Sonic_Resistance_Greater        16828796    M            11    ****       ****  ****       50_*_*_*_*_*   ****        66000          2           23_13_6_*   **** **** **** **** **** 0    ****     | ||||
| 54 16828815 Sonic_Warding                   16828816    M            21    ****       ****  ****       137_*_*_*_*_*  6           ****           3           23_13_10_*  **** **** **** **** **** 1    ****     | ||||
| 55 16828797 Spell_Resistance_13             16828798    M            15    ****       ****  ****       168_*_*_*_*_*  2           ****           ****        39_*_27_*   **** **** **** **** **** 0    ****     | ||||
| 56 16828906 Spell_Resistance_15             16828873    M            15    ****       ****  ****       168_*_*_*_*_*  3           ****           1           39_*_28_*   **** **** **** **** **** 0    ****     | ||||
| 57 16828907 Spell_Resistance_17             16828874    M            15    ****       ****  ****       168_*_*_*_*_*  4           ****           2           39_*_29_*   **** **** **** **** **** 0    ****     | ||||
| 58 16828908 Spell_Resistance_19             16828875    M            15    ****       ****  ****       168_*_*_*_*_*  5           ****           3           39_*_30_*   **** **** **** **** **** 0    ****     | ||||
| 59 16828811 Spell_Resistance_21             16828812    M            21    ****       ****  ****       168_*_*_*_*_*  6           ****           4           39_*_31_*   **** **** **** **** **** 1    ****     | ||||
| 60 16828909 Spell_Resistance_23             16828876    M            22    ****       ****  ****       168_*_*_*_*_*  7           ****           5           39_*_32_*   **** **** **** **** **** 1    ****     | ||||
| 61 16828910 Spell_Resistance_25             16828877    M            23    ****       ****  ****       168_*_*_*_*_*  8           ****           6           39_*_33_*   **** **** **** **** **** 1    ****     | ||||
| 62 16828911 Spell_Resistance_27             16828878    M            24    ****       ****  ****       168_*_*_*_*_*  9           ****           7           39_*_34_*   **** **** **** **** **** 1    ****     | ||||
| 63 16828799 Undead_Controlling              16828800    M            13    ****       ****  ****       28_*_*_*_*_*   ****        49000          ****        15_55_8_*   **** **** **** **** **** 0    ****     | ||||
|   | ||||
| @@ -1,45 +1,45 @@ | ||||
| 2DA V2.0 | ||||
|  | ||||
|    Name     Label                                 Description PropertyType Level PrereqMisc Skill SkillRanks Spells       Enhancement AdditionalCost BaseItem IP1         IP2       IP3       IP4        IP5        IP6  Epic Special  | ||||
| 0  16829098 Chameleon_Power                       16829127    M            3     ****       ****  ****       90_*_*_*_*   ****        12700          ****     52_5_10_*   ****      ****      ****       ****       **** 0    ****     | ||||
| 1  16829099 Minor_Energy_Resistance_Acid          16829128    M            3     ****       ****  ****       150_*_*_*_*  ****        12000          ****     23_6_2_*    ****      ****      ****       ****       **** 0    ****     | ||||
| 2  16829100 Major_Energy_Resistance_Acid          16829129    M            7     ****       ****  ****       150_*_*_*_*  ****        28000          ****     23_6_4_*    ****      ****      ****       ****       **** 0    ****     | ||||
| 3  16829101 Greater_Energy_Resistance_Acid        16829130    M            11    ****       ****  ****       150_*_*_*_*  ****        44000          ****     23_6_6_*    ****      ****      ****       ****       **** 0    ****     | ||||
| 4  16829102 Energy_Immunity_Acid                  16829131    M            20    ****       ****  ****       137_*_*_*_*  ****        240000         ****     23_6_20_*   ****      ****      ****       ****       **** 1    ****     | ||||
| 5  16829103 Minor_Energy_Resistance_Cold          16829132    M            3     ****       ****  ****       150_*_*_*_*  ****        12000          ****     23_7_2_*    ****      ****      ****       ****       **** 0    ****     | ||||
| 6  16829104 Major_Energy_Resistance_Cold          16829133    M            7     ****       ****  ****       150_*_*_*_*  ****        28000          ****     23_7_4_*    ****      ****      ****       ****       **** 0    ****     | ||||
| 7  16829105 Greater_Energy_Resistance_Cold        16829134    M            11    ****       ****  ****       150_*_*_*_*  ****        44000          ****     23_7_6_*    ****      ****      ****       ****       **** 0    ****     | ||||
| 8  16829106 Energy_Immunity_Cold                  16829135    M            20    ****       ****  ****       137_*_*_*_*  ****        240000         ****     23_7_20_*   ****      ****      ****       ****       **** 1    ****     | ||||
| 9  16829107 Minor_Energy_Resistance_Electricity   16829136    M            3     ****       ****  ****       150_*_*_*_*  ****        12000          ****     23_9_2_*    ****      ****      ****       ****       **** 0    ****     | ||||
| 10 16829108 Major_Energy_Resistance_Electricity   16829137    M            7     ****       ****  ****       150_*_*_*_*  ****        28000          ****     23_9_4_*    ****      ****      ****       ****       **** 0    ****     | ||||
| 11 16829109 Greater_Energy_Resistance_Electricity 16829138    M            11    ****       ****  ****       150_*_*_*_*  ****        44000          ****     23_9_6_*    ****      ****      ****       ****       **** 0    ****     | ||||
| 12 16829110 Energy_Immunity_Electricity           16829139    M            20    ****       ****  ****       137_*_*_*_*  ****        240000         ****     23_9_20_*   ****      ****      ****       ****       **** 1    ****     | ||||
| 13 16829111 Minor_Energy_Resistance_Fire          16829140    M            3     ****       ****  ****       150_*_*_*_*  ****        12000          ****     23_10_2_*   ****      ****      ****       ****       **** 0    ****     | ||||
| 14 16829112 Major_Energy_Resistance_Fire          16829141    M            7     ****       ****  ****       150_*_*_*_*  ****        28000          ****     23_10_4_*   ****      ****      ****       ****       **** 0    ****     | ||||
| 15 16829113 Greater_Energy_Resistance_Fire        16829142    M            11    ****       ****  ****       150_*_*_*_*  ****        44000          ****     23_10_6_*   ****      ****      ****       ****       **** 0    ****     | ||||
| 16 16829114 Energy_Immunity_Fire                  16829143    M            20    ****       ****  ****       137_*_*_*_*  ****        240000         ****     23_10_20_*  ****      ****      ****       ****       **** 1    ****     | ||||
| 17 16829115 Minor_Energy_Resistance_Sonic         16829144    M            3     ****       ****  ****       150_*_*_*_*  ****        12000          ****     23_13_2_*   ****      ****      ****       ****       **** 0    ****     | ||||
| 18 16829116 Major_Energy_Resistance_Sonic         16829145    M            7     ****       ****  ****       150_*_*_*_*  ****        28000          ****     23_13_4_*   ****      ****      ****       ****       **** 0    ****     | ||||
| 19 16829117 Greater_Energy_Resistance_Sonic       16829146    M            11    ****       ****  ****       150_*_*_*_*  ****        44000          ****     23_13_6_*   ****      ****      ****       ****       **** 0    ****     | ||||
| 20 16829118 Energy_Immunity_Sonic                 16829147    M            20    ****       ****  ****       137_*_*_*_*  ****        240000         ****     23_13_20_*  ****      ****      ****       ****       **** 1    ****     | ||||
| 21 16829119 Greater_Universal_Energy_Resistance   16829148    M            20    ****       ****  ****       137_*_*_*_*  ****        308000         ****     23_6_6_*    23_7_6_*  23_9_6_*  23_10_6_*  23_13_6_*  **** 1    ****     | ||||
| 22 16829120 Universal_Energy_Immunity             16829149    M            20    ****       ****  ****       137_*_*_*_*  ****        2160000        ****     23_6_20_*   23_7_20_* 23_9_20_* 23_10_20_* 23_13_20_* **** 1    ****     | ||||
| 23 16829121 Evasion                               16829150    M            7     ****       ****  ****       2070_*_*_*_* ****        25000          ****     12_386_*_*  ****      ****      ****       ****       **** 0    ****     | ||||
| 24 16829122 Freedom_of_Movement                   16829151    M            7     ****       ****  ****       62_*_*_*_*   ****        40000          ****     75_*_*_*    ****      ****      ****       ****       **** 0    ****     | ||||
| 25 13457    Invisibility                          16829152    M            3     ****       ****  ****       90_*_*_*_*   ****        20000          ****     15_151_13_* ****      ****      ****       ****       **** 0    ****     | ||||
| 26 90941    Ironskin                              16829153    M            20    ****       ****  ****       2071_*_*_*_* ****        400000         ****     22_4_3_*    ****      ****      ****       ****       **** 1    ****     | ||||
| 27 16829123 Jumping                               16829154    M            2     ****       28    5          ****         ****        2500           ****     52_28_5_*   ****      ****      ****       ****       **** 0    ****     | ||||
| 28 16829124 Jumping_Improved                      16829155    M            7     ****       28    10         ****         ****        10000          ****     52_28_10_*  ****      ****      ****       ****       **** 0    ****     | ||||
| 29 13453    Protection_+1                         16829156    M            5     ****       ****  ****       450_*_*_*_*  ****        2000           ****     1_*_1_*     ****      ****      ****       ****       **** 0    ****     | ||||
| 30 13467    Protection_+2                         16829157    M            6     ****       ****  ****       450_*_*_*_*  ****        8000           ****     1_*_2_*     ****      ****      ****       ****       **** 0    ****     | ||||
| 31 13480    Protection_+3                         16829158    M            9     ****       ****  ****       450_*_*_*_*  ****        18000          ****     1_*_3_*     ****      ****      ****       ****       **** 0    ****     | ||||
| 32 13481    Protection_+4                         16829159    M            12    ****       ****  ****       450_*_*_*_*  ****        32000          ****     1_*_4_*     ****      ****      ****       ****       **** 0    ****     | ||||
| 33 13482    Protection_+5                         16829160    M            15    ****       ****  ****       450_*_*_*_*  ****        50000          ****     1_*_5_*     ****      ****      ****       ****       **** 0    ****     | ||||
| 34 90936    Protection_+6                         16829161    M            20    ****       ****  ****       450_*_*_*_*  ****        720000         ****     1_*_6_*     ****      ****      ****       ****       **** 1    ****     | ||||
| 35 90937    Protection_+7                         16829162    M            21    ****       ****  ****       450_*_*_*_*  ****        980000         ****     1_*_7_*     ****      ****      ****       ****       **** 1    ****     | ||||
| 36 90938    Protection_+8                         16829163    M            24    ****       ****  ****       450_*_*_*_*  ****        1280000        ****     1_*_8_*     ****      ****      ****       ****       **** 1    ****     | ||||
| 37 90939    Protection_+9                         16829164    M            27    ****       ****  ****       450_*_*_*_*  ****        1620000        ****     1_*_9_*     ****      ****      ****       ****       **** 1    ****     | ||||
| 38 90940    Protection_+10                        16829165    M            30    ****       ****  ****       450_*_*_*_*  ****        2000000        ****     1_*_10_*    ****      ****      ****       ****       **** 1    ****     | ||||
| 39 13459    Regeneration                          16829166    M            15    ****       ****  ****       374_*_*_*_*  ****        90000          ****     51_*_1_*    ****      ****      ****       ****       **** 0    ****     | ||||
| 40 16829125 Rapid_Healing                         16829167    M            20    ****       ****  ****       374_*_*_*_*  ****        300000         ****     51_*_3_*    ****      ****      ****       ****       **** 1    ****     | ||||
| 41 16829126 Spell_Turning                         16829168    M            13    ****       ****  ****       1567_*_*_*_* ****        98280          ****     15_928_10_* ****      ****      ****       ****       **** 0    ****     | ||||
|    Name     Label                                 Description PropertyType Level PrereqMisc Skill SkillRanks Spells         Enhancement AdditionalCost BaseItem IP1         IP2       IP3       IP4        IP5        IP6  Epic Special  | ||||
| 0  16829098 Chameleon_Power                       16829127    M            3     ****       ****  ****       90_*_*_*_*_*   ****        12700          ****     52_5_10_*   ****      ****      ****       ****       **** 0    ****     | ||||
| 1  16829099 Minor_Energy_Resistance_Acid          16829128    M            3     ****       ****  ****       150_*_*_*_*_*  ****        12000          ****     23_6_2_*    ****      ****      ****       ****       **** 0    ****     | ||||
| 2  16829100 Major_Energy_Resistance_Acid          16829129    M            7     ****       ****  ****       150_*_*_*_*_*  ****        28000          ****     23_6_4_*    ****      ****      ****       ****       **** 0    ****     | ||||
| 3  16829101 Greater_Energy_Resistance_Acid        16829130    M            11    ****       ****  ****       150_*_*_*_*_*  ****        44000          ****     23_6_6_*    ****      ****      ****       ****       **** 0    ****     | ||||
| 4  16829102 Energy_Immunity_Acid                  16829131    M            20    ****       ****  ****       137_*_*_*_*_*  ****        240000         ****     23_6_20_*   ****      ****      ****       ****       **** 1    ****     | ||||
| 5  16829103 Minor_Energy_Resistance_Cold          16829132    M            3     ****       ****  ****       150_*_*_*_*_*  ****        12000          ****     23_7_2_*    ****      ****      ****       ****       **** 0    ****     | ||||
| 6  16829104 Major_Energy_Resistance_Cold          16829133    M            7     ****       ****  ****       150_*_*_*_*_*  ****        28000          ****     23_7_4_*    ****      ****      ****       ****       **** 0    ****     | ||||
| 7  16829105 Greater_Energy_Resistance_Cold        16829134    M            11    ****       ****  ****       150_*_*_*_*_*  ****        44000          ****     23_7_6_*    ****      ****      ****       ****       **** 0    ****     | ||||
| 8  16829106 Energy_Immunity_Cold                  16829135    M            20    ****       ****  ****       137_*_*_*_*_*  ****        240000         ****     23_7_20_*   ****      ****      ****       ****       **** 1    ****     | ||||
| 9  16829107 Minor_Energy_Resistance_Electricity   16829136    M            3     ****       ****  ****       150_*_*_*_*_*  ****        12000          ****     23_9_2_*    ****      ****      ****       ****       **** 0    ****     | ||||
| 10 16829108 Major_Energy_Resistance_Electricity   16829137    M            7     ****       ****  ****       150_*_*_*_*_*  ****        28000          ****     23_9_4_*    ****      ****      ****       ****       **** 0    ****     | ||||
| 11 16829109 Greater_Energy_Resistance_Electricity 16829138    M            11    ****       ****  ****       150_*_*_*_*_*  ****        44000          ****     23_9_6_*    ****      ****      ****       ****       **** 0    ****     | ||||
| 12 16829110 Energy_Immunity_Electricity           16829139    M            20    ****       ****  ****       137_*_*_*_*_*  ****        240000         ****     23_9_20_*   ****      ****      ****       ****       **** 1    ****     | ||||
| 13 16829111 Minor_Energy_Resistance_Fire          16829140    M            3     ****       ****  ****       150_*_*_*_*_*  ****        12000          ****     23_10_2_*   ****      ****      ****       ****       **** 0    ****     | ||||
| 14 16829112 Major_Energy_Resistance_Fire          16829141    M            7     ****       ****  ****       150_*_*_*_*_*  ****        28000          ****     23_10_4_*   ****      ****      ****       ****       **** 0    ****     | ||||
| 15 16829113 Greater_Energy_Resistance_Fire        16829142    M            11    ****       ****  ****       150_*_*_*_*_*  ****        44000          ****     23_10_6_*   ****      ****      ****       ****       **** 0    ****     | ||||
| 16 16829114 Energy_Immunity_Fire                  16829143    M            20    ****       ****  ****       137_*_*_*_*_*  ****        240000         ****     23_10_20_*  ****      ****      ****       ****       **** 1    ****     | ||||
| 17 16829115 Minor_Energy_Resistance_Sonic         16829144    M            3     ****       ****  ****       150_*_*_*_*_*  ****        12000          ****     23_13_2_*   ****      ****      ****       ****       **** 0    ****     | ||||
| 18 16829116 Major_Energy_Resistance_Sonic         16829145    M            7     ****       ****  ****       150_*_*_*_*_*  ****        28000          ****     23_13_4_*   ****      ****      ****       ****       **** 0    ****     | ||||
| 19 16829117 Greater_Energy_Resistance_Sonic       16829146    M            11    ****       ****  ****       150_*_*_*_*_*  ****        44000          ****     23_13_6_*   ****      ****      ****       ****       **** 0    ****     | ||||
| 20 16829118 Energy_Immunity_Sonic                 16829147    M            20    ****       ****  ****       137_*_*_*_*_*  ****        240000         ****     23_13_20_*  ****      ****      ****       ****       **** 1    ****     | ||||
| 21 16829119 Greater_Universal_Energy_Resistance   16829148    M            20    ****       ****  ****       137_*_*_*_*_*  ****        308000         ****     23_6_6_*    23_7_6_*  23_9_6_*  23_10_6_*  23_13_6_*  **** 1    ****     | ||||
| 22 16829120 Universal_Energy_Immunity             16829149    M            20    ****       ****  ****       137_*_*_*_*    ****        2160000        ****     23_6_20_*   23_7_20_* 23_9_20_* 23_10_20_* 23_13_20_* **** 1    ****     | ||||
| 23 16829121 Evasion                               16829150    M            7     ****       ****  ****       2070_*_*_*_*_* ****        25000          ****     12_386_*_*  ****      ****      ****       ****       **** 0    ****     | ||||
| 24 16829122 Freedom_of_Movement                   16829151    M            7     ****       ****  ****       62_*_*_*_*_*   ****        40000          ****     75_*_*_*    ****      ****      ****       ****       **** 0    ****     | ||||
| 25 13457    Invisibility                          16829152    M            3     ****       ****  ****       90_*_*_*_*_*   ****        20000          ****     15_151_13_* ****      ****      ****       ****       **** 0    ****     | ||||
| 26 90941    Ironskin                              16829153    M            20    ****       ****  ****       2071_*_*_*_*_* ****        400000         ****     22_4_3_*    ****      ****      ****       ****       **** 1    ****     | ||||
| 27 16829123 Jumping                               16829154    M            2     ****       28    5          ****           ****        2500           ****     52_28_5_*   ****      ****      ****       ****       **** 0    ****     | ||||
| 28 16829124 Jumping_Improved                      16829155    M            7     ****       28    10         ****           ****        10000          ****     52_28_10_*  ****      ****      ****       ****       **** 0    ****     | ||||
| 29 13453    Protection_+1                         16829156    M            5     ****       ****  ****       450_*_*_*_*_*  ****        2000           ****     1_*_1_*     ****      ****      ****       ****       **** 0    ****     | ||||
| 30 13467    Protection_+2                         16829157    M            6     ****       ****  ****       450_*_*_*_*_*  ****        8000           ****     1_*_2_*     ****      ****      ****       ****       **** 0    ****     | ||||
| 31 13480    Protection_+3                         16829158    M            9     ****       ****  ****       450_*_*_*_*_*  ****        18000          ****     1_*_3_*     ****      ****      ****       ****       **** 0    ****     | ||||
| 32 13481    Protection_+4                         16829159    M            12    ****       ****  ****       450_*_*_*_*_*  ****        32000          ****     1_*_4_*     ****      ****      ****       ****       **** 0    ****     | ||||
| 33 13482    Protection_+5                         16829160    M            15    ****       ****  ****       450_*_*_*_*_*  ****        50000          ****     1_*_5_*     ****      ****      ****       ****       **** 0    ****     | ||||
| 34 90936    Protection_+6                         16829161    M            20    ****       ****  ****       450_*_*_*_*_*  ****        720000         ****     1_*_6_*     ****      ****      ****       ****       **** 1    ****     | ||||
| 35 90937    Protection_+7                         16829162    M            21    ****       ****  ****       450_*_*_*_*_*  ****        980000         ****     1_*_7_*     ****      ****      ****       ****       **** 1    ****     | ||||
| 36 90938    Protection_+8                         16829163    M            24    ****       ****  ****       450_*_*_*_*_*  ****        1280000        ****     1_*_8_*     ****      ****      ****       ****       **** 1    ****     | ||||
| 37 90939    Protection_+9                         16829164    M            27    ****       ****  ****       450_*_*_*_*_*  ****        1620000        ****     1_*_9_*     ****      ****      ****       ****       **** 1    ****     | ||||
| 38 90940    Protection_+10                        16829165    M            30    ****       ****  ****       450_*_*_*_*_*  ****        2000000        ****     1_*_10_*    ****      ****      ****       ****       **** 1    ****     | ||||
| 39 13459    Regeneration                          16829166    M            15    ****       ****  ****       374_*_*_*_*_*  ****        90000          ****     51_*_1_*    ****      ****      ****       ****       **** 0    ****     | ||||
| 40 16829125 Rapid_Healing                         16829167    M            20    ****       ****  ****       374_*_*_*_*_*  ****        300000         ****     51_*_3_*    ****      ****      ****       ****       **** 1    ****     | ||||
| 41 16829126 Spell_Turning                         16829168    M            13    ****       ****  ****       1567_*_*_*_*_* ****        98280          ****     15_928_10_* ****      ****      ****       ****       **** 0    ****     | ||||
|   | ||||
| @@ -1,50 +1,50 @@ | ||||
| 2DA V2.0 | ||||
|  | ||||
|            Name     Label             Description PropertyType Level PrereqMisc Skill SkillRanks Spells           Enhancement AdditionalCost ReplaceLast IP1         IP2        IP3        IP4  IP5  IP6  Epic Special  | ||||
| 0          16828726 Enhancement_+1    16828746    ****         3     ****       ****  ****       ****             1           ****           ****        6_*_1_*     ****       ****       **** **** **** 0    ****     | ||||
| 1          16828727 Enhancement_+2    16828746    ****         6     ****       ****  ****       ****             2           ****           1           6_*_2_*     ****       ****       **** **** **** 0    ****     | ||||
| 2          16828728 Enhancement_+3    16828746    ****         9     ****       ****  ****       ****             3           ****           2           6_*_3_*     ****       ****       **** **** **** 0    ****     | ||||
| 3          16828729 Enhancement_+4    16828746    ****         12    ****       ****  ****       ****             4           ****           3           6_*_4_*     ****       ****       **** **** **** 0    ****     | ||||
| 4          16828730 Enhancement_+5    16828746    ****         15    ****       ****  ****       ****             5           ****           4           6_*_5_*     ****       ****       **** **** **** 0    ****     | ||||
| 5          16828731 Enhancement_+6    16828746    ****         18    ****       ****  ****       ****             6           ****           5           6_*_6_*     ****       ****       **** **** **** 1    ****     | ||||
| 6          16828732 Enhancement_+7    16828746    ****         21    ****       ****  ****       ****             7           ****           6           6_*_7_*     ****       ****       **** **** **** 1    ****     | ||||
| 7          16828733 Enhancement_+8    16828746    ****         24    ****       ****  ****       ****             8           ****           7           6_*_8_*     ****       ****       **** **** **** 1    ****     | ||||
| 8          16828734 Enhancement_+9    16828746    ****         27    ****       ****  ****       ****             9           ****           8           6_*_9_*     ****       ****       **** **** **** 1    ****     | ||||
| 9          16828735 Enhancement_+10   16828746    ****         30    ****       ****  ****       ****             10          ****           9           6_*_10_*    ****       ****       **** **** **** 1    ****     | ||||
| 10         16828736 Enhancement_+11   16828746    ****         33    ****       ****  ****       ****             11          ****           10          6_*_11_*    ****       ****       **** **** **** 1    ****     | ||||
| 11         16828737 Enhancement_+12   16828746    ****         36    ****       ****  ****       ****             12          ****           11          6_*_12_*    ****       ****       **** **** **** 1    ****     | ||||
| 12         16828738 Enhancement_+13   16828746    ****         39    ****       ****  ****       ****             13          ****           12          6_*_13_*    ****       ****       **** **** **** 1    ****     | ||||
| 13         16828739 Enhancement_+14   16828746    ****         42    ****       ****  ****       ****             14          ****           13          6_*_14_*    ****       ****       **** **** **** 1    ****     | ||||
| 14         16828740 Enhancement_+15   16828746    ****         45    ****       ****  ****       ****             15          ****           14          6_*_15_*    ****       ****       **** **** **** 1    ****     | ||||
| 15         16828741 Enhancement_+16   16828746    ****         48    ****       ****  ****       ****             16          ****           15          6_*_16_*    ****       ****       **** **** **** 1    ****     | ||||
| 16         16828742 Enhancement_+17   16828746    ****         51    ****       ****  ****       ****             17          ****           16          6_*_17_*    ****       ****       **** **** **** 1    ****     | ||||
| 17         16828743 Enhancement_+18   16828746    ****         54    ****       ****  ****       ****             18          ****           17          6_*_18_*    ****       ****       **** **** **** 1    ****     | ||||
| 18         16828744 Enhancement_+19   16828746    ****         57    ****       ****  ****       ****             19          ****           18          6_*_19_*    ****       ****       **** **** **** 1    ****     | ||||
| 19         16828745 Enhancement_+20   16828746    ****         60    ****       ****  ****       ****             20          ****           19          6_*_20_*    ****       ****       **** **** **** 1    ****     | ||||
| 20         16838068 Corrosive         16838069    M            10    ****       ****  ****       *_*_*_0_115      1           ****           ****        16_6_7_*    ****       ****       **** **** **** 0    ****     | ||||
| 21         16828846 Acidic_Blast      16828847    M            21    ****       ****  ****       0_*_*_*_*        6           ****           1           16_6_31_*   ****       ****       **** **** **** 1    ****     | ||||
| 22         16828824 Anarchic          16828825    M            7     *_*_*_C_*  ****  ****       76_*_*_*_*       2           ****           ****        17_2_10_8   ****       ****       **** **** **** 0    ****     | ||||
| 23         16828848 Anarchic_Power    16828849    M            21    *_*_*_C_*  ****  ****       3223_*_*_*_*     8           ****           1           17_2_31_8   48_17_70_1 ****       **** **** **** 1    ****     | ||||
| 24         16828826 Axiomatic         16828827    M            7     *_*_*_L_*  ****  ****       76_*_*_*_*       2           ****           ****        17_3_10_8   ****       ****       **** **** **** 0    ****     | ||||
| 25         16828850 Axiomatic_Power   16828851    M            21    *_*_*_L_*  ****  ****       3222_*_*_*_*     8           ****           1           17_3_31_8   48_17_70_1 ****       **** **** **** 1    ****     | ||||
| 26         16828828 Bane              16828829    M            8     ****       ****  ****       174_*_*_*_*      1           ****           ****        18_*_10_4   8_*_2_*    ****       **** **** **** 0    1        | ||||
| 27         16828852 Dread             16828853    M            22    ****       ****  ****       178_*_*_*_*      7           ****           1           18_*_32_4   8_*_4_*    48_21_27_* **** **** **** 1    1        | ||||
| 28         16828830 Disruption        16828831    M            14    ****       ****  ****       79_*_*_*_*       2           ****           ****        48_21_0_24  ****       ****       **** **** **** 0    1        | ||||
| 29         16828862 Mighty_Disruption 16828863    M            21    ****       ****  ****       1855_*_*_*_*     6           ****           1           48_21_21_24 ****       ****       **** **** **** 1    1        | ||||
| 30         16828832 Flaming           16828833    M            10    ****       ****  ****       542_*_*_58_61    1           ****           ****        16_10_7_*   ****       ****       **** **** **** 0    ****     | ||||
| 31         16828854 Fiery_Blast       16828855    M            21    ****       ****  ****       58_*_*_*_*       6           ****           1           16_10_31_*  ****       ****       **** **** **** 1    ****     | ||||
| 32         16828834 Frost             16828835    M            8     ****       ****  ****       *_*_*_368_*      1           ****           ****        16_7_7_*    ****       ****       **** **** **** 0    ****     | ||||
| 33         16828858 Icy_Blast         16828859    M            21    ****       ****  ****       25_*_*_*_*       6           ****           1           16_7_31_*   ****       ****       **** **** **** 1    ****     | ||||
| 34         16828836 Holy              16828837    M            7     *_*_G_*_*  ****  ****       76_*_*_*_*       2           ****           ****        17_5_10_8   ****       ****       **** **** **** 0    ****     | ||||
| 35         16828856 Holy_Power        16828857    M            21    *_*_G_*_*  ****  ****       3220_*_*_*_*     8           ****           1           17_5_31_8   48_17_70_1 ****       **** **** **** 1    ****     | ||||
| 36         16828838 Keen              16828839    M            10    ****       ****  ****       539_*_*_*_*      1           ****           ****        43_*_*_*    ****       ****       **** **** **** 0    1        | ||||
| 37         16828840 Shock             16828841    M            8     ****       ****  ****       *_*_*_11_101     1           ****           ****        16_9_7_*    ****       ****       **** **** **** 0    ****     | ||||
| 38         16828860 Lightning_Blast   16828861    M            21    ****       ****  ****       101_*_*_*_*      6           ****           1           16_9_31_*   ****       ****       **** **** **** 1    ****     | ||||
| 39         16838070 Screaming         16838071    M            7     ****       ****  ****       *_*_*_1953_167   1           ****           ****        16_13_6_*   ****       ****       **** **** **** 0    ****     | ||||
| 40         16828864 Sonic_Blast       16828865    M            0     ****       ****  ****       1953_*_*_*_*     6           ****           1           16_13_31_*  ****       ****       **** **** **** 1    ****     | ||||
| 41         16828842 Unholy            16828843    M            7     *_*_E_*_*  ****  ****       76_*_*_*_*       2           ****           ****        17_4_10_8   ****       ****       **** **** **** 0    ****     | ||||
| 42         16828866 Unholy_Power      16828867    M            21    *_*_E_*_*  ****  ****       3221_*_*_*_*     8           ****           1           17_4_31_8   48_17_70_1 ****       **** **** **** 1    ****     | ||||
| 43         16828844 Vorpal            16828845    M            18    ****       ****  ****       18_539_*_*_*     5           ****           ****        48_24_70_*  ****       ****       **** **** **** 0    1        | ||||
| 44         16828868 Wounding          16828869    M            10    ****       ****  ****       *_*_*_123_533    2           ****           ****        48_25_70_1  ****       ****       **** **** **** 0    ****     | ||||
| 45         16824501 Psychokinetic     16838249    ****         10    ****       ****  ****       *_*_*_2343_14054 1           ****           ****        16_5_6_*_*  ****       ****       **** **** **** 0    ****     | ||||
| 46         16834308 Echoblade         16834309    M            10    *_*_*_*_1  ****  ****       ****             1           ****           ****        104_*_*_*   ****       ****       **** **** **** 0    ****     | ||||
|    Name     Label             Description PropertyType Level PrereqMisc Skill SkillRanks Spells             Enhancement AdditionalCost ReplaceLast IP1         IP2        IP3        IP4  IP5  IP6  Epic Special  | ||||
| 0  16828726 Enhancement_+1    16828746    ****         3     ****       ****  ****       ****               1           ****           ****        6_*_1_*     ****       ****       **** **** **** 0    ****     | ||||
| 1  16828727 Enhancement_+2    16828746    ****         6     ****       ****  ****       ****               2           ****           1           6_*_2_*     ****       ****       **** **** **** 0    ****     | ||||
| 2  16828728 Enhancement_+3    16828746    ****         9     ****       ****  ****       ****               3           ****           2           6_*_3_*     ****       ****       **** **** **** 0    ****     | ||||
| 3  16828729 Enhancement_+4    16828746    ****         12    ****       ****  ****       ****               4           ****           3           6_*_4_*     ****       ****       **** **** **** 0    ****     | ||||
| 4  16828730 Enhancement_+5    16828746    ****         15    ****       ****  ****       ****               5           ****           4           6_*_5_*     ****       ****       **** **** **** 0    ****     | ||||
| 5  16828731 Enhancement_+6    16828746    ****         18    ****       ****  ****       ****               6           ****           5           6_*_6_*     ****       ****       **** **** **** 1    ****     | ||||
| 6  16828732 Enhancement_+7    16828746    ****         21    ****       ****  ****       ****               7           ****           6           6_*_7_*     ****       ****       **** **** **** 1    ****     | ||||
| 7  16828733 Enhancement_+8    16828746    ****         24    ****       ****  ****       ****               8           ****           7           6_*_8_*     ****       ****       **** **** **** 1    ****     | ||||
| 8  16828734 Enhancement_+9    16828746    ****         27    ****       ****  ****       ****               9           ****           8           6_*_9_*     ****       ****       **** **** **** 1    ****     | ||||
| 9  16828735 Enhancement_+10   16828746    ****         30    ****       ****  ****       ****               10          ****           9           6_*_10_*    ****       ****       **** **** **** 1    ****     | ||||
| 10 16828736 Enhancement_+11   16828746    ****         33    ****       ****  ****       ****               11          ****           10          6_*_11_*    ****       ****       **** **** **** 1    ****     | ||||
| 11 16828737 Enhancement_+12   16828746    ****         36    ****       ****  ****       ****               12          ****           11          6_*_12_*    ****       ****       **** **** **** 1    ****     | ||||
| 12 16828738 Enhancement_+13   16828746    ****         39    ****       ****  ****       ****               13          ****           12          6_*_13_*    ****       ****       **** **** **** 1    ****     | ||||
| 13 16828739 Enhancement_+14   16828746    ****         42    ****       ****  ****       ****               14          ****           13          6_*_14_*    ****       ****       **** **** **** 1    ****     | ||||
| 14 16828740 Enhancement_+15   16828746    ****         45    ****       ****  ****       ****               15          ****           14          6_*_15_*    ****       ****       **** **** **** 1    ****     | ||||
| 15 16828741 Enhancement_+16   16828746    ****         48    ****       ****  ****       ****               16          ****           15          6_*_16_*    ****       ****       **** **** **** 1    ****     | ||||
| 16 16828742 Enhancement_+17   16828746    ****         51    ****       ****  ****       ****               17          ****           16          6_*_17_*    ****       ****       **** **** **** 1    ****     | ||||
| 17 16828743 Enhancement_+18   16828746    ****         54    ****       ****  ****       ****               18          ****           17          6_*_18_*    ****       ****       **** **** **** 1    ****     | ||||
| 18 16828744 Enhancement_+19   16828746    ****         57    ****       ****  ****       ****               19          ****           18          6_*_19_*    ****       ****       **** **** **** 1    ****     | ||||
| 19 16828745 Enhancement_+20   16828746    ****         60    ****       ****  ****       ****               20          ****           19          6_*_20_*    ****       ****       **** **** **** 1    ****     | ||||
| 20 16838068 Corrosive         16838069    M            10    ****       ****  ****       *_*_*_0_115_*      1           ****           ****        16_6_7_*    ****       ****       **** **** **** 0    ****     | ||||
| 21 16828846 Acidic_Blast      16828847    M            21    ****       ****  ****       0_*_*_*_*_*        6           ****           1           16_6_31_*   ****       ****       **** **** **** 1    ****     | ||||
| 22 16828824 Anarchic          16828825    M            7     *_*_*_C_*  ****  ****       76_*_*_*_*_*       2           ****           ****        17_2_10_8   ****       ****       **** **** **** 0    ****     | ||||
| 23 16828848 Anarchic_Power    16828849    M            21    *_*_*_C_*  ****  ****       3223_*_*_*_*_*     8           ****           1           17_2_31_8   48_17_70_1 ****       **** **** **** 1    ****     | ||||
| 24 16828826 Axiomatic         16828827    M            7     *_*_*_L_*  ****  ****       76_*_*_*_*_*       2           ****           ****        17_3_10_8   ****       ****       **** **** **** 0    ****     | ||||
| 25 16828850 Axiomatic_Power   16828851    M            21    *_*_*_L_*  ****  ****       3222_*_*_*_*_*     8           ****           1           17_3_31_8   48_17_70_1 ****       **** **** **** 1    ****     | ||||
| 26 16828828 Bane              16828829    M            8     ****       ****  ****       174_*_*_*_*_*      1           ****           ****        18_*_10_4   8_*_2_*    ****       **** **** **** 0    1        | ||||
| 27 16828852 Dread             16828853    M            22    ****       ****  ****       178_*_*_*_*_*      7           ****           1           18_*_32_4   8_*_4_*    48_21_27_* **** **** **** 1    1        | ||||
| 28 16828830 Disruption        16828831    M            14    ****       ****  ****       79_*_*_*_*_*       2           ****           ****        48_21_0_24  ****       ****       **** **** **** 0    1        | ||||
| 29 16828862 Mighty_Disruption 16828863    M            21    ****       ****  ****       1855_*_*_*_*_*     6           ****           1           48_21_21_24 ****       ****       **** **** **** 1    1        | ||||
| 30 16828832 Flaming           16828833    M            10    ****       ****  ****       *_*_*_542_58_61    1           ****           ****        16_10_7_*   ****       ****       **** **** **** 0    ****     | ||||
| 31 16828854 Fiery_Blast       16828855    M            21    ****       ****  ****       58_*_*_*_*_*       6           ****           1           16_10_31_*  ****       ****       **** **** **** 1    ****     | ||||
| 32 16828834 Frost             16828835    M            8     ****       ****  ****       *_*_*_368_*_*      1           ****           ****        16_7_7_*    ****       ****       **** **** **** 0    ****     | ||||
| 33 16828858 Icy_Blast         16828859    M            21    ****       ****  ****       25_*_*_*_*_*       6           ****           1           16_7_31_*   ****       ****       **** **** **** 1    ****     | ||||
| 34 16828836 Holy              16828837    M            7     *_*_G_*_*  ****  ****       76_*_*_*_*_*       2           ****           ****        17_5_10_8   ****       ****       **** **** **** 0    ****     | ||||
| 35 16828856 Holy_Power        16828857    M            21    *_*_G_*_*  ****  ****       3220_*_*_*_*_*     8           ****           1           17_5_31_8   48_17_70_1 ****       **** **** **** 1    ****     | ||||
| 36 16828838 Keen              16828839    M            10    ****       ****  ****       539_*_*_*_*_*      1           ****           ****        43_*_*_*    ****       ****       **** **** **** 0    1        | ||||
| 37 16828840 Shock             16828841    M            8     ****       ****  ****       *_*_*_11_101_*     1           ****           ****        16_9_7_*    ****       ****       **** **** **** 0    ****     | ||||
| 38 16828860 Lightning_Blast   16828861    M            21    ****       ****  ****       101_*_*_*_*_*      6           ****           1           16_9_31_*   ****       ****       **** **** **** 1    ****     | ||||
| 39 16838070 Screaming         16838071    M            7     ****       ****  ****       *_*_*_1953_167_*   1           ****           ****        16_13_6_*   ****       ****       **** **** **** 0    ****     | ||||
| 40 16828864 Sonic_Blast       16828865    M            0     ****       ****  ****       1953_*_*_*_*_*     6           ****           1           16_13_31_*  ****       ****       **** **** **** 1    ****     | ||||
| 41 16828842 Unholy            16828843    M            7     *_*_E_*_*  ****  ****       76_*_*_*_*_*       2           ****           ****        17_4_10_8   ****       ****       **** **** **** 0    ****     | ||||
| 42 16828866 Unholy_Power      16828867    M            21    *_*_E_*_*  ****  ****       3221_*_*_*_*_*     8           ****           1           17_4_31_8   48_17_70_1 ****       **** **** **** 1    ****     | ||||
| 43 16828844 Vorpal            16828845    M            18    ****       ****  ****       18_539_*_*_*_*     5           ****           ****        48_24_70_*  ****       ****       **** **** **** 0    1        | ||||
| 44 16828868 Wounding          16828869    M            10    ****       ****  ****       *_*_*_123_533_*    2           ****           ****        48_25_70_1  ****       ****       **** **** **** 0    ****     | ||||
| 45 16824501 Psychokinetic     16838249    ****         10    ****       ****  ****       *_*_*_2343_14054_* 1           ****           ****        16_5_6_*_*  ****       ****       **** **** **** 0    ****     | ||||
| 46 16834308 Echoblade         16834309    M            10    *_*_*_*_1  ****  ****       ****               1           ****           ****        104_*_*_*   ****       ****       **** **** **** 0    ****     | ||||
|   | ||||
| @@ -1,120 +1,120 @@ | ||||
| 2DA V2.0 | ||||
|  | ||||
|     Name     Label                               Description PropertyType Level PrereqMisc Skill SkillRanks Spells             Enhancement AdditionalCost BaseItem IP1          IP2         IP3          IP4        IP5         IP6      Epic Special  | ||||
| 0   16828912 Amulet_of_Health_+2                 16828979    M            8     ****       ****  ****       49_*_*_*_*         ****        4000           19       0_2_2_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 1   16828913 Amulet_of_Health_+4                 16828980    M            8     ****       ****  ****       49_*_*_*_*         ****        16000          19       0_2_4_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 2   16828914 Amulet_of_Health_+6                 16828981    M            8     ****       ****  ****       49_*_*_*_*         ****        36000          19       0_2_6_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 3   13380    Amulet_of_Natural_Armor_+1          16828982    M            5     ****       ****  ****       3_*_*_*_*          ****        2000           19       1_*_1_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 4   13398    Amulet_of_Natural_Armor_+2          16828983    M            6     ****       ****  ****       3_*_*_*_*          ****        8000           19       1_*_2_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 5   13399    Amulet_of_Natural_Armor_+3          16828984    M            9     ****       ****  ****       3_*_*_*_*          ****        18000          19       1_*_3_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 6   13400    Amulet_of_Natural_Armor_+4          16828985    M            12    ****       ****  ****       3_*_*_*_*          ****        32000          19       1_*_4_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 7   13401    Amulet_of_Natural_Armor_+5          16828986    M            15    ****       ****  ****       3_*_*_*_*          ****        50000          19       1_*_5_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 8   16828915 Amulet_of_Epic_Natural_Armor_+6     16828987    M            20    ****       ****  ****       3_*_*_*_*          ****        720000         19       1_*_6_*      ****        ****         ****       ****        ****     1    ****     | ||||
| 9   16828916 Amulet_of_Epic_Natural_Armor_+7     16828988    M            21    ****       ****  ****       3_*_*_*_*          ****        980000         19       1_*_7_*      ****        ****         ****       ****        ****     1    ****     | ||||
| 10  16828917 Amulet_of_Epic_Natural_Armor_+8     16828989    M            24    ****       ****  ****       3_*_*_*_*          ****        1280000        19       1_*_8_*      ****        ****         ****       ****        ****     1    ****     | ||||
| 11  16828918 Amulet_of_Epic_Natural_Armor_+9     16828990    M            27    ****       ****  ****       3_*_*_*_*          ****        1620000        19       1_*_9_*      ****        ****         ****       ****        ****     1    ****     | ||||
| 12  16828919 Amulet_of_Epic_Natural_Armor_+10    16828991    M            30    ****       ****  ****       3_*_*_*_*          ****        2000000        19       1_*_10_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 13  16828920 Belt_of_Giant_Strength_+4           16828992    M            10    ****       ****  ****       9_*_*_*_*          ****        16000          21       0_0_4_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 14  16828921 Belt_of_Giant_Strength_+6           16828993    M            10    ****       ****  ****       9_*_*_*_*          ****        36000          21       0_0_6_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 15  16828922 Belt_of_Epic_Strength_+8            16828994    M            20    ****       ****  ****       9_*_*_*_*          ****        640000         21       0_0_8_*      ****        ****         ****       ****        ****     1    ****     | ||||
| 16  16828923 Belt_of_Epic_Strength_+10           16828995    M            20    ****       ****  ****       9_*_*_*_*          ****        1000000        21       0_0_10_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 17  16828924 Belt_of_Epic_Strength_+12           16828996    M            20    ****       ****  ****       9_*_*_*_*          ****        1440000        21       0_0_12_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 18  13337    Boots_of_Elvenkind                  16828997    M            5     1_*_*_*_*  ****  ****       ****               ****        2500           26       52_8_5_*     ****        ****         ****       ****        ****     0    ****     | ||||
| 19  13343    Boots_of_Speed                      16828998    M            10    ****       ****  ****       78_*_*_*_*         ****        12000          26       15_138_8_*   ****        ****         ****       ****        ****     0    ****     | ||||
| 20  16828925 Boots_of_Swiftness                  16828999    M            20    ****       ****  ****       13_456_78_2070_*   ****        256000         26       0_1_6_*      12_386_*_*  52_21_20_*   52_28_20_* 15_138_10_* ****     1    ****     | ||||
| 21  16828926 Boots_of_Teleportation              16829000    M            9     ****       ****  ****       2874_*_*_*_*       ****        49000          26       15_1169_10_* ****        ****         ****       ****        ****     0    ****     | ||||
| 22  48314    Boots_of_the_Winterlands            16829001    M            5     ****       ****  ****       13_50_*_*_*        ****        2500           26       23_7_1_*     23_10_1_*   ****         ****       ****        ****     0    ****     | ||||
| 23  13350    Bracers_of_Armor_+1                 16829002    M            7     ****       ****  ****       102_*_*_*_*        ****        1000           78       1_*_1_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 24  13356    Bracers_of_Armor_+2                 16829003    M            7     ****       ****  ****       102_*_*_*_*        ****        4000           78       1_*_2_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 25  13357    Bracers_of_Armor_+3                 16829004    M            7     ****       ****  ****       102_*_*_*_*        ****        9000           78       1_*_3_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 26  13358    Bracers_of_Armor_+4                 16829005    M            8     ****       ****  ****       102_*_*_*_*        ****        16000          78       1_*_4_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 27  13359    Bracers_of_Armor_+5                 16829006    M            10    ****       ****  ****       102_*_*_*_*        ****        25000          78       1_*_5_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 28  90846    Bracers_of_Armor_+6                 16829007    M            12    ****       ****  ****       102_*_*_*_*        ****        36000          78       1_*_6_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 29  90847    Bracers_of_Armor_+7                 16829008    M            14    ****       ****  ****       102_*_*_*_*        ****        49000          78       1_*_7_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 30  90848    Bracers_of_Armor_+8                 16829009    M            16    ****       ****  ****       102_*_*_*_*        ****        64000          78       1_*_8_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 31  16828927 Bracers_of_Epic_Armor_+11           16829010    M            22    ****       ****  ****       102_*_*_*_*        ****        1210000        78       1_*_11_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 32  16828928 Bracers_of_Epic_Armor_+12           16829011    M            24    ****       ****  ****       102_*_*_*_*        ****        1440000        78       1_*_12_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 33  16828929 Bracers_of_Epic_Armor_+13           16829012    M            26    ****       ****  ****       102_*_*_*_*        ****        1690000        78       1_*_13_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 34  16828930 Bracers_of_Epic_Armor_+14           16829013    M            28    ****       ****  ****       102_*_*_*_*        ****        1960000        78       1_*_14_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 35  16828931 Bracers_of_Epic_Armor_+15           16829014    M            30    ****       ****  ****       102_*_*_*_*        ****        2250000        78       1_*_15_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 36  16828932 Bracers_of_Epic_Health_+8           16829015    M            20    ****       ****  ****       49_*_*_*_*         ****        640000         78       0_2_8_*      ****        ****         ****       ****        ****     1    ****     | ||||
| 37  16828933 Bracers_of_Epic_Health_+10          16829016    M            20    ****       ****  ****       49_*_*_*_*         ****        1000000        78       0_2_10_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 38  16828934 Bracers_of_Epic_Health_+12          16829017    M            20    ****       ****  ****       49_*_*_*_*         ****        1440000        78       0_2_12_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 39  16828935 Bracers_of_Relentless_Might         16829018    M            20    ****       ****  ****       9_49_2072_*_*      ****        4384000        78       0_0_12_*     0_2_12_*    15_938_13_*  ****       ****        ****     1    ****     | ||||
| 40  48887    Brooch_of_Shielding                 16829019    M            1     ****       ****  ****       417_*_*_*_*        ****        1500           19       53_*_97_*    53_*_206    53_*_207     ****       ****        ****     0    ****     | ||||
| 41  40646    Circlet_of_Blasting_Minor           16829020    M            6     ****       ****  ****       156_*_*_*_*        ****        6480           17       15_242_8_*   94_156_6_*  ****         ****       ****        ****     0    ****     | ||||
| 42  40648    Circlet_of_Blasting_Major           16829021    M            17    ****       ****  ****       156_*_*_*_*        ****        23760          17       15_242_8_*   94_156_10_* 92_156_4_*   ****       ****        ****     0    ****     | ||||
| 43  16828936 Circlet_of_Persuasion               16829022    M            5     ****       ****  ****       354_*_*_*_*        ****        4500           17       ****         ****        ****         ****       ****        ****     0    1        | ||||
| 44  66543    Cloak_of_Arachnida                  16829023    M            6     ****       ****  ****       192_*_*_*_*        ****        14000          80       53_*_167_*   15_281_8_*  40_13_2_*    ****       ****        ****     0    ****     | ||||
| 45  16828937 Cloak_of_Charisma_+2                16829025    M            8     ****       ****  ****       354_*_*_*_*        ****        4000           80       0_5_2_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 46  16828938 Cloak_of_Charisma_+4                16829026    M            8     ****       ****  ****       354_*_*_*_*        ****        16000          80       0_5_4_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 47  16828939 Cloak_of_Charisma_+6                16829027    M            8     ****       ****  ****       354_*_*_*_*        ****        36000          80       0_5_6_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 48  16828940 Cloak_of_Epic_Charisma_+8           16829028    M            20    ****       ****  ****       15_*_*_*_*         ****        640000         80       0_5_8_*      ****        ****         ****       ****        ****     1    ****     | ||||
| 49  16828941 Cloak_of_Epic_Charisma_+10          16829029    M            20    ****       ****  ****       15_*_*_*_*         ****        1000000        80       0_5_10_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 50  16828942 Cloak_of_Epic_Charisma_+12          16829030    M            20    ****       ****  ****       15_*_*_*_*         ****        1440000        80       0_5_12_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 51  16828943 Cloak_of_Displacement_Minor         16829031    M            3     ****       ****  ****       458_*_*_*_*        ****        24000          80       15_1163_13_* ****        ****         ****       ****        ****     0    ****     | ||||
| 52  16828944 Cloak_of_Displacement_Major         16829032    M            7     *_12_*_*_* ****  ****       458_*_*_*_*        ****        50000          80       15_387_8_*   94_458_15_* ****         ****       ****        ****     0    ****     | ||||
| 53  13806    Cloak_of_Elvenkind                  16829033    M            6     1_*_*_*_*  ****  ****       90_*_*_*_*         ****        2500           80       52_5_5_*     ****        ****         ****       ****        ****     0    ****     | ||||
| 54  16828945 Cloak_of_Etherealness               16829034    M            15    ****       ****  ****       443_*_*_*_*        ****        55000          80       15_374_8_*   ****        ****         ****       ****        ****     0    ****     | ||||
| 55  66097    Cloak_of_Resistance_+1              16829035    M            5     ****       ****  ****       151_*_*_*_*        ****        1000           80       40_0_1_*     ****        ****         ****       ****        ****     0    ****     | ||||
| 56  66539    Cloak_of_Resistance_+2              16829036    M            6     ****       ****  ****       151_*_*_*_*        ****        4000           80       40_0_2_*     ****        ****         ****       ****        ****     0    ****     | ||||
| 57  66540    Cloak_of_Resistance_+3              16829037    M            9     ****       ****  ****       151_*_*_*_*        ****        9000           80       40_0_3_*     ****        ****         ****       ****        ****     0    ****     | ||||
| 58  66541    Cloak_of_Resistance_+4              16829038    M            12    ****       ****  ****       151_*_*_*_*        ****        16000          80       40_0_4_*     ****        ****         ****       ****        ****     0    ****     | ||||
| 59  66542    Cloak_of_Resistance_+5              16829039    M            15    ****       ****  ****       151_*_*_*_*        ****        25000          80       40_0_5_*     ****        ****         ****       ****        ****     0    ****     | ||||
| 60  16828946 Cloak_of_Epic_Resistance_+6         16829040    M            20    ****       ****  ****       151_*_*_*_*        ****        360000         80       40_0_6_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 61  16828947 Cloak_of_Epic_Resistance_+7         16829041    M            21    ****       ****  ****       151_*_*_*_*        ****        490000         80       40_0_7_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 62  16828948 Cloak_of_Epic_Resistance_+8         16829042    M            24    ****       ****  ****       151_*_*_*_*        ****        640000         80       40_0_8_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 63  16828949 Cloak_of_Epic_Resistance_+9         16829043    M            27    ****       ****  ****       151_*_*_*_*        ****        810000         80       40_0_9_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 64  16828950 Cloak_of_Epic_Resistance_+10        16829044    M            30    ****       ****  ****       151_*_*_*_*        ****        1000000        80       40_0_10_*    ****        ****         ****       ****        ****     1    ****     | ||||
| 65  40650    Eyes_of_Charming                    16829045    M            7     ****       ****  ****       16_*_*_*_*         ****        56000          17       15_34_13_*   93_16_16_*  ****         ****       ****        ****     0    ****     | ||||
| 66  40652    Eyes_of_Doom                        16829046    M            11    ****       ****  ****       46_54_*_*_*        ****        25000          17       15_91_8_*    15_103_8_*  ****         ****       ****        ****     0    ****     | ||||
| 67  40654    Eyes_of_the_Eagle                   16829047    M            3     ****       ****  ****       20_*_*_*_*         ****        2500           17       52_17_5_*    ****        ****         ****       ****        ****     0    ****     | ||||
| 68  40656    Eyes_of_Petrification               16829048    M            11    ****       ****  ****       485_*_*_*_*        ****        98000          17       15_398_8_*   93_485_19_* ****         ****       ****        ****     0    ****     | ||||
| 69  67783    Gauntlets_of_Ogre_Power             16829049    M            6     ****       ****  ****       9_*_*_*_*          ****        4000           36       _0_2_*       ****        ****         ****       ****        ****     0    ****     | ||||
| 70  16828951 Gloves_of_Dexterity_+2              16829050    M            8     ****       ****  ****       13_*_*_*_*         ****        4000           36       0_1_2_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 71  16828952 Gloves_of_Dexterity_+4              16829051    M            8     ****       ****  ****       13_*_*_*_*         ****        16000          36       0_1_4_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 72  16828953 Gloves_of_Dexterity_+6              16829052    M            8     ****       ****  ****       13_*_*_*_*         ****        36000          36       0_1_6_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 73  16828954 Gloves_of_Epic_Dexterity_+8         16829053    M            20    ****       ****  ****       13_*_*_*_*         ****        640000         36       0_1_8_*      ****        ****         ****       ****        ****     1    ****     | ||||
| 74  16828955 Gloves_of_Epic_Dexterity_+10        16829054    M            20    ****       ****  ****       13_*_*_*_*         ****        1000000        36       0_1_10_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 75  16828956 Gloves_of_Epic_Dexterity_+12        16829055    M            20    ****       ****  ****       13_*_*_*_*         ****        1440000        36       0_1_12_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 76  40658    Goggles_of_Minute_Seeing            16829056    M            3     ****       ****  ****       186_*_*_*_*        ****        1250           17       52_15_5_*    ****        ****         ****       ****        ****     0    ****     | ||||
| 77  40660    Goggles_of_Night                    16829057    M            3     ****       ****  ****       365_*_*_*_*        ****        12000          17       26_*_*_*     ****        ****         ****       ****        ****     0    ****     | ||||
| 78  16828958 Hand_of_the_Mage                    16829059    M            2     ****       ****  ****       2079_*_*_*_*       ****        900            19       15_945_13_*  ****        ****         ****       ****        ****     0    ****     | ||||
| 79  40662    Headband_of_Intellect_+2            16829060    M            8     ****       ****  ****       356_*_*_*_*        ****        4000           17       0_3_2_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 80  40664    Headband_of_Intellect_+4            16829061    M            8     ****       ****  ****       356_*_*_*_*        ****        16000          17       0_3_4_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 81  40665    Headband_of_Intellect_+6            16829062    M            8     ****       ****  ****       356_*_*_*_*        ****        36000          17       0_3_6_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 82  16828959 Headband_of_Epic_Intellect_+8       16829063    M            20    ****       ****  ****       376_*_*_*_*        ****        640000         17       0_3_8_*      ****        ****         ****       ****        ****     1    ****     | ||||
| 83  16828960 Headband_of_Epic_Intellect_+10      16829064    M            20    ****       ****  ****       376_*_*_*_*        ****        1000000        17       0_3_10_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 84  16828961 Headband_of_Epic_Intellect_+12      16829065    M            20    ****       ****  ****       376_*_*_*_*        ****        1440000        17       0_3_12_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 85  40666    Helm_of_Brilliance                  16829066    M            13    ****       ****  ****       0_*_*_*_*          ****        125000         17       23_10_6_*    15_213_2_*  15_280_5_*   15_109_6_* 15_946_13_* ****     0    1        | ||||
| 86  16828962 Helm_of_Teleportation               16829067    M            9     ****       ****  ****       2874_*_*_*_*       ****        73500          17       15_1169_10   ****        ****         ****       ****        ****     0    ****     | ||||
| 87  16828963 Mantle_of_Spell_Resistance          16829068    M            9     ****       ****  ****       168_*_*_*_*        ****        90000          80       39_*_31_*    ****        ****         ****       ****        ****     0    ****     | ||||
| 88  91028    Mantle_of_Epic_Spell_Resistance     16829069    M            29    ****       ****  ****       168_*_*_*_*        ****        290000         80       39_*_15_*    ****        ****         ****       ****        ****     1    ****     | ||||
| 89  90860    Mantle_of_Great_Stealth             16829070    M            20    ****       ****  ****       3208_90_163_2077_* ****        242000         80       52_5_30_*    52_8_30_*   15_1163_13_* ****       ****        ****     1    ****     | ||||
| 90  90452    Mask_of_the_Skull                   16829071    M            13    ****       ****  ****       1790_56_*_*_*      ****        22000          17       15_105_8_*   93_56_20_*  ****         ****       ****        ****     0    ****     | ||||
| 91  16828965 Necklace_of_Fireballs_I             16829073    M            10    ****       ****  ****       58_*_*_*_*         ****        1650           19       15_109_2_*   94_58_4_*   ****         ****       ****        ****     0    1        | ||||
| 92  16828966 Necklace_of_Fireballs_II            16829074    M            11    ****       ****  ****       58_*_*_*_*         ****        2700           19       15_109_2_*   94_58_5_*   ****         ****       ****        ****     0    1        | ||||
| 93  16828967 Necklace_of_Fireballs_III           16829075    M            12    ****       ****  ****       58_*_*_*_*         ****        4350           19       15_109_2_*   94_58_6_*   ****         ****       ****        ****     0    1        | ||||
| 94  16828968 Necklace_of_Fireballs_IV            16829076    M            13    ****       ****  ****       58_*_*_*_*         ****        5400           19       15_109_2_*   94_58_7_*   ****         ****       ****        ****     0    1        | ||||
| 95  16828969 Necklace_of_Fireballs_V             16829077    M            14    ****       ****  ****       58_*_*_*_*         ****        5850           19       15_109_2_*   94_58_8_*   ****         ****       ****        ****     0    1        | ||||
| 96  16828970 Necklace_of_Fireballs_VI            16829078    M            15    ****       ****  ****       58_*_*_*_*         ****        8100           19       15_109_2_*   94_58_9_*   ****         ****       ****        ****     0    1        | ||||
| 97  16828971 Necklace_of_Fireballs_VII           16829079    M            16    ****       ****  ****       58_*_*_*_*         ****        8700           19       15_109_2_*   ****        ****         ****       ****        ****     0    1        | ||||
| 98  16828972 Periapt_of_Health                   16829080    M            5     ****       ****  ****       147_*_*_*_*        ****        7500           19       37_4_*_*     ****        ****         ****       ****        ****     0    ****     | ||||
| 99  16828973 Periapt_of_Proof_against_Poison     16829081    M            5     ****       ****  ****       126_*_*_*_*        ****        27000          19       37_3_*_*     ****        ****         ****       ****        ****     0    ****     | ||||
| 100 13394    Periapt_of_Wisdom_+2                16829082    M            8     ****       ****  ****       355_*_*_*_*        ****        4000           19       0_4_2_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 101 13396    Periapt_of_Wisdom_+4                16829083    M            8     ****       ****  ****       355_*_*_*_*        ****        16000          19       0_4_4_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 102 90901    Periapt_of_Wisdom_+6                16829084    M            8     ****       ****  ****       355_*_*_*_*        ****        36000          19       0_4_6_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 103 16828974 Periapt_of_Epic_Wisdom_+8           16829085    M            20    ****       ****  ****       376_*_*_*_*        ****        640000         19       0_4_8_*      ****        ****         ****       ****        ****     1    ****     | ||||
| 104 16828975 Periapt_of_Epic_Wisdom_+10          16829086    M            20    ****       ****  ****       376_*_*_*_*        ****        1000000        19       0_4_10_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 105 16828976 Periapt_of_Epic_Wisdom_+12          16829087    M            20    ****       ****  ****       376_*_*_*_*        ****        1440000        19       0_4_12_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 106 16828977 Periapt_of_Wound_Closure            16829088    M            10    ****       ****  ****       79_*_*_*_*         ****        15000          19       51_*_1_*     ****        ****         ****       ****        ****     0    ****     | ||||
| 107 13850    Robe_of_the_Archmagi_White          16829089    M            14    *_*_G_*_*  ****  ****       2076_*_*_102_450   ****        75000          16       1_*_5_*      39_*_4_*    40_0_4_*     12_15_*_*  62_4_*_*    ****     0    ****     | ||||
| 108 13852    Robe_of_the_Archmagi_Grey           16829090    M            14    *_*_N_*_*  ****  ****       2076_*_*_102_450   ****        75000          16       1_*_5_*      39_*_4_*    40_0_4_*     12_15_*_*  65_1_*_*    65_7_*_* 0    1        | ||||
| 109 13854    Robe_of_the_Archmagi_Black          16829091    M            14    *_*_E_*_*  ****  ****       2076_*_*_102_450   ****        75000          16       1_*_5_*      39_*_4_*    40_0_4_*     12_15_*_*  62_5_*_*    ****     0    ****     | ||||
| 110 16828978 Robe_of_Eyes                        16829092    M            11    ****       ****  ****       186_*_*_*_*        ****        120000         16       26_*_*_*     71_*_*_*    52_14_10_*   52_17_10_* 12_382_*_*  ****     0    ****     | ||||
| 111 47614    Robe_of_Scintillating_Colors        16829093    M            11    ****       ****  ****       3208_2078_*_*_*    ****        27000          16       15_76_13_*   15_389_8_*  44_*_4_2     ****       ****        ****     0    ****     | ||||
| 112 48908    Scarab_of_Protection                16829094    M            18    ****       ****  ****       38_168_*_*_*       ****        38000          19       39_*_5_*     37_1_*_*    37_9_*_*     ****       ****        ****     0    ****     | ||||
| 113 47617    Vest_of_Escape                      16829095    M            4     ****       ****  ****       66_93_*_*_*        ****        5200           16       52_5_4_*     52_21_6_*   ****         ****       ****        ****     0    ****     | ||||
| 114 16829309 Amulet_of_the_Silver_Tongue_Lesser  16829058    M            7     ****       29    5          2081_*_*_*_*       ****        2500           19       52_29_5_*    ****        ****         ****       ****        ****     0    ****     | ||||
| 115 16829310 Amulet_of_the_Silver_Tongue_Greater 16829072    M            7     ****       29    10         2081_*_*_*_*       ****        10000          19       52_29_10_*   ****        ****         ****       ****        ****     0    ****     | ||||
| 116 16790057 Phylactery_of_Undead_Turning        16790058    M            10    ****       ****  ****       ****               ****        11000          19       ****         ****        ****         ****       ****        ****     0    1        | ||||
|     Name     Label                               Description PropertyType Level PrereqMisc Skill SkillRanks Spells               Enhancement AdditionalCost BaseItem IP1          IP2         IP3          IP4        IP5         IP6      Epic Special  | ||||
| 0   16828912 Amulet_of_Health_+2                 16828979    M            8     ****       ****  ****       49_*_*_*_*_*         ****        4000           19       0_2_2_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 1   16828913 Amulet_of_Health_+4                 16828980    M            8     ****       ****  ****       49_*_*_*_*_*         ****        16000          19       0_2_4_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 2   16828914 Amulet_of_Health_+6                 16828981    M            8     ****       ****  ****       49_*_*_*_*_*         ****        36000          19       0_2_6_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 3   13380    Amulet_of_Natural_Armor_+1          16828982    M            5     ****       ****  ****       3_*_*_*_*_*          ****        2000           19       1_*_1_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 4   13398    Amulet_of_Natural_Armor_+2          16828983    M            6     ****       ****  ****       3_*_*_*_*_*          ****        8000           19       1_*_2_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 5   13399    Amulet_of_Natural_Armor_+3          16828984    M            9     ****       ****  ****       3_*_*_*_*_*          ****        18000          19       1_*_3_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 6   13400    Amulet_of_Natural_Armor_+4          16828985    M            12    ****       ****  ****       3_*_*_*_*_*          ****        32000          19       1_*_4_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 7   13401    Amulet_of_Natural_Armor_+5          16828986    M            15    ****       ****  ****       3_*_*_*_*_*          ****        50000          19       1_*_5_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 8   16828915 Amulet_of_Epic_Natural_Armor_+6     16828987    M            20    ****       ****  ****       3_*_*_*_*_*          ****        720000         19       1_*_6_*      ****        ****         ****       ****        ****     1    ****     | ||||
| 9   16828916 Amulet_of_Epic_Natural_Armor_+7     16828988    M            21    ****       ****  ****       3_*_*_*_*_*          ****        980000         19       1_*_7_*      ****        ****         ****       ****        ****     1    ****     | ||||
| 10  16828917 Amulet_of_Epic_Natural_Armor_+8     16828989    M            24    ****       ****  ****       3_*_*_*_*_*          ****        1280000        19       1_*_8_*      ****        ****         ****       ****        ****     1    ****     | ||||
| 11  16828918 Amulet_of_Epic_Natural_Armor_+9     16828990    M            27    ****       ****  ****       3_*_*_*_*_*          ****        1620000        19       1_*_9_*      ****        ****         ****       ****        ****     1    ****     | ||||
| 12  16828919 Amulet_of_Epic_Natural_Armor_+10    16828991    M            30    ****       ****  ****       3_*_*_*_*_*          ****        2000000        19       1_*_10_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 13  16828920 Belt_of_Giant_Strength_+4           16828992    M            10    ****       ****  ****       9_*_*_*_*_*          ****        16000          21       0_0_4_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 14  16828921 Belt_of_Giant_Strength_+6           16828993    M            10    ****       ****  ****       9_*_*_*_*_*          ****        36000          21       0_0_6_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 15  16828922 Belt_of_Epic_Strength_+8            16828994    M            20    ****       ****  ****       9_*_*_*_*_*          ****        640000         21       0_0_8_*      ****        ****         ****       ****        ****     1    ****     | ||||
| 16  16828923 Belt_of_Epic_Strength_+10           16828995    M            20    ****       ****  ****       9_*_*_*_*_*          ****        1000000        21       0_0_10_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 17  16828924 Belt_of_Epic_Strength_+12           16828996    M            20    ****       ****  ****       9_*_*_*_*_*          ****        1440000        21       0_0_12_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 18  13337    Boots_of_Elvenkind                  16828997    M            5     1_*_*_*_*  ****  ****       ****                 ****        2500           26       52_8_5_*     ****        ****         ****       ****        ****     0    ****     | ||||
| 19  13343    Boots_of_Speed                      16828998    M            10    ****       ****  ****       78_*_*_*_*_*         ****        12000          26       15_138_8_*   ****        ****         ****       ****        ****     0    ****     | ||||
| 20  16828925 Boots_of_Swiftness                  16828999    M            20    ****       ****  ****       13_456_78_2070_*_*   ****        256000         26       0_1_6_*      12_386_*_*  52_21_20_*   52_28_20_* 15_138_10_* ****     1    ****     | ||||
| 21  16828926 Boots_of_Teleportation              16829000    M            9     ****       ****  ****       2874_*_*_*_*_*       ****        49000          26       15_1169_10_* ****        ****         ****       ****        ****     0    ****     | ||||
| 22  48314    Boots_of_the_Winterlands            16829001    M            5     ****       ****  ****       13_50_*_*_*_*        ****        2500           26       23_7_1_*     23_10_1_*   ****         ****       ****        ****     0    ****     | ||||
| 23  13350    Bracers_of_Armor_+1                 16829002    M            7     ****       ****  ****       102_*_*_*_*_*        ****        1000           78       1_*_1_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 24  13356    Bracers_of_Armor_+2                 16829003    M            7     ****       ****  ****       102_*_*_*_*_*        ****        4000           78       1_*_2_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 25  13357    Bracers_of_Armor_+3                 16829004    M            7     ****       ****  ****       102_*_*_*_*_*        ****        9000           78       1_*_3_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 26  13358    Bracers_of_Armor_+4                 16829005    M            8     ****       ****  ****       102_*_*_*_*_*        ****        16000          78       1_*_4_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 27  13359    Bracers_of_Armor_+5                 16829006    M            10    ****       ****  ****       102_*_*_*_*_*        ****        25000          78       1_*_5_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 28  90846    Bracers_of_Armor_+6                 16829007    M            12    ****       ****  ****       102_*_*_*_*_*        ****        36000          78       1_*_6_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 29  90847    Bracers_of_Armor_+7                 16829008    M            14    ****       ****  ****       102_*_*_*_*_*        ****        49000          78       1_*_7_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 30  90848    Bracers_of_Armor_+8                 16829009    M            16    ****       ****  ****       102_*_*_*_*_*        ****        64000          78       1_*_8_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 31  16828927 Bracers_of_Epic_Armor_+11           16829010    M            22    ****       ****  ****       102_*_*_*_*_*        ****        1210000        78       1_*_11_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 32  16828928 Bracers_of_Epic_Armor_+12           16829011    M            24    ****       ****  ****       102_*_*_*_*_*        ****        1440000        78       1_*_12_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 33  16828929 Bracers_of_Epic_Armor_+13           16829012    M            26    ****       ****  ****       102_*_*_*_*_*        ****        1690000        78       1_*_13_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 34  16828930 Bracers_of_Epic_Armor_+14           16829013    M            28    ****       ****  ****       102_*_*_*_*_*        ****        1960000        78       1_*_14_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 35  16828931 Bracers_of_Epic_Armor_+15           16829014    M            30    ****       ****  ****       102_*_*_*_*_*        ****        2250000        78       1_*_15_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 36  16828932 Bracers_of_Epic_Health_+8           16829015    M            20    ****       ****  ****       49_*_*_*_*_*         ****        640000         78       0_2_8_*      ****        ****         ****       ****        ****     1    ****     | ||||
| 37  16828933 Bracers_of_Epic_Health_+10          16829016    M            20    ****       ****  ****       49_*_*_*_*_*         ****        1000000        78       0_2_10_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 38  16828934 Bracers_of_Epic_Health_+12          16829017    M            20    ****       ****  ****       49_*_*_*_*_*         ****        1440000        78       0_2_12_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 39  16828935 Bracers_of_Relentless_Might         16829018    M            20    ****       ****  ****       9_49_2072_*_*_*      ****        4384000        78       0_0_12_*     0_2_12_*    15_938_13_*  ****       ****        ****     1    ****     | ||||
| 40  48887    Brooch_of_Shielding                 16829019    M            1     ****       ****  ****       417_*_*_*_*_*        ****        1500           19       53_*_97_*    53_*_206    53_*_207     ****       ****        ****     0    ****     | ||||
| 41  40646    Circlet_of_Blasting_Minor           16829020    M            6     ****       ****  ****       156_*_*_*_*_*        ****        6480           17       15_242_8_*   94_156_6_*  ****         ****       ****        ****     0    ****     | ||||
| 42  40648    Circlet_of_Blasting_Major           16829021    M            17    ****       ****  ****       156_*_*_*_*_*        ****        23760          17       15_242_8_*   94_156_10_* 92_156_4_*   ****       ****        ****     0    ****     | ||||
| 43  16828936 Circlet_of_Persuasion               16829022    M            5     ****       ****  ****       354_*_*_*_*_*        ****        4500           17       ****         ****        ****         ****       ****        ****     0    1        | ||||
| 44  66543    Cloak_of_Arachnida                  16829023    M            6     ****       ****  ****       192_*_*_*_*_*        ****        14000          80       53_*_167_*   15_281_8_*  40_13_2_*    ****       ****        ****     0    ****     | ||||
| 45  16828937 Cloak_of_Charisma_+2                16829025    M            8     ****       ****  ****       354_*_*_*_*_*        ****        4000           80       0_5_2_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 46  16828938 Cloak_of_Charisma_+4                16829026    M            8     ****       ****  ****       354_*_*_*_*_*        ****        16000          80       0_5_4_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 47  16828939 Cloak_of_Charisma_+6                16829027    M            8     ****       ****  ****       354_*_*_*_*_*        ****        36000          80       0_5_6_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 48  16828940 Cloak_of_Epic_Charisma_+8           16829028    M            20    ****       ****  ****       15_*_*_*_*_*         ****        640000         80       0_5_8_*      ****        ****         ****       ****        ****     1    ****     | ||||
| 49  16828941 Cloak_of_Epic_Charisma_+10          16829029    M            20    ****       ****  ****       15_*_*_*_*_*         ****        1000000        80       0_5_10_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 50  16828942 Cloak_of_Epic_Charisma_+12          16829030    M            20    ****       ****  ****       15_*_*_*_*_*         ****        1440000        80       0_5_12_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 51  16828943 Cloak_of_Displacement_Minor         16829031    M            3     ****       ****  ****       458_*_*_*_*_*        ****        24000          80       15_1163_13_* ****        ****         ****       ****        ****     0    ****     | ||||
| 52  16828944 Cloak_of_Displacement_Major         16829032    M            7     *_12_*_*_* ****  ****       458_*_*_*_*_*        ****        50000          80       15_387_8_*   94_458_15_* ****         ****       ****        ****     0    ****     | ||||
| 53  13806    Cloak_of_Elvenkind                  16829033    M            6     1_*_*_*_*  ****  ****       90_*_*_*_*_*         ****        2500           80       52_5_5_*     ****        ****         ****       ****        ****     0    ****     | ||||
| 54  16828945 Cloak_of_Etherealness               16829034    M            15    ****       ****  ****       443_*_*_*_*_*        ****        55000          80       15_374_8_*   ****        ****         ****       ****        ****     0    ****     | ||||
| 55  66097    Cloak_of_Resistance_+1              16829035    M            5     ****       ****  ****       151_*_*_*_*_*        ****        1000           80       40_0_1_*     ****        ****         ****       ****        ****     0    ****     | ||||
| 56  66539    Cloak_of_Resistance_+2              16829036    M            6     ****       ****  ****       151_*_*_*_*_*        ****        4000           80       40_0_2_*     ****        ****         ****       ****        ****     0    ****     | ||||
| 57  66540    Cloak_of_Resistance_+3              16829037    M            9     ****       ****  ****       151_*_*_*_*_*        ****        9000           80       40_0_3_*     ****        ****         ****       ****        ****     0    ****     | ||||
| 58  66541    Cloak_of_Resistance_+4              16829038    M            12    ****       ****  ****       151_*_*_*_*_*        ****        16000          80       40_0_4_*     ****        ****         ****       ****        ****     0    ****     | ||||
| 59  66542    Cloak_of_Resistance_+5              16829039    M            15    ****       ****  ****       151_*_*_*_*_*        ****        25000          80       40_0_5_*     ****        ****         ****       ****        ****     0    ****     | ||||
| 60  16828946 Cloak_of_Epic_Resistance_+6         16829040    M            20    ****       ****  ****       151_*_*_*_*_*        ****        360000         80       40_0_6_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 61  16828947 Cloak_of_Epic_Resistance_+7         16829041    M            21    ****       ****  ****       151_*_*_*_*_*        ****        490000         80       40_0_7_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 62  16828948 Cloak_of_Epic_Resistance_+8         16829042    M            24    ****       ****  ****       151_*_*_*_*_*        ****        640000         80       40_0_8_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 63  16828949 Cloak_of_Epic_Resistance_+9         16829043    M            27    ****       ****  ****       151_*_*_*_*_*        ****        810000         80       40_0_9_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 64  16828950 Cloak_of_Epic_Resistance_+10        16829044    M            30    ****       ****  ****       151_*_*_*_*_*        ****        1000000        80       40_0_10_*    ****        ****         ****       ****        ****     1    ****     | ||||
| 65  40650    Eyes_of_Charming                    16829045    M            7     ****       ****  ****       16_*_*_*_*_*         ****        56000          17       15_34_13_*   93_16_16_*  ****         ****       ****        ****     0    ****     | ||||
| 66  40652    Eyes_of_Doom                        16829046    M            11    ****       ****  ****       46_54_*_*_*_*        ****        25000          17       15_91_8_*    15_103_8_*  ****         ****       ****        ****     0    ****     | ||||
| 67  40654    Eyes_of_the_Eagle                   16829047    M            3     ****       ****  ****       20_*_*_*_*_*         ****        2500           17       52_17_5_*    ****        ****         ****       ****        ****     0    ****     | ||||
| 68  40656    Eyes_of_Petrification               16829048    M            11    ****       ****  ****       485_*_*_*_*_*        ****        98000          17       15_398_8_*   93_485_19_* ****         ****       ****        ****     0    ****     | ||||
| 69  67783    Gauntlets_of_Ogre_Power             16829049    M            6     ****       ****  ****       9_*_*_*_*_*          ****        4000           36       _0_2_*       ****        ****         ****       ****        ****     0    ****     | ||||
| 70  16828951 Gloves_of_Dexterity_+2              16829050    M            8     ****       ****  ****       13_*_*_*_*_*         ****        4000           36       0_1_2_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 71  16828952 Gloves_of_Dexterity_+4              16829051    M            8     ****       ****  ****       13_*_*_*_*_*         ****        16000          36       0_1_4_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 72  16828953 Gloves_of_Dexterity_+6              16829052    M            8     ****       ****  ****       13_*_*_*_*_*         ****        36000          36       0_1_6_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 73  16828954 Gloves_of_Epic_Dexterity_+8         16829053    M            20    ****       ****  ****       13_*_*_*_*_*         ****        640000         36       0_1_8_*      ****        ****         ****       ****        ****     1    ****     | ||||
| 74  16828955 Gloves_of_Epic_Dexterity_+10        16829054    M            20    ****       ****  ****       13_*_*_*_*_*         ****        1000000        36       0_1_10_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 75  16828956 Gloves_of_Epic_Dexterity_+12        16829055    M            20    ****       ****  ****       13_*_*_*_*_*         ****        1440000        36       0_1_12_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 76  40658    Goggles_of_Minute_Seeing            16829056    M            3     ****       ****  ****       186_*_*_*_*_*        ****        1250           17       52_15_5_*    ****        ****         ****       ****        ****     0    ****     | ||||
| 77  40660    Goggles_of_Night                    16829057    M            3     ****       ****  ****       365_*_*_*_*_*        ****        12000          17       26_*_*_*     ****        ****         ****       ****        ****     0    ****     | ||||
| 78  16828958 Hand_of_the_Mage                    16829059    M            2     ****       ****  ****       2079_*_*_*_*_*       ****        900            19       15_945_13_*  ****        ****         ****       ****        ****     0    ****     | ||||
| 79  40662    Headband_of_Intellect_+2            16829060    M            8     ****       ****  ****       356_*_*_*_*_*        ****        4000           17       0_3_2_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 80  40664    Headband_of_Intellect_+4            16829061    M            8     ****       ****  ****       356_*_*_*_*_*        ****        16000          17       0_3_4_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 81  40665    Headband_of_Intellect_+6            16829062    M            8     ****       ****  ****       356_*_*_*_*_*        ****        36000          17       0_3_6_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 82  16828959 Headband_of_Epic_Intellect_+8       16829063    M            20    ****       ****  ****       376_*_*_*_*_*        ****        640000         17       0_3_8_*      ****        ****         ****       ****        ****     1    ****     | ||||
| 83  16828960 Headband_of_Epic_Intellect_+10      16829064    M            20    ****       ****  ****       376_*_*_*_*_*        ****        1000000        17       0_3_10_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 84  16828961 Headband_of_Epic_Intellect_+12      16829065    M            20    ****       ****  ****       376_*_*_*_*_*        ****        1440000        17       0_3_12_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 85  40666    Helm_of_Brilliance                  16829066    M            13    ****       ****  ****       0_*_*_*_*_*          ****        125000         17       23_10_6_*    15_213_2_*  15_280_5_*   15_109_6_* 15_946_13_* ****     0    1        | ||||
| 86  16828962 Helm_of_Teleportation               16829067    M            9     ****       ****  ****       2874_*_*_*_*_*       ****        73500          17       15_1169_10   ****        ****         ****       ****        ****     0    ****     | ||||
| 87  16828963 Mantle_of_Spell_Resistance          16829068    M            9     ****       ****  ****       168_*_*_*_*_*        ****        90000          80       39_*_31_*    ****        ****         ****       ****        ****     0    ****     | ||||
| 88  91028    Mantle_of_Epic_Spell_Resistance     16829069    M            29    ****       ****  ****       168_*_*_*_*_*        ****        290000         80       39_*_15_*    ****        ****         ****       ****        ****     1    ****     | ||||
| 89  90860    Mantle_of_Great_Stealth             16829070    M            20    ****       ****  ****       3208_90_163_2077_*_* ****        242000         80       52_5_30_*    52_8_30_*   15_1163_13_* ****       ****        ****     1    ****     | ||||
| 90  90452    Mask_of_the_Skull                   16829071    M            13    ****       ****  ****       1790_56_*_*_*_*      ****        22000          17       15_105_8_*   93_56_20_*  ****         ****       ****        ****     0    ****     | ||||
| 91  16828965 Necklace_of_Fireballs_I             16829073    M            10    ****       ****  ****       58_*_*_*_*_*         ****        1650           19       15_109_2_*   94_58_4_*   ****         ****       ****        ****     0    1        | ||||
| 92  16828966 Necklace_of_Fireballs_II            16829074    M            11    ****       ****  ****       58_*_*_*_*_*         ****        2700           19       15_109_2_*   94_58_5_*   ****         ****       ****        ****     0    1        | ||||
| 93  16828967 Necklace_of_Fireballs_III           16829075    M            12    ****       ****  ****       58_*_*_*_*_*         ****        4350           19       15_109_2_*   94_58_6_*   ****         ****       ****        ****     0    1        | ||||
| 94  16828968 Necklace_of_Fireballs_IV            16829076    M            13    ****       ****  ****       58_*_*_*_*_*         ****        5400           19       15_109_2_*   94_58_7_*   ****         ****       ****        ****     0    1        | ||||
| 95  16828969 Necklace_of_Fireballs_V             16829077    M            14    ****       ****  ****       58_*_*_*_*_*         ****        5850           19       15_109_2_*   94_58_8_*   ****         ****       ****        ****     0    1        | ||||
| 96  16828970 Necklace_of_Fireballs_VI            16829078    M            15    ****       ****  ****       58_*_*_*_*_*         ****        8100           19       15_109_2_*   94_58_9_*   ****         ****       ****        ****     0    1        | ||||
| 97  16828971 Necklace_of_Fireballs_VII           16829079    M            16    ****       ****  ****       58_*_*_*_*_*         ****        8700           19       15_109_2_*   ****        ****         ****       ****        ****     0    1        | ||||
| 98  16828972 Periapt_of_Health                   16829080    M            5     ****       ****  ****       147_*_*_*_*_*        ****        7500           19       37_4_*_*     ****        ****         ****       ****        ****     0    ****     | ||||
| 99  16828973 Periapt_of_Proof_against_Poison     16829081    M            5     ****       ****  ****       126_*_*_*_*_*        ****        27000          19       37_3_*_*     ****        ****         ****       ****        ****     0    ****     | ||||
| 100 13394    Periapt_of_Wisdom_+2                16829082    M            8     ****       ****  ****       355_*_*_*_*_*        ****        4000           19       0_4_2_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 101 13396    Periapt_of_Wisdom_+4                16829083    M            8     ****       ****  ****       355_*_*_*_*_*        ****        16000          19       0_4_4_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 102 90901    Periapt_of_Wisdom_+6                16829084    M            8     ****       ****  ****       355_*_*_*_*_*        ****        36000          19       0_4_6_*      ****        ****         ****       ****        ****     0    ****     | ||||
| 103 16828974 Periapt_of_Epic_Wisdom_+8           16829085    M            20    ****       ****  ****       376_*_*_*_*_*        ****        640000         19       0_4_8_*      ****        ****         ****       ****        ****     1    ****     | ||||
| 104 16828975 Periapt_of_Epic_Wisdom_+10          16829086    M            20    ****       ****  ****       376_*_*_*_*_*        ****        1000000        19       0_4_10_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 105 16828976 Periapt_of_Epic_Wisdom_+12          16829087    M            20    ****       ****  ****       376_*_*_*_*_*        ****        1440000        19       0_4_12_*     ****        ****         ****       ****        ****     1    ****     | ||||
| 106 16828977 Periapt_of_Wound_Closure            16829088    M            10    ****       ****  ****       79_*_*_*_*_*         ****        15000          19       51_*_1_*     ****        ****         ****       ****        ****     0    ****     | ||||
| 107 13850    Robe_of_the_Archmagi_White          16829089    M            14    *_*_G_*_*  ****  ****       2076_*_*_102_450_*   ****        75000          16       1_*_5_*      39_*_4_*    40_0_4_*     12_15_*_*  62_4_*_*    ****     0    ****     | ||||
| 108 13852    Robe_of_the_Archmagi_Grey           16829090    M            14    *_*_N_*_*  ****  ****       2076_*_*_102_450_*   ****        75000          16       1_*_5_*      39_*_4_*    40_0_4_*     12_15_*_*  65_1_*_*    65_7_*_* 0    1        | ||||
| 109 13854    Robe_of_the_Archmagi_Black          16829091    M            14    *_*_E_*_*  ****  ****       2076_*_*_102_450_*   ****        75000          16       1_*_5_*      39_*_4_*    40_0_4_*     12_15_*_*  62_5_*_*    ****     0    ****     | ||||
| 110 16828978 Robe_of_Eyes                        16829092    M            11    ****       ****  ****       186_*_*_*_*_*        ****        120000         16       26_*_*_*     71_*_*_*    52_14_10_*   52_17_10_* 12_382_*_*  ****     0    ****     | ||||
| 111 47614    Robe_of_Scintillating_Colors        16829093    M            11    ****       ****  ****       3208_2078_*_*_*_*    ****        27000          16       15_76_13_*   15_389_8_*  44_*_4_2     ****       ****        ****     0    ****     | ||||
| 112 48908    Scarab_of_Protection                16829094    M            18    ****       ****  ****       38_168_*_*_*_*       ****        38000          19       39_*_5_*     37_1_*_*    37_9_*_*     ****       ****        ****     0    ****     | ||||
| 113 47617    Vest_of_Escape                      16829095    M            4     ****       ****  ****       66_93_*_*_*_*        ****        5200           16       52_5_4_*     52_21_6_*   ****         ****       ****        ****     0    ****     | ||||
| 114 16829309 Amulet_of_the_Silver_Tongue_Lesser  16829058    M            7     ****       29    5          2081_*_*_*_*_*       ****        2500           19       52_29_5_*    ****        ****         ****       ****        ****     0    ****     | ||||
| 115 16829310 Amulet_of_the_Silver_Tongue_Greater 16829072    M            7     ****       29    10         2081_*_*_*_*_*       ****        10000          19       52_29_10_*   ****        ****         ****       ****        ****     0    ****     | ||||
| 116 16790057 Phylactery_of_Undead_Turning        16790058    M            10    ****       ****  ****       ****                 ****        11000          19       ****         ****        ****         ****       ****        ****     0    1        | ||||
|   | ||||
| @@ -58,8 +58,15 @@ void main() | ||||
|  | ||||
| void RunWorm(object oTarget, int nRoundsRemaining) | ||||
| { | ||||
|     int nSpell = GetBestAvailableSpell(oTarget); | ||||
|     if (nSpell != 99999) | ||||
|  | ||||
| 	int nSpell = GetBestAvailableSpell(oTarget); | ||||
| 	if(oTarget == OBJECT_INVALID) | ||||
| 	{ | ||||
| 		SetLocalInt(oTarget, "sSpellWormActive", FALSE); | ||||
| 		return; | ||||
| 	} | ||||
| 	 | ||||
| 	if (nSpell != 99999) | ||||
|     { | ||||
|         DecrementRemainingSpellUses(oTarget, nSpell); | ||||
|         nRoundsRemaining -= 1; | ||||
|   | ||||
| @@ -4121,7 +4121,7 @@ const int FAST_HEALING_3			= 4147; | ||||
| // General Feats | ||||
| const int FEAT_STORMMAGIC               = 4182; | ||||
| const int FEAT_MAGICAL_APTITUDE         = 4416; | ||||
| const int FEAT_NEGOTIATOR				= 3312; | ||||
| const int FEAT_NEGOTIATOR				= 3485; | ||||
|  | ||||
| // Warmage Feat | ||||
| const int FEAT_TYPE_EXTRA_EDGE           = 2779; | ||||
|   | ||||
| @@ -1324,7 +1324,7 @@ int GetCasterLvl(int iTypeSpell, object oCaster = OBJECT_SELF) | ||||
|                 int iTemp; | ||||
|                 int nRace = GetRacialType(oCaster); | ||||
|  | ||||
|                 //Aranea include outsider HD as sorc | ||||
|                 //Aranea include shapechanger HD as sorc | ||||
|                 if(nRace == RACIAL_TYPE_ARANEA) | ||||
|                     iTemp = GetLevelByClass(CLASS_TYPE_SHAPECHANGER, oCaster); | ||||
| 					 | ||||
|   | ||||
| @@ -14,6 +14,8 @@ | ||||
| //:: Created On: 18/4/06 | ||||
| //::////////////////////////////////////////////// | ||||
|  | ||||
| //void main (){} | ||||
|  | ||||
| //Checks if the target has the template or not. | ||||
| //returns 1 if it does, 0 if it doesnt or if its an invalid target | ||||
| int GetHasTemplate(int nTemplate, object oPC = OBJECT_SELF); | ||||
| @@ -27,6 +29,8 @@ int GetTemplateLA(object oPC); | ||||
| //if bApply is false, this can test if the template is applicable or not | ||||
| int ApplyTemplateToObject(int nTemplate, object oPC = OBJECT_SELF, int bApply = TRUE); | ||||
|  | ||||
| int RemoveTemplateFromObject(int nTemplate, object oPC = OBJECT_SELF); | ||||
|  | ||||
| /** | ||||
|  * Determines whether the PC is a legal target for the weapon of legacy | ||||
|  * If so, spawns and equips the item, as well as charging them gold for it | ||||
| @@ -111,6 +115,27 @@ int GetTemplateLA(object oPC) | ||||
|     return nLA;*/ | ||||
| } | ||||
|  | ||||
| int RemoveTemplateFromObject(int nTemplate, object oPC = OBJECT_SELF) | ||||
| { | ||||
| 	//:: Sanity check | ||||
|     if(!GetHasTemplate(nTemplate, oPC)) | ||||
|         return FALSE; | ||||
| 	 | ||||
| 	//:: Remove the template from the array | ||||
|     if(persistant_array_exists(oPC, "templates")) | ||||
| 	{ | ||||
| 		persistant_array_shrink(oPC, "templates", persistant_array_get_size(oPC, "templates")-nTemplate); | ||||
| 		persistant_array_delete(oPC, "templates"); | ||||
| 	} | ||||
| 	 | ||||
|     //:: Delete template's markers | ||||
|     DeletePersistantLocalInt(oPC, "template_"+IntToString(nTemplate)); | ||||
| 	DeletePersistantLocalInt(oPC, "template_LA"); | ||||
| 	 | ||||
| 	DelayCommand(0.01, EvalPRCFeats(oPC)); | ||||
| 	return TRUE;	 | ||||
| }	 | ||||
|  | ||||
| int ApplyTemplateToObject(int nTemplate, object oPC = OBJECT_SELF, int bApply = TRUE) | ||||
| { | ||||
|     //templates never stack, so dont let them | ||||
|   | ||||
| @@ -261,17 +261,17 @@ int IsProficient(object oPC, int nBaseItem) | ||||
|  | ||||
|         case BASE_ITEM_ELVEN_LIGHTBLADE: | ||||
| 			return GetHasFeat(FEAT_WEAPON_PROFICIENCY_EXOTIC, oPC) | ||||
|                  || (GetHasFeat(FEAT_WEAPON_PROFICIENCY_MARTIAL, oPC) && GetRacialType(oPC) == RACIAL_TYPE_ELF) | ||||
|                  || (GetHasFeat(FEAT_WEAPON_PROFICIENCY_MARTIAL, oPC) && MyPRCGetRacialType(oPC) == RACIAL_TYPE_ELF) | ||||
|                  || GetHasFeat(FEAT_WEAPON_PROFICIENCY_ELVEN_LIGHTBLADE, oPC);		 | ||||
|  | ||||
|         case BASE_ITEM_ELVEN_THINBLADE: | ||||
| 			return GetHasFeat(FEAT_WEAPON_PROFICIENCY_EXOTIC, oPC) | ||||
|                  || (GetHasFeat(FEAT_WEAPON_PROFICIENCY_MARTIAL, oPC) && GetRacialType(oPC) == RACIAL_TYPE_ELF) | ||||
|                  || (GetHasFeat(FEAT_WEAPON_PROFICIENCY_MARTIAL, oPC) && MyPRCGetRacialType(oPC) == RACIAL_TYPE_ELF) | ||||
|                  || GetHasFeat(FEAT_WEAPON_PROFICIENCY_ELVEN_THINBLADE, oPC); | ||||
|  | ||||
|         case BASE_ITEM_ELVEN_COURTBLADE: | ||||
|             return GetHasFeat(FEAT_WEAPON_PROFICIENCY_EXOTIC, oPC) | ||||
|                  || (GetHasFeat(FEAT_WEAPON_PROFICIENCY_MARTIAL, oPC) && GetRacialType(oPC) == RACIAL_TYPE_ELF) | ||||
|                  || (GetHasFeat(FEAT_WEAPON_PROFICIENCY_MARTIAL, oPC) && MyPRCGetRacialType(oPC) == RACIAL_TYPE_ELF) | ||||
|                  || GetHasFeat(FEAT_WEAPON_PROFICIENCY_ELVEN_COURTBLADE, oPC);  | ||||
| 			 | ||||
|         //special case: counts as martial for asherati | ||||
|   | ||||
| @@ -16,8 +16,6 @@ | ||||
| //::////////////////////////////////////////////// | ||||
| //::////////////////////////////////////////////// | ||||
|  | ||||
| //:: Updated for .35 by Jaysyn 2023/03/10 | ||||
|  | ||||
| //:: Test Void | ||||
| //void main (){} | ||||
|  | ||||
|   | ||||
							
								
								
									
										668
									
								
								nwn/nwnprc/trunk/include/utl_i_sqluuid.nss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										668
									
								
								nwn/nwnprc/trunk/include/utl_i_sqluuid.nss
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,668 @@ | ||||
| //:://///////////////////////////////////////////// | ||||
| //:: Utility Include: SQLocals Campaign | ||||
| //:: utl_i_sqluuid.nss | ||||
| //::////////////////////////////////////////////// | ||||
| /* | ||||
|     Daz wrote these library functions to act as replacements for the usual local | ||||
|     functions: | ||||
|     * GetLocalInt / SetLocalInt / DeleteLocalInt | ||||
|     * GetLocalFloat / SetLocalFloat / DeleteLocalFloat | ||||
|     * GetLocalString / SetLocalString / DeleteLocalString | ||||
|     * GetLocalObject / SetLocalObject / DeleteLocalObject (NB: remember these are references NOT serialised objects) | ||||
|     * GetLocalLocation / SetLocalLocation / DeleteLocalLocation | ||||
|     * Plus a new function for saving just a vector by itself. | ||||
|     This version stores variables in the campaign DB using the UUID of the object as  | ||||
|     the identifier, therefore it suggests only using this for oPlayer since their UUIDs | ||||
|     are persistent after server restarts. | ||||
|     Note for players existing OnClientLeave this is still valid, while the  | ||||
|     versions in utl_i_sqlplayer is not. | ||||
| */ | ||||
| //::////////////////////////////////////////////// | ||||
| //:: Based off of the nwscript_utility_scripts project; see for dates/creator info | ||||
| //:: https://github.com/Finaldeath/nwscript_utility_scripts | ||||
| //::////////////////////////////////////////////// | ||||
|  | ||||
| const string SQLLOCALUUID_DATABASE_NAME  = "sqllocalsuuid_db"; | ||||
|  | ||||
| const string SQLOCALSUUID_TABLE_NAME     = "sqlocalsuuid_table"; | ||||
|  | ||||
| const int SQLOCALSUUID_TYPE_ALL          = 0; | ||||
| const int SQLOCALSUUID_TYPE_INT          = 1; | ||||
| const int SQLOCALSUUID_TYPE_FLOAT        = 2; | ||||
| const int SQLOCALSUUID_TYPE_STRING       = 4; | ||||
| const int SQLOCALSUUID_TYPE_OBJECT       = 8; | ||||
| const int SQLOCALSUUID_TYPE_VECTOR       = 16; | ||||
| const int SQLOCALSUUID_TYPE_LOCATION     = 32; | ||||
|  | ||||
| // Returns an integer stored in the campaign DB for oPlayer, or 0 on error | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| int SQLocalsUUID_GetInt(object oPlayer, string sVarName); | ||||
| // Sets an integer stored in the campaign DB for oPlayer to the given value | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to set | ||||
| // * nValue - Value to store | ||||
| void SQLocalsUUID_SetInt(object oPlayer, string sVarName, int nValue); | ||||
| // Deletes an integer stored in the campaign DB for oPlayer | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to delete | ||||
| void SQLocalsUUID_DeleteInt(object oPlayer, string sVarName); | ||||
|  | ||||
| // Returns a float stored in the campaign DB for oPlayer, or 0.0 on error | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| float SQLocalsUUID_GetFloat(object oPlayer, string sVarName); | ||||
| // Sets a float stored in the campaign DB for oPlayer to the given value | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to set | ||||
| // * fValue - Value to store | ||||
| void SQLocalsUUID_SetFloat(object oPlayer, string sVarName, float fValue); | ||||
| // Deletes a float stored in the campaign DB for oPlayer | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to delete | ||||
| void SQLocalsUUID_DeleteFloat(object oPlayer, string sVarName); | ||||
|  | ||||
| // Returns an string stored in the campaign DB for oPlayer, or "" on error | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| string SQLocalsUUID_GetString(object oPlayer, string sVarName); | ||||
| // Sets a string stored in the campaign DB for oPlayer to the given value | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to set | ||||
| // * sValue - Value to store | ||||
| void SQLocalsUUID_SetString(object oPlayer, string sVarName, string sValue); | ||||
| // Deletes a string stored in the campaign DB for oPlayer | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to delete | ||||
| void SQLocalsUUID_DeleteString(object oPlayer, string sVarName); | ||||
|  | ||||
| // Returns an object identifier stored in the campaign DB for oPlayer | ||||
| // If this is used on a player it might return a "once valid" OID, so check | ||||
| // with GetIsObjectValid, do not compare to OBJECT_INVALID. | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| object SQLocalsUUID_GetObject(object oPlayer, string sVarName); | ||||
| // Sets an object identifier stored in the campaign DB for oPlayer to the given value | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to set | ||||
| // * oValue - Value to store | ||||
| void SQLocalsUUID_SetObject(object oPlayer, string sVarName, object oValue); | ||||
| // Deletes an object identifier stored in the campaign DB for oPlayer | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to delete | ||||
| void SQLocalsUUID_DeleteObject(object oPlayer, string sVarName); | ||||
|  | ||||
| // Returns a vector stored in the campaign DB for oPlayer, or [0.0, 0.0, 0.0] on error | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| vector SQLocalsUUID_GetVector(object oPlayer, string sVarName); | ||||
| // Sets a vector stored in the campaign DB for oPlayer to the given value | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to set | ||||
| // * vValue - Value to store | ||||
| void SQLocalsUUID_SetVector(object oPlayer, string sVarName, vector vValue); | ||||
| // Deletes a vector stored in the campaign DB for oPlayer | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to delete | ||||
| void SQLocalsUUID_DeleteVector(object oPlayer, string sVarName); | ||||
|  | ||||
| // Returns a location stored in the campaign DB for oPlayer, or the starting location of the module on error | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| location SQLocalsUUID_GetLocation(object oPlayer, string sVarName); | ||||
| // Sets a location stored in the campaign DB for oPlayer to the given value | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to set | ||||
| // * lValue - Value to store | ||||
| void SQLocalsUUID_SetLocation(object oPlayer, string sVarName, location lValue); | ||||
| // Deletes a location stored in the campaign DB for oPlayer | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to delete | ||||
| void SQLocalsUUID_DeleteLocation(object oPlayer, string sVarName); | ||||
|  | ||||
| // Deletes a set of locals stored in the campaign DB for oPlayer matching the given criteria | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * nType - The SQLOCALSUUID_TYPE_* you wish to remove (default: SQLOCALSUUID_TYPE_ALL) | ||||
| // * sLike - The string to compare with the SQL "like" comparison | ||||
| // * sEscape - The escape character to use with the SQL "escape" keyword | ||||
| void SQLocalsUUID_Delete(object oPlayer, int nType = SQLOCALSUUID_TYPE_ALL, string sLike = "", string sEscape = ""); | ||||
| // Counts a set of locals stored in the campaign DB for oPlayer matching the given criteria | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * nType - The SQLOCALSUUID_TYPE_* you wish to count (default: SQLOCALSUUID_TYPE_ALL) | ||||
| // * sLike - The string to compare with the SQL "like" comparison | ||||
| // * sEscape - The escape character to use with the SQL "escape" keyword | ||||
| int SQLocalsUUID_Count(object oPlayer, int nType = SQLOCALSUUID_TYPE_ALL, string sLike = "", string sEscape = ""); | ||||
| // Checks a locals stored in the campaign DB for oPlayer is set | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| // * nType - The SQLOCALSUUID_TYPE_* you wish to check | ||||
| int SQLocalsUUID_IsSet(object oPlayer, string sVarName, int nType); | ||||
| // Returns the last Unix time the given variable was updated | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| // * nType - The SQLOCALSUUID_TYPE_* you wish to check | ||||
| int SQLocalsUUID_GetLastUpdated_UnixEpoch(object oPlayer, string sVarName, int nType); | ||||
| // Returns the last UTC time the given variable was updated | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| // * nType - The SQLOCALSUUID_TYPE_* you wish to check | ||||
| string SQLocalsUUID_GetLastUpdated_UTC(object oPlayer, string sVarName, int nType); | ||||
|  | ||||
|  | ||||
| /* INTERNAL */ | ||||
| void SQLocalsUUID_CreateTable() | ||||
| { | ||||
|     sqlquery sql = SqlPrepareQueryCampaign(SQLLOCALUUID_DATABASE_NAME, | ||||
|         "CREATE TABLE IF NOT EXISTS " + SQLOCALSUUID_TABLE_NAME + " (" + | ||||
|         "type INTEGER, " + | ||||
|         "uuid TEXT, " + | ||||
|         "varname TEXT, " + | ||||
|         "value TEXT, " + | ||||
|         "timestamp INTEGER, " + | ||||
|         "PRIMARY KEY(type, uuid, varname));"); | ||||
|     SqlStep(sql); | ||||
| } | ||||
|  | ||||
| sqlquery SQLocalsUUID_PrepareSelect(object oPlayer, int nType, string sVarName) | ||||
| { | ||||
|     SQLocalsUUID_CreateTable(); | ||||
|  | ||||
|     sqlquery sql = SqlPrepareQueryCampaign(SQLLOCALUUID_DATABASE_NAME, | ||||
|         "SELECT value FROM " + SQLOCALSUUID_TABLE_NAME + " " + | ||||
|         "WHERE type = @type AND uuid = @uuid AND varname = @varname;"); | ||||
|  | ||||
|     SqlBindInt(sql, "@type", nType); | ||||
|     SqlBindString(sql, "@uuid", GetObjectUUID(oPlayer)); | ||||
|     SqlBindString(sql, "@varname", sVarName); | ||||
|  | ||||
|     return sql; | ||||
| } | ||||
|  | ||||
| sqlquery SQLocalsUUID_PrepareInsert(object oPlayer, int nType, string sVarName) | ||||
| { | ||||
|     SQLocalsUUID_CreateTable(); | ||||
|  | ||||
|     sqlquery sql = SqlPrepareQueryCampaign(SQLLOCALUUID_DATABASE_NAME, | ||||
|         "INSERT INTO " + SQLOCALSUUID_TABLE_NAME + " " + | ||||
|         "(type, uuid, varname, value, timestamp) VALUES (@type, @uuid, @varname, @value, strftime('%s','now')) " + | ||||
|         "ON CONFLICT (type, uuid, varname) DO UPDATE SET value = @value, timestamp = strftime('%s','now');"); | ||||
|  | ||||
|     SqlBindInt(sql, "@type", nType); | ||||
|     SqlBindString(sql, "@uuid", GetObjectUUID(oPlayer)); | ||||
|     SqlBindString(sql, "@varname", sVarName); | ||||
|  | ||||
|     return sql; | ||||
| } | ||||
|  | ||||
| sqlquery SQLocalsUUID_PrepareDelete(object oPlayer, int nType, string sVarName) | ||||
| { | ||||
|     SQLocalsUUID_CreateTable(); | ||||
|  | ||||
|     sqlquery sql = SqlPrepareQueryCampaign(SQLLOCALUUID_DATABASE_NAME, | ||||
|         "DELETE FROM " + SQLOCALSUUID_TABLE_NAME + " " + | ||||
|         "WHERE type = @type AND uuid = @uuid AND varname = @varname;"); | ||||
|  | ||||
|     SqlBindInt(sql, "@type", nType); | ||||
|     SqlBindString(sql, "@uuid", GetObjectUUID(oPlayer)); | ||||
|     SqlBindString(sql, "@varname", sVarName); | ||||
|  | ||||
|     return sql; | ||||
| } | ||||
|  | ||||
| string SQLocalsUUID_LocationToString(location locLocation) | ||||
| { | ||||
|     string sAreaId = ObjectToString(GetAreaFromLocation(locLocation)); | ||||
|     vector vPosition = GetPositionFromLocation(locLocation); | ||||
|     float fFacing = GetFacingFromLocation(locLocation); | ||||
|  | ||||
|     return "#A#" + sAreaId + | ||||
|            "#X#" + FloatToString(vPosition.x, 0, 5) + | ||||
|            "#Y#" + FloatToString(vPosition.y, 0, 5) + | ||||
|            "#Z#" + FloatToString(vPosition.z, 0, 5) + | ||||
|            "#F#" + FloatToString(fFacing, 0, 5) + "#"; | ||||
| } | ||||
|  | ||||
| location SQLocalsUUID_StringToLocation(string sLocation) | ||||
| { | ||||
|     location locLocation; | ||||
|  | ||||
|     int nLength = GetStringLength(sLocation); | ||||
|  | ||||
|     if(nLength > 0) | ||||
|     { | ||||
|         int nPos, nCount; | ||||
|  | ||||
|         nPos = FindSubString(sLocation, "#A#") + 3; | ||||
|         nCount = FindSubString(GetSubString(sLocation, nPos, nLength - nPos), "#"); | ||||
|         object oArea = StringToObject(GetSubString(sLocation, nPos, nCount)); | ||||
|  | ||||
|         nPos = FindSubString(sLocation, "#X#") + 3; | ||||
|         nCount = FindSubString(GetSubString(sLocation, nPos, nLength - nPos), "#"); | ||||
|         float fX = StringToFloat(GetSubString(sLocation, nPos, nCount)); | ||||
|  | ||||
|         nPos = FindSubString(sLocation, "#Y#") + 3; | ||||
|         nCount = FindSubString(GetSubString(sLocation, nPos, nLength - nPos), "#"); | ||||
|         float fY = StringToFloat(GetSubString(sLocation, nPos, nCount)); | ||||
|  | ||||
|         nPos = FindSubString(sLocation, "#Z#") + 3; | ||||
|         nCount = FindSubString(GetSubString(sLocation, nPos, nLength - nPos), "#"); | ||||
|         float fZ = StringToFloat(GetSubString(sLocation, nPos, nCount)); | ||||
|  | ||||
|         vector vPosition = Vector(fX, fY, fZ); | ||||
|  | ||||
|         nPos = FindSubString(sLocation, "#F#") + 3; | ||||
|         nCount = FindSubString(GetSubString(sLocation, nPos, nLength - nPos), "#"); | ||||
|         float fOrientation = StringToFloat(GetSubString(sLocation, nPos, nCount)); | ||||
|  | ||||
|         if (GetIsObjectValid(oArea)) | ||||
|             locLocation = Location(oArea, vPosition, fOrientation); | ||||
|         else | ||||
|             locLocation = GetStartingLocation(); | ||||
|     } | ||||
|  | ||||
|     return locLocation; | ||||
| } | ||||
| /* **** */ | ||||
|  | ||||
| /* INT */ | ||||
|  | ||||
| // Returns an integer stored in the campaign DB for oPlayer, or 0 on error | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| int SQLocalsUUID_GetInt(object oPlayer, string sVarName) | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || sVarName == "") return 0; | ||||
|  | ||||
|     sqlquery sql = SQLocalsUUID_PrepareSelect(oPlayer, SQLOCALSUUID_TYPE_INT, sVarName); | ||||
|  | ||||
|     if (SqlStep(sql)) | ||||
|         return SqlGetInt(sql, 0); | ||||
|     else | ||||
|         return 0; | ||||
| } | ||||
|  | ||||
| // Sets an integer stored in the campaign DB for oPlayer to the given value | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| // * nValue - Value to store | ||||
| void SQLocalsUUID_SetInt(object oPlayer, string sVarName, int nValue) | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || sVarName == "") return; | ||||
|  | ||||
|     sqlquery sql = SQLocalsUUID_PrepareInsert(oPlayer, SQLOCALSUUID_TYPE_INT, sVarName); | ||||
|     SqlBindInt(sql, "@value", nValue); | ||||
|     SqlStep(sql); | ||||
| } | ||||
|  | ||||
| // Deletes an integer stored in the campaign DB for oPlayer | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to delete | ||||
| void SQLocalsUUID_DeleteInt(object oPlayer, string sVarName) | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || sVarName == "") return; | ||||
|  | ||||
|     sqlquery sql = SQLocalsUUID_PrepareDelete(oPlayer, SQLOCALSUUID_TYPE_INT, sVarName); | ||||
|     SqlStep(sql); | ||||
| } | ||||
| /* **** */ | ||||
|  | ||||
| /* FLOAT */ | ||||
|  | ||||
| // Returns a float stored in the campaign DB for oPlayer, or 0.0 on error | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| float SQLocalsUUID_GetFloat(object oPlayer, string sVarName) | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || sVarName == "") return 0.0f; | ||||
|  | ||||
|     sqlquery sql = SQLocalsUUID_PrepareSelect(oPlayer, SQLOCALSUUID_TYPE_FLOAT, sVarName); | ||||
|  | ||||
|     if (SqlStep(sql)) | ||||
|         return SqlGetFloat(sql, 0); | ||||
|     else | ||||
|         return 0.0f; | ||||
| } | ||||
|  | ||||
| // Sets a float stored in the campaign DB for oPlayer to the given value | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| // * fValue - Value to store | ||||
| void SQLocalsUUID_SetFloat(object oPlayer, string sVarName, float fValue) | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || sVarName == "") return; | ||||
|  | ||||
|     sqlquery sql = SQLocalsUUID_PrepareInsert(oPlayer, SQLOCALSUUID_TYPE_FLOAT, sVarName); | ||||
|     SqlBindFloat(sql, "@value", fValue); | ||||
|     SqlStep(sql); | ||||
| } | ||||
|  | ||||
| // Deletes a float stored in the campaign DB for oPlayer | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to delete | ||||
| void SQLocalsUUID_DeleteFloat(object oPlayer, string sVarName) | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || sVarName == "") return; | ||||
|  | ||||
|     sqlquery sql = SQLocalsUUID_PrepareDelete(oPlayer, SQLOCALSUUID_TYPE_FLOAT, sVarName); | ||||
|     SqlStep(sql); | ||||
| } | ||||
| /* **** */ | ||||
|  | ||||
| /* STRING */ | ||||
|  | ||||
| // Returns an string stored in the campaign DB for oPlayer, or "" on error | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| string SQLocalsUUID_GetString(object oPlayer, string sVarName) | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || sVarName == "") return ""; | ||||
|  | ||||
|     sqlquery sql = SQLocalsUUID_PrepareSelect(oPlayer, SQLOCALSUUID_TYPE_STRING, sVarName); | ||||
|  | ||||
|     if (SqlStep(sql)) | ||||
|         return SqlGetString(sql, 0); | ||||
|     else | ||||
|         return ""; | ||||
| } | ||||
|  | ||||
| // Sets a string stored in the campaign DB for oPlayer to the given value | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| // * sValue - Value to store | ||||
| void SQLocalsUUID_SetString(object oPlayer, string sVarName, string sValue) | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || sVarName == "") return; | ||||
|  | ||||
|     sqlquery sql = SQLocalsUUID_PrepareInsert(oPlayer, SQLOCALSUUID_TYPE_STRING, sVarName); | ||||
|     SqlBindString(sql, "@value", sValue); | ||||
|     SqlStep(sql); | ||||
| } | ||||
|  | ||||
| // Deletes a string stored in the campaign DB for oPlayer | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to delete | ||||
| void SQLocalsUUID_DeleteString(object oPlayer, string sVarName) | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || sVarName == "") return; | ||||
|  | ||||
|     sqlquery sql = SQLocalsUUID_PrepareDelete(oPlayer, SQLOCALSUUID_TYPE_STRING, sVarName); | ||||
|     SqlStep(sql); | ||||
| } | ||||
| /* **** */ | ||||
|  | ||||
| /* OBJECT */ | ||||
|  | ||||
|  | ||||
| // Returns an object identifier stored in the campaign DB for oPlayer | ||||
| // If this is used on a player it might return a "once valid" OID, so check | ||||
| // with GetIsObjectValid, do not compare to OBJECT_INVALID. | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| object SQLocalsUUID_GetObject(object oPlayer, string sVarName) | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || sVarName == "") return OBJECT_INVALID; | ||||
|  | ||||
|     sqlquery sql = SQLocalsUUID_PrepareSelect(oPlayer, SQLOCALSUUID_TYPE_OBJECT, sVarName); | ||||
|  | ||||
|     if (SqlStep(sql)) | ||||
|         return StringToObject(SqlGetString(sql, 0)); | ||||
|     else | ||||
|         return OBJECT_INVALID; | ||||
| } | ||||
|  | ||||
| // Sets an object identifier stored in the campaign DB for oPlayer to the given value | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| // * oValue - Value to store | ||||
| void SQLocalsUUID_SetObject(object oPlayer, string sVarName, object oValue) | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || sVarName == "") return; | ||||
|  | ||||
|     sqlquery sql = SQLocalsUUID_PrepareInsert(oPlayer, SQLOCALSUUID_TYPE_OBJECT, sVarName); | ||||
|     SqlBindString(sql, "@value", ObjectToString(oValue)); | ||||
|     SqlStep(sql); | ||||
| } | ||||
|  | ||||
| // Deletes an object identifier stored in the campaign DB for oPlayer | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to delete | ||||
| void SQLocalsUUID_DeleteObject(object oPlayer, string sVarName) | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || sVarName == "") return; | ||||
|  | ||||
|     sqlquery sql = SQLocalsUUID_PrepareDelete(oPlayer, SQLOCALSUUID_TYPE_OBJECT, sVarName); | ||||
|     SqlStep(sql); | ||||
| } | ||||
| /* **** */ | ||||
|  | ||||
| /* VECTOR */ | ||||
|  | ||||
| // Returns a vector stored in the campaign DB for oPlayer, or [0.0, 0.0, 0.0] on error | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| vector SQLocalsUUID_GetVector(object oPlayer, string sVarName) | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || sVarName == "") return [0.0f, 0.0f, 0.0f]; | ||||
|  | ||||
|     sqlquery sql = SQLocalsUUID_PrepareSelect(oPlayer, SQLOCALSUUID_TYPE_VECTOR, sVarName); | ||||
|  | ||||
|     if (SqlStep(sql)) | ||||
|         return SqlGetVector(sql, 0); | ||||
|     else | ||||
|         return [0.0f, 0.0f, 0.0f]; | ||||
| } | ||||
|  | ||||
| // Sets a vector stored in the campaign DB for oPlayer to the given value | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| // * vValue - Value to store | ||||
| void SQLocalsUUID_SetVector(object oPlayer, string sVarName, vector vValue) | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || sVarName == "") return; | ||||
|  | ||||
|     sqlquery sql = SQLocalsUUID_PrepareInsert(oPlayer, SQLOCALSUUID_TYPE_VECTOR, sVarName); | ||||
|     SqlBindVector(sql, "@value", vValue); | ||||
|     SqlStep(sql); | ||||
| } | ||||
|  | ||||
| // Deletes a vector stored in the campaign DB for oPlayer | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to delete | ||||
| void SQLocalsUUID_DeleteVector(object oPlayer, string sVarName) | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || sVarName == "") return; | ||||
|  | ||||
|     sqlquery sql = SQLocalsUUID_PrepareDelete(oPlayer, SQLOCALSUUID_TYPE_VECTOR, sVarName); | ||||
|     SqlStep(sql); | ||||
| } | ||||
| /* **** */ | ||||
|  | ||||
| /* LOCATION */ | ||||
|  | ||||
| // Returns a location stored in the campaign DB for oPlayer, or the starting location of the module on error | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| location SQLocalsUUID_GetLocation(object oPlayer, string sVarName) | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || sVarName == "") return GetStartingLocation(); | ||||
|  | ||||
|     sqlquery sql = SQLocalsUUID_PrepareSelect(oPlayer, SQLOCALSUUID_TYPE_LOCATION, sVarName); | ||||
|  | ||||
|     if (SqlStep(sql)) | ||||
|         return SQLocalsUUID_StringToLocation(SqlGetString(sql, 0)); | ||||
|     else | ||||
|         return GetStartingLocation(); | ||||
| } | ||||
|  | ||||
| // Sets a location stored in the campaign DB for oPlayer to the given value | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| // * lValue - Value to store | ||||
| void SQLocalsUUID_SetLocation(object oPlayer, string sVarName, location lValue) | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || sVarName == "") return; | ||||
|  | ||||
|     sqlquery sql = SQLocalsUUID_PrepareInsert(oPlayer, SQLOCALSUUID_TYPE_LOCATION, sVarName); | ||||
|     SqlBindString(sql, "@value", SQLocalsUUID_LocationToString(lValue)); | ||||
|     SqlStep(sql); | ||||
| } | ||||
|  | ||||
| // Deletes a location stored in the campaign DB for oPlayer | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to delete | ||||
| void SQLocalsUUID_DeleteLocation(object oPlayer, string sVarName) | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || sVarName == "") return; | ||||
|  | ||||
|     sqlquery sql = SQLocalsUUID_PrepareDelete(oPlayer, SQLOCALSUUID_TYPE_LOCATION, sVarName); | ||||
|     SqlStep(sql); | ||||
| } | ||||
| /* **** */ | ||||
|  | ||||
| /* UTILITY */ | ||||
|  | ||||
| // Deletes a set of locals stored in the campaign DB for oPlayer matching the given criteria | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * nType - The SQLOCALSUUID_TYPE_* you wish to remove (default: SQLOCALSUUID_TYPE_ALL) | ||||
| // * sLike - The string to compare with the SQL "like" comparison | ||||
| // * sEscape - The escape character to use with the SQL "escape" keyword | ||||
| void SQLocalsUUID_Delete(object oPlayer, int nType = SQLOCALSUUID_TYPE_ALL, string sLike = "", string sEscape = "") | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || nType < 0) return; | ||||
|  | ||||
|     SQLocalsUUID_CreateTable(); | ||||
|  | ||||
|     sqlquery sql = SqlPrepareQueryCampaign(SQLLOCALUUID_DATABASE_NAME, | ||||
|         "DELETE FROM " + SQLOCALSUUID_TABLE_NAME + " " + | ||||
|         "WHERE uuid = @uuid" + | ||||
|         (nType != SQLOCALSUUID_TYPE_ALL ? "AND type & @type " : " ") + | ||||
|         (sLike != "" ? "AND varname LIKE @like " + (sEscape != "" ? "ESCAPE @escape" : "") : "") + | ||||
|         ";"); | ||||
|  | ||||
|     SqlBindString(sql, "@uuid", GetObjectUUID(oPlayer)); | ||||
|  | ||||
|     if (nType != SQLOCALSUUID_TYPE_ALL) | ||||
|         SqlBindInt(sql, "@type", nType); | ||||
|     if (sLike != "") | ||||
|     { | ||||
|         SqlBindString(sql, "@like", sLike); | ||||
|  | ||||
|         if (sEscape != "") | ||||
|             SqlBindString(sql, "@escape", sEscape); | ||||
|     } | ||||
|  | ||||
|     SqlStep(sql); | ||||
| } | ||||
|  | ||||
| // Counts a set of locals stored in the campaign DB for oPlayer matching the given criteria | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * nType - The SQLOCALSUUID_TYPE_* you wish to count (default: SQLOCALSUUID_TYPE_ALL) | ||||
| // * sLike - The string to compare with the SQL "like" comparison | ||||
| // * sEscape - The escape character to use with the SQL "escape" keyword | ||||
| int SQLocalsUUID_Count(object oPlayer, int nType = SQLOCALSUUID_TYPE_ALL, string sLike = "", string sEscape = "") | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || nType < 0) return 0; | ||||
|  | ||||
|     SQLocalsUUID_CreateTable(); | ||||
|  | ||||
|     sqlquery sql = SqlPrepareQueryObject(oPlayer, | ||||
|         "SELECT COUNT(*) FROM " + SQLOCALSUUID_TABLE_NAME + " " + | ||||
|         "WHERE uuid = @uuid " + | ||||
|         (nType != SQLOCALSUUID_TYPE_ALL ? "AND type & @type " : " ") + | ||||
|         (sLike != "" ? "AND varname LIKE @like " + (sEscape != "" ? "ESCAPE @escape" : "") : "") + | ||||
|         ";"); | ||||
|  | ||||
|     SqlBindString(sql, "@uuid", GetObjectUUID(oPlayer)); | ||||
|  | ||||
|     if (nType != SQLOCALSUUID_TYPE_ALL) | ||||
|         SqlBindInt(sql, "@type", nType); | ||||
|     if (sLike != "") | ||||
|     { | ||||
|         SqlBindString(sql, "@like", sLike); | ||||
|  | ||||
|         if (sEscape != "") | ||||
|             SqlBindString(sql, "@escape", sEscape); | ||||
|     } | ||||
|  | ||||
|     if (SqlStep(sql)) | ||||
|         return SqlGetInt(sql, 0); | ||||
|     else | ||||
|         return 0; | ||||
| } | ||||
|  | ||||
| // Checks a locals stored in the campaign DB for oPlayer is set | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| // * nType - The SQLOCALSUUID_TYPE_* you wish to check (default: SQLOCALSUUID_TYPE_ALL) | ||||
| int SQLocalsUUID_IsSet(object oPlayer, string sVarName, int nType) | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || nType < 0) return 0; | ||||
|  | ||||
|     SQLocalsUUID_CreateTable(); | ||||
|  | ||||
|     sqlquery sql = SqlPrepareQueryObject(oPlayer, | ||||
|         "SELECT * FROM " + SQLOCALSUUID_TABLE_NAME + " " + | ||||
|         "WHERE uuid = @uuid " + | ||||
|         (nType != SQLOCALSUUID_TYPE_ALL ? "AND type & @type " : " ") + | ||||
|         "AND varname = @varname;"); | ||||
|  | ||||
|     SqlBindString(sql, "@uuid", GetObjectUUID(oPlayer)); | ||||
|  | ||||
|     if (nType != SQLOCALSUUID_TYPE_ALL) | ||||
|         SqlBindInt(sql, "@type", nType); | ||||
|     SqlBindString(sql, "@varname", sVarName); | ||||
|  | ||||
|     return SqlStep(sql); | ||||
| } | ||||
|  | ||||
| // Returns the last Unix time the given variable was updated | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| // * nType - The SQLOCALSUUID_TYPE_* you wish to check (default: SQLOCALSUUID_TYPE_ALL) | ||||
| int SQLocalsUUID_GetLastUpdated_UnixEpoch(object oPlayer, string sVarName, int nType) | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || nType <= 0) return 0; | ||||
|  | ||||
|     SQLocalsUUID_CreateTable(); | ||||
|  | ||||
|     sqlquery sql = SqlPrepareQueryObject(oPlayer, | ||||
|         "SELECT timestamp FROM " + SQLOCALSUUID_TABLE_NAME + " " + | ||||
|         "WHERE type = @type " + | ||||
|         "AND uuid = @uuid" + | ||||
|         "AND varname = @varname;"); | ||||
|  | ||||
|     SqlBindInt(sql, "@type", nType); | ||||
|     SqlBindString(sql, "@uuid", GetObjectUUID(oPlayer)); | ||||
|     SqlBindString(sql, "@varname", sVarName); | ||||
|  | ||||
|     if (SqlStep(sql)) | ||||
|         return SqlGetInt(sql, 0); | ||||
|     else | ||||
|         return 0; | ||||
| } | ||||
|  | ||||
| // Returns the last UTC time the given variable was updated | ||||
| // * oPlayer - a player object (uses GetObjectUUID to identify) | ||||
| // * sVarName - name of the variable to retrieve | ||||
| // * nType - The SQLOCALSUUID_TYPE_* you wish to check (default: SQLOCALSUUID_TYPE_ALL) | ||||
| string SQLocalsUUID_GetLastUpdated_UTC(object oPlayer, string sVarName, int nType) | ||||
| { | ||||
|     if (!GetIsPC(oPlayer) || nType <= 0) return ""; | ||||
|  | ||||
|     SQLocalsUUID_CreateTable(); | ||||
|  | ||||
|     sqlquery sql = SqlPrepareQueryObject(oPlayer, | ||||
|         "SELECT datetime(timestamp, 'unixepoch') FROM " + SQLOCALSUUID_TABLE_NAME + " " + | ||||
|         "WHERE type = @type " + | ||||
|         "AND uuid = @uuid" + | ||||
|         "AND varname = @varname;"); | ||||
|  | ||||
|     SqlBindInt(sql, "@type", nType); | ||||
|     SqlBindString(sql, "@uuid", GetObjectUUID(oPlayer)); | ||||
|     SqlBindString(sql, "@varname", sVarName); | ||||
|  | ||||
|     if (SqlStep(sql)) | ||||
|         return SqlGetString(sql, 0); | ||||
|     else | ||||
|         return ""; | ||||
| } | ||||
| @@ -3150,4 +3150,4 @@ int X2PreSpellCastCode2() | ||||
|  | ||||
|  | ||||
| // Test main | ||||
| //void main(){} | ||||
| // void main(){} | ||||
|   | ||||
| @@ -36,7 +36,31 @@ void main() | ||||
|     }  */   | ||||
|     if (GetPRCSwitch(PRC_PNP_KNOCKDOWN) && GetSkillRank(SKILL_DISCIPLINE, oPC, TRUE) == 0)  | ||||
|     	SetCompositeBonus(oSkin, "DisciplineBonus", GetBaseAttackBonus(oPC) + GetCombatMoveCheckBonus(oPC, COMBAT_MOVE_TRIP, TRUE), ITEM_PROPERTY_SKILL_BONUS, SKILL_DISCIPLINE); | ||||
| 	 | ||||
|  | ||||
| //:: Immunity to Petrification (has to be done per spell, thanks Bioware!) | ||||
|     if(GetHasFeat(FEAT_IMMUNE_PETRIFICATION)) | ||||
|     { | ||||
| 		ipIP = ItemPropertySpellImmunitySpecific(402);  //:: Flesh to Stone		 | ||||
| 		IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE); | ||||
| 		ipIP = ItemPropertySpellImmunitySpecific(795);  //:: Breath, Petrify		 | ||||
| 		IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);	 | ||||
| 		ipIP = ItemPropertySpellImmunitySpecific(797);  //:: Touch, Petrify		 | ||||
| 		IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE); | ||||
| 		ipIP = ItemPropertySpellImmunitySpecific(796);  //:: Gaze, Petrify		 | ||||
| 		IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);	 | ||||
| 		ipIP = ItemPropertySpellImmunitySpecific(482);  //:: Stonehold		 | ||||
| 		IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);			 | ||||
| 		ipIP = ItemPropertySpellImmunitySpecific(1460);  //:: Audience of Stone		 | ||||
| 		IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE); | ||||
| 		ipIP = ItemPropertySpellImmunitySpecific(1459);  //:: Crystalize		 | ||||
| 		IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE); | ||||
| 		ipIP = ItemPropertySpellImmunitySpecific(1458);  //:: Basilisk Mask		 | ||||
| 		IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE); | ||||
| 		ipIP = ItemPropertySpellImmunitySpecific(1457);	//:: Gorgon Mask		 | ||||
| 		IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);		 | ||||
|     } | ||||
| 	 | ||||
|     //immunity to cold | ||||
|     if(GetHasFeat(FEAT_IMM_COLD)) | ||||
|     { | ||||
|   | ||||
| @@ -8,7 +8,10 @@ void main() | ||||
| { | ||||
|     object oPC = GetLastDamager(); | ||||
|     if(GetHasFeat(FEAT_SADISTIC_REWARD, oPC) && PRCGetIsAliveCreature(OBJECT_SELF)) | ||||
|         ApplyEffectToObject(DURATION_TYPE_TEMPORARY, ExtraordinaryEffect(EffectSavingThrowIncrease(SAVING_THROW_ALL, 1, SAVING_THROW_TYPE_ALL)), oPC, 6.0); | ||||
|     { | ||||
| 		ApplyEffectToObject(DURATION_TYPE_TEMPORARY, ExtraordinaryEffect(EffectSavingThrowIncrease(SAVING_THROW_ALL, 1, SAVING_THROW_TYPE_ALL)), oPC, 6.0); | ||||
| 		//SendMessageToPC(oPC, "Sadistic Reward running"); | ||||
| 	} | ||||
|      | ||||
|     object oMeldshaper = GetLocalObject(OBJECT_SELF, "NecrocarnumShroud"); | ||||
|     if (GetIsObjectValid(oMeldshaper) && PRCGetIsAliveCreature(OBJECT_SELF)) | ||||
|   | ||||
| @@ -131,7 +131,7 @@ void reqGender() | ||||
|         DeleteLocalInt(OBJECT_SELF, "PRC_Male"); | ||||
| } | ||||
|  | ||||
| void Kord(object oPC) //:: This could be in the prereq 2da | ||||
| void Kord(object oPC) | ||||
| { | ||||
|     SetLocalInt(oPC, "PRC_PrereqKord", 1); | ||||
|  | ||||
| @@ -141,7 +141,7 @@ void Kord(object oPC) //:: This could be in the prereq 2da | ||||
|     } | ||||
| } | ||||
|  | ||||
| void Purifier(object oPC) //:: This could be in the prereq 2da | ||||
| void Purifier(object oPC) | ||||
| { | ||||
|     SetLocalInt(oPC, "PRC_PrereqPurifier", 1); | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| //:://///////////////////////////////////////////// | ||||
| //:: Example XP2 OnItemUnequipped | ||||
| //:: x2_mod_def_unequ | ||||
| //:: PRC OnItemUnequipped | ||||
| //:: prc_unequip | ||||
| //:: (c) 2003 Bioware Corp. | ||||
| //::////////////////////////////////////////////// | ||||
| /* | ||||
|   | ||||
| @@ -12,13 +12,27 @@ | ||||
| //:: Created By: Preston Watamaniuk | ||||
| //:: Created On: May 25, 2001 | ||||
| //::////////////////////////////////////////////// | ||||
| //:: Modified By: Brian Greinke | ||||
| //:: Modified On: 2004/01/30 | ||||
| //:: Re: Added disable/reenable support | ||||
| //::////////////////////////////////////////////// | ||||
| //:: Modified By: Jaysyn | ||||
| //:: Modified On: 2023/02/11 | ||||
| //:: Re: Added PnP Aura behavior support | ||||
| //::////////////////////////////////////////////// | ||||
|  | ||||
| // Modified 2004/01/30 (Brian Greinke) | ||||
| // Added disable/reenable support | ||||
| #include "prc_alterations" | ||||
| #include "utl_i_sqluuid" | ||||
|  | ||||
| void main() | ||||
| { | ||||
| //:: Declare major variables | ||||
| 	object oMob = GetAreaOfEffectCreator(); | ||||
| 	 | ||||
| 	int bPNPAuras = GetPRCSwitch(PRC_PNP_FEAR_AURAS); | ||||
| 	 | ||||
| 	string sMobUUID = GetObjectUUID(oMob); | ||||
| 	 | ||||
|     //first, look to see if effect is already activated | ||||
|     if ( GetHasSpellEffect(SPELLABILITY_AURA_FEAR, OBJECT_SELF) ) | ||||
|     { | ||||
|   | ||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -21506,7 +21506,8 @@ Favored Class (Fighter): A multiclass duergar's fighter class does not count whe | ||||
| - Light Sensitivity: Duergar suffer -2 penalty to attack rolls, saves and checks while operating in bright light. | ||||
| - Spell-Like Abilities: 1/day - Invisibility. Caster level 3rd. | ||||
| - Naturally Psionic: Duergar gain 3 bonus power points at 1st level. | ||||
| - Dwarven: Duergar count as Dwarves for the purpose of spells.</entry> | ||||
| - Dwarven: Duergar count as Dwarves for the purpose of spells. | ||||
| - Level adjustment +1</entry> | ||||
|   <entry id="49519" lang="en" sex="m">Shield Dwarf</entry> | ||||
|   <entry id="49520" lang="en" sex="m">Shield Dwarven</entry> | ||||
|   <entry id="49521" lang="en" sex="m">shield dwarven</entry> | ||||
| @@ -23676,6 +23677,13 @@ Use: Selected</entry> | ||||
|   <entry id="49992" lang="en" sex="m">Rite of Waking (Other)</entry> | ||||
|   <entry id="49993" lang="en" sex="m">Mystic Phoenix Stance (Augmented)</entry> | ||||
|   <entry id="49994" lang="en" sex="m">Firebird Stance (Augmented)</entry> | ||||
|   <entry id="49996" lang="en" sex="m">Humanoid</entry> | ||||
|   <entry id="49997" lang="en" sex="m"> A humanoid usually has two arms, two legs, and one head, or a humanlike torso, arms, and a head. Humanoids have few or no supernatural or extraordinary abilities, but most can speak and usually have well-developed societies. They usually are Small or Medium. Every humanoid creature also has a subtype. | ||||
| 
 | ||||
| - Proficient with all simple weapons, or by character class. | ||||
| -  Proficient with whatever type of armor (light, medium, or heavy) it is described as wearing, or by character class. If a humanoid does not have a class and wears armor, it is proficient with that type of armor and all lighter types. Humanoids not indicated as wearing armor are not proficient with armor. Humanoids are proficient with shields if they are proficient with any form of armor. | ||||
| -Humanoids breathe, eat, and sleep. | ||||
|   </entry> | ||||
|   <entry id="49999" lang="en" sex="m">**** 50,000 - 50,500 reserved for Race Pack Feats ****</entry> | ||||
|   <entry id="50000" lang="en" sex="m">Light Sensitivity</entry> | ||||
|   <entry id="50001" lang="en" sex="m">Type of Feat: Racial | ||||
| @@ -32908,7 +32916,7 @@ Level | ||||
| 6:  Fist of energy (burst) - Energy imbued attacks deal 1d10 extra damage on a critical hit. | ||||
| 7:  Hold ray - Use spells with a ray affect as touch spells. | ||||
| 8:  - | ||||
| 9:  Diamond soul - Gain spell resistance of 10 +monk levels +fist levels. | ||||
| 9:  Diamond soul - Gain spell resistance of 10 +monk levels +enlightened fist levels. | ||||
| 10: - | ||||
| </entry> | ||||
|   <entry id="52204" lang="en" sex="m">Fist of Energy</entry> | ||||
| @@ -41060,7 +41068,7 @@ For any servant of a deity, no joy is greater than at those rare moments when th | ||||
| 
 | ||||
| REQUIREMENTS: | ||||
| 
 | ||||
| Divine Spellcasting: Able to cast 1st-level spells. | ||||
| Spellcasting: Able to cast 1st-level divine spells. | ||||
| Skills: Lore 13 ranks. | ||||
| 
 | ||||
| ABILITIES: | ||||
| @@ -46213,7 +46221,7 @@ Feats Required: Martial Weapon Proficiency</entry> | ||||
|   <entry id="57027" lang="en" sex="m">Weapon Proficiency: Rapier</entry> | ||||
|   <entry id="57028" lang="en" sex="m">Weapon Proficiency: Scimitar</entry> | ||||
|   <entry id="57029" lang="en" sex="m">Weapon Proficiency: Scythe</entry> | ||||
|   <entry id="57030" lang="en" sex="m">Weapon Proficiency: Shortspear</entry> | ||||
|   <entry id="57030" lang="en" sex="m">Weapon Proficiency: Spear</entry> | ||||
|   <entry id="57031" lang="en" sex="m">Weapon Proficiency: Shuriken</entry> | ||||
|   <entry id="57032" lang="en" sex="m">Weapon Proficiency: Sickle</entry> | ||||
|   <entry id="57033" lang="en" sex="m">Weapon Proficiency: Sling</entry> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user