Clear out experimental .35 files
Clear out experimental .35 files
This commit is contained in:
@@ -1,72 +0,0 @@
|
||||
/*:://////////////////////////////////////////////
|
||||
//:: Spell Name Antilife Shell : On Enter
|
||||
//:: Spell FileName PHS_S_AntilifeSA
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Spell Effects Applied / Notes
|
||||
//:://////////////////////////////////////////////
|
||||
It is a mobile barrier, with a special AOE.
|
||||
|
||||
Basically, if the caster is doing an ACTION_TYPE_MOVE_TO_POINT and someone
|
||||
activates the OnEnter script, that creature makes the barrier collapse.
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Jasperre
|
||||
//::////////////////////////////////////////////*/
|
||||
|
||||
#include "PHS_INC_SPELLS"
|
||||
|
||||
void main()
|
||||
{
|
||||
// Declare major variables
|
||||
object oCaster = GetAreaOfEffectCreator();
|
||||
object oTarget = GetEnteringObject();
|
||||
|
||||
// Stop if they are not an alive thing, or is plot, or is a DM
|
||||
if(GetIsDM(oTarget) || GetPlotFlag(oTarget) || oTarget == oCaster) return;
|
||||
|
||||
// If we are starting still, do not hedge back
|
||||
if(GetLocalInt(oCaster, PHS_MOVING_BARRIER_START + IntToString(PHS_SPELL_ANTILIFE_SHELL))) return;
|
||||
|
||||
// Races:
|
||||
// animals, aberrations, dragons, fey, giants, humanoids,
|
||||
// magical beasts, monstrous humanoids, oozes, plants, and vermin,
|
||||
// But not:
|
||||
// constructs, elementals, outsiders, or undead
|
||||
switch(GetRacialType(oTarget))
|
||||
{
|
||||
case RACIAL_TYPE_CONSTRUCT:
|
||||
case RACIAL_TYPE_ELEMENTAL:
|
||||
case RACIAL_TYPE_OUTSIDER:
|
||||
case RACIAL_TYPE_INVALID:
|
||||
case RACIAL_TYPE_UNDEAD:
|
||||
return;
|
||||
break;
|
||||
}
|
||||
|
||||
// Check if we are moving, and therefore cannot force it agsint soemthing
|
||||
// that would be affected!
|
||||
vector vVector = GetPosition(oCaster);
|
||||
object oArea = GetArea(oCaster);
|
||||
DelayCommand(0.1, PHS_MobileAOECheck(oCaster, PHS_SPELL_ANTILIFE_SHELL, vVector, oArea));
|
||||
|
||||
// The target is allowed a Spell resistance and immunity check to force
|
||||
// thier way through the barrier
|
||||
if(PHS_SpellResistanceCheck(oCaster, oTarget)) return;
|
||||
|
||||
// Make sure they are not immune to spells
|
||||
if(PHS_TotalSpellImmunity(oTarget)) return;
|
||||
|
||||
// Distance we need to move them back is going to be 4M away, so out of the
|
||||
// AOE.
|
||||
|
||||
// Therefore, this is 4 - Current Distance.
|
||||
float fDistance = 4.0 - GetDistanceBetween(oCaster, oTarget);
|
||||
|
||||
// Debug stuff, obviously we'll need to move them at least 1 meter away.
|
||||
if(fDistance < 1.0)
|
||||
{
|
||||
fDistance = 1.0;
|
||||
}
|
||||
|
||||
// Move the enterer back from the caster.
|
||||
PHS_PerformMoveBack(oCaster, oTarget, fDistance, GetCommandable(oTarget));
|
||||
}
|
Reference in New Issue
Block a user