diff --git a/nwn/nwnprc/trunk/2das/classes.2da b/nwn/nwnprc/trunk/2das/classes.2da
index 8bf0ee75..71b4ed0b 100644
--- a/nwn/nwnprc/trunk/2das/classes.2da
+++ b/nwn/nwnprc/trunk/2das/classes.2da
@@ -222,7 +222,7 @@
 218        Warmind                  16790702 16825724 16825725 16825726 16825727    IR_ELDKNI        10     CLS_ATK_1        CLS_FEAT_WARMND  CLS_SAVTHR_WILD  CLS_SKILL_WARMND CLS_BFEAT_WARMND 2              ****            ****            1           0           14   12   14   16   10   10   WIS         0X04          0X1             0              CLASS_TYPE_WARMIND                1          2          3          4          5          6          7          8          9          10         11         12         13         14         15         16         17         18         19         20         CLS_PRES_WARMND  40       0         0              0              10        2       0        ****            ****            ****                ****        ****       ****        ****   **** ****             ****             ****         ****            ****              ****                 ****               
 219        IronMind                 16790703 16822552 16822553 16822554 16822555    IC_IRONMIND      10     CLS_ATK_2        CLS_FEAT_IRNMND  CLS_SAVTHR_WIZ   CLS_SKILL_IRNMND CLS_BFEAT_IRNMND 2              ****            ****            1           0           15   9    14   13   10   15   WIS         0X00          0X0             0              CLASS_TYPE_IRONMIND               1          2          3          4          5          6          7          8          9          10         11         12         13         14         15         16         17         18         19         20         CLS_PRES_IRNMND  10       0         0              0              10        2       0        ****            ****            ****                ****        ****       ****        ****   **** ****             ****             ****         ****            ****              ****                 ****               
 220        SanctifiedMind           16790704 16822568 16822569 16822570 16822571    IR_THRALLHERD    8      CLS_ATK_1        CLS_FEAT_SNCMND  CLS_SAVTHR_CLER  CLS_SKILL_SNCMND CLS_BFEAT_SNCMND 4              ****            ****            1           0           15   9    14   13   10   15   WIS         0X10          0X2             0              CLASS_TYPE_SANCTIFIED_MIND        1          2          3          4          5          6          7          8          9          10         11         12         13         14         15         16         17         18         19         20         CLS_PRES_SNCMND  6        0         0              1              6         2       0        ****            ****            ****                ****        ****       ****        ****   **** ****             ****             ****         ****            ****              ****                 ****               
-221        SlayerOfDomiel           16790705 16827566 16827567 16827568 16827569    IR_HEIRONEOUS    6      CLS_ATK_2        CLS_FEAT_SOD     CLS_SAVTHR_ROG   CLS_SKILL_SOD    CLS_BFEAT_SOD    4              CLS_SPGN_SOD    ****            1           1           15   9    14   13   10   15   WIS         0X15          0X3             0              CLASS_TYPE_SLAYER_OF_DOMIEL       1          2          3          4          5          6          7          8          9          10         11         12         13         14         15         16         17         18         19         20         CLS_PRES_SOD     10       0         0              0              10        2       0        ****            1               0                   0           0          0           0      0    WIS              Domiel           1            1               255               0                    0                  
+221        SlayerOfDomiel           16790705 16827566 16827567 16827568 16827569    IR_HEIRONEOUS    6      CLS_ATK_2        CLS_FEAT_SOD     CLS_SAVTHR_ROG   CLS_SKILL_SOD    CLS_BFEAT_SOD    4              CLS_SPGN_SOD    ****            1           1           15   9    14   13   10   15   WIS         0X15          0X3             0              CLASS_TYPE_SLAYER_OF_DOMIEL       1          2          3          4          5          6          7          8          9          10         11         12         13         14         15         16         17         18         19         20         CLS_PRES_SOD     40       0         0              0              10        2       0        ****            1               0                   0           0          0           0      0    WIS              Domiel           1            1               255               0                    0                  
 222        DiscipleOfAsmodeus       16790706 16822624 16822625 16822626 16822627    IR_SOULEATER     6      CLS_ATK_2        CLS_FEAT_DOA     CLS_SAVTHR_WIZ   CLS_SKILL_DOA    CLS_BFEAT_DOA    4              ****            ****            1           0           15   9    14   13   10   15   WIS         0X09          0X2             0              CLASS_TYPE_DISCIPLE_OF_ASMODEUS   1          2          3          4          5          6          7          8          9          10         11         12         13         14         15         16         17         18         19         20         CLS_PRES_DOA     10       0         2              0              10        2       0        ****            ****            ****                ****        ****       ****        ****   **** ****             ****             ****         ****            ****              ****                 ****               
 223        Dirgesinger              16790707 16822584 16822585 16822586 16822587    IR_PALEMA        6      CLS_ATK_2        CLS_FEAT_DIRGE   CLS_SAVTHR_WIZ   CLS_SKILL_DIRGE  CLS_BFEAT_DIRGE  4              ****            ****            1           0           15   9    14   13   10   15   WIS         0X08          0X2             0              CLASS_TYPE_DIRGESINGER            1          2          3          4          5          6          7          8          9          10         11         12         13         14         15         16         17         18         19         20         CLS_PRES_DIRGE   5        0         0              0              5         2       0        ****            ****            ****                ****        ****       ****        ****   **** ****             ****             ****         ****            ****              ****                 ****               
 224        Suel_Archanamach         16790708 16822598 16822599 16822600 16822601    IR_HAVOCMAGE     8      CLS_ATK_2        CLS_FEAT_SUEL    CLS_SAVTHR_BARD  CLS_SKILL_SUEL   CLS_BFEAT_SUEL   4              CLS_SPGN_SUEL   CLS_SPKN_SUEL   1           1           14   14   14   15   10   10   WIS         0X00          0X0             0              CLASS_TYPE_SUEL_ARCHANAMACH       1          2          3          4          5          6          7          8          9          10         11         12         13         14         15         16         17         18         19         20         CLS_PRES_SUEL    10       0         0              0              10        10      131      ****            ****            ****                ****        ****       ****        ****   **** ****             Suel             ****         ****            ****              ****                 ****               
diff --git a/nwn/nwnprc/trunk/2das/cls_bfeat_heartw.2da b/nwn/nwnprc/trunk/2das/cls_bfeat_heartw.2da
index c9579e16..85058153 100644
--- a/nwn/nwnprc/trunk/2das/cls_bfeat_heartw.2da
+++ b/nwn/nwnprc/trunk/2das/cls_bfeat_heartw.2da
@@ -1,7 +1,7 @@
 2DA V2.0
 
    Bonus 
-0  0     
+0  1     
 1  0     
 2  0     
 3  0     
diff --git a/nwn/nwnprc/trunk/2das/cls_bfeat_sod.2da b/nwn/nwnprc/trunk/2das/cls_bfeat_sod.2da
index 89d5a6c3..26289906 100644
--- a/nwn/nwnprc/trunk/2das/cls_bfeat_sod.2da
+++ b/nwn/nwnprc/trunk/2das/cls_bfeat_sod.2da
@@ -1,63 +1,63 @@
 2DA V2.0
 
-   Bonus 
-0  1     
-1  0     
-2  0     
-3  0     
-4  0     
-5  0     
-6  0     
-7  0     
-8  0     
-9  0     
-10 0     
-11 0     
-12 0     
-13 0     
-14 0     
-15 0     
-16 0     
-17 0     
-18 0     
-19 0     
-20 0     
-21 0     
-22 0     
-23 0     
-24 0     
-25 0     
-26 0     
-27 0     
-28 0     
-29 0     
-30 0     
-31 0     
-32 0     
-33 0     
-34 0     
-35 0     
-36 0     
-37 0     
-38 0     
-39 0     
-40 0     
-41 0     
-42 0     
-43 0     
-44 0     
-45 0     
-46 0     
-47 0     
-48 0     
-49 0     
-50 0     
-51 0     
-52 0     
-53 0     
-54 0     
-55 0     
-56 0     
-57 0     
-58 0     
-59 0     
+           Bonus 
+0          0     
+1          0     
+2          0     
+3          0     
+4          0     
+5          0     
+6          0     
+7          0     
+8          0     
+9          0     
+10         0     
+11         0     
+12         0     
+13         1     
+14         0     
+15         0     
+16         0     
+17         1     
+18         0     
+19         0     
+20         0     
+21         1     
+22         0     
+23         0     
+24         0     
+25         1     
+26         0     
+27         0     
+28         0     
+29         1     
+30         0     
+31         0     
+32         0     
+33         1     
+34         0     
+35         0     
+36         0     
+37         1     
+38         0     
+39         0     
+40         0     
+41         1     
+42         0     
+43         0     
+44         0     
+45         1     
+46         0     
+47         0     
+48         0     
+49         1     
+50         0     
+51         0     
+52         0     
+53         1     
+54         0     
+55         0     
+56         0     
+57         1     
+58         0     
+59         0     
diff --git a/nwn/nwnprc/trunk/2das/cls_feat_sod.2da b/nwn/nwnprc/trunk/2das/cls_feat_sod.2da
index ebe6b5bc..5c0be5f6 100644
--- a/nwn/nwnprc/trunk/2das/cls_feat_sod.2da
+++ b/nwn/nwnprc/trunk/2das/cls_feat_sod.2da
@@ -1,16 +1,158 @@
 2DA V2.0
 
-   FeatLabel                 FeatIndex List GrantedOnLevel OnMenu 
-0  SlayerOfDomielDeathTouch1 2282      3    1              1      
-1  SlayerOfDomielDeathTouch2 2284      3    3              1      
-2  SlayerOfDomielDeathTouch3 2286      3    8              1      
-3  SlayerOfDomielDeathTouch4 2299      3    10             1      
-4  SlayerOfDomielDivineGrace 2264      3    2              0      
-5  ImprovedEvasion           212       3    6              0      
-6  SlayerOfDomielDetectEvil  2461      3    1              1      
-7  FEAT_DRAGONFIRE_STRIKE    3949      0    -1             1      
-8  SuddenEmpower             2830      0    -1             1      
-9  SuddenExtend              2831      0    -1             1      
-10 SuddenMaximize            2832      0    -1             1      
-11 SuddenWiden               2833      0    -1             1      
-12 FEAT_ESCHEW_MATERIALS     2596      0    1              0      
+           FeatLabel                             FeatIndex List GrantedOnLevel OnMenu 
+0          SlayerOfDomielDeathTouch              2282      3    1              1      
+1          SlayerOfDomielDivineGrace             2264      3    2              0      
+2          ImprovedEvasion                       212       3    6              0      
+3          SlayerOfDomielDetectEvil              2461      3    1              1      
+4          EPIC_SLAYER_OF_DOMIEL                 25101     3    11             0      
+5          FEAT_EPIC_ARMOR_SKIN                  490       1    -1             0      
+6          FEAT_EPIC_BLINDING_SPEED              491       1    -1             1      
+7          FEAT_EPIC_PROWESS                     584       1    -1             0      
+8          FEAT_EPIC_WEAPON_FOCUS_CLUB           619       1    -1             0      
+9          FEAT_EPIC_WEAPON_FOCUS_DAGGER         620       1    -1             0      
+10         FEAT_EPIC_WEAPON_FOCUS_DART           621       1    -1             0      
+11         FEAT_EPIC_WEAPON_FOCUS_HEAVYCROSSBOW  622       1    -1             0      
+12         FEAT_EPIC_WEAPON_FOCUS_LIGHTCROSSBOW  623       1    -1             0      
+13         FEAT_EPIC_WEAPON_FOCUS_LIGHTMACE      624       1    -1             0      
+14         FEAT_EPIC_WEAPON_FOCUS_MORNINGSTAR    625       1    -1             0      
+15         FEAT_EPIC_WEAPON_FOCUS_QUARTERSTAFF   626       1    -1             0      
+16         FEAT_EPIC_WEAPON_FOCUS_SHORTSPEAR     627       1    -1             0      
+17         FEAT_EPIC_WEAPON_FOCUS_SICKLE         628       1    -1             0      
+18         FEAT_EPIC_WEAPON_FOCUS_SLING          629       1    -1             0      
+19         FEAT_EPIC_WEAPON_FOCUS_UNARMED        630       1    -1             0      
+20         FEAT_EPIC_WEAPON_FOCUS_LONGBOW        631       1    -1             0      
+21         FEAT_EPIC_WEAPON_FOCUS_SHORTBOW       632       1    -1             0      
+22         FEAT_EPIC_WEAPON_FOCUS_SHORTSWORD     633       1    -1             0      
+23         FEAT_EPIC_WEAPON_FOCUS_RAPIER         634       1    -1             0      
+24         FEAT_EPIC_WEAPON_FOCUS_SCIMITAR       635       1    -1             0      
+25         FEAT_EPIC_WEAPON_FOCUS_LONGSWORD      636       1    -1             0      
+26         FEAT_EPIC_WEAPON_FOCUS_GREATSWORD     637       1    -1             0      
+27         FEAT_EPIC_WEAPON_FOCUS_HANDAXE        638       1    -1             0      
+28         FEAT_EPIC_WEAPON_FOCUS_THROWINGAXE    639       1    -1             0      
+29         FEAT_EPIC_WEAPON_FOCUS_BATTLEAXE      640       1    -1             0      
+30         FEAT_EPIC_WEAPON_FOCUS_GREATAXE       641       1    -1             0      
+31         FEAT_EPIC_WEAPON_FOCUS_HALBERD        642       1    -1             0      
+32         FEAT_EPIC_WEAPON_FOCUS_LIGHTHAMMER    643       1    -1             0      
+33         FEAT_EPIC_WEAPON_FOCUS_LIGHTFLAIL     644       1    -1             0      
+34         FEAT_EPIC_WEAPON_FOCUS_WARHAMMER      645       1    -1             0      
+35         FEAT_EPIC_WEAPON_FOCUS_HEAVYFLAIL     646       1    -1             0      
+36         FEAT_EPIC_WEAPON_FOCUS_KAMA           647       1    -1             0      
+37         FEAT_EPIC_WEAPON_FOCUS_KUKRI          648       1    -1             0      
+38         FEAT_EPIC_WEAPON_FOCUS_SHURIKEN       649       1    -1             0      
+39         FEAT_EPIC_WEAPON_FOCUS_SCYTHE         650       1    -1             0      
+40         FEAT_EPIC_WEAPON_FOCUS_KATANA         651       1    -1             0      
+41         FEAT_EPIC_WEAPON_FOCUS_BASTARDSWORD   652       1    -1             0      
+42         FEAT_EPIC_WEAPON_FOCUS_DIREMACE       653       1    -1             0      
+43         FEAT_EPIC_WEAPON_FOCUS_DOUBLEAXE      654       1    -1             0      
+44         FEAT_EPIC_WEAPON_FOCUS_TWOBLADEDSWORD 655       1    -1             0      
+45         EPIC_WEAPON_FOCUS_LANCE               24613     1    -1             0      
+46         EPIC_WEAPON_FOCUS_HEAVY_PICK          24614     1    -1             0      
+47         EPIC_WEAPON_FOCUS_LIGHT_PICK          24615     1    -1             0      
+48         EPIC_WEAPON_FOCUS_SAI                 24616     1    -1             0      
+49         EPIC_WEAPON_FOCUS_NUNCHAKU            24617     1    -1             0      
+50         EPIC_WEAPON_FOCUS_FALCHION            24618     1    -1             0      
+51         EPIC_WEAPON_FOCUS_SAP                 24619     1    -1             0      
+52         EPIC_WEAPON_FOCUS_KATAR               24620     1    -1             0      
+53         EPIC_WEAPON_FOCUS_HEAVY_MACE          24621     1    -1             0      
+54         EPIC_WEAPON_FOCUS_MAUL                24622     1    -1             0      
+55         EPIC_WEAPON_FOCUS_DBL_SCIMITAR        24623     1    -1             0      
+56         EPIC_WEAPON_FOCUS_GOAD                24624     1    -1             0      
+57         EPIC_WEAPON_FOCUS_ELVEN_LIGHTBLADE    24698     1    -1             0      
+58         EPIC_WEAPON_FOCUS_ELVEN_THINBLADE     24706     1    -1             0      
+59         EPIC_WEAPON_FOCUS_ELVEN_COURTBLADE    24714     1    -1             0      
+60         FEAT_EPIC_WEAPON_FOCUS_DWAXE          956       1    -1             0      
+61         FEAT_EPIC_WEAPON_FOCUS_WHIP           997       1    -1             0      
+62         FEAT_EPIC_SUPERIOR_INITIATIVE         753       1    -1             0      
+63         Epic_WeaponFocus_Mindblade            3618      1    -1             0      
+64         FEAT_EPIC_LEADERSHIP                  4366      1    -1             0      
+65         FEAT_LEGENDARY_COMMANDER              4367      1    -1             0      
+66         FEAT_EPIC_SKILL_FOCUS_APPRAISE        588       1    -1             0      
+67         FEAT_EPIC_SKILL_FOCUS_CONCENTRATION   589       1    -1             0      
+68         FEAT_EPIC_SKILL_FOCUS_CRAFT_TRAP      590       1    -1             0      
+69         FEAT_EPIC_SKILL_FOCUS_DISABLETRAP     591       1    -1             0      
+70         FEAT_EPIC_SKILL_FOCUS_DISCIPLINE      592       1    -1             0      
+71         FEAT_EPIC_SKILL_FOCUS_HEAL            593       1    -1             0      
+72         FEAT_EPIC_SKILL_FOCUS_HIDE            594       1    -1             0      
+73         FEAT_EPIC_SKILL_FOCUS_LISTEN          595       1    -1             0      
+74         FEAT_EPIC_SKILL_FOCUS_LORE            596       1    -1             0      
+75         FEAT_EPIC_SKILL_FOCUS_MOVESILENTLY    597       1    -1             0      
+76         FEAT_EPIC_SKILL_FOCUS_OPENLOCK        598       1    -1             0      
+77         FEAT_EPIC_SKILL_FOCUS_PARRY           599       1    -1             0      
+78         FEAT_EPIC_SKILL_FOCUS_PERSUADE        601       1    -1             0      
+79         FEAT_EPIC_SKILL_FOCUS_PICKPOCKET      602       1    -1             0      
+80         FEAT_EPIC_SKILL_FOCUS_SEARCH          603       1    -1             0      
+81         FEAT_EPIC_SKILL_FOCUS_SETTRAP         604       1    -1             0      
+82         FEAT_EPIC_SKILL_FOCUS_SPELLCRAFT      605       1    -1             0      
+83         FEAT_EPIC_SKILL_FOCUS_SPOT            606       1    -1             0      
+84         FEAT_EPIC_SKILL_FOCUS_TAUNT           607       1    -1             0      
+85         FEAT_EPIC_SKILL_FOCUS_TUMBLE          608       1    -1             0      
+86         FEAT_EPIC_SKILL_FOCUS_CRAFT_ARMOR     913       1    -1             0      
+87         FEAT_EPIC_SKILL_FOCUS_CRAFT_WEAPON    914       1    -1             0      
+88         FEAT_EPIC_SKILL_FOCUS_BLUFF           917       1    -1             0      
+89         FEAT_EPIC_SKILL_FOCUS_INTIMIDATE      918       1    -1             0      
+90         FEAT_LINGERING_DAMAGE                 3099      1    -1             0      
+91         FEAT_EPIC_SKILL_FOCUS_RIDE            3038      1    -1             0      
+92         FEAT_EPIC_SKILL_FOCUS_JUMP            3040      1    -1             0      
+93         FEAT_EPIC_SKILL_FOCUS_SENSE_MOTIVE    3042      1    -1             0      
+94         FEAT_EPIC_SKILL_FOCUS_MARTIAL_LORE    3044      1    -1             0      
+95         FEAT_EPIC_SKILL_FOCUS_BALANCE         3046      1    -1             0      
+96         FEAT_EPIC_SKILL_FOCUS_CRAFT_POISON    3048      1    -1             0      
+97         FEAT_EPIC_SKILL_FOCUS_PSICRAFT        3050      1    -1             0      
+98         FEAT_EPIC_SKILL_FOCUS_CLIMB           3052      1    -1             0      
+99         FEAT_EPIC_SKILL_FOCUS_CRAFT_GENERAL   3054      1    -1             0      
+100        FEAT_EPIC_REPUTATION                  586       1    -1             0      
+101        FEAT_EPIC_SELF_CONCEALMENT_10         748       1    -1             0      
+102        FEAT_EPIC_SELF_CONCEALMENT_20         749       1    -1             0      
+103        FEAT_EPIC_SELF_CONCEALMENT_30         750       1    -1             0      
+104        FEAT_EPIC_SELF_CONCEALMENT_40         751       1    -1             0      
+105        FEAT_EPIC_SELF_CONCEALMENT_50         752       1    -1             0      
+106        FEAT_EPIC_SUPERIOR_INITIATIVE         753       1    -1             0      
+107        FEAT_EPIC_GREAT_DEXTERITY_1           784       1    -1             0      
+108        FEAT_EPIC_GREAT_DEXTERITY_2           785       1    -1             0      
+109        FEAT_EPIC_GREAT_DEXTERITY_3           786       1    -1             0      
+110        FEAT_EPIC_GREAT_DEXTERITY_4           787       1    -1             0      
+111        FEAT_EPIC_GREAT_DEXTERITY_5           788       1    -1             0      
+112        FEAT_EPIC_GREAT_DEXTERITY_6           789       1    -1             0      
+113        FEAT_EPIC_GREAT_DEXTERITY_7           790       1    -1             0      
+114        FEAT_EPIC_GREAT_DEXTERITY_8           791       1    -1             0      
+115        FEAT_EPIC_GREAT_DEXTERITY_9           792       1    -1             0      
+116        FEAT_EPIC_GREAT_DEXTERITY_10          793       1    -1             0      
+117        FEAT_EPIC_IMPROVED_SNEAK_ATTACK_1     834       1    -1             0      
+118        FEAT_EPIC_IMPROVED_SNEAK_ATTACK_2     835       1    -1             0      
+119        FEAT_EPIC_IMPROVED_SNEAK_ATTACK_3     836       1    -1             0      
+120        FEAT_EPIC_IMPROVED_SNEAK_ATTACK_4     837       1    -1             0      
+121        FEAT_EPIC_IMPROVED_SNEAK_ATTACK_5     838       1    -1             0      
+122        FEAT_EPIC_IMPROVED_SNEAK_ATTACK_6     839       1    -1             0      
+123        FEAT_EPIC_IMPROVED_SNEAK_ATTACK_7     840       1    -1             0      
+124        FEAT_EPIC_IMPROVED_SNEAK_ATTACK_8     841       1    -1             0      
+125        FEAT_EPIC_IMPROVED_SNEAK_ATTACK_9     842       1    -1             0      
+126        FEAT_EPIC_IMPROVED_SNEAK_ATTACK_10    843       1    -1             0      
+127        FEAT_EPIC_SKILL_FOCUS_USEMAGICDEVICE  609       1    -1             0      
+128        FEAT_EPIC_DODGE                       856       1    -1             0      
+129        FEAT_EPIC_GREAT_CHARISMA_1            764       1    -1             0      
+130        FEAT_EPIC_GREAT_CHARISMA_2            765       1    -1             0      
+131        FEAT_EPIC_GREAT_CHARISMA_3            766       1    -1             0      
+132        FEAT_EPIC_GREAT_CHARISMA_4            767       1    -1             0      
+133        FEAT_EPIC_GREAT_CHARISMA_5            768       1    -1             0      
+134        FEAT_EPIC_GREAT_CHARISMA_6            769       1    -1             0      
+135        FEAT_EPIC_GREAT_CHARISMA_7            770       1    -1             0      
+136        FEAT_EPIC_GREAT_CHARISMA_8            771       1    -1             0      
+137        FEAT_EPIC_GREAT_CHARISMA_9            772       1    -1             0      
+138        FEAT_EPIC_GREAT_CHARISMA_10           773       1    -1             0      
+139        FEAT_EPIC_GREAT_WISDOM_1              804       1    -1             0      
+140        FEAT_EPIC_GREAT_WISDOM_2              805       1    -1             0      
+141        FEAT_EPIC_GREAT_WISDOM_3              806       1    -1             0      
+142        FEAT_EPIC_GREAT_WISDOM_4              807       1    -1             0      
+143        FEAT_EPIC_GREAT_WISDOM_5              808       1    -1             0      
+144        FEAT_EPIC_GREAT_WISDOM_6              809       1    -1             0      
+145        FEAT_EPIC_GREAT_WISDOM_7              810       1    -1             0      
+146        FEAT_EPIC_GREAT_WISDOM_8              811       1    -1             0      
+147        FEAT_EPIC_GREAT_WISDOM_9              812       1    -1             0      
+148        FEAT_EPIC_GREAT_WISDOM_10             813       1    -1             0      
+149        FEAT_DRAGONFIRE_STRIKE                3949      0    -1             1      
+150        SuddenEmpower                         2830      0    -1             1      
+151        SuddenExtend                          2831      0    -1             1      
+152        SuddenMaximize                        2832      0    -1             1      
+153        SuddenWiden                           2833      0    -1             1      
+154        FEAT_ESCHEW_MATERIALS                 2596      0    1              0      
diff --git a/nwn/nwnprc/trunk/2das/feat.2da b/nwn/nwnprc/trunk/2das/feat.2da
index 13c52f56..af0ddf75 100644
--- a/nwn/nwnprc/trunk/2das/feat.2da
+++ b/nwn/nwnprc/trunk/2das/feat.2da
@@ -2343,10 +2343,10 @@
 2339 FEAT_GREATER_IRON_HEWS 16826150 16826151 ife_x2critomsta **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 2765 **** 1 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_GREATER_IRON_HEWS 4 **** **** **** **** **** 0 1
 2340 FEAT_IRON_SKIN 16826152 16826153 ife_x2arskin **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 2766 **** 1 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_IRON_SKIN 4 **** **** **** **** **** 0 1
 2341 FEAT_IRON_BODY 16826154 16826155 ife_x2epdivcha **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 2767 **** 1 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_IRON_BODY 4 **** **** **** **** **** 0 1
-2342 FEAT_PAIN_TOUCH 16826160 16826161 ife_x2wfunar **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 2768 2343 **** 11 **** **** **** **** **** **** **** **** **** **** **** FEAT_PAIN_TOUCH **** **** **** **** **** **** **** 1
-2343 FEAT_AURA_OF_FEAR 16826162 16826163 ife_x1spdrkbls **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 2770 2346 **** 11 **** 1 **** **** **** **** **** **** **** **** **** FEAT_AURA_OF_FEAR **** **** **** **** **** **** **** 1
-2344 FEAT_CRUELEST_CUT 16826164 16826165 ife_x2kicrit **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 2769 2349 **** 11 **** **** **** **** **** **** **** **** **** **** **** FEAT_CRUELEST_CUT **** **** **** **** **** **** **** 1
-2345 FEAT_VISAGE_OF_TERROR 16826166 16826167 ife_x2mightrage **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 2771 2391 **** 9 **** **** **** **** **** **** **** **** **** **** **** FEAT_VISAGE_OF_TERROR **** **** **** **** **** **** **** 1
+2342 FEAT_PAIN_TOUCH 16826160 16826161 ife_x2wfunar **** **** **** **** **** **** **** **** **** **** **** **** 0 **** **** 2768 **** **** 11 **** **** **** **** **** **** **** **** **** **** **** FEAT_PAIN_TOUCH 3 1 **** **** **** **** 0 1
+2343 FEAT_AURA_OF_FEAR 16826162 16826163 ife_x1spdrkbls **** **** **** **** **** **** **** **** **** **** **** **** 0 **** **** 2770 **** **** 11 **** 1 **** **** **** **** **** **** **** **** **** FEAT_AURA_OF_FEAR 1 **** **** **** **** **** 0 1
+2344 FEAT_CRUELEST_CUT 16826164 16826165 ife_x2kicrit **** **** **** **** **** **** **** **** **** **** **** **** 0 **** **** 2769 **** **** 11 **** **** **** **** **** **** **** **** **** **** **** FEAT_CRUELEST_CUT 3 1 **** **** **** **** 0 1
+2345 FEAT_VISAGE_OF_TERROR 16826166 16826167 ife_x2mightrage **** **** **** **** **** **** **** **** **** **** **** **** 0 **** **** 2771 **** **** 9 **** **** **** **** **** **** **** **** **** **** **** FEAT_VISAGE_OF_TERROR 1 **** **** **** **** **** 0 1
 2346 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 1
 2347 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 1
 2348 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 1
diff --git a/nwn/nwnprc/trunk/2das/spells.2da b/nwn/nwnprc/trunk/2das/spells.2da
index eae4ac00..7fd6e560 100644
--- a/nwn/nwnprc/trunk/2das/spells.2da
+++ b/nwn/nwnprc/trunk/2das/spells.2da
@@ -18936,9 +18936,9 @@
 18932 LightningGauntletsZap 16836844 is_ChLightn V T 0 **** 0x02 moi_mld_lghtgnzp **** **** **** **** **** **** 6 1500 hand **** vco_mebalelec01 **** sco_mebalelec01 vs_chant_evoc_hm vs_chant_evoc_hf area 1000 **** **** **** **** 0 **** linked hand **** path Electricity 1 **** **** **** **** **** 1 **** 1 6110 0 0 **** 1 **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
 18933 LightningGauntletsHandsBind 16836845 is_ShadShld T P 0 **** 0x01 moi_mld_lghtgnhn **** **** **** **** **** **** 8 1500 hand **** **** vco_lgrinodd01 sco_lgrinodd01 vs_chant_illu_hm vs_chant_illu_hf self 1000 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 12 **** 1 16836717 0 0 **** 0 **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
 18934 LuckyDice_RadialMaster 16836093 **** T P 0 **** 0x01 moi_mld_lckydcft **** **** **** **** **** **** 2 1500 hand **** vco_smhanelec01 **** sco_mehanelec01 vs_chant_conj_lm vs_chant_conj_lf self 1000 **** **** **** **** 0 **** **** **** **** **** **** 0 18935 18936 18937 **** **** 12 **** 1 16825537 0 0 **** 0 8834 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
-18935 LuckyDice_AttackDamage 16836095 fot_knowalign T P 0 **** 0x01 moi_mld_lckydcft **** **** **** **** **** **** 2 1500 hand **** vco_smhanelec01 **** sco_mehanelec01 vs_chant_conj_lm vs_chant_conj_lf self 1000 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 12 18934 1 16825537 0 0 **** 0 556926050 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
-18936 LuckyDice_SavingThrows 16836096 fot_exped T P 0 **** 0x01 moi_mld_lckydcft **** **** **** **** **** **** 2 1500 hand **** vco_smhanelec01 **** sco_mehanelec01 vs_chant_conj_lm vs_chant_conj_lf self 1000 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 12 18934 1 16825537 0 0 **** 0 557384801 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
-18937 LuckyDice_SkillAbilities 16836097 fot_minorseq T P 0 **** 0x01 moi_mld_lckydcft **** **** **** **** **** **** 2 1500 hand **** vco_smhanelec01 **** sco_mehanelec01 vs_chant_conj_lm vs_chant_conj_lf self 1000 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 12 18934 1 16825537 0 0 **** 0 557515872 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
+18935 LuckyDice_AttackDamage 16836848 fot_knowalign T P 0 **** 0x01 moi_mld_lckydcft **** **** **** **** **** **** 2 1500 hand **** vco_smhanelec01 **** sco_mehanelec01 vs_chant_conj_lm vs_chant_conj_lf self 1000 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 12 18934 1 16825537 0 0 **** 0 556926050 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
+18936 LuckyDice_SavingThrows 16836849 fot_exped T P 0 **** 0x01 moi_mld_lckydcft **** **** **** **** **** **** 2 1500 hand **** vco_smhanelec01 **** sco_mehanelec01 vs_chant_conj_lm vs_chant_conj_lf self 1000 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 12 18934 1 16825537 0 0 **** 0 557384801 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
+18937 LuckyDice_SkillAbilities 16836850 fot_minorseq T P 0 **** 0x01 moi_mld_lckydcft **** **** **** **** **** **** 2 1500 hand **** vco_smhanelec01 **** sco_mehanelec01 vs_chant_conj_lm vs_chant_conj_lf self 1000 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 12 18934 1 16825537 0 0 **** 0 557515872 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
 18938 MagesSpectaclesBrowBind 16836853 is_ReadMagic D T 0 **** 0x28 moi_mld_mgspctft **** **** **** **** **** **** 2 1500 hand **** vco_smhanelec01 **** sco_mehanelec01 vs_chant_illu_lm vs_chant_illu_lf self 1000 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** **** **** 1 16789529 0 0 **** 0 **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
 18939 ManticoreBeltTotemBind 16836856 ife_X1EmbuArr V L 0 **** 0x02 moi_mld_mntcrbft **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** attack 1000 **** **** **** **** 1 wamar_001 homing hand **** path **** 0 **** **** **** **** **** 3 **** 2 **** 0 0 **** 1 **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
 18940 MantleOfFlameShouldersBind 16836859 is_Fireball V P 0 **** 0x01 moi_mld_mntlflft **** **** **** **** **** **** 3 1500 hand **** vco_mehanfire03 **** sco_mehanfire03 vs_chant_evoc_lm vs_chant_evoc_lf area 1000 **** **** **** **** 1 vpr_fireball homing hand spr_fireball path Fire 1 **** **** **** **** **** 11 **** 1 6155 0 0 **** 1 **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
diff --git a/nwn/nwnprc/trunk/include/prc_feat_const.nss b/nwn/nwnprc/trunk/include/prc_feat_const.nss
index 9028a024..83a0544f 100644
--- a/nwn/nwnprc/trunk/include/prc_feat_const.nss
+++ b/nwn/nwnprc/trunk/include/prc_feat_const.nss
@@ -760,6 +760,9 @@ const int FEAT_ED_PROTECTIVE_AURA					= 23526;
 const int FEAT_ED_STRENGTH_OF_WILL					= 23527;
 const int FEAT_ED_WILD_FRENZY						= 23528;
 
+//:: Slayer of Domiel
+const int FEAT_SOD_DEATH_TOUCH						= 2282;
+
 //Passive Feats
 const int FEAT_ETERNAL_FREEDOM                         = 4298;
 const int FEAT_INTUITIVE_ATTACK                        = 3166;
diff --git a/nwn/nwnprc/trunk/include/prc_inc_function.nss b/nwn/nwnprc/trunk/include/prc_inc_function.nss
index 690cdb90..8fbb486b 100644
--- a/nwn/nwnprc/trunk/include/prc_inc_function.nss
+++ b/nwn/nwnprc/trunk/include/prc_inc_function.nss
@@ -2166,6 +2166,7 @@ void FeatSpecialUsePerDay(object oPC)
     FeatUsePerDay(oPC, FEAT_LIPS_RAPTUR);
 	FeatUsePerDay(oPC, FEAT_COMMAND_SPIDERS, ABILITY_CHARISMA, 3);
 	FeatUsePerDay(oPC, FEAT_FM_FOREST_DOMINION, ABILITY_CHARISMA, 3);
+	FeatUsePerDay(oPC, FEAT_SOD_DEATH_TOUCH, -1, (GetLevelByClass(CLASS_TYPE_SLAYER_OF_DOMIEL, oPC)+4)/4);
     FeatDiabolist(oPC);
     FeatAlaghar(oPC);
     ShadowShieldUses(oPC);
diff --git a/nwn/nwnprc/trunk/include/prc_inc_unarmed.nss b/nwn/nwnprc/trunk/include/prc_inc_unarmed.nss
index e745829f..a08f912d 100644
--- a/nwn/nwnprc/trunk/include/prc_inc_unarmed.nss
+++ b/nwn/nwnprc/trunk/include/prc_inc_unarmed.nss
@@ -250,9 +250,9 @@ int FindUnarmedDamage(object oCreature)
     
     // Ronove is in place of monk, does not stack
     if (iRonove > iMonk) iMonk = iRonove;
-
-    // monks damage progesses every four levels, starts at 1d6
-    if (iMonk > 0)
+	
+	// monks damage progesses every four levels, starts at 1d6
+		if (iMonk > 0)
         iMonkDamage = iMonk / 4 + 3;
 
     // For medium monks in 3.0e skip 2d8 and go to 1d20
@@ -263,6 +263,7 @@ int FindUnarmedDamage(object oCreature)
     // without stacking.
     if (iShou > 0) iShouDamage = iShou + 2; // Lv. 1: 1d6, Lv. 2: 1d8, Lv. 3: 1d10
     if (iShou > 3) iShouDamage--;           // Lv. 4: 1d10, Lv. 5: 2d6
+	iShouDamage = StringToInt(Get2DACache("unarmed_dmg","size" + IntToString(iSize), iShouDamage));
     
     // Frostrager does not stack with other damage types
     if (iFrost > 0) iFrostDamage = IP_CONST_MONSTERDAMAGE_1d6; // Lv. 1: 1d6
@@ -326,10 +327,15 @@ int FindUnarmedDamage(object oCreature)
     iBrawlerDamage += iDieIncrease;
     iFrostDamage   += iDieIncrease;
     iSUSDamage     += iDieIncrease;
+	
+	//FloatingTextStringOnCreature("prc_inc_unarmed: Size is: "+IntToString(iSize)+".", oCreature);	
+	//FloatingTextStringOnCreature("prc_inc_unarmed: Pre 2DA Lookup >> iMonkDamage = "+IntToString(iMonkDamage)+".", oCreature);
 
     // now, read the damage from the table in unarmed_dmg.2da
     iMonkDamage    = StringToInt(Get2DACache("unarmed_dmg","size" + IntToString(iSize), iMonkDamage));
     iShouDamage    = StringToInt(Get2DACache("unarmed_dmg","size" + IntToString(iSize), iShouDamage));
+	
+	//FloatingTextStringOnCreature("prc_inc_unarmed: Post 2DA Lookup >> iMonkDamage = "+IntToString(iMonkDamage)+".", oCreature);
 
     // Medium+ monks have some special values on the table in 3.0:
     if (iSize >= 5 && !GetPRCSwitch(PRC_3_5e_FIST_DAMAGE))
diff --git a/nwn/nwnprc/trunk/include/prc_nui_sb_inc.nss b/nwn/nwnprc/trunk/include/prc_nui_sb_inc.nss
index 81768b61..a1a768e2 100644
--- a/nwn/nwnprc/trunk/include/prc_nui_sb_inc.nss
+++ b/nwn/nwnprc/trunk/include/prc_nui_sb_inc.nss
@@ -533,24 +533,22 @@ int GetCurrentSpellLevel(int nClass, int nLevel)
     // ToB doesn't have a concept of spell levels, but still match up to it
     if(nClass == CLASS_TYPE_WARBLADE
         || nClass == CLASS_TYPE_SWORDSAGE
-        || nClass == CLASS_TYPE_CRUSADER)
+        || nClass == CLASS_TYPE_CRUSADER
+        || nClass == CLASS_TYPE_SHADOWCASTER)
     {
         return 9;
     }
 
+
     // Binders don't really have a concept of spell level
     if (nClass == CLASS_TYPE_BINDER
-        || nClass == CLASS_TYPE_DRAGON_SHAMAN)
+        || nClass == CLASS_TYPE_DRAGON_SHAMAN) // they can only reach 1st circle
         return 1;
 
     //Shadowsmith has no concept of spell levels
     if (nClass == CLASS_TYPE_SHADOWSMITH)
         return 2;
 
-    //Shadowcaster has no concept of spell levels
-    if (nClass == CLASS_TYPE_SHADOWCASTER)
-        return 9;
-
     if (nClass == CLASS_TYPE_WARLOCK
         || nClass == CLASS_TYPE_DRAGONFIRE_ADEPT)
         return 4;
@@ -570,6 +568,20 @@ int GetCurrentSpellLevel(int nClass, int nLevel)
 
         currentLevel = nLevel - 1; // Level is 1 off of the row in the 2da
 
+        if  (nClass == CLASS_TYPE_FIST_OF_ZUOKEN
+            || nClass == CLASS_TYPE_PSION
+            || nClass == CLASS_TYPE_PSYWAR
+            || nClass == CLASS_TYPE_WILDER
+            || nClass == CLASS_TYPE_PSYCHIC_ROGUE
+            || nClass == CLASS_TYPE_WARMIND)
+            currentLevel = GetManifesterLevel(OBJECT_SELF, nClass, TRUE) - 1;
+
+        int totalLevel = Get2DARowCount(spellLevel2da);
+
+        // in case we somehow go over bounds just don't :)
+        if (currentLevel >= totalLevel)
+            currentLevel = totalLevel - 1;
+
         //Psionics have MaxPowerLevel as their column name
         string columnName = "MaxPowerLevel";
 
@@ -584,13 +596,13 @@ int GetCurrentSpellLevel(int nClass, int nLevel)
         {
             columnName = "EvolvingMind";
             spellLevel2da = "cls_true_maxlvl"; //has a different 2da we want to look at
-         }
+        }
 
-         if (nClass == CLASS_TYPE_BINDER)
-         {
+        if (nClass == CLASS_TYPE_BINDER)
+        {
             columnName = "VestigeLvl";
             spellLevel2da = "cls_bind_binder";
-         }
+        }
 
         // ToB doesn't have a concept of this, but we don't care.
 
@@ -601,21 +613,6 @@ int GetCurrentSpellLevel(int nClass, int nLevel)
 
 int GetMinSpellLevel(int nClass)
 {
-
-    // ToB doesn't have a concept of spell levels, but still match up to it
-    if(nClass == CLASS_TYPE_WARBLADE
-        || nClass == CLASS_TYPE_SWORDSAGE
-        || nClass == CLASS_TYPE_CRUSADER
-        || nClass == CLASS_TYPE_SHADOWCASTER  //Shadowsmiths doesn't have a progression 2da :)
-        || nClass == CLASS_TYPE_SHADOWSMITH  //Shadowcasters doesn't have a progression 2da :)
-        || nClass == CLASS_TYPE_BINDER // Binders don't really have a concept of spell level
-        || nClass == CLASS_TYPE_DRAGON_SHAMAN //Invokers have an issue with tracking accurate spell levels, so this is a work around
-        || nClass == CLASS_TYPE_DRAGONFIRE_ADEPT
-        || nClass == CLASS_TYPE_WARLOCK)
-    {
-        return 1;
-    }
-
     // again sponts have their own function
     if(GetSpellbookTypeForClass(nClass) == SPELLBOOK_TYPE_SPONTANEOUS
         || nClass == CLASS_TYPE_ARCHIVIST)
@@ -624,6 +621,23 @@ int GetMinSpellLevel(int nClass)
     }
     else
     {
+        if  (nClass == CLASS_TYPE_FIST_OF_ZUOKEN
+            || nClass == CLASS_TYPE_PSION
+            || nClass == CLASS_TYPE_PSYWAR
+            || nClass == CLASS_TYPE_WILDER
+            || nClass == CLASS_TYPE_PSYCHIC_ROGUE
+            || nClass == CLASS_TYPE_WARMIND
+            || nClass == CLASS_TYPE_WARBLADE
+            || nClass == CLASS_TYPE_SWORDSAGE
+            || nClass == CLASS_TYPE_CRUSADER
+            || nClass == CLASS_TYPE_WARLOCK
+            || nClass == CLASS_TYPE_DRAGONFIRE_ADEPT
+            || nClass == CLASS_TYPE_DRAGON_SHAMAN
+            || nClass == CLASS_TYPE_SHADOWCASTER
+            || nClass == CLASS_TYPE_SHADOWSMITH
+            || nClass == CLASS_TYPE_BINDER)
+            return 1;
+
         return GetCurrentSpellLevel(nClass, 1);
     }
 
@@ -631,6 +645,16 @@ int GetMinSpellLevel(int nClass)
 
 int GetMaxSpellLevel(int nClass)
 {
+    if (nClass == CLASS_TYPE_WILDER
+        || nClass == CLASS_TYPE_PSION)
+        return 9;
+    if (nClass == CLASS_TYPE_PSYCHIC_ROGUE
+        || nClass == CLASS_TYPE_FIST_OF_ZUOKEN
+        || nClass == CLASS_TYPE_WARMIND)
+        return 5;
+    if (nClass == CLASS_TYPE_PSYWAR)
+        return 6;
+
     return GetCurrentSpellLevel(nClass, GetHighestLevelPossibleInClass(nClass));
 }
 
diff --git a/nwn/nwnprc/trunk/include/x2_inc_spellhook.nss b/nwn/nwnprc/trunk/include/x2_inc_spellhook.nss
index 2651c3fb..201364e1 100644
--- a/nwn/nwnprc/trunk/include/x2_inc_spellhook.nss
+++ b/nwn/nwnprc/trunk/include/x2_inc_spellhook.nss
@@ -1660,7 +1660,7 @@ int BardSorcPrCCheck(object oCaster, int nCastingClass, object oSpellCastItem)
     {
         if (CheckSecondaryPrC(oCaster) == TRUE)
 		{
-			FloatingTextStringOnCreature("x2_inc_spellhook: BardSorcPrCCheck >>> Sorcerer w/RHD found.", oCaster);
+			if (DEBUG) DoDebug("x2_inc_spellhook: BardSorcPrCCheck >>> Sorcerer w/RHD found.", oCaster);
 			return TRUE;
 		}
 		//no need to check further if new spellbooks are disabled
@@ -1683,7 +1683,7 @@ int BardSorcPrCCheck(object oCaster, int nCastingClass, object oSpellCastItem)
 		}
 		if (CheckSecondaryPrC(oCaster) == TRUE)
 		{
-			if (DEBUG) DoDebug("x2_inc_spellhook: BardSorcPrCCheck >>> Bard w/RHD found.", oCaster);
+			if (DEBUG) DoDebug("x2_inc_spellhook: BardSorcPrCCheck >>> Sorcerer w/RHD found.", oCaster);
 			FloatingTextStringOnCreature("You must use the new spellbook on the class radial.", oCaster, FALSE);
 			return FALSE;
 		}			
diff --git a/nwn/nwnprc/trunk/newspellbook/moi_midnightcnv.nss b/nwn/nwnprc/trunk/newspellbook/moi_midnightcnv.nss
index 47743cc3..cb1e34f6 100644
--- a/nwn/nwnprc/trunk/newspellbook/moi_midnightcnv.nss
+++ b/nwn/nwnprc/trunk/newspellbook/moi_midnightcnv.nss
@@ -163,7 +163,7 @@ void main()
                 int i, nPowerLevel;
                 int nMaxLevel = GetMaxEssentiaCapacityFeat(oMeldshaper);
                 string sFeatID;
-                for(i = 14001; i < 14260 ; i++)
+				for(i = 14001; i < 14260 ; i++)
                 {
                     nPowerLevel = StringToInt(Get2DACache("spells", "Innate", i));
 
@@ -180,7 +180,9 @@ void main()
                         if(SORT) AddToTempList(oMeldshaper, GetStringByStrRef(StringToInt(Get2DACache("spells", "Name", i))), i);
                         else     AddChoice(GetStringByStrRef(StringToInt(Get2DACache("spells", "Name", i))), i, oMeldshaper);   
                     }
-                } 
+                }
+				
+				TransferTempList(oMeldshaper);				
             } 			
 			else if(nStage == STAGE_SELECT_ESSENTIA_POWER)
             {
@@ -267,4 +269,4 @@ void main()
         // Store the stage value. If it has been changed, this clears out the choices
         SetStage(nStage, oMeldshaper);
     }
-}
+}
\ No newline at end of file
diff --git a/nwn/nwnprc/trunk/newspellbook/tob_stsn_trnthr.nss b/nwn/nwnprc/trunk/newspellbook/tob_stsn_trnthr.nss
index 2993efd4..2dfd7e57 100644
--- a/nwn/nwnprc/trunk/newspellbook/tob_stsn_trnthr.nss
+++ b/nwn/nwnprc/trunk/newspellbook/tob_stsn_trnthr.nss
@@ -77,7 +77,8 @@ void main()
         	// No hitting yourself or your friends
            	if(GetIsEnemy(oAreaTarget, oInitiator))
          	{
-                fDist += MetersToFeet(GetDistanceBetween(oInitiator, oAreaTarget));
+                //fDist += MetersToFeet(GetDistanceBetween(oInitiator, oAreaTarget));
+				fDist += PRCMax(10, FloatToInt(MetersToFeet(GetDistanceBetween(oInitiator, oAreaTarget))));
                 AssignCommand(oInitiator, ClearAllActions(TRUE));
                 AssignCommand(oInitiator, JumpToLocation(GetLocation(oAreaTarget)));
                 nBonus = (FloatToInt(fDist) / 5) * 2; // Bonus is +2 for every 5 feet moved
diff --git a/nwn/nwnprc/trunk/scripts/prc_nui_sb_event.nss b/nwn/nwnprc/trunk/scripts/prc_nui_sb_event.nss
index 85c428e1..f4e0931c 100644
--- a/nwn/nwnprc/trunk/scripts/prc_nui_sb_event.nss
+++ b/nwn/nwnprc/trunk/scripts/prc_nui_sb_event.nss
@@ -179,10 +179,10 @@ void main()
             if (masterSpellId)
             {
                 SetLocalInt(oPlayer, NUI_SPELLBOOK_SELECTED_SUBSPELL_SPELLID_VAR, spellId);
-                spellId = masterSpellId;
+                featId = StringToInt(Get2DACache("spells", "FeatID", masterSpellId));
             }
-
-            featId = StringToInt(Get2DACache("spells", "FeatID", spellId));
+            else
+                featId = StringToInt(Get2DACache("spells", "FeatID", spellId));
         }
     }
 
@@ -193,11 +193,13 @@ void main()
     if (nButton == NUI_PAYLOAD_BUTTON_RIGHT_CLICK)
     {
         CreateSpellDescriptionNUI(oPlayer, featId, spellId, realSpellId);
+        DeleteLocalInt(oPlayer, NUI_SPELLBOOK_SELECTED_SUBSPELL_SPELLID_VAR);
         return;
     }
     // If left click, operate normally
     if (nButton == NUI_PAYLOAD_BUTTON_LEFT_CLICK)
     {
+
         // We use the spell's FeatID to do actions, and we set the OnTarget action
         // to PRC_NUI_SPELLBOOK so the handler knows what the action is being done
         SetLocalInt(oPlayer, NUI_SPELLBOOK_SELECTED_FEATID_VAR, featId);
diff --git a/nwn/nwnprc/trunk/scripts/prc_nui_sb_trggr.nss b/nwn/nwnprc/trunk/scripts/prc_nui_sb_trggr.nss
index ef087c3f..8c0b317f 100644
--- a/nwn/nwnprc/trunk/scripts/prc_nui_sb_trggr.nss
+++ b/nwn/nwnprc/trunk/scripts/prc_nui_sb_trggr.nss
@@ -19,20 +19,21 @@ void main()
     // Get the selected PRC spell we are going to cast
     int featId = GetLocalInt(OBJECT_SELF, NUI_SPELLBOOK_SELECTED_FEATID_VAR);
 
+    // if the spell has a master feat this is it. This will return 0 if not set.
+    int subSpellID = GetLocalInt(OBJECT_SELF, NUI_SPELLBOOK_SELECTED_SUBSPELL_SPELLID_VAR);
+
     int isPersonalFeat = GetLocalInt(OBJECT_SELF, NUI_SPELLBOOK_ON_TARGET_IS_PERSONAL_FEAT);
 
     // if this is a personal feat then this was called directly since we never entered
     // targetting and this should be applied immediatly to the executing player.
     if (isPersonalFeat)
     {
-        ActionUseFeat(featId);
+        ActionUseFeat(featId, OBJECT_SELF, subSpellID);
         // we want to remove this just in case of weird cases.
         DeleteLocalInt(OBJECT_SELF, NUI_SPELLBOOK_ON_TARGET_IS_PERSONAL_FEAT);
     }
     else
     {
-        // if the spell has a master feat this is it. This will return 0 if not set.
-        int subSpellID = GetLocalInt(OBJECT_SELF, NUI_SPELLBOOK_SELECTED_SUBSPELL_SPELLID_VAR);
 
         // Get the target and location data we are casting at
         object oTarget = GetLocalObject(OBJECT_SELF, "TARGETING_OBJECT");
@@ -47,4 +48,7 @@ void main()
 
         ActionUseFeat(featId, oTarget, subSpellID, spellLocation);
     }
-}
+
+    DeleteLocalInt(OBJECT_SELF, NUI_SPELLBOOK_SELECTED_FEATID_VAR);
+    DeleteLocalInt(OBJECT_SELF, NUI_SPELLBOOK_SELECTED_SUBSPELL_SPELLID_VAR);
+}
\ No newline at end of file
diff --git a/nwn/nwnprc/trunk/scripts/prc_nui_sb_view.nss b/nwn/nwnprc/trunk/scripts/prc_nui_sb_view.nss
index 03c5489d..8135a305 100644
--- a/nwn/nwnprc/trunk/scripts/prc_nui_sb_view.nss
+++ b/nwn/nwnprc/trunk/scripts/prc_nui_sb_view.nss
@@ -119,6 +119,21 @@ string GetSpellLevelToolTip(int spellLevel);
 //
 json GetSpellIcon(int spellId, int nClass=0);
 
+//
+// HighlightButton
+// Takes NUI Button along with it's width and height and heighlights it with a drawn
+// colored rectangle to represent it's been selected.
+//
+// Arguments:
+//   jButton:json the NUI Button
+//   w:float the width of the button
+//   h:float the height of the button
+//
+// Returns:
+//   json the NUI button highlighted
+//
+json HighlightButton(json jButton, float w, float h);
+
 void main()
 {
     // look for existing window and destroy
@@ -187,6 +202,12 @@ void main()
     {
         geometry = NuiRect(893.0f,346.0f, 489.0f, 351.0f);
     }
+    else
+    {
+        float x = JsonGetFloat(JsonObjectGet(geometry, "x"));
+        float y = JsonGetFloat(JsonObjectGet(geometry, "y"));
+        geometry = NuiRect(x, y, 489.0f, 351.0f);
+    }
 
     // Set the binds to their default values
     NuiSetBind(OBJECT_SELF, nToken, "geometry", geometry);
@@ -218,11 +239,14 @@ json CreateSpellBookClassButtons()
             selectedClassId = classId;
             SetLocalInt(OBJECT_SELF, PRC_SPELLBOOK_SELECTED_CLASSID_VAR, selectedClassId);
         }
-
+        float width = 32.0f;
+        float height = 32.0f;
         // Get the class icon from the classes.2da
         json jClassButton = NuiId(NuiButtonImage(JsonString(Get2DACache("classes", "Icon", classId))), PRC_SPELLBOOK_NUI_CLASS_BUTTON_BASEID + IntToString(classId));
-        jClassButton = NuiWidth(jClassButton, 32.0f);
-        jClassButton = NuiHeight(jClassButton, 32.0f);
+        if (classId == selectedClassId)
+            jClassButton = HighlightButton(jClassButton, width, height);
+        jClassButton = NuiWidth(jClassButton, width);
+        jClassButton = NuiHeight(jClassButton, height);
         // Get the class name from the classes.2da and set it to the tooltip
         jClassButton = NuiTooltip(jClassButton, JsonString(GetStringByStrRef(StringToInt(Get2DACache("classes", "Name", classId)))));
 
@@ -250,6 +274,7 @@ json CreateSpellbookCircleButtons(int nClass)
     {
         // get what is the highest circle the class can cast at
         int currentMaxSpellLevel = GetCurrentSpellLevel(nClass, casterLevel);
+
         // Get what the max circle the class can reach at is
         int totalMaxSpellLevel = GetMaxSpellLevel(nClass);
 
@@ -273,21 +298,21 @@ json CreateSpellbookCircleButtons(int nClass)
         {
             json enabled;
             json jButton = NuiId(NuiButtonImage(JsonString(GetSpellLevelIcon(i))), PRC_SPELLBOOK_NUI_CIRCLE_BUTTON_BASEID + IntToString(i));
-            jButton = NuiWidth(jButton, 42.0f);
-            jButton = NuiHeight(jButton, 42.0f);
+            float width = 42.0f;
+            float height = 42.0f;
+            jButton = NuiWidth(jButton, width);
+            jButton = NuiHeight(jButton, height);
             jButton = NuiTooltip(jButton, JsonString(GetSpellLevelToolTip(i)));
 
             // if the current circle is selected or if the person can't cast at
             // that circle yet then disable the button.
-            if (currentCircle == i || i > currentMaxSpellLevel)
-            {
+            if (i > currentMaxSpellLevel)
                 enabled = JsonBool(FALSE);
-            }
             else
-            {
                 enabled = JsonBool(TRUE);
-            }
             jButton = NuiEnabled(jButton, enabled);
+            if (i == currentCircle)
+                jButton = HighlightButton(jButton, width, height);
 
             jRow = JsonArrayInsert(jRow, jButton);
         }
@@ -480,6 +505,34 @@ json GetSpellIcon(int spellId,int nClass=0)
     return JsonString(Get2DACache("feat", "Icon", featId));
 }
 
+json HighlightButton(json jButton, float w, float h)
+{
+    json retValue = jButton;
+
+    json jBorders = JsonArray();
+
+    // set the points of the button shape
+    json jPoints = JsonArray();
+    jPoints = JsonArrayInsert(jPoints, JsonFloat(0.0));
+    jPoints = JsonArrayInsert(jPoints, JsonFloat(0.0));
+
+    jPoints = JsonArrayInsert(jPoints, JsonFloat(0.0));
+    jPoints = JsonArrayInsert(jPoints, JsonFloat(h));
+
+    jPoints = JsonArrayInsert(jPoints, JsonFloat(w));
+    jPoints = JsonArrayInsert(jPoints, JsonFloat(h));
+
+    jPoints = JsonArrayInsert(jPoints, JsonFloat(w));
+    jPoints = JsonArrayInsert(jPoints, JsonFloat(0.0));
+
+    jPoints = JsonArrayInsert(jPoints, JsonFloat(0.0));
+    jPoints = JsonArrayInsert(jPoints, JsonFloat(0.0));
+
+    jBorders = JsonArrayInsert(jBorders, NuiDrawListPolyLine(JsonBool(TRUE), NuiColor(71, 140, 32), JsonBool(FALSE), JsonFloat(2.0), jPoints));
+
+    return NuiDrawList(jButton, JsonBool(FALSE), jBorders);
+}
+
 string GetSpellLevelIcon(int spellLevel)
 {
     switch (spellLevel)
@@ -516,4 +569,4 @@ string GetSpellLevelToolTip(int spellLevel)
     }
 
     return "";
-}
+}
\ No newline at end of file
diff --git a/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk b/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk
index f28479be..79c5b364 100644
Binary files a/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk and b/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk differ
diff --git a/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk.xml b/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk.xml
index f99cf4ec..25973885 100644
--- a/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk.xml
+++ b/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk.xml
@@ -74745,7 +74745,7 @@ Skill Points at Each Additional Level: 4 + Int Modifier
 Bonus Feats: The epic Slayer of Domiel gains a bonus feat every four levels.
 
 Special:
-Death Touch: The epic Slayer of Domiel continues to gain a use of their Death Touch ability every even class level.
+Death Touch: The epic Slayer of Domiel continues to gain a use of their Death Touch ability every four class levels.
 Sneak Attack: the epic Slayer of Domiel's sneak attack continues to gain +1d6 damage every odd class level.
 Spellcasting: The epic Slayer of Domiel continues to increase in divine caster level (and spells known, if applicable).
 
diff --git a/nwn/nwnprc/trunk/tlk/prc_consortium.tlk b/nwn/nwnprc/trunk/tlk/prc_consortium.tlk
index f28479be..79c5b364 100644
Binary files a/nwn/nwnprc/trunk/tlk/prc_consortium.tlk and b/nwn/nwnprc/trunk/tlk/prc_consortium.tlk differ