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