Clear out experimental .35 files
Clear out experimental .35 files
This commit is contained in:
@@ -1,86 +0,0 @@
|
||||
/*:://////////////////////////////////////////////
|
||||
//:: Spell Name Blade Barrier : On Heartbeat 2 (ROUND)
|
||||
//:: Spell FileName SMP_S_BladeBarE
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Spell Effects Applied / Notes
|
||||
//:://////////////////////////////////////////////
|
||||
Here, apply the right one.
|
||||
|
||||
Can be a circle, or a wall.
|
||||
|
||||
Either way, it provides cover to those who stay in it, and does damage
|
||||
every heartbeat, and on enter.
|
||||
|
||||
HB:
|
||||
- Damage (Up to 15d6) piercing, reflex save
|
||||
Enter:
|
||||
- Apply (if not already got) Blade Barrier +4AC, +2 Reflex saves
|
||||
Exit:
|
||||
- Remove (if couter at 0) all blade barrier effects.
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Jasperre
|
||||
//::////////////////////////////////////////////*/
|
||||
|
||||
#include "SMP_INC_SPELLS"
|
||||
|
||||
void main()
|
||||
{
|
||||
// Check AOE creator.
|
||||
if(!SMP_CheckAOECreator()) return;
|
||||
|
||||
// Declare Major Variables
|
||||
object oCreator = GetAreaOfEffectCreator();
|
||||
object oTarget;
|
||||
int nCasterLevel = SMP_GetAOECasterLevel();
|
||||
int nSpellSaveDC = SMP_GetSpellSaveDC();
|
||||
int nDamage;
|
||||
int nSpellId = GetSpellId();
|
||||
int nMetaMagic = SMP_GetAOEMetaMagic();
|
||||
|
||||
// Dice is limited to 15
|
||||
int nDice = SMP_LimitInteger(nCasterLevel, 15);
|
||||
|
||||
// Loop targets in our AOE.
|
||||
oTarget = GetFirstInPersistentObject();
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
// Check if we can even hit them
|
||||
if(GetDistanceToObject(oTarget) > 2.0)
|
||||
{
|
||||
// Do damage
|
||||
if(!GetIsReactionTypeFriendly(oTarget, oCreator) &&
|
||||
// Make sure they are not immune to spells
|
||||
!SMP_TotalSpellImmunity(oTarget))
|
||||
{
|
||||
//Fire cast spell at event for the target
|
||||
SMP_SignalSpellCastAt(oTarget, SMP_SPELL_BLADE_BARRIER);
|
||||
|
||||
// Spell Resistance check
|
||||
if(!SMP_SpellResistanceCheck(oCreator, oTarget))
|
||||
{
|
||||
// Declare damage
|
||||
nDamage = SMP_MaximizeOrEmpower(6, nDice, nMetaMagic);
|
||||
|
||||
// Reflex save - +2 DC IF they have blade barriers +2 reflex save
|
||||
if(GetHasSpellEffect(nSpellId, oTarget))
|
||||
{
|
||||
// Reflex save
|
||||
nDamage = SMP_GetAdjustedDamage(SAVING_THROW_REFLEX, nDamage, oTarget, nSpellSaveDC + 2, SAVING_THROW_TYPE_NONE, oCreator);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Reflex save
|
||||
nDamage = SMP_GetAdjustedDamage(SAVING_THROW_REFLEX, nDamage, oTarget, nSpellSaveDC, SAVING_THROW_TYPE_NONE, oCreator);
|
||||
}
|
||||
|
||||
if(nDamage > 0)
|
||||
{
|
||||
// Apply damage
|
||||
SMP_ApplyDamageToObject(oTarget, nDamage, DAMAGE_TYPE_SLASHING);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
oTarget = GetNextInPersistentObject();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user