Clear out experimental .35 files
Clear out experimental .35 files
This commit is contained in:
@@ -1,72 +0,0 @@
|
||||
#include "prc_inc_spells"
|
||||
|
||||
void main()
|
||||
{
|
||||
// If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell
|
||||
if (!X2PreSpellCastCode()) return;
|
||||
|
||||
PRCSetSchool(SPELL_SCHOOL_CONJURATION);
|
||||
|
||||
// Get the spell target location as opposed to the spell target.
|
||||
location lTarget = PRCGetSpellTargetLocation();
|
||||
|
||||
// Get the effective caster level.
|
||||
int nCasterLvl = PRCGetCasterLevel(OBJECT_SELF);
|
||||
object oCaster = OBJECT_SELF;
|
||||
|
||||
// Apply the area vfx.
|
||||
// ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(), lTarget);
|
||||
|
||||
// Build the bonus/penalty effect chains.
|
||||
effect ePositive = EffectSavingThrowIncrease(SAVING_THROW_ALL, 2, SAVING_THROW_TYPE_ALL);
|
||||
ePositive = EffectLinkEffects (ePositive, EffectAttackIncrease(2));
|
||||
ePositive = EffectLinkEffects (ePositive, EffectSkillIncrease(SKILL_ALL_SKILLS, 2));
|
||||
ePositive = EffectLinkEffects (ePositive, EffectVisualEffect(VFX_DUR_PROTECTION_GOOD_MINOR));
|
||||
effect eNegative = EffectSavingThrowDecrease(SAVING_THROW_ALL, 2, SAVING_THROW_TYPE_ALL);
|
||||
eNegative = EffectLinkEffects (eNegative, EffectAttackDecrease(2));
|
||||
eNegative = EffectLinkEffects (eNegative, EffectSkillDecrease(SKILL_ALL_SKILLS, 2));
|
||||
eNegative = EffectLinkEffects (eNegative, EffectVisualEffect(VFX_DUR_PROTECTION_EVIL_MINOR));
|
||||
|
||||
// Calculate the spell duration.
|
||||
float fDuration = PRCGetMetaMagicDuration(RoundsToSeconds(nCasterLvl));
|
||||
|
||||
int nPenetr = nCasterLvl + SPGetPenetr();
|
||||
|
||||
// Declare the spell shape, size and the location. Capture the first target object in the shape.
|
||||
// Cycle through the targets within the spell shape until an invalid object is captured.
|
||||
float fDelay;
|
||||
object oTarget = MyFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, lTarget, FALSE, OBJECT_TYPE_CREATURE);
|
||||
while (GetIsObjectValid(oTarget))
|
||||
{
|
||||
// make sure it doesn't stack
|
||||
if(GetHasSpellEffect(3140, oTarget) == FALSE)
|
||||
{
|
||||
// Apply a bonus/penalty effect to the target depending on it's reaction to the caster.
|
||||
// If the object is neutral it gets neither a bonus nor a penalty.
|
||||
int nFriendly = 0;
|
||||
if(GetIsFriend(oTarget, oCaster))
|
||||
{
|
||||
nFriendly = 1;
|
||||
}
|
||||
int nHostile = GetIsEnemy(oTarget, oCaster);
|
||||
|
||||
if (nFriendly || nHostile)
|
||||
{
|
||||
// Determine which effect chain to use.
|
||||
effect eTarget = nFriendly ? ePositive : eNegative;
|
||||
|
||||
// Fire cast spell at event for the specified target
|
||||
PRCSignalSpellEvent(oTarget, nHostile);
|
||||
|
||||
// Check for SR vs. hostile targets before applying effects.
|
||||
fDelay = PRCGetSpellEffectDelay(lTarget, oTarget);
|
||||
if (nFriendly || !PRCDoResistSpell(OBJECT_SELF, oTarget,nPenetr, fDelay))
|
||||
DelayCommand(fDelay, SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eTarget, oTarget, fDuration,TRUE,-1,nCasterLvl));
|
||||
}
|
||||
|
||||
oTarget = MyNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, lTarget, FALSE, OBJECT_TYPE_CREATURE);
|
||||
}
|
||||
}
|
||||
|
||||
PRCSetSchool();
|
||||
}
|
Reference in New Issue
Block a user