diff --git a/Release/PRC8_20241106.7z b/Release/PRC8_20241106.7z
index c2039683..f059cc06 100644
Binary files a/Release/PRC8_20241106.7z and b/Release/PRC8_20241106.7z differ
diff --git a/_backup/PRC8_20241106.7z b/_backup/PRC8_20241106.7z
new file mode 100644
index 00000000..c2039683
Binary files /dev/null and b/_backup/PRC8_20241106.7z differ
diff --git a/nwn/nwnprc/trunk/2das/des_crft_spells.2da b/nwn/nwnprc/trunk/2das/des_crft_spells.2da
index 12d2e577..ed23cd4f 100644
--- a/nwn/nwnprc/trunk/2das/des_crft_spells.2da
+++ b/nwn/nwnprc/trunk/2das/des_crft_spells.2da
@@ -2290,7 +2290,7 @@
 2286  Undead_Wild_Shape_WOLF                                    ****            1        1      1        3     0           
 2287  Undead_Wild_Shape_BOAR                                    ****            1        1      1        3     0           
 2288  Undead_Wild_Shape_BADGER                                  ****            1        1      1        3     0           
-2289  Ashrati_Bodylamp                                          ****            1        1      1        3     0           
+2289  Ashrati_Bodylamp                                          ****            1        1      1        1     0           
 2290  RAY_CHARM_PERSON                                          ****            1        1      1        8     0           
 2291  RAY_CHARM_MONSTER                                         ****            1        1      1        8     0           
 2292  RAY_SLEEP                                                 ****            1        1      1        8     0           
diff --git a/nwn/nwnprc/trunk/2das/feat.2da b/nwn/nwnprc/trunk/2das/feat.2da
index 77e315a6..83a89976 100644
--- a/nwn/nwnprc/trunk/2das/feat.2da
+++ b/nwn/nwnprc/trunk/2das/feat.2da
@@ -5214,8 +5214,8 @@
 5210 Killoren_Aspect_D 16835213 16835214 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 **** **** **** 2334 **** 0.5 10 **** **** **** **** **** **** **** **** **** **** **** FEAT_SMITE_UNDEAD 6 1 **** **** **** **** 0 0
 5211 Killoren_Aspect_A 16835211 16835212 ife_naturesense **** **** **** **** **** **** **** **** **** **** 0 0 **** **** **** 2333 **** 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_SMITE_UNDEAD 6 0 **** **** **** **** 0 0
 5212 Killoren_Enchantment 16835141 16835142 ife_nolure **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLADE_MEDITATION **** **** **** **** **** **** **** 1
-5213 Ashrati_BodyLampDazzle 16835205 16835206 ife_X1HDenier **** **** **** **** **** **** **** **** **** **** 0 0 **** **** **** 2332 **** 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_ASHERATI_BODY_DAZZLE 6 1 **** **** **** **** 0 0
-5214 Ashrati_BodyLamp 16835203 16835204 ife_x2blindsigh **** **** **** **** **** **** **** **** **** **** 0 0 **** **** **** 2289 **** 0.5 -1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_ASHERATI_BODY_LAMP 6 1 **** **** **** **** 0 0
+5213 Ashrati_BodyLampDazzle 16835205 16835206 ife_X1HDenier **** **** **** **** **** **** **** **** **** **** 0 0 **** **** **** 2332 **** 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_ASHERATI_BODY_DAZZLE 6 0 **** **** **** **** 0 0
+5214 Ashrati_BodyLamp 16835203 16835204 ife_x2blindsigh **** **** **** **** **** **** **** **** **** **** 0 0 **** **** **** 2289 **** 0.5 -1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_ASHERATI_BODY_LAMP 6 0 **** **** **** **** 0 0
 5215 Spelldance_Dance 16835162 16835163 ife_spellf_wield **** **** **** **** **** **** **** **** **** **** 0 0 **** **** **** 2257 **** 0.5 -1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_SMITE_UNDEAD 6 1 **** **** **** **** 0 1
 5216 Spelldance_Enthrall 16835164 16835165 is_EthVis **** **** **** **** **** **** **** **** **** **** 0 0 **** **** **** 2064 **** 0.5 2 **** 1 **** **** **** **** **** **** **** **** **** FEAT_SMITE_UNDEAD 6 1 **** **** **** **** 0 1
 5217 Spelldance_Sleep 16835166 16835167 is_Sleep **** **** **** **** **** **** **** **** **** **** 0 0 **** **** **** 2065 **** 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_SMITE_UNDEAD 6 1 **** **** **** **** 0 1
diff --git a/nwn/nwnprc/trunk/2das/spells.2da b/nwn/nwnprc/trunk/2das/spells.2da
index 5aa81e97..8c053588 100644
--- a/nwn/nwnprc/trunk/2das/spells.2da
+++ b/nwn/nwnprc/trunk/2das/spells.2da
@@ -2290,7 +2290,7 @@
 2286 Undead_Wild_Shape_WOLF 16835046 ife_WildWolf T P 0 **** 0x01 prc_blight_undws **** **** **** **** **** **** 3 1500 hand **** vco_smhannatr01 **** sco_mehannatr01 **** **** out 1000 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** **** 2283 3 **** 0 0 **** 0 786633870 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
 2287 Undead_Wild_Shape_BOAR 16835047 ife_WildBoar T P 0 **** 0x01 prc_blight_undws **** **** **** **** **** **** 3 1500 hand **** vco_smhannatr01 **** sco_mehannatr01 **** **** out 1000 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** **** 2283 3 **** 0 0 **** 0 786699406 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
 2288 Undead_Wild_Shape_BADGER 16835048 ife_WildBadger T P 0 **** 0x01 prc_blight_undws **** **** **** **** **** **** 3 1500 hand **** vco_smhannatr01 **** sco_mehannatr01 **** **** out 1000 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** **** 2283 3 **** 0 0 **** 0 786764942 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
-2289 Ashrati_Bodylamp 16835203 is_Light V T v 0x1a 0x01 race_bodylamp **** **** **** **** **** **** 3 1500 head vco_smhanholy01 **** **** sco_mehanholy01 vs_chant_evoc_lm vs_chant_evoc_lf up 1000 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** **** **** 1 6197 1 0 **** 0 **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
+2289 Ashrati_Bodylamp 16835203 is_Light V P 0 0x01 0x01 race_bodylamp **** **** **** **** **** **** 1 1500 head vco_smhanholy01 **** **** sco_mehanholy01 vs_chant_evoc_lm vs_chant_evoc_lf up 1000 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** **** **** 1 6197 1 0 **** 0 5214 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
 2290 RAY_CHARM_PERSON 766 is_CharmPer E L V **** 0x02 sp_ray_charmp **** **** **** **** **** **** 8 0 **** **** **** **** **** **** **** out 500 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 11 **** 3 **** 0 0 83839 1 **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
 2291 RAY_CHARM_MONSTER 765 is_CharmMon E L V **** 0x02 sp_ray_charmm **** **** **** **** **** **** 8 0 **** **** **** **** **** **** **** out 500 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 11 **** 3 **** 0 0 83839 1 **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
 2292 RAY_SLEEP 915 ife_sleepray E L V **** 0x02 sp_ray_sleep **** **** **** **** **** **** 8 0 **** **** **** **** **** **** **** out 500 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 11 **** 3 **** 0 0 83839 1 **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
@@ -2333,7 +2333,7 @@
 2329 SPELL_FOM_DIVINE_SONG_RAISEDEAD 16789706 fom_raisdead V P v 0x00 0x01 fom_ds5_res **** **** **** **** **** **** 1 500 head **** **** **** **** **** **** out 500 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 8 **** 3 16789707 0 0 53224 0 24210 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
 2330 SPELL_FOM_DIVINE_SONG_SPELLRESISTANCE 16789708 fom_splresis V P v 0x00 0x01 fom_ds5_splresis **** **** **** **** **** **** 1 500 head **** **** **** **** **** **** out 500 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 8 **** 3 16789709 0 0 53224 0 24211 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
 2331 SPELL_FOM_ENCOREPERFORMANCE 16823108 ife_X2LastInsp V P v 0x00 0x01 fom_encore **** **** **** **** **** **** 1 1500 head vco_mehanholy03 **** **** sco_mehanholy03 vs_chant_evoc_hm vs_chant_evoc_hf self 1000 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 23 **** 1 16823492 0 0 **** 0 24212 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
-2332 Ashrati_BodylampDazzle 16835205 is_Light V T v 0x1a 0x01 race_bodylampdaz **** **** **** **** **** **** 3 1500 head vco_smhanholy01 **** **** sco_mehanholy01 vs_chant_evoc_lm vs_chant_evoc_lf up 1000 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** **** **** 1 6197 1 0 **** 0 **** **** **** 0 Sphere 9.14 **** 19 **** **** **** **** **** **** **** **** **** **** **** **** ****
+2332 Ashrati_BodylampDazzle 16835205 is_Light V T 0 0x00 0x02 race_bodylampdaz **** **** **** **** **** **** 3 1500 head vco_smhanholy01 **** **** sco_mehanholy01 vs_chant_evoc_lm vs_chant_evoc_lf up 1000 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 11 **** 1 6197 1 0 **** 1 5213 **** **** 0 Sphere 9.14 **** 19 **** **** **** **** **** **** **** **** **** **** **** **** ****
 2333 Killoren_Aspect_A 16835205 is_Light V T v 0x1a 0x01 race_kil_ancient **** **** **** **** **** **** 3 1500 head vco_smhanholy01 **** **** sco_mehanholy01 vs_chant_evoc_lm vs_chant_evoc_lf up 1000 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** **** **** 1 6197 1 0 **** 0 **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
 2334 Killoren_Aspect_D 16829740 ife_wepspec_Bax V T 0 **** 0x02 race_kil_smite **** **** **** **** **** **** **** 0 **** **** **** **** **** **** **** **** 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** 3 **** 3 **** 0 0 **** 1 3991 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
 2335 Killoren_Aspect_H 16835205 is_Light V T v 0x1a 0x01 race_kil_hunter **** **** **** **** **** **** 3 1500 head vco_smhanholy01 **** **** sco_mehanholy01 vs_chant_evoc_lm vs_chant_evoc_lf up 1000 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** **** **** 1 6197 1 0 **** 0 **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
diff --git a/nwn/nwnprc/trunk/CompiledResources/PRC8_Tester.mod b/nwn/nwnprc/trunk/CompiledResources/PRC8_Tester.mod
index 0b29b2f8..52f32e06 100644
Binary files a/nwn/nwnprc/trunk/CompiledResources/PRC8_Tester.mod and b/nwn/nwnprc/trunk/CompiledResources/PRC8_Tester.mod differ
diff --git a/nwn/nwnprc/trunk/racescripts/race_bodylampdaz.nss b/nwn/nwnprc/trunk/racescripts/race_bodylampdaz.nss
index 3e5ffc01..cd8e3252 100644
--- a/nwn/nwnprc/trunk/racescripts/race_bodylampdaz.nss
+++ b/nwn/nwnprc/trunk/racescripts/race_bodylampdaz.nss
@@ -1,26 +1,56 @@
 /* Body Lamp Dazzle racial ability for Ashrati
    Dazzle enemies*/
+   
+/*    Once per day, as a free action, an asherati can bring his skin up
+   to full brilliance so rapidly that it can dazzle all creatures within
+   30 feet for 1 minute. Creatures can avoid this effect with a 
+   successful Fortitude save (DC 10 +1/2 the asherati's character level 
+   + his Cha modifier). */
+   
 #include "prc_inc_spells"
 
 void main()
 {
-        object oPC = OBJECT_SELF;
-        location lTarget = GetLocation(oPC);
-        effect eExplode = EffectVisualEffect(VFX_FNF_FIREBALL);
-        ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eExplode, lTarget);
-        int nDC = 10 + GetAbilityModifier(ABILITY_CHARISMA, oPC) + GetHitDice(oPC)/2;
-        //Get the first target in the radius around the caster
-        object oTarget = MyFirstObjectInShape(SHAPE_SPHERE, FeetToMeters(30.0), lTarget);
-        while(GetIsObjectValid(oTarget))
-        {
-            SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, GetSpellId()));
-            if(oPC != oTarget && !PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NONE))
-            {
-                effect eDazzle = SupernaturalEffect(EffectDazzle());
-                SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eDazzle, oTarget, 60.0);
-            }
-            //Get the next target in the specified area around the caster
-            oTarget = MyNextObjectInShape(SHAPE_SPHERE, FeetToMeters(30.0), lTarget);
-        }
-}
+//:: Declare major variables
+    object oCaster = OBJECT_SELF;
+    location lLoc = GetLocation(oCaster);
+    int nCasterLvl = PRCGetCasterLevel(oCaster);
+    int nPenetr = nCasterLvl + SPGetPenetr();
 
+    float fRange = FeetToMeters(30.0);
+    float fDelay;
+
+    effect eVis = EffectVisualEffect(VFX_FNF_FIREBALL);
+	
+//:: Calculate the Fortitude saving throw DC
+    int nDC = 10 + (GetHitDice(oCaster) / 2) + GetAbilityModifier(ABILITY_CHARISMA, oCaster);	
+
+//:: Display the visual effect instantly at the caster's location
+    ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, lLoc);
+
+//:: Get the first target in the radius around the caster
+    object oTarget = MyFirstObjectInShape(SHAPE_SPHERE, fRange, lLoc);
+    while(GetIsObjectValid(oTarget))
+    {
+        if(spellsIsTarget(oTarget, SPELL_TARGET_SELECTIVEHOSTILE, oCaster))
+        {
+			if (oTarget != oCaster)
+			{
+			//:: Fire spell cast at event for target
+				SignalEvent(oTarget, EventSpellCastAt(oCaster, PRCGetSpellId()));
+
+				if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_SPELL))
+				{
+					fDelay = PRCGetRandomDelay(0.4, 1.1);
+
+				//:: Apply penalty effect
+					effect eDazzle = SupernaturalEffect(EffectDazzle());				
+					SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eDazzle, oTarget, 60.0);
+				
+				}
+			}
+        }
+	//:: Get the next target in the specified area around the caster
+        oTarget = MyNextObjectInShape(SHAPE_SPHERE, fRange, lLoc);
+    }
+}
\ No newline at end of file