diff --git a/nwn/nwnprc/trunk/2das/cls_feat_acego.2da b/nwn/nwnprc/trunk/2das/cls_feat_acego.2da
index 6958c5de..3131f78d 100644
--- a/nwn/nwnprc/trunk/2das/cls_feat_acego.2da
+++ b/nwn/nwnprc/trunk/2das/cls_feat_acego.2da
@@ -82,7 +82,7 @@
 78         FEAT_EPIC_TOUGHNESS_8                     761       1    11             0      
 79         FEAT_EPIC_TOUGHNESS_9                     762       1    11             0      
 80         FEAT_EPIC_TOUGHNESS_10                    763       1    11             0      
-81         FEAT_EPIC_REFLEXES                        4058      1    11             0      
+81         FEAT_EPIC_REFLEXES                        585       1    11             0      
 82         FEAT_EPIC_SKILL_FOCUS_RIDE                3038      1    11             0      
 83         FEAT_EPIC_SKILL_FOCUS_JUMP                3040      1    11             0      
 84         FEAT_EPIC_SKILL_FOCUS_SENSE_MOTIVE        3042      1    11             0      
diff --git a/nwn/nwnprc/trunk/2das/cls_feat_foclyr.2da b/nwn/nwnprc/trunk/2das/cls_feat_foclyr.2da
index 16d2397b..8b4f1eb8 100644
--- a/nwn/nwnprc/trunk/2das/cls_feat_foclyr.2da
+++ b/nwn/nwnprc/trunk/2das/cls_feat_foclyr.2da
@@ -173,7 +173,7 @@
 169        FocusedSpellPenetrAbj                                 3135      1    2              0      
 170        FEAT_EPIC_LEADERSHIP                                  4366      1    2              0      
 171        FEAT_LEGENDARY_COMMANDER                              4367      1    2              0      
-172        FEAT_EPIC_PROWESS                                     4056      1    2              0      
+172        FEAT_EPIC_PROWESS                                     584       1    2              0      
 173        FEAT_EPIC_REPUTATION                                  586       1    2              0      
 174        FAST_HEALING_1                                        4145      1    2              0      
 175        FAST_HEALING_2                                        4146      1    2              0      
diff --git a/nwn/nwnprc/trunk/2das/cls_feat_justww.2da b/nwn/nwnprc/trunk/2das/cls_feat_justww.2da
index 4e7f331b..7e790278 100644
--- a/nwn/nwnprc/trunk/2das/cls_feat_justww.2da
+++ b/nwn/nwnprc/trunk/2das/cls_feat_justww.2da
@@ -45,7 +45,7 @@
 41         FEAT_EPIC_SUPERIOR_INITIATIVE                 753       1    -1             0      
 42         FEAT_EPIC_PERFECT_HEALTH                      747       1    -1             0      
 43         FEAT_Improved_ManyShot                        3350      1    -1             0      
-44         FEAT_EPIC_PROWESS                             4056      1    -1             0      
+44         FEAT_EPIC_PROWESS                             584       1    -1             0      
 45         FAST_HEALING_1                                4145      1    -1             0      
 46         FAST_HEALING_2                                4146      1    -1             0      
 47         FAST_HEALING_3                                4147      1    -1             0      
diff --git a/nwn/nwnprc/trunk/2das/cls_feat_monk.2da b/nwn/nwnprc/trunk/2das/cls_feat_monk.2da
index 460b2fd8..7671afa6 100644
--- a/nwn/nwnprc/trunk/2das/cls_feat_monk.2da
+++ b/nwn/nwnprc/trunk/2das/cls_feat_monk.2da
@@ -126,7 +126,7 @@
 122        FEAT_EPIC_MONK                            971       3    21             0      
 123        FEAT_EPIC_BLINDING_SPEED                  491       1    -1             1      
 124        LegendaryWrestler                         5173      1    -1             0      
-125        FEAT_EPIC_PROWESS                         4056      1    -1             0      
+125        FEAT_EPIC_PROWESS                         584       1    -1             0      
 126        FAST_HEALING_1                            4145      1    -1             0      
 127        FAST_HEALING_2                            4146      1    -1             0      
 128        FAST_HEALING_3                            4147      1    -1             0      
diff --git a/nwn/nwnprc/trunk/2das/cls_feat_nights.2da b/nwn/nwnprc/trunk/2das/cls_feat_nights.2da
index 9e08f319..1fa25a7e 100644
--- a/nwn/nwnprc/trunk/2das/cls_feat_nights.2da
+++ b/nwn/nwnprc/trunk/2das/cls_feat_nights.2da
@@ -74,8 +74,8 @@
 70         FEAT_MANYSHOT                        3306      1    -1             1      
 71         FEAT_IMP_MANYSHOT                    3350      1    -1             1      
 72         FEAT_LINGERING_DAMAGE                3099      1    -1             0      
-73         FEAT_EPIC_PROWESS                    4056      1    -1             0      
-74         FEAT_EPIC_REFLEXES                   4058      1    -1             0      
+73         FEAT_EPIC_PROWESS                    584       1    -1             0      
+74         FEAT_EPIC_REFLEXES                   585       1    -1             0      
 75         FEAT_EPIC_GREAT_DEXTERITY_1          784       1    -1             0      
 76         FEAT_EPIC_GREAT_DEXTERITY_2          785       1    -1             0      
 77         FEAT_EPIC_GREAT_DEXTERITY_3          786       1    -1             0      
diff --git a/nwn/nwnprc/trunk/2das/cls_feat_spnmld.2da b/nwn/nwnprc/trunk/2das/cls_feat_spnmld.2da
index 21515dcd..ae823d9d 100644
--- a/nwn/nwnprc/trunk/2das/cls_feat_spnmld.2da
+++ b/nwn/nwnprc/trunk/2das/cls_feat_spnmld.2da
@@ -250,8 +250,8 @@
 246        Epic_RebindSoulmeld_Heart                      9011      1    -1             1      
 247        Epic_RebindSoulmeld_Soul                       9012      1    -1             1      
 248        Epic_RebindSoulmeld_Totem                      9013      1    -1             1      
-249        FEAT_EPIC_PROWESS                              4056      1    -1             0      
-250        FEAT_EPIC_REFLEXES                             4058      1    -1             0      
+249        FEAT_EPIC_PROWESS                              584       1    -1             0      
+250        FEAT_EPIC_REFLEXES                             585       1    -1             0      
 251        FEAT_EPIC_ENERGY_RESISTANCE_COLD_1             533       1    -1             0      
 252        FEAT_EPIC_ENERGY_RESISTANCE_COLD_2             534       1    -1             0      
 253        FEAT_EPIC_ENERGY_RESISTANCE_COLD_3             535       1    -1             0      
diff --git a/nwn/nwnprc/trunk/2das/cls_feat_ssn.2da b/nwn/nwnprc/trunk/2das/cls_feat_ssn.2da
index c1008ce4..ffc9756a 100644
--- a/nwn/nwnprc/trunk/2das/cls_feat_ssn.2da
+++ b/nwn/nwnprc/trunk/2das/cls_feat_ssn.2da
@@ -110,7 +110,7 @@
 106        FEAT_EPIC_BLINDING_SPEED                  491       1    -1             1      
 107        FEAT_EPIC_SUPERIOR_INITIATIVE             753       1    -1             0      
 108        FEAT_EPIC_DODGE                           856       1    -1             0      
-109        FEAT_EPIC_PROWESS                         4056      1    -1             0      
+109        FEAT_EPIC_PROWESS                         584       1    -1             0      
 110        FAST_HEALING_1                            4145      1    -1             0      
 111        FAST_HEALING_2                            4146      1    -1             0      
 112        FAST_HEALING_3                            4147      1    -1             0      
diff --git a/nwn/nwnprc/trunk/2das/cls_feat_umbral.2da b/nwn/nwnprc/trunk/2das/cls_feat_umbral.2da
index c9e88863..dd51b832 100644
--- a/nwn/nwnprc/trunk/2das/cls_feat_umbral.2da
+++ b/nwn/nwnprc/trunk/2das/cls_feat_umbral.2da
@@ -91,8 +91,8 @@
 87         FEAT_EPIC_SKILL_FOCUS_BLUFF         917       1    -1             0      
 88         FEAT_EPIC_SKILL_FOCUS_INTIMIDATE    918       1    -1             0      
 89         FEAT_LINGERING_DAMAGE               3099      1    -1             0      
-90         FEAT_EPIC_PROWESS                   4056      1    -1             0      
-91         FEAT_EPIC_REFLEXES                  4058      1    -1             0      
+90         FEAT_EPIC_PROWESS                   584       1    -1             0      
+91         FEAT_EPIC_REFLEXES                  585       1    -1             0      
 92         FEAT_EPIC_SKILL_FOCUS_RIDE          3038      1    -1             0      
 93         FEAT_EPIC_SKILL_FOCUS_JUMP          3040      1    -1             0      
 94         FEAT_EPIC_SKILL_FOCUS_SENSE_MOTIVE  3042      1    -1             0      
diff --git a/nwn/nwnprc/trunk/2das/cls_pres_lgdr.2da b/nwn/nwnprc/trunk/2das/cls_pres_lgdr.2da
index bc390ed6..f51bba6e 100644
--- a/nwn/nwnprc/trunk/2das/cls_pres_lgdr.2da
+++ b/nwn/nwnprc/trunk/2das/cls_pres_lgdr.2da
@@ -1,49 +1,65 @@
 2DA V2.0
 
-   LABEL             ReqType ReqParam1     ReqParam2 
-0  AttackBonus       BAB     23            ****      
-1  Intimidate        SKILL   24            15        
-2  ImprovedBullrush  FEAT    2806          ****      
-3  GreatCleave       FEAT    391           ****      
-4  LightngRef        FEAT    24            ****      
-5  ImpCritDagger     FEATOR  52            ****      
-6  ImpCritDart       FEATOR  53            ****      
-7  ImpCritHXBow      FEATOR  54            ****      
-8  ImpCritLgXBow     FEATOR  55            ****      
-9  ImpCritLgMace     FEATOR  56            ****      
-10 ImpCritMorn       FEATOR  57            ****      
-11 ImpCritStaff      FEATOR  58            ****      
-12 ImpCritSpear      FEATOR  59            ****      
-13 ImpCritSickle     FEATOR  60            ****      
-14 ImpCritSling      FEATOR  61            ****      
-15 ImpCritUnArm      FEATOR  62            ****      
-16 ImpCritLongBow    FEATOR  63            ****      
-17 ImpCritShortBow   FEATOR  64            ****      
-18 ImpCritShortSword FEATOR  65            ****      
-19 ImpCritRapier     FEATOR  66            ****      
-20 ImpCritScim       FEATOR  67            ****      
-21 ImpCritLSw        FEATOR  68            ****      
-22 ImpCritGSw        FEATOR  69            ****      
-23 ImpCritHAxe       FEATOR  70            ****      
-24 ImpCritTAxe       FEATOR  71            ****      
-25 ImpCritBAxe       FEATOR  72            ****      
-26 ImpCritGAxe       FEATOR  73            ****      
-27 ImpCritHalb       FEATOR  74            ****      
-28 ImpCritLgHam      FEATOR  75            ****      
-29 ImpCritLgFlail    FEATOR  76            ****      
-30 ImpCritWHam       FEATOR  77            ****      
-31 ImpCritHFlail     FEATOR  78            ****      
-32 ImpCritKama       FEATOR  79            ****      
-33 ImpCritKukri      FEATOR  80            ****      
-34 ImpCritShur       FEATOR  82            ****      
-35 ImpCritScy        FEATOR  83            ****      
-36 ImpCritKatana     FEATOR  84            ****      
-37 ImpCritBSw        FEATOR  85            ****      
-38 ImpCritDMace      FEATOR  87            ****      
-39 ImpCritDAxe       FEATOR  88            ****      
-40 ImpCrit2Sw        FEATOR  89            ****      
-41 ImpCrit_DwAxe     FEATOR  954           ****      
-42 ImpCrit_Whip      FEATOR  995           ****      
-43 ImpCrit_Mindblade FEATOR  3614          ****      
-44 ImpCrit_Trident   FEATOR  1074          ****      
-45 ScriptVar         VAR     PRC_AllowLgDr 0         
+           LABEL                     ReqType ReqParam1     ReqParam2 
+0          AttackBonus               BAB     23            ****      
+1          Intimidate                SKILL   24            15        
+2          ImprovedBullrush          FEAT    2806          ****      
+3          GreatCleave               FEAT    391           ****      
+4          LightngRef                FEAT    24            ****      
+5          ImpCritDagger             FEATOR  52            ****      
+6          ImpCritDart               FEATOR  53            ****      
+7          ImpCritHXBow              FEATOR  54            ****      
+8          ImpCritLgXBow             FEATOR  55            ****      
+9          ImpCritLgMace             FEATOR  56            ****      
+10         ImpCritMorn               FEATOR  57            ****      
+11         ImpCritStaff              FEATOR  58            ****      
+12         ImpCritSpear              FEATOR  59            ****      
+13         ImpCritSickle             FEATOR  60            ****      
+14         ImpCritSling              FEATOR  61            ****      
+15         ImpCritUnArm              FEATOR  62            ****      
+16         ImpCritLongBow            FEATOR  63            ****      
+17         ImpCritShortBow           FEATOR  64            ****      
+18         ImpCritShortSword         FEATOR  65            ****      
+19         ImpCritRapier             FEATOR  66            ****      
+20         ImpCritScim               FEATOR  67            ****      
+21         ImpCritLSw                FEATOR  68            ****      
+22         ImpCritGSw                FEATOR  69            ****      
+23         ImpCritHAxe               FEATOR  70            ****      
+24         ImpCritTAxe               FEATOR  71            ****      
+25         ImpCritBAxe               FEATOR  72            ****      
+26         ImpCritGAxe               FEATOR  73            ****      
+27         ImpCritHalb               FEATOR  74            ****      
+28         ImpCritLgHam              FEATOR  75            ****      
+29         ImpCritLgFlail            FEATOR  76            ****      
+30         ImpCritWHam               FEATOR  77            ****      
+31         ImpCritHFlail             FEATOR  78            ****      
+32         ImpCritKama               FEATOR  79            ****      
+33         ImpCritKukri              FEATOR  80            ****      
+34         ImpCritShur               FEATOR  82            ****      
+35         ImpCritScy                FEATOR  83            ****      
+36         ImpCritKatana             FEATOR  84            ****      
+37         ImpCritBSw                FEATOR  85            ****      
+38         ImpCritDMace              FEATOR  87            ****      
+39         ImpCritDAxe               FEATOR  88            ****      
+40         ImpCrit2Sw                FEATOR  89            ****      
+41         ImpCrit_DwAxe             FEATOR  954           ****      
+42         ImpCrit_Whip              FEATOR  995           ****      
+43         ImpCrit_Mindblade         FEATOR  3614          ****      
+44         ImpCrit_Trident           FEATOR  1074          ****      
+45         IMP_CRIT_LIGHT_LANCE      FEATOR  24649         0         
+46         IMP_CRIT_HEAVY_PICK       FEATOR  24650         0         
+47         IMP_CRIT_LIGHT_PICK       FEATOR  24651         0         
+48         IMP_CRIT_SAI              FEATOR  24652         0         
+49         IMP_CRIT_NUNCHAKU         FEATOR  24653         0         
+50         IMP_CRIT_FALCHION         FEATOR  24654         0         
+51         IMP_CRIT_SAP              FEATOR  24655         0         
+52         IMP_CRIT_KATAR            FEATOR  24656         0         
+53         IMP_CRIT_HEAVY_MACE       FEATOR  24657         0         
+54         IMP_CRIT_MAUL             FEATOR  24658         0         
+55         IMP_CRIT_DBL_SCIMITAR     FEATOR  24659         0         
+56         IMP_CRIT_GOAD             FEATOR  24660         0         
+57         IMP_CRIT_ELVEN_LIGHTBLADE FEATOR  24701         0         
+58         IMP_CRIT_ELVEN_COURTBLADE FEATOR  24717         0         
+59         IMP_CRIT_EAGLE_CLAW       FEATOR  24725         0         
+60         IMP_CRIT_ELVEN_THINBLADE  FEATOR  24709         0         
+61         ScriptVar                 VAR     PRC_AllowLgDr 0         
diff --git a/nwn/nwnprc/trunk/2das/feat.2da b/nwn/nwnprc/trunk/2das/feat.2da
index 4472fb2e..8d2b458e 100644
--- a/nwn/nwnprc/trunk/2das/feat.2da
+++ b/nwn/nwnprc/trunk/2das/feat.2da
@@ -5286,7 +5286,7 @@
 5282 ProfaneAgony 16834997 16834998 ife_prfnlflch **** **** **** **** **** **** **** **** 294 **** 0 0 1 **** **** 3792 **** 0.5 -1 **** **** 310 313 **** **** **** **** **** **** **** FEAT_SMITE_UNDEAD 6 1 **** **** **** **** 0 1
 5283 DivineIntercession 16834995 16834996 ife_telep_manag **** **** **** **** **** **** **** **** 294 **** 0 0 1 **** **** 3791 **** 0.5 -1 **** **** 324 323 **** **** **** **** **** **** **** FEAT_SMITE_UNDEAD 6 1 **** **** **** **** 0 1
 5284 InlindlSchool 16834993 16834994 ife_X2DCrtWhip **** **** **** 13 **** **** **** **** 389 42 **** **** 1 **** **** 2723 **** **** -1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_INLINDL_SCHOOL 2 **** **** **** **** **** 0 0
-5285 VaeSchool 16834991 16834992 ife_X2WpCh 7 **** **** **** **** **** **** **** 2807 993 **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNAP_KICK **** **** **** **** **** **** **** 0
+5285 VaeSchool 16834991 16834992 ife_X2WpCh 7 **** **** **** **** **** **** **** 993 **** **** **** 1 **** **** **** **** **** **** **** **** 2807 4079 **** **** **** **** **** **** **** FEAT_SNAP_KICK **** **** **** **** **** **** **** 0
 5286 ThreeMountains 16834989 16834990 ife_X2DiviWrth **** 13 **** **** **** **** **** **** 2806 6 **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNAP_KICK **** **** **** **** **** **** **** 0
 5287 SpinningHalberd 16834987 16834988 ife_X2CritDHalb **** **** **** **** **** **** **** **** 112 **** 0 0 1 **** **** 2724 **** 0.5 -1 **** **** 41 374 **** **** **** **** **** **** **** FEAT_SMITE_UNDEAD 6 1 **** **** **** **** 0 1
 5288 HighSwordLowAxe 16834985 16834986 ife_wepspec_Dax **** **** **** **** **** **** **** **** 2807 41 0 0 1 **** **** 2793 **** 0.5 -1 **** **** **** **** **** **** **** **** **** **** **** FEAT_SMITE_UNDEAD 6 1 **** **** **** **** 0 1
diff --git a/nwn/nwnprc/trunk/2das/fileends.2da b/nwn/nwnprc/trunk/2das/fileends.2da
index ce891a7e..f39e650f 100644
--- a/nwn/nwnprc/trunk/2das/fileends.2da
+++ b/nwn/nwnprc/trunk/2das/fileends.2da
@@ -6,19 +6,19 @@
 2  gender        2        
 3  portraits     1100     
 4  skills        50       
-5  cls_feat_*    600      
+5  cls_feat_*    3090     
 6  cls_skill_*   50       
 7  cls_psipw_*   180      
-8  feat          26001    
-9  cls_pres_*    25       
+8  feat          26500    
+9  cls_pres_*    70       
 10 hen_familiar  20       
 11 hen_companion 30       
 12 domains       70       
 13 soundset      450      
-14 spells        19400    
+14 spells        20000    
 15 appearance    500      
 16 wingmodel     10       
 17 tailmodel     10       
-18 race_feat_*   30       
+18 race_feat_*   70       
 19 ireq_*        50       
 20 item_to_ireq  700      
diff --git a/nwn/nwnprc/trunk/include/inc_newspellbook.nss b/nwn/nwnprc/trunk/include/inc_newspellbook.nss
index 93ff3f19..909b93dc 100644
--- a/nwn/nwnprc/trunk/include/inc_newspellbook.nss
+++ b/nwn/nwnprc/trunk/include/inc_newspellbook.nss
@@ -86,6 +86,7 @@ void CheckNewSpellbooks(object oPC);
 void NewSpellbookSpell(int nClass, int nSpellbookType, int nMetamagic = METAMAGIC_NONE, int bInstantSpell = FALSE);
 void CastSpontaneousSpell(int nClass, int bInstantSpell = FALSE);
 void CastPreparedSpell(int nClass, int nMetamagic = METAMAGIC_NONE, int bInstantSpell = FALSE);
+void ProcessPreparedSpellLevel(object oPC, int nClass, int nSpellLevel, int nLevel, int nAbility, string sClass, string sFile, string sArrayName, int nSpellbookType, object oSkin);
 
 //////////////////////////////////////////////////
 /*                 Constants                    */
@@ -859,8 +860,41 @@ void SetupSpells(object oPC, int nClass)
 
     // For spontaneous spellbooks, set up an array that tells how many spells of each level they can cast
     // And add casting feats for each spell known to the caster's hide
+    if(nSpellbookType == SPELLBOOK_TYPE_SPONTANEOUS)  //:: Fixed by TiredByFirelight
+    {
+        // Spell slots
+        int nSpellLevel, nSlots;
+        for(nSpellLevel = 0; nSpellLevel <= 9; nSpellLevel++)
+        {
+            nSlots = GetSlotCount(nLevel, nSpellLevel, nAbility, nClass, oPC);
+            persistant_array_set_int(oPC, sArrayName, nSpellLevel, nSlots);
+        }
 
-    if(nSpellbookType == SPELLBOOK_TYPE_SPONTANEOUS)
+        int i;
+        for(i = 0; i < persistant_array_get_size(oPC, "Spellbook" + sClass); i++)
+        {   //adding feats
+            SpontaneousSpellSetupLoop(oPC, nClass, sFile, oSkin, i);
+        }
+    }// end if - Spontaneous spellbook
+
+    // For prepared spellbooks, add spell uses and use feats according to spells memorised list
+    else if(nSpellbookType == SPELLBOOK_TYPE_PREPARED && !GetIsBioSpellCastClass(nClass))
+    {
+        int nSpellLevel, nSlot, nSlots, nSpellbookID;
+        string sArrayName2, sIDX;
+
+        // clearing existing spells 
+		persistant_array_delete(oPC, sArrayName);
+
+        for(nSpellLevel = 0; nSpellLevel <= 9; nSpellLevel++)
+        {
+			//Delay of 0.01, to ensure it runs after persistant_array_delete() which is a lot of 0.0 delay commands, but before other spellbook stuff
+			DelayCommand(0.01, ProcessPreparedSpellLevel(oPC, nClass, nSpellLevel, nLevel, nAbility, sClass, sFile, sArrayName, nSpellbookType, oSkin));
+        }		
+    }
+}
+
+/*     if(nSpellbookType == SPELLBOOK_TYPE_SPONTANEOUS)
     {
         // Spell slots
         int nSpellLevel, nSlots;
@@ -910,8 +944,28 @@ void SetupSpells(object oPC, int nClass)
             }
         }
     }
+} */
+
+void ProcessPreparedSpellLevel(object oPC, int nClass, int nSpellLevel, int nLevel, int nAbility, string sClass, string sFile, string sArrayName, int nSpellbookType, object oSkin)
+{
+    string sArrayName2 = "Spellbook" + IntToString(nSpellLevel) + "_" + sClass;
+    string sIDX = "SpellbookIDX" + IntToString(nSpellLevel) + "_" + sClass;
+    int nSlots = GetSlotCount(nLevel, nSpellLevel, nAbility, nClass, oPC);
+    int nSlot;
+    for(nSlot = 0; nSlot < nSlots; nSlot++)
+    {
+        int nSpellbookID = persistant_array_get_int(oPC, sArrayName2, nSlot);
+        if(nSpellbookID != 0)
+        {
+            AddSpellUse(oPC, nSpellbookID, nClass, sFile, sArrayName, nSpellbookType, oSkin,
+                        StringToInt(Get2DACache(sFile, "FeatID", nSpellbookID)),
+                        StringToInt(Get2DACache(sFile, "IPFeatID", nSpellbookID)),
+                        sIDX);
+        }
+    }
 }
 
+
 void CheckAndRemoveFeat(object oHide, itemproperty ipFeat)
 {
     int nSubType = GetItemPropertySubType(ipFeat);
diff --git a/nwn/nwnprc/trunk/newspellbook/inv_dra_endrexp.nss b/nwn/nwnprc/trunk/newspellbook/inv_dra_endrexp.nss
index bbef122e..b18899df 100644
--- a/nwn/nwnprc/trunk/newspellbook/inv_dra_endrexp.nss
+++ b/nwn/nwnprc/trunk/newspellbook/inv_dra_endrexp.nss
@@ -26,6 +26,63 @@ void main()
 {
     if (!PreInvocationCastCode()) return;
 
+    object oCaster = OBJECT_SELF;
+    object oTarget = PRCGetSpellTargetObject();
+    int nCasterLevel = GetInvokerLevel(oCaster, GetInvokingClass());
+    int bValid = FALSE;
+    int nBPIndex = 0;
+    int nBPTIndex = 0;
+	
+	int bValidTarget = FALSE;
+	int bValidCaster = FALSE;	
+
+    effect eVis = EffectVisualEffect(VFX_IMP_ELEMENTAL_PROTECTION);
+
+    //Add to array on target of breaths they're protected from
+
+    if(!array_exists(oTarget, "BreathProtected"))
+        array_create(oTarget, "BreathProtected");
+
+	while(!bValidTarget)
+	{
+		if(array_get_object(oTarget, "BreathProtected", nBPIndex) == OBJECT_INVALID)
+		{
+			array_set_object(oTarget, "BreathProtected", nBPIndex, oCaster);
+			bValidTarget = TRUE;
+		}
+		else
+			nBPIndex++;
+	}
+
+    if(!array_exists(oCaster, "BreathProtectTargets"))
+         array_create(oCaster, "BreathProtectTargets");
+	 
+	while(!bValidCaster)
+	{
+		if(array_get_object(oCaster, "BreathProtectTargets", nBPTIndex) == OBJECT_INVALID)
+		{
+			array_set_object(oCaster, "BreathProtectTargets", nBPTIndex, oTarget);
+			if(DEBUG) DoDebug("Storing target: " + GetName(oTarget));
+			bValidCaster = TRUE;
+		}
+		else
+			nBPTIndex++;
+	}
+
+    //add to array on caster of targets protected by their spell for resting cleanup
+
+    if(!array_exists(oCaster, "BreathProtectTargets"))
+         array_create(oCaster, "BreathProtectTargets");
+
+    ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
+    DispelMonitor(oCaster, oTarget, INVOKE_ENDURE_EXPOSURE);
+}
+
+
+/* void main()
+{
+    if (!PreInvocationCastCode()) return;
+
     object oCaster = OBJECT_SELF;
     object oTarget = PRCGetSpellTargetObject();
     int nCasterLevel = GetInvokerLevel(oCaster, GetInvokingClass());
@@ -73,6 +130,7 @@ void main()
     ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
     DispelMonitor(oCaster, oTarget, INVOKE_ENDURE_EXPOSURE);
 }
+ */
 
 void DispelMonitor(object oCaster, object oTarget, int nSpellID)
 {
diff --git a/nwn/nwnprc/trunk/newspellbook/tob_bloodclaw.nss b/nwn/nwnprc/trunk/newspellbook/tob_bloodclaw.nss
index 59c399c8..30fe3860 100644
--- a/nwn/nwnprc/trunk/newspellbook/tob_bloodclaw.nss
+++ b/nwn/nwnprc/trunk/newspellbook/tob_bloodclaw.nss
@@ -56,6 +56,28 @@ void RendingClaws(object oInitiator, object oTarget)
 }
 
 void Scent(object oInitiator)
+{
+	effect eTest = GetFirstEffect(oInitiator);
+	while (GetIsEffectValid(eTest))
+	{
+		if (GetEffectTag(eTest) == "BCM_SCENT_ACTIVE")
+			return;
+		eTest = GetNextEffect(oInitiator);
+	}
+
+	effect eLink;
+	effect eScent;
+	
+	eScent = EffectLinkEffects(EffectSkillIncrease(SKILL_SPOT, 4), EffectSkillIncrease(SKILL_LISTEN, 4));
+	eLink = EffectLinkEffects(eScent, EffectSkillIncrease(SKILL_SEARCH, 4));
+	eLink = EffectLinkEffects(eLink, EffectBonusFeat(FEAT_KEEN_SENSE));
+	eLink = TagEffect(eLink, "BCM_SCENT_ACTIVE");
+	eLink = UnyieldingEffect(eLink);
+
+	ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, oInitiator);	
+}
+
+/* void Scent(object oInitiator)
 {
     object oSkin = GetPCSkin(oInitiator);
 	
@@ -65,7 +87,7 @@ void Scent(object oInitiator)
 	IPSafeAddItemProperty(oSkin, ItemPropertyBonusFeat(IP_CONST_FEAT_KEEN_SENSES), 0.0f, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
 
     ApplyEffectToObject(DURATION_TYPE_PERMANENT, eScent, oInitiator);
-}
+} */
 
 void main()
 {
diff --git a/nwn/nwnprc/trunk/newspellbook/tob_dmnd_avlbld.nss b/nwn/nwnprc/trunk/newspellbook/tob_dmnd_avlbld.nss
index d9676cd8..97085edd 100644
--- a/nwn/nwnprc/trunk/newspellbook/tob_dmnd_avlbld.nss
+++ b/nwn/nwnprc/trunk/newspellbook/tob_dmnd_avlbld.nss
@@ -52,11 +52,37 @@ void main()
         {
             int nHit = 1;
         	int nPenalty = 0;
-            DelayCommand(0.1, Owieowieowowow(oInitiator, oTarget, nHit, nPenalty));
+            DelayCommand(0.1, Owieowieowowow(oInitiator, oTarget, nHit, nPenalty));			
         }
 }
 
 void Owieowieowowow(object oInitiator, object oTarget, int nHit, int nPenalty)
+{
+    if (GetLocalInt(oInitiator, "SupernalAttack")) nPenalty += 1;
+
+    if (nHit == 1)
+    {
+        effect eNone;
+        PerformAttack(oTarget, oInitiator, eNone, 0.0, nPenalty, 0, 0, "Avalanche of Blades Hit", "Avalanche of Blades Miss");
+
+        // Check result of attack
+        if (GetLocalInt(oTarget, "PRCCombat_StruckByAttack"))
+        {
+            nPenalty -= 4;
+            if (GetLocalInt(oInitiator, "SupernalAttack")) nPenalty -= 1;
+            
+            // Continue the loop only on hit
+            DelayCommand(0.1, Owieowieowowow(oInitiator, oTarget, 1, nPenalty));
+			
+			DelayCommand(3.0, DeleteLocalInt(oTarget, "PRCCombat_StruckByAttack"));
+        }
+        // No else block: if the attack missed, don't queue another call
+    }
+}
+
+
+
+/* void Owieowieowowow(object oInitiator, object oTarget, int nHit, int nPenalty)
 {
 	    if (GetLocalInt(oInitiator, "SupernalAttack")) nPenalty += 1;
         if(nHit == 1)
@@ -74,4 +100,4 @@ void Owieowieowowow(object oInitiator, object oTarget, int nHit, int nPenalty)
             //Again! Again!
             DelayCommand(0.1, Owieowieowowow(oInitiator, oTarget, nHit, nPenalty));
         }
-}          
\ No newline at end of file
+}  */         
\ 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 4a1fede7..3fb6c2e9 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 bf7d40ae..19f4b936 100644
--- a/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk.xml
+++ b/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk.xml
@@ -25418,7 +25418,7 @@ Use: Automatic.</entry>
   <entry id="50432" lang="en" sex="m">Aura of Menace</entry>
   <entry id="50433" lang="en" sex="m">Type of Feat: Racial
 Prerequisite: Race-Specific.
-Specifics: The creature has a righteous aura around it. Any creature that fails its will save(DC:16+Cha) is shaken.
+Specifics: The creature has a righteous aura around it. Any creature that fails its will save is shaken.  THe DC of the will save is calculated as follows:  10 (Base) + 2 (Racial Bonus) + 3 (1/2 Outsider HD) + Charisma bonus.
 Use: Selected.</entry>
   <entry id="50434" lang="en" sex="m">Hound Archon Aid</entry>
   <entry id="50435" lang="en" sex="m">Hound Archon Detect Evil</entry>
@@ -71356,7 +71356,7 @@ When within your own black labyrinth, you are immune to the last two effects (mo
   <entry id="74810" lang="en" sex="m">Some prestige classes can advance invoking or shadowcasting instead of spellcasting.</entry>
   <entry id="74811" lang="en" sex="m">Spellcraft doesn't provide a bonus to your save vs. spells in 3e Dungeons &amp; Dragons.  This is reflected in the PRC8.</entry>
   <entry id="74812" lang="en" sex="m">Tumble doesn't provide a bonus to your Armor Class in 3e Dungeons &amp; Dragons.  This is reflected in the PRC8.</entry>
-  <entry id="74813" lang="en" sex="m">Feats for Alternate Magic Systems (Psionics, Incarnum, etc) are all organized under a Masterfeat.  Psionic Feats, ToB Feats, etc...</entry>  
+  <entry id="74813" lang="en" sex="m">Feats for Alternate Magic Systems (Psionics, Incarnum, etc) are all organized under a Masterfeat.  Psionic Feats, ToB Feats, etc...</entry>
   <entry id="75001" lang="en" sex="m">Favored Mystery - Black Labyrinth</entry>
   <entry id="75002" lang="en" sex="m">Holy Warrior</entry>
   <entry id="75003" lang="en" sex="m">Type of Feat: Reserve
@@ -71537,8 +71537,8 @@ Special Abilities:
 - Level Adjustment: +1</entry>
   <entry id="75260" lang="en" sex="m">FcL</entry>
   <entry id="75283" lang="en" sex="m">Plt</entry>
-  <entry id="75297" lang="en" sex="m">### BEGIN INVOKER MARKER FEATS#</entry>    
-  <entry id="75298" lang="en" sex="m">Sorcerous Spellcasting (Hobgoblin Warsoul)</entry>  
+  <entry id="75297" lang="en" sex="m">### BEGIN INVOKER MARKER FEATS#</entry>
+  <entry id="75298" lang="en" sex="m">Sorcerous Spellcasting (Hobgoblin Warsoul)</entry>
   <entry id="75299" lang="en" sex="m">Sorcerous Casting: Hobgoblin Warsouls cast spells as a Sorcerer of their hit dice (9th level).</entry>
   <entry id="75300" lang="en" sex="m">Abjurant Champion Invoking (Warlock)</entry>
   <entry id="75301" lang="en" sex="m">Acolye of the Skin Invoking (Warlock)</entry>
diff --git a/nwn/nwnprc/trunk/tlk/prc_consortium.tlk b/nwn/nwnprc/trunk/tlk/prc_consortium.tlk
index b9b80352..4a1fede7 100644
Binary files a/nwn/nwnprc/trunk/tlk/prc_consortium.tlk and b/nwn/nwnprc/trunk/tlk/prc_consortium.tlk differ