diff --git a/Notes/DnD3.5Index-Equipment.pdf b/Notes/DnD3.5Index-Equipment.pdf new file mode 100644 index 00000000..df9e478e Binary files /dev/null and b/Notes/DnD3.5Index-Equipment.pdf differ diff --git a/Notes/Materials&Hardness.xlsx b/Notes/Materials&Hardness.xlsx new file mode 100644 index 00000000..1a8c3750 Binary files /dev/null and b/Notes/Materials&Hardness.xlsx differ diff --git a/Release/PRC8_20241106.7z b/Release/PRC8_20241116.7z similarity index 76% rename from Release/PRC8_20241106.7z rename to Release/PRC8_20241116.7z index f059cc06..c49632f8 100644 Binary files a/Release/PRC8_20241106.7z and b/Release/PRC8_20241116.7z differ diff --git a/_backup/PRC8_20241106.7z b/_backup/PRC8_20241106.7z index c2039683..f059cc06 100644 Binary files a/_backup/PRC8_20241106.7z and b/_backup/PRC8_20241106.7z differ diff --git a/nwn/nwnprc/trunk/2das/cls_bfeat_mstalc.2da b/nwn/nwnprc/trunk/2das/cls_bfeat_mstalc.2da index 9e920845..89d5a6c3 100644 --- a/nwn/nwnprc/trunk/2das/cls_bfeat_mstalc.2da +++ b/nwn/nwnprc/trunk/2das/cls_bfeat_mstalc.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/CompiledResources/PRC8_Tester.mod b/nwn/nwnprc/trunk/CompiledResources/PRC8_Tester.mod index 52f32e06..3d5a8992 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/makefile.temp b/nwn/nwnprc/trunk/makefile.temp index e2c6a49d..8edf9bd4 100644 --- a/nwn/nwnprc/trunk/makefile.temp +++ b/nwn/nwnprc/trunk/makefile.temp @@ -30166,7 +30166,7 @@ objs\prc_reservheal.ncs: scripts\prc_reservheal.nss include\prc_sp_func.nss incl objs\prc_reservhrbrth.ncs: scripts\prc_reservhrbrth.nss include\spinc_dimdoor.nss include\prc_inc_combmove.nss include\prc_inc_spells.nss include\prc_inc_teleport.nss include\prc_inc_chat.nss include\inc_newspellbook.nss include\inc_vfx_const.nss include\spinc_necro_cyst.nss include\true_utter_const.nss include\prc_inc_sneak.nss include\prcsp_engine.nss include\inc_item_props.nss include\prc_inc_core.nss include\inc_sp_gain_mem.nss include\lookup_2da_spell.nss include\inc_lookups.nss include\prc_inc_damage.nss include\prc_inc_sb_const.nss include\inc_2dacache.nss include\inc_debug.nss include\prc_inc_switch.nss include\prc_inc_array.nss include\prc_class_const.nss include\prc_effect_inc.nss include\prc_inc_castlvl.nss include\prc_inc_newip.nss include\prc_inc_descrptr.nss include\prc_x2_itemprop.nss include\prc_ipfeat_const.nss include\inc_utility.nss include\prc_inc_nwscript.nss include\inc_target_list.nss include\inc_logmessage.nss include\inc_threads.nss include\prc_inc_actions.nss include\inc_time.nss include\inc_draw_prc.nss include\inc_eventhook.nss include\inc_metalocation.nss include\inc_array_sort.nss include\inc_uniqueid.nss include\inc_set.nss include\prc_misc_const.nss include\prc_spell_const.nss include\inv_invoc_const.nss include\psi_power_const.nss include\prc_inc_racial.nss include\moi_meld_const.nss include\bnd_vestig_const.nss include\prc_feat_const.nss include\prc_racial_const.nss include\inc_persist_loca.nss include\prc_inc_skin.nss include\inc_persistsql.nss include\inc_draw.nss include\inc_draw_tools.nss include\inc_pers_array.nss include\inc_area.nss include\inc_heap.nss include\inc_prc_npc.nss include\tob_move_const.nss include\prcsp_archmaginc.nss include\prc_add_spl_pen.nss include\prcsp_reputation.nss include\prc_inc_combat.nss include\inc_dynconv.nss include\prc_inc_unarmed.nss include\prc_inc_onhit.nss include\prc_inc_fork.nss include\prc_inc_natweap.nss include\inc_abil_damage.nss include\prc_inc_sp_tch.nss -objs\prc_reservinvndl.ncs: scripts\prc_reservinvndl.nss include\x2_inc_spellhook.nss include\prc_x2_craft.nss include\prc_inc_spells.nss include\prc_inc_combat.nss include\prc_inc_itmrstr.nss include\prc_inc_burn.nss include\pnp_shft_main.nss include\inc_dynconv.nss include\inc_npc.nss include\prc_inc_newip.nss include\prc_add_spell_dc.nss include\prc_x2_itemprop.nss include\prc_ipfeat_const.nss include\inc_utility.nss include\prc_inc_nwscript.nss include\prc_class_const.nss include\inc_target_list.nss include\inc_logmessage.nss include\inc_threads.nss include\prc_inc_actions.nss include\inc_time.nss include\inc_draw_prc.nss include\inc_eventhook.nss include\inc_metalocation.nss include\inc_array_sort.nss include\inc_uniqueid.nss include\inc_set.nss include\prc_misc_const.nss include\prc_spell_const.nss include\inv_invoc_const.nss include\psi_power_const.nss include\prc_inc_racial.nss include\prc_inc_array.nss include\moi_meld_const.nss include\bnd_vestig_const.nss include\inc_2dacache.nss include\prc_feat_const.nss include\prc_racial_const.nss include\inc_debug.nss include\prc_inc_switch.nss include\inc_persist_loca.nss include\prc_inc_skin.nss include\inc_persistsql.nss include\inc_draw.nss include\inc_draw_tools.nss include\inc_pers_array.nss include\inc_area.nss include\inc_heap.nss include\inc_newspellbook.nss include\inc_vfx_const.nss include\spinc_necro_cyst.nss include\true_utter_const.nss include\prc_inc_sneak.nss include\prcsp_engine.nss include\inc_item_props.nss include\prc_inc_core.nss include\inc_sp_gain_mem.nss include\lookup_2da_spell.nss include\inc_lookups.nss include\prc_inc_damage.nss include\prc_inc_sb_const.nss include\prc_effect_inc.nss include\prc_inc_castlvl.nss include\prc_inc_descrptr.nss include\inc_prc_npc.nss include\tob_move_const.nss include\prcsp_archmaginc.nss include\prc_add_spl_pen.nss include\prcsp_reputation.nss include\prc_inc_unarmed.nss include\prc_inc_onhit.nss include\prc_inc_fork.nss include\prc_inc_natweap.nss include\inc_abil_damage.nss include\prc_getbest_inc.nss include\prc_inc_function.nss include\prc_inc_util.nss include\prc_inc_stunfist.nss include\inc_nwnx_funcs.nss include\prc_template_con.nss include\prc_alterations.nss +objs\prc_reservinvndl.ncs: scripts\prc_reservinvndl.nss include\x2_inc_spellhook.nss include\prc_inc_sp_tch.nss include\prc_x2_craft.nss include\prc_inc_spells.nss include\prc_inc_combat.nss include\prc_inc_itmrstr.nss include\prc_inc_burn.nss include\pnp_shft_main.nss include\inc_dynconv.nss include\inc_npc.nss include\prc_inc_newip.nss include\prc_add_spell_dc.nss include\prc_x2_itemprop.nss include\prc_ipfeat_const.nss include\inc_utility.nss include\prc_inc_nwscript.nss include\prc_class_const.nss include\inc_target_list.nss include\inc_logmessage.nss include\inc_threads.nss include\prc_inc_actions.nss include\inc_time.nss include\inc_draw_prc.nss include\inc_eventhook.nss include\inc_metalocation.nss include\inc_array_sort.nss include\inc_uniqueid.nss include\inc_set.nss include\prc_misc_const.nss include\prc_spell_const.nss include\inv_invoc_const.nss include\psi_power_const.nss include\prc_inc_racial.nss include\prc_inc_array.nss include\moi_meld_const.nss include\bnd_vestig_const.nss include\inc_2dacache.nss include\prc_feat_const.nss include\prc_racial_const.nss include\inc_debug.nss include\prc_inc_switch.nss include\inc_persist_loca.nss include\prc_inc_skin.nss include\inc_persistsql.nss include\inc_draw.nss include\inc_draw_tools.nss include\inc_pers_array.nss include\inc_area.nss include\inc_heap.nss include\inc_newspellbook.nss include\inc_vfx_const.nss include\spinc_necro_cyst.nss include\true_utter_const.nss include\prc_inc_sneak.nss include\prcsp_engine.nss include\inc_item_props.nss include\prc_inc_core.nss include\inc_sp_gain_mem.nss include\lookup_2da_spell.nss include\inc_lookups.nss include\prc_inc_damage.nss include\prc_inc_sb_const.nss include\prc_effect_inc.nss include\prc_inc_castlvl.nss include\prc_inc_descrptr.nss include\inc_prc_npc.nss include\tob_move_const.nss include\prcsp_archmaginc.nss include\prc_add_spl_pen.nss include\prcsp_reputation.nss include\prc_inc_unarmed.nss include\prc_inc_onhit.nss include\prc_inc_fork.nss include\prc_inc_natweap.nss include\inc_abil_damage.nss include\prc_getbest_inc.nss include\prc_inc_function.nss include\prc_inc_util.nss include\prc_inc_stunfist.nss include\inc_nwnx_funcs.nss include\prc_template_con.nss include\prc_alterations.nss objs\prc_reservlern.ncs: scripts\prc_reservlern.nss include\prc_inc_shifting.nss include\prc_inc_spells.nss include\prc_inc_racial.nss include\prc_inc_function.nss include\prc_inc_onhit.nss include\prc_shifter_info.nss include\prc_weap_apt.nss include\prc_inc_wpnrest.nss include\inc_nwnx_funcs.nss include\prc_class_const.nss include\prc_feat_const.nss include\prc_racial_const.nss include\prc_inc_util.nss include\prc_inc_stunfist.nss include\prc_template_con.nss include\prc_alterations.nss include\inc_abil_damage.nss include\prc_inc_damage.nss include\prc_effect_inc.nss include\inc_item_props.nss include\prc_inc_castlvl.nss include\prc_inc_newip.nss include\prc_inc_descrptr.nss include\prc_x2_itemprop.nss include\prc_ipfeat_const.nss include\inc_utility.nss include\prc_inc_nwscript.nss include\inc_target_list.nss include\inc_logmessage.nss include\inc_threads.nss include\prc_inc_actions.nss include\inc_time.nss include\inc_draw_prc.nss include\inc_eventhook.nss include\inc_metalocation.nss include\inc_array_sort.nss include\inc_uniqueid.nss include\inc_set.nss include\prc_misc_const.nss include\prc_spell_const.nss include\inv_invoc_const.nss include\psi_power_const.nss include\prc_inc_array.nss include\moi_meld_const.nss include\bnd_vestig_const.nss include\inc_2dacache.nss include\inc_debug.nss include\prc_inc_switch.nss include\inc_persist_loca.nss include\prc_inc_skin.nss include\inc_persistsql.nss include\inc_draw.nss include\inc_draw_tools.nss include\inc_pers_array.nss include\inc_area.nss include\inc_heap.nss include\inc_prc_npc.nss include\inc_newspellbook.nss include\inc_vfx_const.nss include\spinc_necro_cyst.nss include\true_utter_const.nss include\prc_inc_sneak.nss include\prcsp_engine.nss include\prc_inc_core.nss include\inc_sp_gain_mem.nss include\lookup_2da_spell.nss include\inc_lookups.nss include\prc_inc_sb_const.nss include\tob_move_const.nss include\prcsp_archmaginc.nss include\prc_add_spl_pen.nss include\prcsp_reputation.nss include\inc_dynconv.nss include\prc_inc_combat.nss include\prc_inc_unarmed.nss include\prc_inc_fork.nss include\prc_inc_natweap.nss @@ -33166,7 +33166,7 @@ spellobjs\x2_s0_vinemhmpb.ncs: spells\x2_s0_vinemhmpb.nss include\prc_inc_spells spellobjs\x2_s0_vinemhmpc.ncs: spells\x2_s0_vinemhmpc.nss include\prc_inc_spells.nss include\prc_alterations.nss include\prc_add_spell_dc.nss include\inc_newspellbook.nss include\inc_vfx_const.nss include\spinc_necro_cyst.nss include\true_utter_const.nss include\prc_inc_sneak.nss include\prcsp_engine.nss include\inc_item_props.nss include\prc_inc_core.nss include\inc_sp_gain_mem.nss include\lookup_2da_spell.nss include\inc_lookups.nss include\prc_inc_damage.nss include\prc_inc_sb_const.nss include\inc_2dacache.nss include\inc_debug.nss include\prc_inc_switch.nss include\prc_inc_array.nss include\prc_class_const.nss include\prc_effect_inc.nss include\prc_inc_castlvl.nss include\prc_inc_newip.nss include\prc_inc_descrptr.nss include\prc_x2_itemprop.nss include\prc_ipfeat_const.nss include\inc_utility.nss include\prc_inc_nwscript.nss include\inc_target_list.nss include\inc_logmessage.nss include\inc_threads.nss include\prc_inc_actions.nss include\inc_time.nss include\inc_draw_prc.nss include\inc_eventhook.nss include\inc_metalocation.nss include\inc_array_sort.nss include\inc_uniqueid.nss include\inc_set.nss include\prc_misc_const.nss include\prc_spell_const.nss include\inv_invoc_const.nss include\psi_power_const.nss include\prc_inc_racial.nss include\moi_meld_const.nss include\bnd_vestig_const.nss include\prc_feat_const.nss include\prc_racial_const.nss include\inc_persist_loca.nss include\prc_inc_skin.nss include\inc_persistsql.nss include\inc_draw.nss include\inc_draw_tools.nss include\inc_pers_array.nss include\inc_area.nss include\inc_heap.nss include\inc_prc_npc.nss include\tob_move_const.nss include\prcsp_archmaginc.nss include\prc_add_spl_pen.nss include\prcsp_reputation.nss include\inc_abil_damage.nss -spellobjs\x2_s1_beholdray.ncs: spells\x2_s1_beholdray.nss +spellobjs\x2_s1_beholdray.ncs: spells\x2_s1_beholdray.nss include\prc_inc_spells.nss include\inc_newspellbook.nss include\inc_vfx_const.nss include\spinc_necro_cyst.nss include\true_utter_const.nss include\prc_inc_sneak.nss include\prcsp_engine.nss include\inc_item_props.nss include\prc_inc_core.nss include\inc_sp_gain_mem.nss include\lookup_2da_spell.nss include\inc_lookups.nss include\prc_inc_damage.nss include\prc_inc_sb_const.nss include\inc_2dacache.nss include\inc_debug.nss include\prc_inc_switch.nss include\prc_inc_array.nss include\prc_class_const.nss include\prc_effect_inc.nss include\prc_inc_castlvl.nss include\prc_inc_newip.nss include\prc_inc_descrptr.nss include\prc_x2_itemprop.nss include\prc_ipfeat_const.nss include\inc_utility.nss include\prc_inc_nwscript.nss include\inc_target_list.nss include\inc_logmessage.nss include\inc_threads.nss include\prc_inc_actions.nss include\inc_time.nss include\inc_draw_prc.nss include\inc_eventhook.nss include\inc_metalocation.nss include\inc_array_sort.nss include\inc_uniqueid.nss include\inc_set.nss include\prc_misc_const.nss include\prc_spell_const.nss include\inv_invoc_const.nss include\psi_power_const.nss include\prc_inc_racial.nss include\moi_meld_const.nss include\bnd_vestig_const.nss include\prc_feat_const.nss include\prc_racial_const.nss include\inc_persist_loca.nss include\prc_inc_skin.nss include\inc_persistsql.nss include\inc_draw.nss include\inc_draw_tools.nss include\inc_pers_array.nss include\inc_area.nss include\inc_heap.nss include\inc_prc_npc.nss include\tob_move_const.nss include\prcsp_archmaginc.nss include\prc_add_spl_pen.nss include\prcsp_reputation.nss spellobjs\x2_s1_chaosspit.ncs: spells\x2_s1_chaosspit.nss include\prc_inc_sp_tch.nss include\prc_inc_combat.nss include\prc_inc_unarmed.nss include\prc_inc_onhit.nss include\prc_misc_const.nss include\prc_inc_fork.nss include\prc_inc_natweap.nss include\inc_utility.nss include\prc_inc_spells.nss include\prc_inc_nwscript.nss include\prc_class_const.nss include\inc_target_list.nss include\inc_logmessage.nss include\inc_threads.nss include\prc_inc_actions.nss include\inc_time.nss include\inc_draw_prc.nss include\inc_eventhook.nss include\inc_metalocation.nss include\inc_array_sort.nss include\inc_uniqueid.nss include\inc_set.nss include\prc_spell_const.nss include\inv_invoc_const.nss include\psi_power_const.nss include\prc_inc_racial.nss include\prc_inc_array.nss include\moi_meld_const.nss include\bnd_vestig_const.nss include\inc_2dacache.nss include\prc_feat_const.nss include\prc_racial_const.nss include\inc_debug.nss include\prc_inc_switch.nss include\inc_persist_loca.nss include\prc_inc_skin.nss include\inc_persistsql.nss include\inc_draw.nss include\inc_draw_tools.nss include\inc_pers_array.nss include\inc_area.nss include\inc_heap.nss include\inc_newspellbook.nss include\inc_vfx_const.nss include\spinc_necro_cyst.nss include\true_utter_const.nss include\prc_inc_sneak.nss include\prcsp_engine.nss include\inc_item_props.nss include\prc_inc_core.nss include\inc_sp_gain_mem.nss include\lookup_2da_spell.nss include\inc_lookups.nss include\prc_inc_damage.nss include\prc_inc_sb_const.nss include\prc_effect_inc.nss include\prc_inc_castlvl.nss include\prc_inc_newip.nss include\prc_inc_descrptr.nss include\prc_x2_itemprop.nss include\prc_ipfeat_const.nss include\inc_prc_npc.nss include\tob_move_const.nss include\prcsp_archmaginc.nss include\prc_add_spl_pen.nss include\prcsp_reputation.nss include\inc_abil_damage.nss diff --git a/nwn/nwnprc/trunk/scripts/tmp_m_saint.nss b/nwn/nwnprc/trunk/scripts/tmp_m_saint.nss index 0d8b6359..5dbf1f70 100644 --- a/nwn/nwnprc/trunk/scripts/tmp_m_saint.nss +++ b/nwn/nwnprc/trunk/scripts/tmp_m_saint.nss @@ -127,7 +127,6 @@ void main() if (nFastHealing > 10) {nFastHealing == 10;} SetCompositeBonus(oSkin, "Template_Saint_FastHealing", nFastHealing, ITEM_PROPERTY_REGENERATION); - //:: Set racial type to Outsider (Native) ipIP = PRCItemPropertyBonusFeat(IP_CONST_FEAT_OUTSIDER_RACIAL_TYPE); IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE); @@ -176,7 +175,13 @@ void main() ipIP = ItemPropertySpellImmunitySpecific(246); //:: Basilisk Mask IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE); ipIP = ItemPropertySpellImmunitySpecific(247); //:: Gorgon Mask - IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE); + IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE); + + //:: Set Immunity to Petrification (maybe this will work?) + effect ePetrificationImmunity = EffectBonusFeat(FEAT_IMMUNE_PETRIFICATION); + + ipIP = PRCItemPropertyBonusFeat(FEAT_IMMUNE_PETRIFICATION); + IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE); //:: Set Ability Score Bonuses SetCompositeBonus(oSkin, "Template_Saint_con", 2, ITEM_PROPERTY_ABILITY_BONUS, IP_CONST_ABILITY_CON); @@ -229,6 +234,7 @@ void main() eEffect3 = VersusRacialTypeEffect(eEffect3, RACIAL_TYPE_UNDEAD); effect eLink = EffectLinkEffects(eEffect1, eEffect2); eLink = EffectLinkEffects(eLink, eEffect3); + eLink = EffectLinkEffects(eLink, ePetrificationImmunity); eLink = SupernaturalEffect(eLink); eLink = TagEffect(eLink, "EffectHolyTouch"); diff --git a/nwn/nwnprc/trunk/spells/x2_s1_beholdray.nss b/nwn/nwnprc/trunk/spells/x2_s1_beholdray.nss index bfc0c90b..8e540f3a 100644 --- a/nwn/nwnprc/trunk/spells/x2_s1_beholdray.nss +++ b/nwn/nwnprc/trunk/spells/x2_s1_beholdray.nss @@ -12,31 +12,37 @@ //:: Created By: Georg Zoeller //:: Created On: 2003-09-16 //::////////////////////////////////////////////// +#include "prc_inc_spells" +#include "x0_i0_henchman" +//#include "x0_i0_spells" -#include "x0_i0_spells" - - -void DoBeholderPetrify(int nDuration,object oSource, object oTarget, int nSpellID); +void DoBeholderPetrify(int nDuration, object oSource, object oTarget, int nSpellID); void main() { - int nSpell = GetSpellId(); - object oTarget = GetSpellTargetObject(); + int nSpell = PRCGetSpellId(); + object oTarget = PRCGetSpellTargetObject(); + int nSave, bSave; - int nSaveDC = 15; + + int iHD = GetHitDice(OBJECT_SELF); + int iCHAb = GetAbilityModifier(ABILITY_CHARISMA, OBJECT_SELF); + int nSaveDC = 10 + (iHD / 2) + iCHAb; + float fDelay; + effect e1, eLink, eVis, eDur; - switch (nSpell) - { - case 776 : + switch (nSpell) + { + case 776 : nSave = SAVING_THROW_FORT; //BEHOLDER_RAY_DEATH break; - case 777: + case 777: nSave = SAVING_THROW_WILL; //BEHOLDER_RAY_TK break; @@ -52,28 +58,28 @@ void main() nSave = SAVING_THROW_WILL; break; - case 783: + case 783: nSave = SAVING_THROW_FORT; //BEHOLDER_RAY_WOUND break; - case 784: // BEHOLDER_RAY_FEAR + case 784: // BEHOLDER_RAY_FEAR nSave = SAVING_THROW_WILL; break; - case 785: - case 786: - case 787: + case 785: + case 786: + case 787: } - SignalEvent(oTarget,EventSpellCastAt(OBJECT_SELF,GetSpellId(),TRUE)); + SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, PRCGetSpellId(), TRUE)); fDelay = 0.0f; //old -- GetSpellEffectDelay(GetLocation(oTarget),OBJECT_SELF); if (nSave == SAVING_THROW_WILL) { - bSave = MySavingThrow(SAVING_THROW_WILL,oTarget, nSaveDC,SAVING_THROW_TYPE_ALL,OBJECT_SELF,fDelay) >0; + bSave = PRCMySavingThrow(SAVING_THROW_WILL,oTarget, nSaveDC,SAVING_THROW_TYPE_ALL,OBJECT_SELF,fDelay) > 0; } else if (nSave == SAVING_THROW_FORT) { - bSave = MySavingThrow(SAVING_THROW_FORT,oTarget, nSaveDC,SAVING_THROW_TYPE_ALL,OBJECT_SELF,fDelay) >0; + bSave = PRCMySavingThrow(SAVING_THROW_FORT,oTarget, nSaveDC,SAVING_THROW_TYPE_ALL,OBJECT_SELF,fDelay) > 0; } if (!bSave) @@ -84,39 +90,39 @@ void main() case 776: e1 = EffectDeath(TRUE); eVis = EffectVisualEffect(VFX_IMP_DEATH); eLink = EffectLinkEffects(e1,eVis); - ApplyEffectToObject(DURATION_TYPE_INSTANT,eLink,oTarget); + SPApplyEffectToObject(DURATION_TYPE_INSTANT,eLink,oTarget); break; case 777: e1 = ExtraordinaryEffect(EffectKnockdown()); eVis = EffectVisualEffect(VFX_IMP_STUN); - ApplyEffectToObject(DURATION_TYPE_INSTANT,eVis,oTarget); - ApplyEffectToObject(DURATION_TYPE_TEMPORARY,e1,oTarget,6.0f); + SPApplyEffectToObject(DURATION_TYPE_INSTANT,eVis,oTarget); + SPApplyEffectToObject(DURATION_TYPE_TEMPORARY,e1,oTarget,6.0f); break; // Petrify for one round per SaveDC case 778: eVis = EffectVisualEffect(VFX_IMP_POLYMORPH); - ApplyEffectToObject(DURATION_TYPE_INSTANT,eVis,oTarget); - DoBeholderPetrify(nSaveDC,OBJECT_SELF,oTarget,GetSpellId()); + SPApplyEffectToObject(DURATION_TYPE_INSTANT,eVis,oTarget); + DoBeholderPetrify(nSaveDC,OBJECT_SELF,oTarget,PRCGetSpellId()); break; case 779: e1 = EffectCharmed(); eVis = EffectVisualEffect(VFX_IMP_CHARM); - ApplyEffectToObject(DURATION_TYPE_INSTANT,eVis,oTarget); - ApplyEffectToObject(DURATION_TYPE_TEMPORARY,e1,oTarget,24.0f); + SPApplyEffectToObject(DURATION_TYPE_INSTANT,eVis,oTarget); + SPApplyEffectToObject(DURATION_TYPE_TEMPORARY,e1,oTarget,24.0f); break; case 780: e1 = EffectSlow(); eVis = EffectVisualEffect(VFX_IMP_SLOW); - ApplyEffectToObject(DURATION_TYPE_INSTANT,eVis,oTarget); - ApplyEffectToObject(DURATION_TYPE_TEMPORARY,e1,oTarget,RoundsToSeconds(6)); + SPApplyEffectToObject(DURATION_TYPE_INSTANT,eVis,oTarget); + SPApplyEffectToObject(DURATION_TYPE_TEMPORARY,e1,oTarget,RoundsToSeconds(6)); break; case 783: e1 = EffectDamage(d8(2)+10); eVis = EffectVisualEffect(VFX_COM_BLOOD_REG_RED); - ApplyEffectToObject(DURATION_TYPE_INSTANT,eVis,oTarget); - ApplyEffectToObject(DURATION_TYPE_INSTANT,e1,oTarget); + SPApplyEffectToObject(DURATION_TYPE_INSTANT,eVis,oTarget); + SPApplyEffectToObject(DURATION_TYPE_INSTANT,e1,oTarget); break; @@ -125,8 +131,8 @@ void main() eVis = EffectVisualEffect(VFX_IMP_FEAR_S); eDur = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR); e1 = EffectLinkEffects(eDur,e1); - ApplyEffectToObject(DURATION_TYPE_INSTANT,eVis,oTarget); - ApplyEffectToObject(DURATION_TYPE_TEMPORARY,e1,oTarget,RoundsToSeconds(1+d4())); + SPApplyEffectToObject(DURATION_TYPE_INSTANT,eVis,oTarget); + SPApplyEffectToObject(DURATION_TYPE_TEMPORARY,e1,oTarget,RoundsToSeconds(1+d4())); break; @@ -140,20 +146,20 @@ void main() case 776: e1 = EffectDamage(d6(3)+13); eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY); eLink = EffectLinkEffects(e1,eVis); - ApplyEffectToObject(DURATION_TYPE_INSTANT,eLink,oTarget); + SPApplyEffectToObject(DURATION_TYPE_INSTANT,eLink,oTarget); } } } -void DoBeholderPetrify(int nDuration,object oSource, object oTarget, int nSpellID) +void DoBeholderPetrify(int nDuration, object oSource, object oTarget, int nSpellID) { if(!GetIsReactionTypeFriendly(oTarget) && !GetIsDead(oTarget)) { // * exit if creature is immune to petrification - if (spellsIsImmuneToPetrification(oTarget) == TRUE || GetHasFeat(4643)) //:: PRC's Immunity to Petrification + if (PRCIsImmuneToPetrification(oTarget) == TRUE) { return; } @@ -215,4 +221,4 @@ void DoBeholderPetrify(int nDuration,object oSource, object oTarget, int nSpellI // April 2003: Clearing actions to kick them out of conversation when petrified AssignCommand(oTarget, ClearAllActions()); } -} +} \ No newline at end of file