Update for PRC 4.1.10a 2023/02/20

Update for PRC 4.1.10a 2023/02/20

+ Jaysyn's latest PnP changes.
This commit is contained in:
Jaysyn904
2023-02-20 19:23:13 -05:00
parent 6c305aecc5
commit 6a6a8d56ac
42 changed files with 3670 additions and 2577 deletions

View File

@@ -14,7 +14,7 @@ void main()
{
object oTarget = PRCGetSpellTargetObject();
int nHitDice = GetHitDice(OBJECT_SELF);
effect eImmune = EffectVisualEffect(VFX_IMP_MAGIC_RESISTANCE_USE);
location lTargetLocation = PRCGetSpellTargetLocation();
@@ -24,9 +24,20 @@ void main()
{
float fDelay = GetDistanceBetween(OBJECT_SELF, oTarget)/20;
int nSpellID = GetSpellId();
//:: Check for Immunity to Petrification
int bImmune = GetHasFeat(FEAT_IMMUNE_PETRIFICATION, oTarget);
object oSelf = OBJECT_SELF;
DelayCommand(fDelay, PRCDoPetrification(nHitDice, oSelf, oTarget, nSpellID, 17));
if (bImmune)
{
SendMessageToPC(OBJECT_SELF, "This creatrure is immune to petrification");
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImmune, oTarget);
return;
}
else
{
DelayCommand(fDelay, PRCDoPetrification(nHitDice, oSelf, oTarget, nSpellID, 17));
}
//Get next target in spell area
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 11.0, lTargetLocation, TRUE);
}

View File

@@ -15,6 +15,7 @@ void main()
{
object oTarget = PRCGetSpellTargetObject();
int nHitDice = GetHitDice(OBJECT_SELF);
effect eImmune = EffectVisualEffect(VFX_IMP_MAGIC_RESISTANCE_USE);
location lTargetLocation = PRCGetSpellTargetLocation();
@@ -26,7 +27,20 @@ void main()
float fDelay = GetDistanceBetween(OBJECT_SELF, oTarget)/20;
int nSpellID = GetSpellId();
object oSelf = OBJECT_SELF;
DelayCommand(fDelay, PRCDoPetrification(nHitDice, oSelf, oTarget, nSpellID, 13));
//:: Check for Immunity to Petrification
int bImmune = GetHasFeat(FEAT_IMMUNE_PETRIFICATION, oTarget);
if (bImmune)
{
SendMessageToPC(OBJECT_SELF, "This creatrure is immune to petrification");
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImmune, oTarget);
return;
}
else
{
DelayCommand(fDelay, PRCDoPetrification(nHitDice, oSelf, oTarget, nSpellID, 13));
}
//Get next target in spell area
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);

View File

@@ -13,6 +13,16 @@ void main()
{
object oTarget = PRCGetSpellTargetObject();
int nHitDice = GetHitDice(oTarget);
effect eImmune = EffectVisualEffect(VFX_IMP_MAGIC_RESISTANCE_USE);
//:: Check for Immunity to Petrification
int bImmune = GetHasFeat(FEAT_IMMUNE_PETRIFICATION, oTarget);
if (bImmune)
{
SendMessageToPC(OBJECT_SELF, "This creatrure is immune to petrification");
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImmune, oTarget);
return;
}
PRCDoPetrification(nHitDice, OBJECT_SELF, oTarget, GetSpellId(), 15);
}

View File

@@ -50,7 +50,8 @@ void main()
object oSelf = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHitDice = PRCGetCasterLevel(oSelf);
int nSpellID = PRCGetSpellId();
int nSpellID = PRCGetSpellId();
effect eImmune = EffectVisualEffect(VFX_IMP_MAGIC_RESISTANCE_USE);
//--------------------------------------------------------------------------
// Loop through all available targets in spellcone
@@ -77,7 +78,19 @@ void main()
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, oSelf) && oTarget != oSelf)
{
DelayCommand(fDelay, PRCDoPetrification(nHitDice, oSelf, oTarget, nSpellID, nDC));
//:: Check for Immunity to Petrification
int bImmune = GetHasFeat(FEAT_IMMUNE_PETRIFICATION, oTarget);
if (bImmune)
{
SendMessageToPC(OBJECT_SELF, "This creatrure is immune to petrification");
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImmune, oTarget);
return;
}
else
{
DelayCommand(fDelay, PRCDoPetrification(nHitDice, oSelf, oTarget, nSpellID, nDC));
}
//Get next target in spell area
}
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lFinalTarget, TRUE);