2026/04/25 Update

White Raven Hammer now has the correct description.
Fixed Skulk non-detection DC for scrying.  (Scrying is still broken)
Removed heal VFX from scrying.
Updated PRC8 version number.
Added scry DC variable to Claritangent Hand.
Glitterdust now obeys Mastery of Shaping.
Recitation now follows PnP.
Recitation's TLK entry was corrected.
Sleet Storm now obeys Mastery of Shaping.
This commit is contained in:
Jaysyn904
2026-04-25 09:02:49 -04:00
parent 6faae2799f
commit 5d111437e0
11 changed files with 191 additions and 90 deletions

View File

@@ -16010,7 +16010,7 @@
16006 Crusader_TacticsOfTheWolf 16837222 im_TacticsWolf N P 0 0x01 0x09 tob_CRU_generic **** **** **** **** **** **** 3 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830197 0 **** **** **** 8203 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
16007 Crusader_WarLeadersCharge 16837223 im_WarLeaderChrg N L 0 0x02 0x0a tob_CRU_generic **** **** **** **** **** **** 6 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830198 0 **** **** **** 8204 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
16008 Crusader_WarMastersCharge 16837224 im_WarMasterChrg N L 0 0x02 0x0a tob_CRU_generic **** **** **** **** **** **** 9 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830200 0 **** **** **** 8205 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
16009 Crusader_WhiteRavenHammer 16837225 im_WRHammer N T 0 0x02 0x0a tob_CRU_generic **** **** **** **** **** **** 8 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830120 0 **** **** **** 8206 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
16009 Crusader_WhiteRavenHammer 16837225 im_WRHammer N T 0 0x02 0x0a tob_CRU_generic **** **** **** **** **** **** 8 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16832219 0 **** **** **** 8206 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
16010 Crusader_WhiteRavenStrike 16837226 im_WRStrike N T 0 0x02 0x0a tob_CRU_generic **** **** **** **** **** **** 4 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830118 0 **** **** **** 8207 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
16011 Crusader_WhiteRavenTactics 16837227 im_WRTactics N S 0 0x04 0x0a tob_CRU_generic **** **** **** **** **** **** 3 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830116 0 **** **** **** 8208 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
16012 Swordsage_BlisteringFlourish 16837228 im_BlistFlrsh V P 0 0x02 0x3E tob_SWD_generic **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 11 **** 2 16829788 0 **** **** **** 8209 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
@@ -16221,7 +16221,7 @@
16217 Swordsage_TacticsOfTheWolf 16837433 im_TacticsWolf N P 0 0x01 0x09 tob_SWD_generic **** **** **** **** **** **** 3 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830197 0 **** **** **** 8411 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
16218 Swordsage_WarLeadersCharge 16837434 im_WarLeaderChrg N L 0 0x02 0x0a tob_SWD_generic **** **** **** **** **** **** 6 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830198 0 **** **** **** 8412 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
16219 Swordsage_WarMastersCharge 16837435 im_WarMasterChrg N L 0 0x02 0x0a tob_SWD_generic **** **** **** **** **** **** 9 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830200 0 **** **** **** 8413 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
16220 Swordsage_WhiteRavenHammer 16837436 im_WRHammer N T 0 0x02 0x0a tob_SWD_generic **** **** **** **** **** **** 8 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830120 0 **** **** **** 8414 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
16220 Swordsage_WhiteRavenHammer 16837436 im_WRHammer N T 0 0x02 0x0a tob_SWD_generic **** **** **** **** **** **** 8 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16832219 0 **** **** **** 8414 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
16221 Swordsage_WhiteRavenStrike 16837437 im_WRStrike N T 0 0x02 0x0a tob_SWD_generic **** **** **** **** **** **** 4 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830118 0 **** **** **** 8415 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
16222 Swordsage_WhiteRavenTactics 16837438 im_WRTactics N S 0 0x04 0x0a tob_SWD_generic **** **** **** **** **** **** 3 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830116 0 **** **** **** 8416 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
16223 Warblade_BlisteringFlourish 16837439 im_BlistFlrsh V P 0 0x02 0x3E tob_WAR_generic **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 11 **** 2 16829788 0 **** **** **** 8417 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
@@ -17510,7 +17510,7 @@
17506 TacticsOfTheWolf 16830195 im_TacticsWolf N P 0 0x01 0x09 tob_wtrn_tctwlf **** **** **** **** **** **** 3 0 **** **** **** **** **** **** **** attack 0 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 9 **** 2 16830197 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
17507 WarLeadersCharge 16830197 im_WarLeaderChrg N L 0 0x02 0x0a tob_wtrn_warldrc **** **** **** **** **** **** 6 0 **** **** **** **** **** **** **** attack 0 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 9 **** 2 16830198 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
17508 WarMastersCharge 16830199 im_WarMasterChrg N L 0 0x02 0x0a tob_wtrn_warmtrc **** **** **** **** **** **** 9 0 **** **** **** **** **** **** **** attack 0 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 9 **** 2 16830200 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
17509 WhiteRavenHammer 16832218 im_WRHammer N T 0 0x02 0x0a tob_wtrn_wtrvnhr **** **** **** **** **** **** 8 0 **** **** **** **** **** **** **** attack 0 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 9 **** 2 16830120 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
17509 WhiteRavenHammer 16832218 im_WRHammer N T 0 0x02 0x0a tob_wtrn_wtrvnhr **** **** **** **** **** **** 8 0 **** **** **** **** **** **** **** attack 0 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 9 **** 2 16832219 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
17510 WhiteRavenStrike 16830117 im_WRStrike N T 0 0x02 0x0a tob_wtrn_whtrvns **** **** **** **** **** **** 4 0 **** **** **** **** **** **** **** attack 0 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 9 **** 2 16830118 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
17511 WhiteRavenTactics 16830115 im_WRTactics N S 0 0x04 0x0a tob_wtrn_whtrvnt **** **** **** **** **** **** 3 0 **** **** **** **** **** **** **** attack 0 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 9 **** 2 16830116 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
17512 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
@@ -17654,7 +17654,7 @@
17650 Warblade_TacticsOfTheWolf 16837644 im_TacticsWolf N P 0 0x01 0x09 tob_WAR_generic **** **** **** **** **** **** 3 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830197 0 **** **** **** 8619 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
17651 Warblade_WarLeadersCharge 16837645 im_WarLeaderChrg N L 0 0x02 0x0a tob_WAR_generic **** **** **** **** **** **** 6 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830198 0 **** **** **** 8620 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
17652 Warblade_WarMastersCharge 16837646 im_WarMasterChrg N L 0 0x02 0x0a tob_WAR_generic **** **** **** **** **** **** 9 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830200 0 **** **** **** 8621 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
17653 Warblade_WhiteRavenHammer 16837647 im_WRHammer N T 0 0x02 0x0a tob_WAR_generic **** **** **** **** **** **** 8 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830120 0 **** **** **** 8622 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
17653 Warblade_WhiteRavenHammer 16837647 im_WRHammer N T 0 0x02 0x0a tob_WAR_generic **** **** **** **** **** **** 8 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16832219 0 **** **** **** 8622 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
17654 Warblade_WhiteRavenStrike 16837648 im_WRStrike N T 0 0x02 0x0a tob_WAR_generic **** **** **** **** **** **** 4 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830118 0 **** **** **** 8623 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
17655 Warblade_WhiteRavenTactics 16837649 im_WRTactics N S 0 0x04 0x0a tob_WAR_generic **** **** **** **** **** **** 3 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830116 0 **** **** **** 8624 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
17656 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****

View File

@@ -159,17 +159,17 @@ void ScryMain(object oPC, object oTarget)
FloatingTextStringOnCreature(GetName(oTarget) + " has been Obscured.", oPC, FALSE);
return;
}
if(GetHasSpellEffect(SPELL_NONDETECTION, oTarget) || GetLevelByClass(CLASS_TYPE_WILD_MAGE, oTarget) >= 6 || GetLevelByClass(CLASS_TYPE_UNSEEN_SEER, oTarget) >= 5 || GetHasSpellEffect(MELD_ENIGMA_HELM, oTarget) || GetRacialType(oTarget) == RACIAL_TYPE_SKULK)
{
// Caster level check or the Divination fails.
int nTarget = PRCGetCasterLevel(oTarget) + 11;
if (GetRacialType(oTarget) == RACIAL_TYPE_SKULK && 20 > nTarget) nTarget = 20;
if(nTarget > nCasterLevel + d20())
{
FloatingTextStringOnCreature(GetName(oTarget) + " has Nondetection active.", oPC, FALSE);
return;
}
}
if(GetHasSpellEffect(SPELL_NONDETECTION, oTarget) || GetLevelByClass(CLASS_TYPE_WILD_MAGE, oTarget) >= 6 || GetLevelByClass(CLASS_TYPE_UNSEEN_SEER, oTarget) >= 5 || GetHasSpellEffect(MELD_ENIGMA_HELM, oTarget) || GetRacialType(oTarget) == RACIAL_TYPE_SKULK)
{
// Caster level check or the Divination fails.
int nTarget = PRCGetCasterLevel(oTarget) + 11;
if (GetRacialType(oTarget) == RACIAL_TYPE_SKULK) nTarget = 20;
if(nTarget > nCasterLevel + d20())
{
FloatingTextStringOnCreature(GetName(oTarget) + " has Nondetection active.", oPC, FALSE);
return;
}
}
if(GetHasSpellEffect(POWER_ESCAPE_DETECTION, oTarget))
{
// Caster level check or the Divination fails.
@@ -335,7 +335,7 @@ void DoScryEnd(object oPC, object oCopy)
);
//effect eGlow = EffectVisualEffect(VFX_DUR_ETHEREAL_VISAGE, FALSE);
effect eLight = EffectVisualEffect(VFX_IMP_HEALING_X , FALSE);
effect eLight; // = EffectVisualEffect(VFX_IMP_HEALING_X , FALSE);
// Remove Immortality from the PC if necessary
if(!GetLocalInt(oPC, ALREADY_IMMORTAL_LOCAL_NAME))
@@ -356,6 +356,7 @@ void DoScryEnd(object oPC, object oCopy)
PRCRemoveSpellEffects(SPELL_SEQUESTER , oPC, oPC);
PRCRemoveSpellEffects(SPELL_PNP_SCRY_FAMILIAR, oPC, oPC);
PRCRemoveSpellEffects(SPELL_CLAIRAUDIENCE_AND_CLAIRVOYANCE, oPC, oPC);
PRCRemoveSpellEffects(POWER_CLAIRTANGENT_HAND, oPC, oPC);
// Remove the local signifying that the PC is a projection
DeleteLocalInt(oPC, "Scry_Active");
@@ -593,4 +594,6 @@ void CleanCopy(object oImage)
}
TakeGoldFromCreature(GetGold(oImage), oImage, TRUE);
}
}
//void main (){}

View File

@@ -76,7 +76,7 @@
/* This variable MUST be updated with every new version of the PRC!!! */
const string PRC_VERSION = "PRC8 4.88";
const string PRC_VERSION = "PRC8 4.89";
/* This variable MUST be updated every time 'assemble_spellbooks.bat' is run!!! */

View File

@@ -120,16 +120,9 @@ void ApplyScryEffects(object oManifester)
}}
}
void main()
{
/*
Spellcast Hook Code
Added 2004-11-02 by Stratovarius
If you want to make changes to all powers,
check psi_spellhook to find out more
*/
if (!PsiPrePowerCastCode())
{
// If code within the PrePowerCastHook (i.e. UMD) reports FALSE, do not run this spell
@@ -153,7 +146,8 @@ void main()
SetLocalInt(oManifester, "ScryCasterLevel", manif.nManifesterLevel);
SetLocalInt(oManifester, "ScrySpellId", manif.nSpellID);
SetLocalFloat(oManifester, "ScryDuration", fDur);
SetLocalFloat(oManifester, "ScryDuration", fDur);
SetLocalInt(oManifester, "ScrySpellDC", GetManifesterDC(oManifester));
StartDynamicConversation("prc_scry_conv", oManifester, DYNCONV_EXIT_NOT_ALLOWED, FALSE, TRUE, oManifester);

View File

@@ -27,32 +27,37 @@ void main()
{
if(spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, OBJECT_SELF))
{
PRCSignalSpellEvent(oTarget);
// Mastery of shapes check
if(!CheckMasteryOfShapes(OBJECT_SELF, oTarget))
{
PRCSignalSpellEvent(oTarget);
// Apply impact vfx.
DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT,
EffectVisualEffect(VFX_IMP_SPARKS), oTarget));
// Apply impact vfx.
DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT,
EffectVisualEffect(VFX_IMP_SPARKS), oTarget));
// Creatures take the hide penalty whether they save or not.
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eHidePenalty, oTarget, fDuration,TRUE,-1,nCasterLvl);
// Creatures take the hide penalty whether they save or not.
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eHidePenalty, oTarget, fDuration,TRUE,-1,nCasterLvl);
// Creatures that are invisible become visible whether they save or not. We do
// this by looping through all the creature's effects looking for invisibility
// effects and removing them.
effect eTarget = GetFirstEffect(oTarget);
while (GetIsEffectValid(eTarget))
{
int nType = GetEffectType(eTarget);
if (EFFECT_TYPE_INVISIBILITY == nType || EFFECT_TYPE_IMPROVEDINVISIBILITY == nType)
RemoveEffect (oTarget, eTarget);
// Creatures that are invisible become visible whether they save or not. We do
// this by looping through all the creature's effects looking for invisibility
// effects and removing them.
effect eTarget = GetFirstEffect(oTarget);
while (GetIsEffectValid(eTarget))
{
int nType = GetEffectType(eTarget);
if (EFFECT_TYPE_INVISIBILITY == nType || EFFECT_TYPE_IMPROVEDINVISIBILITY == nType)
RemoveEffect (oTarget, eTarget);
eTarget = GetNextEffect(oTarget);
}
eTarget = GetNextEffect(oTarget);
}
// Let the creature make a will save, if it fails it's blinded.
if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, PRCGetSaveDC(oTarget,OBJECT_SELF)))
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eBlindness, oTarget, fDuration,TRUE,-1,nCasterLvl);
}
// Let the creature make a will save, if it fails it's blinded.
if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, PRCGetSaveDC(oTarget,OBJECT_SELF)))
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eBlindness, oTarget, fDuration,TRUE,-1,nCasterLvl);
}
}
oTarget = MyNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, lTarget);
}

View File

@@ -1,6 +1,90 @@
#include "prc_inc_spells"
/*
Recitation Impact Script
Spell Compendium version:
- Conjuration (Creation)
- Level: Cleric 4, Purification 3
- Target: All allies within 60-ft. radius burst
- Duration: 1 round/level
- Allies gain +2 luck bonus to AC, attack rolls, saving throws
- +3 luck bonus if they worship same deity as caster
*/
#include "prc_inc_spells"
#include "prc_sp_func"
#include "prc_inc_combat"
//Implements the spell impact
int DoSpell(object oCaster, object oTarget, int nCasterLevel, int nEvent)
{
int nMetaMagic = PRCGetMetaMagicFeat();
float fDuration = RoundsToSeconds(nCasterLevel);
// Apply metamagic
if(nMetaMagic & METAMAGIC_EXTEND)
fDuration *= 2.0;
// Get caster's deity for comparison
string sCasterDeity = GetDeity(oCaster);
// Check if target is an ally
if(spellsIsTarget(oTarget, SPELL_TARGET_ALLALLIES, oCaster))
{
// Determine bonus amount based on deity
int nBonus = 2;
if(GetDeity(oTarget) == sCasterDeity && sCasterDeity != "")
nBonus = 3;
// Create luck bonus effects
effect eAC = EffectACIncrease(nBonus, AC_DODGE_BONUS, AC_VS_DAMAGE_TYPE_ALL);
eAC = EffectLinkEffects(eAC, EffectVisualEffect(VFX_DUR_PROTECTION_GOOD_MINOR));
effect eAttack = EffectAttackIncrease(nBonus);
effect eSave = EffectSavingThrowIncrease(SAVING_THROW_ALL, nBonus);
// Link all effects together
effect eLink = EffectLinkEffects(eAC, eAttack);
eLink = EffectLinkEffects(eLink, eSave);
// Apply the effects
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, fDuration, TRUE);
// Apply visual effect
SPApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_HEAD_HOLY), oTarget);
}
return TRUE; // Return TRUE for area spells
}
void main()
{
object oCaster = OBJECT_SELF;
int nCasterLevel = PRCGetCasterLevel(oCaster);
int nSpellID = PRCGetSpellId();
PRCSetSchool(GetSpellSchool(nSpellID));
if (!X2PreSpellCastCode()) return;
// Get spell target location for area effect
location lTarget = GetSpellTargetLocation();
// Apply area of effect - 60ft radius (RADIUS_SIZE_COLOSSAL)
effect eImpact = EffectVisualEffect(VFX_FNF_LOS_HOLY_30);
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eImpact, lTarget);
// Get all creatures in 60ft radius
object oTarget = MyFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, lTarget, TRUE, OBJECT_TYPE_CREATURE);
while(GetIsObjectValid(oTarget))
{
DoSpell(oCaster, oTarget, nCasterLevel, 0);
oTarget = MyNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, lTarget, TRUE, OBJECT_TYPE_CREATURE);
}
PRCSetSchool();
}
void main()
/* void main()
{
// If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell
if (!X2PreSpellCastCode()) return;
@@ -70,3 +154,4 @@ void main()
PRCSetSchool();
}
*/

View File

@@ -5,26 +5,26 @@
/**@file Sleet Storm
Conjuration (Creation) [Cold]
Level: Drd 3, Sor/Wiz 3
Components: V, S, M/DF
Casting Time: 1 standard action
Range: Long (400 ft. + 40 ft./level)
Area: Cylinder (40-ft. radius, 20 ft. high)
Duration: 1 round/level
Saving Throw: None
Level: Drd 3, Sor/Wiz 3
Components: V, S, M/DF
Casting Time: 1 standard action
Range: Long (400 ft. + 40 ft./level)
Area: Cylinder (40-ft. radius, 20 ft. high)
Duration: 1 round/level
Saving Throw: None
Spell Resistance: No
Driving sleet blocks all sight (even darkvision)
Driving sleet blocks all sight (even darkvision)
within it and causes the ground in the area to be
icy. A creature can walk within or through the
area of sleet at half normal speed with a DC 10
Balance check. Failure means it can<EFBFBD>t move in that
round, while failure by 5 or more means it falls
icy. A creature can walk within or through the
area of sleet at half normal speed with a DC 10
Balance check. Failure means it can't move in that
round, while failure by 5 or more means it falls
(see the Balance skill for details).
The sleet extinguishes torches and small fires.
Arcane Material Component: A pinch of dust and a
Arcane Material Component: A pinch of dust and a
few drops of water.
Author: Tenjac
@@ -42,6 +42,13 @@ void main()
object oPC = GetAreaOfEffectCreator();
object oTarget = GetEnteringObject();
int nCasterLvl = PRCGetCasterLevel(oPC);
if(CheckMasteryOfShapes(oPC, oTarget))
{
PRCSetSchool();
return;
}
effect eLink = EffectLinkEffects(EffectBlindness(), EffectMovementSpeedDecrease(50));
SPApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, oTarget, 0.0f, TRUE, SPELL_SLEET_STORM, nCasterLvl);

View File

@@ -1,4 +1,4 @@
//::///////////////////////////////////////////////
//::///////////////////////////////////////////////
//:: Name Sleet Storm Heartbeat
//:: FileName sp_sleet_stormC.nss
//:://////////////////////////////////////////////
@@ -18,7 +18,7 @@ Driving sleet blocks all sight (even darkvision)
within it and causes the ground in the area to be
icy. A creature can walk within or through the
area of sleet at half normal speed with a DC 10
Balance check. Failure means it can<EFBFBD>t move in that
Balance check. Failure means it cant move in that
round, while failure by 5 or more means it falls
(see the Balance skill for details).
@@ -46,6 +46,13 @@ void main()
while(GetIsObjectValid(oTarget))
{
if(CheckMasteryOfShapes(GetAreaOfEffectCreator(), oTarget))
{
// Target is protected by Mastery of Shaping.
oTarget = GetNextInPersistentObject(OBJECT_SELF, OBJECT_TYPE_CREATURE);
continue;
}
int nFail = BalanceCheckFailure(oTarget);
//Can't move
@@ -60,23 +67,23 @@ void main()
PRCSetSchool();
}
int BalanceCheckFailure(object oTarget)
{
int nResult = 0;
int nRoll = GetAbilityModifier(ABILITY_DEXTERITY, oTarget) + d20(1);
int nTumble = GetSkillRank(SKILL_TUMBLE, oTarget);
//if 5 or more ranks of Tumble, +2 bonus
if(nTumble > 4) nRoll += 2;
//All fails
if(nRoll < 10)
{
//if failed by 5 or more
if((10 - nRoll) < 6) nResult = 2;
//otherwise it failed by less than 5
else nResult = 1;
}
return nResult;
}
int BalanceCheckFailure(object oTarget)
{
int nResult = 0;
int nRoll = GetSkillRank(SKILL_BALANCE, oTarget) + d20(1);
int nTumble = GetSkillRank(SKILL_TUMBLE, oTarget);
//if 5 or more ranks of Tumble, +2 bonus
if(nTumble > 4) nRoll += 2;
//All fails
if(nRoll < 10)
{
//if failed by 5 or more
if((10 - nRoll) < 6) nResult = 2;
//otherwise it failed by less than 5
else nResult = 1;
}
return nResult;
}

View File

@@ -38480,17 +38480,17 @@ This spell imbues the caster with the might of his deity, giving him a +8 Streng
<entry id="53070" lang="en" sex="m">Recitation</entry>
<entry id="53071" lang="en" sex="m">Caster Level(s): Cleric 4
Innate Level: 4
School: Conjuration
School: Conjuration (Creation)
Descriptor(s):
Component(s): Verbal, Somatic
Range: Personal
Area of Effect / Target: Colossal, centered on you
Area of Effect / Target: 60 ft., centered on you
Duration: 1 Round / Level
Additional Counter Spells:
Save: None
Spell Resistance: Yes (for detrimental effects)
Spell Resistance: Yes
You recite holy scriptures of your deity. All allies (including you) in the area receive a +2 bonus to attack rolls, saving throws, and skill checks. All enemies receive a -2 penalty to attack rolls, saving throws, and skill checks. Creatures who are neither friendly or hostile are unaffected..</entry>
You recite holy scriptures of your deity. The spell affects all allies (including you) within the spell's area at the moment you cast it. Your allies gain a +2 luck bonus to AC, on attack rolls, and on saving throws, or a +3 luck bonus if they worship the same deity as you. </entry>
<entry id="53072" lang="en" sex="m">Forceblast</entry>
<entry id="53073" lang="en" sex="m">Caster Level(s): Wizard / Sorcerer 3
Innate Level: 3
@@ -76270,7 +76270,7 @@ Throwing Axes</entry>
<entry id="211717" lang="en" sex="m">Warblade (Default)</entry>
<entry id="211718" lang="en" sex="m">(STARTING PACKAGE)
The default package focuses on improving strength and proficiency with the longsword..
The default package focuses on improving strength and proficiency with the longsword.
Equipment:
Torch